Loading services/core/java/com/android/server/RescueParty.java +16 −5 Original line number Diff line number Diff line Loading @@ -803,22 +803,28 @@ public class RescueParty { @Override public int onHealthCheckFailed(@Nullable VersionedPackage failedPackage, @FailureReasons int failureReason, int mitigationCount) { int impact = PackageHealthObserverImpact.USER_IMPACT_LEVEL_0; if (!isDisabled() && (failureReason == PackageWatchdog.FAILURE_REASON_APP_CRASH || failureReason == PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING)) { if (Flags.recoverabilityDetection()) { if (!Flags.deprecateFlagsAndSettingsResets()) { return mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, impact = mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, mayPerformReboot(failedPackage), failedPackage)); } else { return mapRescueLevelToUserImpact(getRescueLevel(mitigationCount)); impact = mapRescueLevelToUserImpact(getRescueLevel(mitigationCount)); } } else { return mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, impact = mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, mayPerformReboot(failedPackage))); } } else { return PackageHealthObserverImpact.USER_IMPACT_LEVEL_0; } Slog.i(TAG, "Checking available remediations for health check failure." + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " failureReason: " + failureReason + " available impact: " + impact); return impact; } @Override Loading @@ -827,6 +833,11 @@ public class RescueParty { if (isDisabled()) { return false; } Slog.i(TAG, "Executing remediation." + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " failureReason: " + failureReason + " mitigationCount: " + mitigationCount); if (failureReason == PackageWatchdog.FAILURE_REASON_APP_CRASH || failureReason == PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING) { final int level; Loading services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java +14 −0 Original line number Diff line number Diff line Loading @@ -154,12 +154,22 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve } } Slog.i(TAG, "Checking available remediations for health check failure." + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " failureReason: " + failureReason + " available impact: " + impact); return impact; } @Override public boolean execute(@Nullable VersionedPackage failedPackage, @FailureReasons int rollbackReason, int mitigationCount) { Slog.i(TAG, "Executing remediation." + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " rollbackReason: " + rollbackReason + " mitigationCount: " + mitigationCount); if (Flags.recoverabilityDetection()) { List<RollbackInfo> availableRollbacks = getAvailableRollbacks(); if (rollbackReason == PackageWatchdog.FAILURE_REASON_NATIVE_CRASH) { Loading Loading @@ -503,6 +513,10 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve @FailureReasons int rollbackReason) { assertInWorkerThread(); Slog.i(TAG, "Rolling back package. RollbackId: " + rollback.getRollbackId() + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " rollbackReason: " + rollbackReason); final RollbackManager rollbackManager = mContext.getSystemService(RollbackManager.class); int reasonToLog = WatchdogRollbackLogger.mapFailureReasonToMetric(rollbackReason); final String failedPackageToLog; Loading Loading
services/core/java/com/android/server/RescueParty.java +16 −5 Original line number Diff line number Diff line Loading @@ -803,22 +803,28 @@ public class RescueParty { @Override public int onHealthCheckFailed(@Nullable VersionedPackage failedPackage, @FailureReasons int failureReason, int mitigationCount) { int impact = PackageHealthObserverImpact.USER_IMPACT_LEVEL_0; if (!isDisabled() && (failureReason == PackageWatchdog.FAILURE_REASON_APP_CRASH || failureReason == PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING)) { if (Flags.recoverabilityDetection()) { if (!Flags.deprecateFlagsAndSettingsResets()) { return mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, impact = mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, mayPerformReboot(failedPackage), failedPackage)); } else { return mapRescueLevelToUserImpact(getRescueLevel(mitigationCount)); impact = mapRescueLevelToUserImpact(getRescueLevel(mitigationCount)); } } else { return mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, impact = mapRescueLevelToUserImpact(getRescueLevel(mitigationCount, mayPerformReboot(failedPackage))); } } else { return PackageHealthObserverImpact.USER_IMPACT_LEVEL_0; } Slog.i(TAG, "Checking available remediations for health check failure." + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " failureReason: " + failureReason + " available impact: " + impact); return impact; } @Override Loading @@ -827,6 +833,11 @@ public class RescueParty { if (isDisabled()) { return false; } Slog.i(TAG, "Executing remediation." + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " failureReason: " + failureReason + " mitigationCount: " + mitigationCount); if (failureReason == PackageWatchdog.FAILURE_REASON_APP_CRASH || failureReason == PackageWatchdog.FAILURE_REASON_APP_NOT_RESPONDING) { final int level; Loading
services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java +14 −0 Original line number Diff line number Diff line Loading @@ -154,12 +154,22 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve } } Slog.i(TAG, "Checking available remediations for health check failure." + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " failureReason: " + failureReason + " available impact: " + impact); return impact; } @Override public boolean execute(@Nullable VersionedPackage failedPackage, @FailureReasons int rollbackReason, int mitigationCount) { Slog.i(TAG, "Executing remediation." + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " rollbackReason: " + rollbackReason + " mitigationCount: " + mitigationCount); if (Flags.recoverabilityDetection()) { List<RollbackInfo> availableRollbacks = getAvailableRollbacks(); if (rollbackReason == PackageWatchdog.FAILURE_REASON_NATIVE_CRASH) { Loading Loading @@ -503,6 +513,10 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve @FailureReasons int rollbackReason) { assertInWorkerThread(); Slog.i(TAG, "Rolling back package. RollbackId: " + rollback.getRollbackId() + " failedPackage: " + (failedPackage == null ? null : failedPackage.getPackageName()) + " rollbackReason: " + rollbackReason); final RollbackManager rollbackManager = mContext.getSystemService(RollbackManager.class); int reasonToLog = WatchdogRollbackLogger.mapFailureReasonToMetric(rollbackReason); final String failedPackageToLog; Loading