• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Signature format: 2.0
2package com.android.server {
3
4  public class PackageWatchdog {
5    method public void dump(@NonNull java.io.PrintWriter);
6    method @NonNull public static com.android.server.PackageWatchdog getInstance(@NonNull android.content.Context);
7    method public static boolean isRecoveryTriggeredReboot();
8    method public void notifyPackageFailure(@NonNull java.util.List<android.content.pm.VersionedPackage>, int);
9    method public void registerHealthObserver(@NonNull java.util.concurrent.Executor, @NonNull com.android.server.PackageWatchdog.PackageHealthObserver);
10    method public void startExplicitHealthCheck(@NonNull java.util.List<java.lang.String>, long, @NonNull com.android.server.PackageWatchdog.PackageHealthObserver);
11    method public void unregisterHealthObserver(@NonNull com.android.server.PackageWatchdog.PackageHealthObserver);
12    field public static final int FAILURE_REASON_APP_CRASH = 3; // 0x3
13    field public static final int FAILURE_REASON_APP_NOT_RESPONDING = 4; // 0x4
14    field public static final int FAILURE_REASON_BOOT_LOOP = 5; // 0x5
15    field public static final int FAILURE_REASON_EXPLICIT_HEALTH_CHECK = 2; // 0x2
16    field public static final int FAILURE_REASON_NATIVE_CRASH = 1; // 0x1
17    field public static final int FAILURE_REASON_UNKNOWN = 0; // 0x0
18    field public static final int MITIGATION_RESULT_SKIPPED = 2; // 0x2
19    field public static final int MITIGATION_RESULT_SUCCESS = 1; // 0x1
20    field public static final int USER_IMPACT_THRESHOLD_HIGH = 71; // 0x47
21    field public static final int USER_IMPACT_THRESHOLD_MEDIUM = 20; // 0x14
22    field public static final int USER_IMPACT_THRESHOLD_NONE = 0; // 0x0
23  }
24
25  public static interface PackageWatchdog.PackageHealthObserver {
26    method @NonNull public String getUniqueIdentifier();
27    method public default boolean isPersistent();
28    method public default boolean mayObservePackage(@NonNull String);
29    method public default int onBootLoop(int);
30    method public default int onExecuteBootLoopMitigation(int);
31    method public int onExecuteHealthCheckMitigation(@Nullable android.content.pm.VersionedPackage, int, int);
32    method public int onHealthCheckFailed(@Nullable android.content.pm.VersionedPackage, int, int);
33  }
34
35}
36
37package com.android.server.rollback {
38
39  public final class RollbackPackageHealthObserver implements com.android.server.PackageWatchdog.PackageHealthObserver {
40    ctor public RollbackPackageHealthObserver(@NonNull android.content.Context);
41    method @NonNull public String getUniqueIdentifier();
42    method public boolean isPersistent();
43    method public boolean mayObservePackage(@NonNull String);
44    method @AnyThread @NonNull public void notifyRollbackAvailable(@NonNull android.content.rollback.RollbackInfo);
45    method @AnyThread public void onBootCompletedAsync();
46    method public int onBootLoop(int);
47    method public int onExecuteBootLoopMitigation(int);
48    method public int onExecuteHealthCheckMitigation(@Nullable android.content.pm.VersionedPackage, int, int);
49    method public int onHealthCheckFailed(@Nullable android.content.pm.VersionedPackage, int, int);
50  }
51
52}
53
54