diff options
author | Romain Guy <romainguy@google.com> | 2012-09-21 19:23:20 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2012-09-21 19:23:20 -0700 |
commit | 098f493dba656dea272dc7015363321dbb32f3a8 (patch) | |
tree | 40a9901dd888a1e4e87e09ea2e8437e80acd02c6 | |
parent | 377ab9c2e42f90976f4af7eb362210fb2c409f7a (diff) | |
download | packages_apps_settings-098f493dba656dea272dc7015363321dbb32f3a8.zip packages_apps_settings-098f493dba656dea272dc7015363321dbb32f3a8.tar.gz packages_apps_settings-098f493dba656dea272dc7015363321dbb32f3a8.tar.bz2 |
Add new developer setting to visualize overdraw
Change-Id: I16d6bb5a199233efebf5c3211dbe57dc9b6729c9
-rw-r--r-- | res/values/strings.xml | 5 | ||||
-rw-r--r-- | res/xml/development_prefs.xml | 5 | ||||
-rw-r--r-- | src/com/android/settings/DevelopmentSettings.java | 17 |
3 files changed, 27 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 97c0726..53923a3 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -3879,6 +3879,11 @@ <!-- UI debug setting: show hardware layers updates summary [CHAR LIMIT=50] --> <string name="show_hw_layers_updates_summary">Flash hardware layers green when they update</string> + <!-- UI debug setting: show the amount of overdraw in apps using the GPU [CHAR LIMIT=25] --> + <string name="show_hw_overdraw">Show GPU overdraw</string> + <!-- UI debug setting: Show the amount of overdraw summary [CHAR LIMIT=50] --> + <string name="show_hw_overdraw_summary">From best to worst: blue, green, light red, red</string> + <!-- UI debug setting: disable use of overlays? [CHAR LIMIT=25] --> <string name="disable_overlays">Disable HW overlays</string> <!-- UI debug setting: disable use of overlays summary [CHAR LIMIT=50] --> diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml index 575f802..6a3e82b 100644 --- a/res/xml/development_prefs.xml +++ b/res/xml/development_prefs.xml @@ -111,6 +111,11 @@ android:summary="@string/show_hw_layers_updates_summary"/> <CheckBoxPreference + android:key="show_hw_overdraw" + android:title="@string/show_hw_overdraw" + android:summary="@string/show_hw_overdraw_summary"/> + + <CheckBoxPreference android:key="show_screen_updates" android:title="@string/show_screen_updates" android:summary="@string/show_screen_updates_summary"/> diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index f590ea6..159dd09 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -93,6 +93,7 @@ public class DevelopmentSettings extends PreferenceFragment private static final String TRACK_FRAME_TIME_KEY = "track_frame_time"; private static final String SHOW_HW_SCREEN_UPDATES_KEY = "show_hw_screen_udpates"; private static final String SHOW_HW_LAYERS_UPDATES_KEY = "show_hw_layers_udpates"; + private static final String SHOW_HW_OVERDRAW_KEY = "show_hw_overdraw"; private static final String DEBUG_LAYOUT_KEY = "debug_layout"; private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale"; private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale"; @@ -143,6 +144,7 @@ public class DevelopmentSettings extends PreferenceFragment private CheckBoxPreference mTrackFrameTime; private CheckBoxPreference mShowHwScreenUpdates; private CheckBoxPreference mShowHwLayersUpdates; + private CheckBoxPreference mShowHwOverdraw; private CheckBoxPreference mDebugLayout; private CheckBoxPreference mDisplayMangificationAutoUpdate; private ListPreference mWindowAnimationScale; @@ -199,6 +201,7 @@ public class DevelopmentSettings extends PreferenceFragment mTrackFrameTime = findAndInitCheckboxPref(TRACK_FRAME_TIME_KEY); mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY); mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY); + mShowHwOverdraw = findAndInitCheckboxPref(SHOW_HW_OVERDRAW_KEY); mDebugLayout = findAndInitCheckboxPref(DEBUG_LAYOUT_KEY); mWindowAnimationScale = (ListPreference) findPreference(WINDOW_ANIMATION_SCALE_KEY); mAllPrefs.add(mWindowAnimationScale); @@ -369,6 +372,7 @@ public class DevelopmentSettings extends PreferenceFragment updateTrackFrameTimeOptions(); updateShowHwScreenUpdatesOptions(); updateShowHwLayersUpdatesOptions(); + updateShowHwOverdrawOptions(); updateDebugLayoutOptions(); updateAnimationScaleOptions(); updateOverlayDisplayDevicesOptions(); @@ -619,6 +623,17 @@ public class DevelopmentSettings extends PreferenceFragment pokeSystemProperties(); } + private void updateShowHwOverdrawOptions() { + updateCheckBox(mShowHwOverdraw, SystemProperties.getBoolean( + HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY, false)); + } + + private void writeShowHwOverdrawOptions() { + SystemProperties.set(HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY, + mShowHwOverdraw.isChecked() ? "true" : null); + pokeSystemProperties(); + } + private void updateDebugLayoutOptions() { updateCheckBox(mDebugLayout, SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false)); @@ -926,6 +941,8 @@ public class DevelopmentSettings extends PreferenceFragment writeShowHwScreenUpdatesOptions(); } else if (preference == mShowHwLayersUpdates) { writeShowHwLayersUpdatesOptions(); + } else if (preference == mShowHwOverdraw) { + writeShowHwOverdrawOptions(); } else if (preference == mDebugLayout) { writeDebugLayoutOptions(); } else if (preference == mDisplayMangificationAutoUpdate) { |