diff options
author | Jeff Brown <jeffbrown@google.com> | 2012-08-29 02:33:06 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2012-08-29 06:15:23 -0700 |
commit | b2b54eec86bc5b5830e4480407cbd1fccfd21256 (patch) | |
tree | d7a6cf99c66cfc54bd47676651d645f5590483a1 /src/com/android/settings/DevelopmentSettings.java | |
parent | c6015d2f593d0e5ef909d7157df4b15831236acb (diff) | |
download | packages_apps_Settings-b2b54eec86bc5b5830e4480407cbd1fccfd21256.zip packages_apps_Settings-b2b54eec86bc5b5830e4480407cbd1fccfd21256.tar.gz packages_apps_Settings-b2b54eec86bc5b5830e4480407cbd1fccfd21256.tar.bz2 |
Add new setting to control overlay displays.
Change-Id: I9582bb149dca716699ef5977ef8f84bb3136e0c0
Diffstat (limited to 'src/com/android/settings/DevelopmentSettings.java')
-rw-r--r-- | src/com/android/settings/DevelopmentSettings.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 97a6165..7708aa7 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -97,6 +97,7 @@ public class DevelopmentSettings extends PreferenceFragment private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale"; private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale"; private static final String ANIMATOR_DURATION_SCALE_KEY = "animator_duration_scale"; + private static final String OVERLAY_DISPLAY_DEVICES_KEY = "overlay_display_devices"; private static final String ENABLE_TRACES_KEY = "enable_traces"; @@ -144,6 +145,7 @@ public class DevelopmentSettings extends PreferenceFragment private ListPreference mWindowAnimationScale; private ListPreference mTransitionAnimationScale; private ListPreference mAnimatorDurationScale; + private ListPreference mOverlayDisplayDevices; private MultiCheckPreference mEnableTracesPref; private CheckBoxPreference mImmediatelyDestroyActivities; @@ -204,6 +206,9 @@ public class DevelopmentSettings extends PreferenceFragment mAnimatorDurationScale = (ListPreference) findPreference(ANIMATOR_DURATION_SCALE_KEY); mAllPrefs.add(mAnimatorDurationScale); mAnimatorDurationScale.setOnPreferenceChangeListener(this); + mOverlayDisplayDevices = (ListPreference) findPreference(OVERLAY_DISPLAY_DEVICES_KEY); + mAllPrefs.add(mOverlayDisplayDevices); + mOverlayDisplayDevices.setOnPreferenceChangeListener(this); mEnableTracesPref = (MultiCheckPreference)findPreference(ENABLE_TRACES_KEY); String[] traceValues = new String[Trace.TRACE_TAGS.length]; for (int i=Trace.TRACE_FLAGS_START_BIT; i<traceValues.length; i++) { @@ -360,6 +365,7 @@ public class DevelopmentSettings extends PreferenceFragment updateShowHwLayersUpdatesOptions(); updateDebugLayoutOptions(); updateAnimationScaleOptions(); + updateOverlayDisplayDevicesOptions(); updateEnableTracesOptions(); updateImmediatelyDestroyActivitiesOptions(); updateAppProcessLimitOptions(); @@ -379,6 +385,7 @@ public class DevelopmentSettings extends PreferenceFragment writeAnimationScaleOption(0, mWindowAnimationScale, null); writeAnimationScaleOption(1, mTransitionAnimationScale, null); writeAnimationScaleOption(2, mAnimatorDurationScale, null); + writeOverlayDisplayDevicesOptions(null); writeEnableTracesOptions(0); writeAppProcessLimitOptions(null); mHaveDebugSettings = false; @@ -683,6 +690,31 @@ public class DevelopmentSettings extends PreferenceFragment } } + private void updateOverlayDisplayDevicesOptions() { + String value = Settings.System.getString(getActivity().getContentResolver(), + Settings.Secure.OVERLAY_DISPLAY_DEVICES); + if (value == null) { + value = ""; + } + + CharSequence[] values = mOverlayDisplayDevices.getEntryValues(); + for (int i = 0; i < values.length; i++) { + if (value.contentEquals(values[i])) { + mOverlayDisplayDevices.setValueIndex(i); + mOverlayDisplayDevices.setSummary(mOverlayDisplayDevices.getEntries()[i]); + return; + } + } + mOverlayDisplayDevices.setValueIndex(0); + mOverlayDisplayDevices.setSummary(mOverlayDisplayDevices.getEntries()[0]); + } + + private void writeOverlayDisplayDevicesOptions(Object newValue) { + Settings.System.putString(getActivity().getContentResolver(), + Settings.Secure.OVERLAY_DISPLAY_DEVICES, (String)newValue); + updateOverlayDisplayDevicesOptions(); + } + private void updateAppProcessLimitOptions() { try { int limit = ActivityManagerNative.getDefault().getProcessLimit(); @@ -898,6 +930,9 @@ public class DevelopmentSettings extends PreferenceFragment } else if (preference == mAnimatorDurationScale) { writeAnimationScaleOption(2, mAnimatorDurationScale, newValue); return true; + } else if (preference == mOverlayDisplayDevices) { + writeOverlayDisplayDevicesOptions(newValue); + return true; } else if (preference == mEnableTracesPref) { writeEnableTracesOptions(); return true; |