Merge "Control OpenGL traces from Developer Options in Settings" into jb-mr1-dev

This commit is contained in:
Romain Guy
2012-10-18 18:09:48 -07:00
committed by Android (Google) Code Review
4 changed files with 60 additions and 0 deletions

View File

@@ -670,6 +670,22 @@
<item>1280x720/213;1920x1080/320</item> <item>1280x720/213;1920x1080/320</item>
</string-array> </string-array>
<!-- Titles for OpenGL traces preference. [CHAR LIMIT=35] -->
<string-array name="enable_opengl_traces_entries">
<item>None</item>
<item>Logcat</item>
<item>Systrace (Graphics)</item>
<item>Call stack on glGetError</item>
</string-array>
<!-- Values for OpenGL traces preference. -->
<string-array name="enable_opengl_traces_values" translatable="false" >
<item>0</item>
<item>1</item>
<item>systrace</item>
<item>error</item>
</string-array>
<!-- Titles for app process limit preference. [CHAR LIMIT=35] --> <!-- Titles for app process limit preference. [CHAR LIMIT=35] -->
<string-array name="app_process_limit_entries"> <string-array name="app_process_limit_entries">
<item>Standard limit</item> <item>Standard limit</item>

View File

@@ -3954,6 +3954,9 @@
<!-- UI debug setting: enable low-level traces, all enabled summary [CHAR LIMIT=NONE] --> <!-- UI debug setting: enable low-level traces, all enabled summary [CHAR LIMIT=NONE] -->
<string name="enable_traces_summary_all">All traces currently enabled</string> <string name="enable_traces_summary_all">All traces currently enabled</string>
<!-- UI debug setting: enable various types of OpenGL traces [CHAR LIMIT=25] -->
<string name="enable_opengl_traces_title">Enable OpenGL traces</string>
<!-- UI debug setting: show layout bounds information [CHAR LIMIT=25] --> <!-- UI debug setting: show layout bounds information [CHAR LIMIT=25] -->
<string name="debug_layout">Show layout bounds</string> <string name="debug_layout">Show layout bounds</string>
<!-- UI debug setting: show layout bounds information summary [CHAR LIMIT=50] --> <!-- UI debug setting: show layout bounds information summary [CHAR LIMIT=50] -->

View File

@@ -188,6 +188,13 @@
android:title="@string/track_frame_time" android:title="@string/track_frame_time"
android:summary="@string/track_frame_time_summary"/> android:summary="@string/track_frame_time_summary"/>
<ListPreference
android:key="enable_opengl_traces"
android:title="@string/enable_opengl_traces_title"
android:persistent="false"
android:entries="@array/enable_opengl_traces_entries"
android:entryValues="@array/enable_opengl_traces_values" />
<MultiCheckPreference <MultiCheckPreference
android:key="enable_traces" android:key="enable_traces"
android:title="@string/enable_traces_title" android:title="@string/enable_traces_title"

View File

@@ -95,6 +95,7 @@ public class DevelopmentSettings extends PreferenceFragment
private static final String HARDWARE_UI_PROPERTY = "persist.sys.ui.hw"; 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 MSAA_PROPERTY = "debug.egl.force_msaa";
private static final String BUGREPORT_IN_POWER_KEY = "bugreport_in_power"; 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 DEBUG_APP_KEY = "debug_app";
private static final String WAIT_FOR_DEBUGGER_KEY = "wait_for_debugger"; 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 ANIMATOR_DURATION_SCALE_KEY = "animator_duration_scale";
private static final String OVERLAY_DISPLAY_DEVICES_KEY = "overlay_display_devices"; 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 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"; private static final String ENABLE_TRACES_KEY = "enable_traces";
@@ -170,6 +172,7 @@ public class DevelopmentSettings extends PreferenceFragment
private ListPreference mTransitionAnimationScale; private ListPreference mTransitionAnimationScale;
private ListPreference mAnimatorDurationScale; private ListPreference mAnimatorDurationScale;
private ListPreference mOverlayDisplayDevices; private ListPreference mOverlayDisplayDevices;
private ListPreference mOpenGLTraces;
private MultiCheckPreference mEnableTracesPref; private MultiCheckPreference mEnableTracesPref;
private CheckBoxPreference mImmediatelyDestroyActivities; private CheckBoxPreference mImmediatelyDestroyActivities;
@@ -245,6 +248,9 @@ public class DevelopmentSettings extends PreferenceFragment
mOverlayDisplayDevices = (ListPreference) findPreference(OVERLAY_DISPLAY_DEVICES_KEY); mOverlayDisplayDevices = (ListPreference) findPreference(OVERLAY_DISPLAY_DEVICES_KEY);
mAllPrefs.add(mOverlayDisplayDevices); mAllPrefs.add(mOverlayDisplayDevices);
mOverlayDisplayDevices.setOnPreferenceChangeListener(this); mOverlayDisplayDevices.setOnPreferenceChangeListener(this);
mOpenGLTraces = (ListPreference) findPreference(OPENGL_TRACES_KEY);
mAllPrefs.add(mOpenGLTraces);
mOpenGLTraces.setOnPreferenceChangeListener(this);
mEnableTracesPref = (MultiCheckPreference)findPreference(ENABLE_TRACES_KEY); mEnableTracesPref = (MultiCheckPreference)findPreference(ENABLE_TRACES_KEY);
String[] traceValues = new String[Trace.TRACE_TAGS.length]; String[] traceValues = new String[Trace.TRACE_TAGS.length];
for (int i=Trace.TRACE_FLAGS_START_BIT; i<traceValues.length; i++) { for (int i=Trace.TRACE_FLAGS_START_BIT; i<traceValues.length; i++) {
@@ -405,6 +411,7 @@ public class DevelopmentSettings extends PreferenceFragment
updateDebugLayoutOptions(); updateDebugLayoutOptions();
updateAnimationScaleOptions(); updateAnimationScaleOptions();
updateOverlayDisplayDevicesOptions(); updateOverlayDisplayDevicesOptions();
updateOpenGLTracesOptions();
updateEnableTracesOptions(); updateEnableTracesOptions();
updateImmediatelyDestroyActivitiesOptions(); updateImmediatelyDestroyActivitiesOptions();
updateAppProcessLimitOptions(); updateAppProcessLimitOptions();
@@ -811,6 +818,30 @@ public class DevelopmentSettings extends PreferenceFragment
updateOverlayDisplayDevicesOptions(); 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() { private void updateAppProcessLimitOptions() {
try { try {
int limit = ActivityManagerNative.getDefault().getProcessLimit(); int limit = ActivityManagerNative.getDefault().getProcessLimit();
@@ -1037,6 +1068,9 @@ public class DevelopmentSettings extends PreferenceFragment
} else if (preference == mOverlayDisplayDevices) { } else if (preference == mOverlayDisplayDevices) {
writeOverlayDisplayDevicesOptions(newValue); writeOverlayDisplayDevicesOptions(newValue);
return true; return true;
} else if (preference == mOpenGLTraces) {
writeOpenGLTracesOptions(newValue);
return true;
} else if (preference == mEnableTracesPref) { } else if (preference == mEnableTracesPref) {
writeEnableTracesOptions(); writeEnableTracesOptions();
return true; return true;