Add a Developer option of "Disable automatic update".
For devices using A/B update or update-on-boot feature, we need a Developer option to prevent the system updates from being installed automatically. We store the "disabled" status internally to turn on the automatic update by default. But we show the opposite "enabled" status on screen based on UX comments. Bug: 27193001 Change-Id: I36a08a2a08fd1ba0f8f3c4b3ae5a08dc50829cd2
This commit is contained in:
@@ -205,6 +205,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;
|
||||
|
||||
@@ -252,6 +254,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
|
||||
private SwitchPreference mLegacyDhcpClient;
|
||||
private SwitchPreference mMobileDataAlwaysOn;
|
||||
private SwitchPreference mBluetoothDisableAbsVolume;
|
||||
private SwitchPreference mOtaDisableAutomaticUpdate;
|
||||
|
||||
private SwitchPreference mWifiAllowScansWithTraffic;
|
||||
private SwitchPreference mStrictMode;
|
||||
@@ -465,6 +468,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);
|
||||
@@ -698,6 +703,7 @@ public class DevelopmentSettings extends SettingsPreferenceFragment
|
||||
updateAppProcessLimitOptions();
|
||||
updateShowAllANRsOptions();
|
||||
updateVerifyAppsOverUsbOptions();
|
||||
updateOtaDisableAutomaticUpdateOptions();
|
||||
updateBugreportOptions();
|
||||
updateForceRtlOptions();
|
||||
updateLogdSizeValues();
|
||||
@@ -949,6 +955,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) {
|
||||
@@ -1850,6 +1874,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) {
|
||||
|
Reference in New Issue
Block a user