Loading core/api/system-current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -11160,6 +11160,7 @@ package android.os { method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException; method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException; method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException; method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException; method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static int rebootAndApply(@NonNull android.content.Context, @NonNull String, boolean) throws java.io.IOException; method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static int rebootAndApply(@NonNull android.content.Context, @NonNull String, boolean) throws java.io.IOException; method @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootPromptAndWipeUserData(@NonNull android.content.Context, @NonNull String) throws java.io.IOException; method @RequiresPermission(allOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void rebootWipeAb(android.content.Context, java.io.File, String) throws java.io.IOException; method @RequiresPermission(allOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void rebootWipeAb(android.content.Context, java.io.File, String) throws java.io.IOException; method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException; method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException; method @Deprecated public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException; method @Deprecated public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException; core/java/android/os/RecoverySystem.java +20 −3 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.os; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.DEFAULT_DISPLAY; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; Loading Loading @@ -1170,11 +1171,27 @@ public class RecoverySystem { return removedSubsCount.get() == subscriptionInfos.size(); return removedSubsCount.get() == subscriptionInfos.size(); } } /** {@hide} */ /** public static void rebootPromptAndWipeUserData(Context context, String reason) * Reboot into recovery and prompt for wiping the device. * * This is used as last resort in case the device is not recoverable using * other recovery steps. This first checks if fs-checkpoint is available, in * which case we commit the checkpoint, otherwise it performs the reboot in * recovery mode and shows user prompt for wiping the device. * * @param context the context to use. * @param reason the reason to wipe. * * @throws IOException if something goes wrong. * * @hide */ @SystemApi @RequiresPermission(android.Manifest.permission.RECOVERY) @FlaggedApi(android.crashrecovery.flags.Flags.FLAG_ENABLE_CRASHRECOVERY) public static void rebootPromptAndWipeUserData(@NonNull Context context, @NonNull String reason) throws IOException { throws IOException { boolean checkpointing = false; boolean checkpointing = false; boolean needReboot = false; IVold vold = null; IVold vold = null; try { try { vold = IVold.Stub.asInterface(ServiceManager.checkService("vold")); vold = IVold.Stub.asInterface(ServiceManager.checkService("vold")); Loading Loading
core/api/system-current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -11160,6 +11160,7 @@ package android.os { method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException; method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException; method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException; method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException; method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static int rebootAndApply(@NonNull android.content.Context, @NonNull String, boolean) throws java.io.IOException; method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static int rebootAndApply(@NonNull android.content.Context, @NonNull String, boolean) throws java.io.IOException; method @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootPromptAndWipeUserData(@NonNull android.content.Context, @NonNull String) throws java.io.IOException; method @RequiresPermission(allOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void rebootWipeAb(android.content.Context, java.io.File, String) throws java.io.IOException; method @RequiresPermission(allOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void rebootWipeAb(android.content.Context, java.io.File, String) throws java.io.IOException; method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException; method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException; method @Deprecated public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException; method @Deprecated public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
core/java/android/os/RecoverySystem.java +20 −3 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.os; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.DEFAULT_DISPLAY; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; Loading Loading @@ -1170,11 +1171,27 @@ public class RecoverySystem { return removedSubsCount.get() == subscriptionInfos.size(); return removedSubsCount.get() == subscriptionInfos.size(); } } /** {@hide} */ /** public static void rebootPromptAndWipeUserData(Context context, String reason) * Reboot into recovery and prompt for wiping the device. * * This is used as last resort in case the device is not recoverable using * other recovery steps. This first checks if fs-checkpoint is available, in * which case we commit the checkpoint, otherwise it performs the reboot in * recovery mode and shows user prompt for wiping the device. * * @param context the context to use. * @param reason the reason to wipe. * * @throws IOException if something goes wrong. * * @hide */ @SystemApi @RequiresPermission(android.Manifest.permission.RECOVERY) @FlaggedApi(android.crashrecovery.flags.Flags.FLAG_ENABLE_CRASHRECOVERY) public static void rebootPromptAndWipeUserData(@NonNull Context context, @NonNull String reason) throws IOException { throws IOException { boolean checkpointing = false; boolean checkpointing = false; boolean needReboot = false; IVold vold = null; IVold vold = null; try { try { vold = IVold.Stub.asInterface(ServiceManager.checkService("vold")); vold = IVold.Stub.asInterface(ServiceManager.checkService("vold")); Loading