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

Commit 098f493d authored by Romain Guy's avatar Romain Guy
Browse files

Add new developer setting to visualize overdraw

Change-Id: I16d6bb5a199233efebf5c3211dbe57dc9b6729c9
parent 377ab9c2
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -3879,6 +3879,11 @@
    <!-- UI debug setting: show hardware layers updates summary [CHAR LIMIT=50] -->
    <string name="show_hw_layers_updates_summary">Flash hardware layers green when they update</string>

    <!-- UI debug setting: show the amount of overdraw in apps using the GPU [CHAR LIMIT=25] -->
    <string name="show_hw_overdraw">Show GPU overdraw</string>
    <!-- UI debug setting: Show the amount of overdraw summary [CHAR LIMIT=50] -->
    <string name="show_hw_overdraw_summary">From best to worst: blue, green, light red, red</string>

    <!-- UI debug setting: disable use of overlays? [CHAR LIMIT=25] -->
    <string name="disable_overlays">Disable HW overlays</string>
    <!-- UI debug setting: disable use of overlays summary [CHAR LIMIT=50] -->
+5 −0
Original line number Diff line number Diff line
@@ -110,6 +110,11 @@
            android:title="@string/show_hw_layers_updates"
            android:summary="@string/show_hw_layers_updates_summary"/>

        <CheckBoxPreference
            android:key="show_hw_overdraw"
            android:title="@string/show_hw_overdraw"
            android:summary="@string/show_hw_overdraw_summary"/>

        <CheckBoxPreference
            android:key="show_screen_updates"
            android:title="@string/show_screen_updates"
+17 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ public class DevelopmentSettings extends PreferenceFragment
    private static final String TRACK_FRAME_TIME_KEY = "track_frame_time";
    private static final String SHOW_HW_SCREEN_UPDATES_KEY = "show_hw_screen_udpates";
    private static final String SHOW_HW_LAYERS_UPDATES_KEY = "show_hw_layers_udpates";
    private static final String SHOW_HW_OVERDRAW_KEY = "show_hw_overdraw";
    private static final String DEBUG_LAYOUT_KEY = "debug_layout";
    private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
    private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale";
@@ -143,6 +144,7 @@ public class DevelopmentSettings extends PreferenceFragment
    private CheckBoxPreference mTrackFrameTime;
    private CheckBoxPreference mShowHwScreenUpdates;
    private CheckBoxPreference mShowHwLayersUpdates;
    private CheckBoxPreference mShowHwOverdraw;
    private CheckBoxPreference mDebugLayout;
    private CheckBoxPreference mDisplayMangificationAutoUpdate;
    private ListPreference mWindowAnimationScale;
@@ -199,6 +201,7 @@ public class DevelopmentSettings extends PreferenceFragment
        mTrackFrameTime = findAndInitCheckboxPref(TRACK_FRAME_TIME_KEY);
        mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY);
        mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY);
        mShowHwOverdraw = findAndInitCheckboxPref(SHOW_HW_OVERDRAW_KEY);
        mDebugLayout = findAndInitCheckboxPref(DEBUG_LAYOUT_KEY);
        mWindowAnimationScale = (ListPreference) findPreference(WINDOW_ANIMATION_SCALE_KEY);
        mAllPrefs.add(mWindowAnimationScale);
@@ -369,6 +372,7 @@ public class DevelopmentSettings extends PreferenceFragment
        updateTrackFrameTimeOptions();
        updateShowHwScreenUpdatesOptions();
        updateShowHwLayersUpdatesOptions();
        updateShowHwOverdrawOptions();
        updateDebugLayoutOptions();
        updateAnimationScaleOptions();
        updateOverlayDisplayDevicesOptions();
@@ -619,6 +623,17 @@ public class DevelopmentSettings extends PreferenceFragment
        pokeSystemProperties();
    }

    private void updateShowHwOverdrawOptions() {
        updateCheckBox(mShowHwOverdraw, SystemProperties.getBoolean(
                HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY, false));
    }

    private void writeShowHwOverdrawOptions() {
        SystemProperties.set(HardwareRenderer.DEBUG_SHOW_OVERDRAW_PROPERTY,
                mShowHwOverdraw.isChecked() ? "true" : null);
        pokeSystemProperties();
    }

    private void updateDebugLayoutOptions() {
        updateCheckBox(mDebugLayout,
                SystemProperties.getBoolean(View.DEBUG_LAYOUT_PROPERTY, false));
@@ -926,6 +941,8 @@ public class DevelopmentSettings extends PreferenceFragment
            writeShowHwScreenUpdatesOptions();
        } else if (preference == mShowHwLayersUpdates) {
            writeShowHwLayersUpdatesOptions();
        } else if (preference == mShowHwOverdraw) {
            writeShowHwOverdrawOptions();
        } else if (preference == mDebugLayout) {
            writeDebugLayoutOptions();
        } else if (preference == mDisplayMangificationAutoUpdate) {