summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2012-09-21 19:23:20 -0700
committerRomain Guy <romainguy@google.com>2012-09-21 19:23:20 -0700
commit098f493dba656dea272dc7015363321dbb32f3a8 (patch)
tree40a9901dd888a1e4e87e09ea2e8437e80acd02c6
parent377ab9c2e42f90976f4af7eb362210fb2c409f7a (diff)
downloadpackages_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.xml5
-rw-r--r--res/xml/development_prefs.xml5
-rw-r--r--src/com/android/settings/DevelopmentSettings.java17
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) {