Call registerConnectivityModuleHealthListener in platform
PackageWatchdog is being moved to a CrashRecovery module.
Use registerConnectivityModuleHealthListener from CrashRecoveryHelper to explicitly register for network errors.
Bug: 338468233
Test: TH
Flag: android.crashrecovery.flags.refactor_crashrecovery
Change-Id: I6a72e0c869f886c9e6aa402064a3c5dc6e3f3e2d
diff --git a/services/core/java/com/android/server/PackageWatchdog.java b/services/core/java/com/android/server/PackageWatchdog.java
index e84250d..47203fb 100644
--- a/services/core/java/com/android/server/PackageWatchdog.java
+++ b/services/core/java/com/android/server/PackageWatchdog.java
@@ -296,7 +296,9 @@
this::onSyncRequestNotified);
setPropertyChangedListenerLocked();
updateConfigs();
- registerConnectivityModuleHealthListener();
+ if (!Flags.refactorCrashrecovery()) {
+ registerConnectivityModuleHealthListener();
+ }
}
}
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 68d9221..756a750 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -435,6 +435,7 @@
import com.android.internal.util.FrameworkStatsLog;
import com.android.internal.util.MemInfoReader;
import com.android.internal.util.Preconditions;
+import com.android.server.crashrecovery.CrashRecoveryHelper;
import com.android.server.AlarmManagerInternal;
import com.android.server.BootReceiver;
import com.android.server.DeviceIdleInternal;
@@ -763,6 +764,7 @@
final AppErrors mAppErrors;
final PackageWatchdog mPackageWatchdog;
+ final CrashRecoveryHelper mCrashRecoveryHelper;
@GuardedBy("mDeliveryGroupPolicyIgnoredActions")
private final ArraySet<String> mDeliveryGroupPolicyIgnoredActions = new ArraySet();
@@ -2330,6 +2332,8 @@
} else if (phase == PHASE_THIRD_PARTY_APPS_CAN_START) {
if (!refactorCrashrecovery()) {
mService.mPackageWatchdog.onPackagesReady();
+ } else {
+ mService.mCrashRecoveryHelper.registerConnectivityModuleHealthListener();
}
mService.scheduleHomeTimeout();
}
@@ -2500,6 +2504,7 @@
mUiContext = null;
mAppErrors = injector.getAppErrors();
mPackageWatchdog = null;
+ mCrashRecoveryHelper = null;
mAppOpsService = mInjector.getAppOpsService(null /* recentAccessesFile */,
null /* storageFile */, null /* handler */);
mBatteryStatsService = mInjector.getBatteryStatsService();
@@ -2582,6 +2587,7 @@
mServices = new ActiveServices(this);
mCpHelper = new ContentProviderHelper(this, true);
+ mCrashRecoveryHelper = new CrashRecoveryHelper(mUiContext);
mPackageWatchdog = PackageWatchdog.getInstance(mUiContext);
mAppErrors = new AppErrors(mUiContext, this, mPackageWatchdog);
mUidObserverController = new UidObserverController(mUiHandler);