diff options
author | Romain Guy <romainguy@google.com> | 2012-10-18 18:09:48 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-10-18 18:09:49 -0700 |
commit | 8b98246559c7422e507458a63c8dfc2783bd0afc (patch) | |
tree | 08b56252a0539ea8b6f7d763bdac24c1f2aa0b49 /src/com/android/settings/DevelopmentSettings.java | |
parent | 8346107d25a05580fa98adaaff9d28c025d3faed (diff) | |
parent | 025cafcfa153fe0f8dab2bfe07c392ff5403d326 (diff) | |
download | packages_apps_Settings-8b98246559c7422e507458a63c8dfc2783bd0afc.zip packages_apps_Settings-8b98246559c7422e507458a63c8dfc2783bd0afc.tar.gz packages_apps_Settings-8b98246559c7422e507458a63c8dfc2783bd0afc.tar.bz2 |
Merge "Control OpenGL traces from Developer Options in Settings" into jb-mr1-dev
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; |