From 098f493dba656dea272dc7015363321dbb32f3a8 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Fri, 21 Sep 2012 19:23:20 -0700 Subject: Add new developer setting to visualize overdraw Change-Id: I16d6bb5a199233efebf5c3211dbe57dc9b6729c9 --- res/values/strings.xml | 5 +++++ res/xml/development_prefs.xml | 5 +++++ src/com/android/settings/DevelopmentSettings.java | 17 +++++++++++++++++ 3 files changed, 27 insertions(+) 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 @@ Flash hardware layers green when they update + + Show GPU overdraw + + From best to worst: blue, green, light red, red + Disable HW overlays 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"/> + + 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) { -- cgit v1.1