summaryrefslogtreecommitdiffstats
path: root/updater_sample/src/com/example/android/systemupdatersample/UpdateManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'updater_sample/src/com/example/android/systemupdatersample/UpdateManager.java')
-rw-r--r--updater_sample/src/com/example/android/systemupdatersample/UpdateManager.java28
1 files changed, 19 insertions, 9 deletions
diff --git a/updater_sample/src/com/example/android/systemupdatersample/UpdateManager.java b/updater_sample/src/com/example/android/systemupdatersample/UpdateManager.java
index e4c09346b..a9783e70a 100644
--- a/updater_sample/src/com/example/android/systemupdatersample/UpdateManager.java
+++ b/updater_sample/src/com/example/android/systemupdatersample/UpdateManager.java
@@ -198,6 +198,24 @@ public class UpdateManager {
}
/**
+ * Suspend running update.
+ */
+ public synchronized void suspend() throws UpdaterState.InvalidTransitionException {
+ Log.d(TAG, "suspend invoked");
+ setUpdaterState(UpdaterState.PAUSED);
+ mUpdateEngine.cancel();
+ }
+
+ /**
+ * Resume suspended update.
+ */
+ public synchronized void resume() throws UpdaterState.InvalidTransitionException {
+ Log.d(TAG, "resume invoked");
+ setUpdaterState(UpdaterState.RUNNING);
+ updateEngineReApplyPayload();
+ }
+
+ /**
* Updates {@link this.mState} and if state is changed,
* it also notifies {@link this.mOnStateChangeCallback}.
*/
@@ -237,10 +255,6 @@ public class UpdateManager {
/**
* Requests update engine to stop any ongoing update. If an update has been applied,
* leave it as is.
- *
- * <p>Sometimes it's possible that the
- * update engine would throw an error when the method is called, and the only way to
- * handle it is to catch the exception.</p>
*/
public synchronized void cancelRunningUpdate() throws UpdaterState.InvalidTransitionException {
Log.d(TAG, "cancelRunningUpdate invoked");
@@ -250,10 +264,6 @@ public class UpdateManager {
/**
* Resets update engine to IDLE state. If an update has been applied it reverts it.
- *
- * <p>Sometimes it's possible that the
- * update engine would throw an error when the method is called, and the only way to
- * handle it is to catch the exception.</p>
*/
public synchronized void resetUpdate() throws UpdaterState.InvalidTransitionException {
Log.d(TAG, "resetUpdate invoked");
@@ -506,7 +516,7 @@ public class UpdateManager {
synchronizeUpdaterStateWithUpdateEngineStatus();
}
- getOnProgressUpdateCallback().ifPresent(callback -> callback.accept(progress));
+ getOnProgressUpdateCallback().ifPresent(callback -> callback.accept(mProgress.get()));
if (previousStatus != status) {
getOnEngineStatusUpdateCallback().ifPresent(callback -> callback.accept(status));