diff options
author | Dianne Hackborn <hackbod@google.com> | 2012-02-06 21:21:39 -0800 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2012-02-07 11:40:30 -0800 |
commit | e44f44d67913ae74900656ee2ef1d2f690c63d1c (patch) | |
tree | 1fa5745ace5f6738cf500009bc4d74aebee9080f /src/com/android/settings/DevelopmentSettings.java | |
parent | 057cbfdad6db024eec8b956d1260a8b0515dc86e (diff) | |
download | packages_apps_Settings-e44f44d67913ae74900656ee2ef1d2f690c63d1c.zip packages_apps_Settings-e44f44d67913ae74900656ee2ef1d2f690c63d1c.tar.gz packages_apps_Settings-e44f44d67913ae74900656ee2ef1d2f690c63d1c.tar.bz2 |
New dev setting to turn off HW overlays.
Change-Id: I747ac6d90dfb8a7a0bbf547ce7cae8ee86f8d5d0
Diffstat (limited to 'src/com/android/settings/DevelopmentSettings.java')
-rw-r--r-- | src/com/android/settings/DevelopmentSettings.java | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 394cf82..7b4e0eb 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -42,7 +42,6 @@ import android.os.SystemProperties; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; -import android.preference.PreferenceActivity; import android.preference.PreferenceFragment; import android.preference.PreferenceScreen; import android.preference.Preference.OnPreferenceChangeListener; @@ -74,6 +73,7 @@ public class DevelopmentSettings extends PreferenceFragment private static final String POINTER_LOCATION_KEY = "pointer_location"; private static final String SHOW_TOUCHES_KEY = "show_touches"; private static final String SHOW_SCREEN_UPDATES_KEY = "show_screen_updates"; + private static final String DISABLE_OVERLAYS_KEY = "disable_overlays"; private static final String SHOW_CPU_USAGE_KEY = "show_cpu_usage"; private static final String FORCE_HARDWARE_UI_KEY = "force_hw_ui"; private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale"; @@ -101,6 +101,7 @@ public class DevelopmentSettings extends PreferenceFragment private CheckBoxPreference mPointerLocation; private CheckBoxPreference mShowTouches; private CheckBoxPreference mShowScreenUpdates; + private CheckBoxPreference mDisableOverlays; private CheckBoxPreference mShowCpuUsage; private CheckBoxPreference mForceHardwareUi; private ListPreference mWindowAnimationScale; @@ -156,6 +157,9 @@ public class DevelopmentSettings extends PreferenceFragment mShowScreenUpdates = (CheckBoxPreference) findPreference(SHOW_SCREEN_UPDATES_KEY); mAllPrefs.add(mShowScreenUpdates); mResetCbPrefs.add(mShowScreenUpdates); + mDisableOverlays = (CheckBoxPreference) findPreference(DISABLE_OVERLAYS_KEY); + mAllPrefs.add(mDisableOverlays); + mResetCbPrefs.add(mDisableOverlays); mShowCpuUsage = (CheckBoxPreference) findPreference(SHOW_CPU_USAGE_KEY); mAllPrefs.add(mShowCpuUsage); mResetCbPrefs.add(mShowCpuUsage); @@ -391,6 +395,8 @@ public class DevelopmentSettings extends PreferenceFragment mShowScreenUpdates.setChecked(showUpdates != 0); @SuppressWarnings("unused") int showBackground = reply.readInt(); + int disableOverlays = reply.readInt(); + mDisableOverlays.setChecked(disableOverlays != 0); reply.recycle(); data.recycle(); } @@ -398,13 +404,14 @@ public class DevelopmentSettings extends PreferenceFragment } } - private void writeFlingerOptions() { + private void writeShowUpdatesOption() { try { IBinder flinger = ServiceManager.getService("SurfaceFlinger"); if (flinger != null) { Parcel data = Parcel.obtain(); data.writeInterfaceToken("android.ui.ISurfaceComposer"); - data.writeInt(mShowScreenUpdates.isChecked() ? 1 : 0); + final int showUpdates = mShowScreenUpdates.isChecked() ? 1 : 0; + data.writeInt(showUpdates); flinger.transact(1002, data, null, 0); data.recycle(); @@ -414,6 +421,23 @@ public class DevelopmentSettings extends PreferenceFragment } } + private void writeDisableOverlaysOption() { + try { + IBinder flinger = ServiceManager.getService("SurfaceFlinger"); + if (flinger != null) { + Parcel data = Parcel.obtain(); + data.writeInterfaceToken("android.ui.ISurfaceComposer"); + final int disableOverlays = mDisableOverlays.isChecked() ? 1 : 0; + data.writeInt(disableOverlays); + flinger.transact(1008, data, null, 0); + data.recycle(); + + updateFlingerOptions(); + } + } catch (RemoteException ex) { + } + } + private void updateHardwareUiOptions() { mForceHardwareUi.setChecked(SystemProperties.getBoolean(HARDWARE_UI_PROPERTY, false)); } @@ -590,7 +614,9 @@ public class DevelopmentSettings extends PreferenceFragment } else if (preference == mShowTouches) { writeShowTouchesOptions(); } else if (preference == mShowScreenUpdates) { - writeFlingerOptions(); + writeShowUpdatesOption(); + } else if (preference == mDisableOverlays) { + writeDisableOverlaysOption(); } else if (preference == mShowCpuUsage) { writeCpuUsageOptions(); } else if (preference == mImmediatelyDestroyActivities) { |