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

Commit 7caa7515 authored by Romain Guy's avatar Romain Guy Committed by Android Git Automerger
Browse files

am 8b982465: Merge "Control OpenGL traces from Developer Options in Settings" into jb-mr1-dev

* commit '8b982465':
  Control OpenGL traces from Developer Options in Settings
parents ac8cfd0b 8b982465
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;