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

Commit 82f7c064 authored by Amith Yamasani's avatar Amith Yamasani Committed by Android (Google) Code Review
Browse files

Merge "Developer option to force RTL layout direction" into klp-dev

parents b8fa4d9f df1eda8e
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -4159,6 +4159,11 @@
    <!-- UI debug setting: show layout bounds information summary [CHAR LIMIT=50] -->
    <string name="debug_layout_summary">Show clip bounds, margins, etc.</string>

    <!-- UI debug setting: force right to left layout [CHAR LIMIT=25] -->
    <string name="force_rtl_layout_all_locales">Force RTL layout direction</string>
    <!-- UI debug setting: force right to left layout summary [CHAR LIMIT=50] -->
    <string name="force_rtl_layout_all_locales_summary">Force screen layout direction to RTL for all locales</string>

    <!-- UI debug setting: show how CPU is being used? [CHAR LIMIT=25] -->
    <string name="show_cpu_usage">Show CPU usage</string>
    <!-- UI debug setting: show cpu usage summary [CHAR LIMIT=50] -->
+5 −0
Original line number Diff line number Diff line
@@ -130,6 +130,11 @@
            android:title="@string/debug_layout"
            android:summary="@string/debug_layout_summary"/>

        <CheckBoxPreference
            android:key="force_rtl_layout_all_locales"
            android:title="@string/force_rtl_layout_all_locales"
            android:summary="@string/force_rtl_layout_all_locales_summary"/>

        <ListPreference
            android:key="window_animation_scale"
            android:title="@string/window_animation_scale_title"
+20 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;

/*
 * Displays preferences for application developers.
@@ -128,6 +129,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
    private static final String SHOW_HW_LAYERS_UPDATES_KEY = "show_hw_layers_udpates";
    private static final String DEBUG_HW_OVERDRAW_KEY = "debug_hw_overdraw";
    private static final String DEBUG_LAYOUT_KEY = "debug_layout";
    private static final String FORCE_RTL_LAYOUT_KEY = "force_rtl_layout_all_locales";
    private static final String WINDOW_ANIMATION_SCALE_KEY = "window_animation_scale";
    private static final String TRANSITION_ANIMATION_SCALE_KEY = "transition_animation_scale";
    private static final String ANIMATOR_DURATION_SCALE_KEY = "animator_duration_scale";
@@ -189,6 +191,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
    private CheckBoxPreference mShowHwScreenUpdates;
    private CheckBoxPreference mShowHwLayersUpdates;
    private CheckBoxPreference mDebugLayout;
    private CheckBoxPreference mForceRtlLayout;
    private ListPreference mDebugHwOverdraw;
    private ListPreference mTrackFrameTime;
    private ListPreference mShowNonRectClip;
@@ -302,6 +305,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
        mShowHwScreenUpdates = findAndInitCheckboxPref(SHOW_HW_SCREEN_UPDATES_KEY);
        mShowHwLayersUpdates = findAndInitCheckboxPref(SHOW_HW_LAYERS_UPDATES_KEY);
        mDebugLayout = findAndInitCheckboxPref(DEBUG_LAYOUT_KEY);
        mForceRtlLayout = findAndInitCheckboxPref(FORCE_RTL_LAYOUT_KEY);
        mDebugHwOverdraw = addListPreference(DEBUG_HW_OVERDRAW_KEY);
        mWindowAnimationScale = addListPreference(WINDOW_ANIMATION_SCALE_KEY);
        mTransitionAnimationScale = addListPreference(TRANSITION_ANIMATION_SCALE_KEY);
@@ -522,6 +526,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
        updateExperimentalWebViewOptions();
        updateVerifyAppsOverUsbOptions();
        updateBugreportOptions();
        updateForceRtlOptions();
    }

    private void resetDangerousOptions() {
@@ -958,6 +963,19 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
        pokeSystemProperties();
    }

    private void updateForceRtlOptions() {
        updateCheckBox(mForceRtlLayout, Settings.Global.getInt(getActivity().getContentResolver(),
                Settings.Global.DEVELOPMENT_FORCE_RTL, 0) != 0);
    }

    private void writeForceRtlOptions() {
        boolean value = mForceRtlLayout.isChecked();
        Settings.Global.putInt(getActivity().getContentResolver(),
                Settings.Global.DEVELOPMENT_FORCE_RTL, value ? 1 : 0);
        SystemProperties.set(Settings.Global.DEVELOPMENT_FORCE_RTL, value ? "1" : "0");
        LocalePicker.updateLocale(getActivity().getResources().getConfiguration().locale);
    }

    private void updateCpuUsageOptions() {
        updateCheckBox(mShowCpuUsage, Settings.Global.getInt(getActivity().getContentResolver(),
                Settings.Global.SHOW_PROCESSES, 0) != 0);
@@ -1263,6 +1281,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
            writeShowHwLayersUpdatesOptions();
        } else if (preference == mDebugLayout) {
            writeDebugLayoutOptions();
        } else if (preference == mForceRtlLayout) {
            writeForceRtlOptions();
        }

        return false;