Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8b982465 authored by Romain Guy's avatar Romain Guy Committed by Android (Google) Code Review
Browse files

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

parents 8346107d 025cafcf
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -670,6 +670,22 @@
        <item>1280x720/213;1920x1080/320</item>
    </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] -->
    <string-array name="app_process_limit_entries">
        <item>Standard limit</item>
+3 −0
Original line number Diff line number Diff line
@@ -3954,6 +3954,9 @@
    <!-- UI debug setting: enable low-level traces, all enabled summary [CHAR LIMIT=NONE] -->
    <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] -->
    <string name="debug_layout">Show layout bounds</string>
    <!-- UI debug setting: show layout bounds information summary [CHAR LIMIT=50] -->
+7 −0
Original line number Diff line number Diff line
@@ -188,6 +188,13 @@
            android:title="@string/track_frame_time"
            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
            android:key="enable_traces"
            android:title="@string/enable_traces_title"
+34 −0
Original line number Diff line number Diff line
@@ -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;