diff --git a/res/values/strings.xml b/res/values/strings.xml index dedc00bf457..0c2d51ad062 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -7005,6 +7005,9 @@ To apply color change, turn off screen + + Automatic system updates + Usage diff --git a/res/xml/development_prefs.xml b/res/xml/development_prefs.xml index 0fbb90f0ff2..02454c047ce 100644 --- a/res/xml/development_prefs.xml +++ b/res/xml/development_prefs.xml @@ -89,6 +89,10 @@ android:title="@string/color_temperature" android:summary="@string/color_temperature_desc" /> + + diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java index 186e75168da..3de2af2c73c 100644 --- a/src/com/android/settings/DevelopmentSettings.java +++ b/src/com/android/settings/DevelopmentSettings.java @@ -204,6 +204,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private static final String KEY_NIGHT_MODE = "night_mode"; private static final String KEY_CONVERT_FBE = "convert_to_file_encryption"; + private static final String OTA_DISABLE_AUTOMATIC_UPDATE_KEY = "ota_disable_automatic_update"; + private static final int RESULT_DEBUG_APP = 1000; private static final int RESULT_MOCK_LOCATION_APP = 1001; @@ -250,6 +252,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment private SwitchPreference mWifiAggressiveHandover; private SwitchPreference mMobileDataAlwaysOn; private SwitchPreference mBluetoothDisableAbsVolume; + private SwitchPreference mOtaDisableAutomaticUpdate; private SwitchPreference mWifiAllowScansWithTraffic; private SwitchPreference mStrictMode; @@ -462,6 +465,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment removePreference(KEY_CONVERT_FBE); } + mOtaDisableAutomaticUpdate = findAndInitSwitchPref(OTA_DISABLE_AUTOMATIC_UPDATE_KEY); + mNightModePreference = (DropDownPreference) findPreference(KEY_NIGHT_MODE); final UiModeManager uiManager = (UiModeManager) getSystemService( Context.UI_MODE_SERVICE); @@ -695,6 +700,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment updateAppProcessLimitOptions(); updateShowAllANRsOptions(); updateVerifyAppsOverUsbOptions(); + updateOtaDisableAutomaticUpdateOptions(); updateBugreportOptions(); updateForceRtlOptions(); updateLogdSizeValues(); @@ -945,6 +951,24 @@ public class DevelopmentSettings extends SettingsPreferenceFragment mVerifyAppsOverUsb.isChecked() ? 1 : 0); } + private void updateOtaDisableAutomaticUpdateOptions() { + // We use the "disabled status" in code, but show the opposite text + // "Automatic system updates" on screen. So a value 0 indicates the + // automatic update is enabled. + updateSwitchPreference(mOtaDisableAutomaticUpdate, Settings.Global.getInt( + getActivity().getContentResolver(), + Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, 0) != 1); + } + + private void writeOtaDisableAutomaticUpdateOptions() { + // We use the "disabled status" in code, but show the opposite text + // "Automatic system updates" on screen. So a value 0 indicates the + // automatic update is enabled. + Settings.Global.putInt(getActivity().getContentResolver(), + Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, + mOtaDisableAutomaticUpdate.isChecked() ? 0 : 1); + } + private boolean enableVerifierSetting() { final ContentResolver cr = getActivity().getContentResolver(); if (Settings.Global.getInt(cr, Settings.Global.ADB_ENABLED, 0) == 0) { @@ -1834,6 +1858,8 @@ public class DevelopmentSettings extends SettingsPreferenceFragment writeDebuggerOptions(); } else if (preference == mVerifyAppsOverUsb) { writeVerifyAppsOverUsbOptions(); + } else if (preference == mOtaDisableAutomaticUpdate) { + writeOtaDisableAutomaticUpdateOptions(); } else if (preference == mStrictMode) { writeStrictModeVisualOptions(); } else if (preference == mPointerLocation) {