diff options
| author | 2024-11-15 12:56:40 +0000 | |
|---|---|---|
| committer | 2024-12-04 12:41:18 +0000 | |
| commit | c5c2b42732811166c20a8ba08f22b2a2e6475bd8 (patch) | |
| tree | b03dda78ad96091eed54e67d889e84ba5fa6820a | |
| parent | 276b3b65d19a5e69ae1d11fcf2555f8af3ca2f6e (diff) | |
Moving startObservingHealth API to PackageWatchdog
Based on the API review, moving the API to PackageWatchdog instead of
going through the observer route
Bug: 377888325
Test: TH
Flag: android.crashrecovery.flags.enable_crashrecovery
Change-Id: I50e6381ff947f4ec6324bca2292cb0562c34e7c0
2 files changed, 7 insertions, 15 deletions
diff --git a/packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java b/packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java index e1e5866e7b04..c80a1a4ea187 100644 --- a/packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java +++ b/packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java @@ -274,16 +274,6 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve Preconditions.checkState(mHandler.getLooper().isCurrentThread()); } - /** - * Start observing health of {@code packages} for {@code durationMs}. - * This may cause {@code packages} to be rolled back if they crash too freqeuntly. - */ - @AnyThread - @NonNull - public void startObservingHealth(@NonNull List<String> packages, @NonNull long durationMs) { - PackageWatchdog.getInstance(mContext).startExplicitHealthCheck(this, packages, durationMs); - } - @AnyThread @NonNull public void notifyRollbackAvailable(@NonNull RollbackInfo rollback) { diff --git a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java index e753ce845ddc..1bed48a09d9e 100644 --- a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java +++ b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java @@ -163,6 +163,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub implements Rollba private final RollbackPackageHealthObserver mPackageHealthObserver; private final AppDataRollbackHelper mAppDataRollbackHelper; private final Runnable mRunExpiration = this::runExpiration; + private final PackageWatchdog mPackageWatchdog; // The # of milli-seconds to sleep for each received ACTION_PACKAGE_ENABLE_ROLLBACK. // Used by #blockRollbackManager to test timeout in enabling rollbacks. @@ -190,6 +191,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub implements Rollba mPackageHealthObserver = new RollbackPackageHealthObserver(mContext); mAppDataRollbackHelper = new AppDataRollbackHelper(mInstaller); + mPackageWatchdog = PackageWatchdog.getInstance(mContext); // Kick off and start monitoring the handler thread. HandlerThread handlerThread = new HandlerThread("RollbackManagerServiceHandler"); @@ -1249,12 +1251,12 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub implements Rollba // should document in PackageInstaller.SessionParams#setEnableRollback // After enabling and committing any rollback, observe packages and // prepare to rollback if packages crashes too frequently. - mPackageHealthObserver.startObservingHealth(rollback.getPackageNames(), - mRollbackLifetimeDurationInMillis); + mPackageWatchdog.startExplicitHealthCheck(mPackageHealthObserver, + rollback.getPackageNames(), mRollbackLifetimeDurationInMillis); } } else { - mPackageHealthObserver.startObservingHealth(rollback.getPackageNames(), - mRollbackLifetimeDurationInMillis); + mPackageWatchdog.startExplicitHealthCheck(mPackageHealthObserver, + rollback.getPackageNames(), mRollbackLifetimeDurationInMillis); } runExpiration(); } @@ -1317,7 +1319,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub implements Rollba } }); - PackageWatchdog.getInstance(mContext).dump(ipw); + mPackageWatchdog.dump(ipw); } @AnyThread |