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

Commit d5119bd3 authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

New development setting for ANRs.

Change-Id: I1fcde9d371bbb6e0eef0da7749a8c8cfb9a2c881
parent 8d7f9594
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3395,6 +3395,12 @@ found in the list of installed applications.</string>
    <!-- UI debug setting: limit number of running background processes [CHAR LIMIT=25] -->
    <string name="app_process_limit_title">Background process limit</string>

    <!-- UI debug setting: show all ANRs? [CHAR LIMIT=25] -->
    <string name="show_all_anrs">Show all ANRs</string>
    <!-- UI debug setting: show all ANRs summary [CHAR LIMIT=50] -->
    <string name="show_all_anrs_summary">Show Application Not Responding dialog
        for background apps</string>

    <!-- Activity title for network data usage summary. [CHAR LIMIT=25] -->
    <string name="data_usage_summary_title">Data usage</string>
    <!-- Title for option to pick visible time range from a list available usage periods. [CHAR LIMIT=25] -->
+5 −0
Original line number Diff line number Diff line
@@ -93,6 +93,11 @@
            android:entries="@array/app_process_limit_entries"
            android:entryValues="@array/app_process_limit_values" />

        <CheckBoxPreference
            android:key="show_all_anrs"
            android:title="@string/show_all_anrs"
            android:summary="@string/show_all_anrs_summary"/>

    </PreferenceCategory>

</PreferenceScreen>
+21 −0
Original line number Diff line number Diff line
@@ -65,6 +65,8 @@ public class DevelopmentSettings extends PreferenceFragment
            = "immediately_destroy_activities";
    private static final String APP_PROCESS_LIMIT_KEY = "app_process_limit";

    private static final String SHOW_ALL_ANRS_KEY = "show_all_anrs";

    private IWindowManager mWindowManager;

    private CheckBoxPreference mEnableAdb;
@@ -81,6 +83,8 @@ public class DevelopmentSettings extends PreferenceFragment
    private CheckBoxPreference mImmediatelyDestroyActivities;
    private ListPreference mAppProcessLimit;

    private CheckBoxPreference mShowAllANRs;

    // To track whether Yes was clicked in the adb warning dialog
    private boolean mOkClicked;

@@ -112,6 +116,9 @@ public class DevelopmentSettings extends PreferenceFragment
        mAppProcessLimit = (ListPreference) findPreference(APP_PROCESS_LIMIT_KEY);
        mAppProcessLimit.setOnPreferenceChangeListener(this);

        mShowAllANRs = (CheckBoxPreference) findPreference(
                SHOW_ALL_ANRS_KEY);

        removeHdcpOptionsForProduction();
    }

@@ -144,6 +151,7 @@ public class DevelopmentSettings extends PreferenceFragment
        updateAnimationScaleOptions();
        updateImmediatelyDestroyActivitiesOptions();
        updateAppProcessLimitOptions();
        updateShowAllANRsOptions();
    }

    private void updateHdcpValues() {
@@ -330,6 +338,17 @@ public class DevelopmentSettings extends PreferenceFragment
        }
    }

    private void writeShowAllANRsOptions() {
        Settings.Secure.putInt(getActivity().getContentResolver(),
                Settings.Secure.ANR_SHOW_BACKGROUND,
                mShowAllANRs.isChecked() ? 1 : 0);
    }

    private void updateShowAllANRsOptions() {
        mShowAllANRs.setChecked(Settings.Secure.getInt(
            getActivity().getContentResolver(), Settings.Secure.ANR_SHOW_BACKGROUND, 0) != 0);
    }

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {

@@ -372,6 +391,8 @@ public class DevelopmentSettings extends PreferenceFragment
            writeCpuUsageOptions();
        } else if (preference == mImmediatelyDestroyActivities) {
            writeImmediatelyDestroyActivitiesOptions();
        } else if (preference == mShowAllANRs) {
            writeShowAllANRsOptions();
        }

        return false;