blob: 42710dac6918445f978b69a634f9aaa51a5f0dd1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
package com.cyanogenmod.settings.device;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.hardware.TvOut;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
public class DeviceSettings extends PreferenceActivity {
public static final String KEY_COLOR_TUNING = "color_tuning";
public static final String KEY_MDNIE = "mdnie";
public static final String KEY_BACKLIGHT_TIMEOUT = "backlight_timeout";
public static final String KEY_HSPA = "hspa";
public static final String KEY_TVOUT_ENABLE = "tvout_enable";
public static final String KEY_TVOUT_SYSTEM = "tvout_system";
private ColorTuningPreference mColorTuning;
private ListPreference mMdnie;
private ListPreference mBacklightTimeout;
private ListPreference mHspa;
private CheckBoxPreference mTvOutEnable;
private ListPreference mTvOutSystem;
private TvOut mTvOut;
private BroadcastReceiver mHeadsetReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
int state = intent.getIntExtra("state", 0);
updateTvOutEnable(state != 0);
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.main);
mColorTuning = (ColorTuningPreference) findPreference(KEY_COLOR_TUNING);
mColorTuning.setEnabled(ColorTuningPreference.isSupported());
mMdnie = (ListPreference) findPreference(KEY_MDNIE);
mMdnie.setEnabled(Mdnie.isSupported());
mMdnie.setOnPreferenceChangeListener(new Mdnie());
mBacklightTimeout = (ListPreference) findPreference(KEY_BACKLIGHT_TIMEOUT);
mBacklightTimeout.setEnabled(TouchKeyBacklightTimeout.isSupported());
mBacklightTimeout.setOnPreferenceChangeListener(new TouchKeyBacklightTimeout());
mHspa = (ListPreference) findPreference(KEY_HSPA);
mHspa.setEnabled(Hspa.isSupported());
mHspa.setOnPreferenceChangeListener(new Hspa(this));
mTvOut = new TvOut();
mTvOutEnable = (CheckBoxPreference) findPreference(KEY_TVOUT_ENABLE);
mTvOutEnable.setChecked(mTvOut._isEnabled());
mTvOutEnable.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
boolean enable = (Boolean) newValue;
Intent i = new Intent(DeviceSettings.this, TvOutService.class);
i.putExtra(TvOutService.EXTRA_COMMAND, enable ? TvOutService.COMMAND_ENABLE : TvOutService.COMMAND_DISABLE);
startService(i);
return true;
}
});
mTvOutSystem = (ListPreference) findPreference(KEY_TVOUT_SYSTEM);
mTvOutSystem.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (mTvOut._isEnabled()) {
int newSystem = Integer.valueOf((String) newValue);
Intent i = new Intent(DeviceSettings.this, TvOutService.class);
i.putExtra(TvOutService.EXTRA_COMMAND, TvOutService.COMMAND_CHANGE_SYSTEM);
i.putExtra(TvOutService.EXTRA_SYSTEM, newSystem);
startService(i);
}
return true;
}
});
}
@Override
protected void onResume() {
super.onResume();
registerReceiver(mHeadsetReceiver, new IntentFilter(Intent.ACTION_HEADSET_PLUG));
}
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(mHeadsetReceiver);
}
private void updateTvOutEnable(boolean connected) {
mTvOutEnable.setEnabled(connected);
mTvOutEnable.setSummaryOff(connected ? R.string.tvout_enable_summary : R.string.tvout_enable_summary_nocable);
if (!connected && mTvOutEnable.isChecked()) {
// Disable on unplug (UI)
mTvOutEnable.setChecked(false);
}
}
@Override
protected void onDestroy() {
mTvOut.finalize();
super.onDestroy();
}
}
|