Merge "Publish system update info when updates are in progress" into main
diff --git a/src/com/android/settings/development/Enable16kPagesPreferenceController.java b/src/com/android/settings/development/Enable16kPagesPreferenceController.java
index 37357fe..3f9da57 100644
--- a/src/com/android/settings/development/Enable16kPagesPreferenceController.java
+++ b/src/com/android/settings/development/Enable16kPagesPreferenceController.java
@@ -176,6 +176,7 @@
public void on16kPagesDialogDismissed() {}
private void installUpdate() {
+ // Check if there is any pending system update
SystemUpdateManager manager = mContext.getSystemService(SystemUpdateManager.class);
Bundle data = manager.retrieveSystemUpdateInfo();
int status = data.getInt(SystemUpdateManager.KEY_STATUS);
@@ -184,6 +185,10 @@
throw new RuntimeException("System has pending update!");
}
+ // Publish system update info
+ PersistableBundle info = createUpdateInfo(SystemUpdateManager.STATUS_IN_PROGRESS);
+ manager.updateSystemUpdateInfo(info);
+
String updateFilePath = mEnable16k ? OTA_16K_PATH : OTA_4K_PATH;
try {
File updateFile = new File(updateFilePath);
@@ -315,10 +320,10 @@
mEnable16k ? ENABLE_16K_PAGE_SIZE : ENABLE_4K_PAGE_SIZE);
// Publish system update info
- SystemUpdateManager manager =
- (SystemUpdateManager)
- mContext.getSystemService(Context.SYSTEM_UPDATE_SERVICE);
- manager.updateSystemUpdateInfo(getUpdateInfo());
+ SystemUpdateManager manager = mContext.getSystemService(SystemUpdateManager.class);
+ PersistableBundle info =
+ createUpdateInfo(SystemUpdateManager.STATUS_WAITING_REBOOT);
+ manager.updateSystemUpdateInfo(info);
// Restart device to complete update
PowerManager pm = mContext.getSystemService(PowerManager.class);
@@ -345,10 +350,9 @@
return builder.create();
}
- private PersistableBundle getUpdateInfo() {
+ private PersistableBundle createUpdateInfo(int status) {
PersistableBundle infoBundle = new PersistableBundle();
- infoBundle.putInt(
- SystemUpdateManager.KEY_STATUS, SystemUpdateManager.STATUS_WAITING_REBOOT);
+ infoBundle.putInt(SystemUpdateManager.KEY_STATUS, status);
infoBundle.putBoolean(SystemUpdateManager.KEY_IS_SECURITY_UPDATE, false);
infoBundle.putString(SystemUpdateManager.KEY_TITLE, EXPERIMENTAL_UPDATE_TITLE);
return infoBundle;