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

Commit f2e4c67a authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "New development setting for ANRs."

parents ceba6ef5 d5119bd3
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3389,6 +3389,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;