diff options
author | Romain Guy <romainguy@google.com> | 2012-10-18 17:37:43 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2012-10-18 17:37:43 -0700 |
commit | 025cafcfa153fe0f8dab2bfe07c392ff5403d326 (patch) | |
tree | 47266f73010b443bcf6b639f7808a3d41543405d /src/com/android/settings/DevelopmentSettings.java | |
parent | 7a1c4cdfae66e8b110de3988e65586871a969c04 (diff) | |
download | packages_apps_settings-025cafcfa153fe0f8dab2bfe07c392ff5403d326.zip packages_apps_settings-025cafcfa153fe0f8dab2bfe07c392ff5403d326.tar.gz packages_apps_settings-025cafcfa153fe0f8dab2bfe07c392ff5403d326.tar.bz2 |
Control OpenGL traces from Developer Options in Settings
This change adds a new entry to the developer options screen in
settings that lets you choose what OpenGL traces you want.
Change-Id: Ie789fa20dbbabee1e509b697106072464e9f9d2b
Diffstat (limited to 'src/com/android/settings/DevelopmentSettings.java')
-rw-r--r-- | src/com/android/settings/DevelopmentSettings.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 0ad6a91..a98230f 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -95,6 +95,7 @@ public class DevelopmentSettings extends PreferenceFragment private static final String HARDWARE_UI_PROPERTY = "persist.sys.ui.hw"; private static final String MSAA_PROPERTY = "debug.egl.force_msaa"; private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power"; + private static final String OPENGL_TRACES_PROPERTY = "debug.egl.trace"; private static final String DEBUG_APP_KEY = "debug_app"; private static final String WAIT_FOR_DEBUGGER_KEY = "wait_for_debugger"; @@ -117,6 +118,7 @@ public class DevelopmentSettings extends PreferenceFragment 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 DEBUG_DEBUGGING_CATEGORY_KEY = "debug_debugging_category"; + private static final String OPENGL_TRACES_KEY = "enable_opengl_traces"; private static final String ENABLE_TRACES_KEY = "enable_traces"; @@ -170,6 +172,7 @@ public class DevelopmentSettings extends PreferenceFragment private ListPreference mTransitionAnimationScale; private ListPreference mAnimatorDurationScale; private ListPreference mOverlayDisplayDevices; + private ListPreference mOpenGLTraces; private MultiCheckPreference mEnableTracesPref; private CheckBoxPreference mImmediatelyDestroyActivities; @@ -245,6 +248,9 @@ public class DevelopmentSettings extends PreferenceFragment mOverlayDisplayDevices = (ListPreference) findPreference(OVERLAY_DISPLAY_DEVICES_KEY); mAllPrefs.add(mOverlayDisplayDevices); mOverlayDisplayDevices.setOnPreferenceChangeListener(this); + mOpenGLTraces = (ListPreference) findPreference(OPENGL_TRACES_KEY); + mAllPrefs.add(mOpenGLTraces); + mOpenGLTraces.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++) { @@ -405,6 +411,7 @@ public class DevelopmentSettings extends PreferenceFragment updateDebugLayoutOptions(); updateAnimationScaleOptions(); updateOverlayDisplayDevicesOptions(); + updateOpenGLTracesOptions(); updateEnableTracesOptions(); updateImmediatelyDestroyActivitiesOptions(); updateAppProcessLimitOptions(); @@ -811,6 +818,30 @@ public class DevelopmentSettings extends PreferenceFragment updateOverlayDisplayDevicesOptions(); } + private void updateOpenGLTracesOptions() { + String value = SystemProperties.get(OPENGL_TRACES_PROPERTY); + if (value == null) { + value = ""; + } + + CharSequence[] values = mOpenGLTraces.getEntryValues(); + for (int i = 0; i < values.length; i++) { + if (value.contentEquals(values[i])) { + mOpenGLTraces.setValueIndex(i); + mOpenGLTraces.setSummary(mOpenGLTraces.getEntries()[i]); + return; + } + } + mOpenGLTraces.setValueIndex(0); + mOpenGLTraces.setSummary(mOpenGLTraces.getEntries()[0]); + } + + private void writeOpenGLTracesOptions(Object newValue) { + SystemProperties.set(OPENGL_TRACES_PROPERTY, newValue == null ? "" : newValue.toString()); + pokeSystemProperties(); + updateOpenGLTracesOptions(); + } + private void updateAppProcessLimitOptions() { try { int limit = ActivityManagerNative.getDefault().getProcessLimit(); @@ -1037,6 +1068,9 @@ public class DevelopmentSettings extends PreferenceFragment } else if (preference == mOverlayDisplayDevices) { writeOverlayDisplayDevicesOptions(newValue); return true; + } else if (preference == mOpenGLTraces) { + writeOpenGLTracesOptions(newValue); + return true; } else if (preference == mEnableTracesPref) { writeEnableTracesOptions(); return true; |