[RESTRICT AUTOMERGE] UserDataPreparer: reboot to recovery if preparing user storage fails am: ea010f3dd2

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17416379

Change-Id: Ie98301125accca1074aa5f7e4ea4f51cfdbd8cd7
Ignore-AOSP-First: this is an automerge
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Eric Biggers
2022-04-25 18:04:30 +00:00
committed by Automerger Merge Worker

View File

@@ -22,6 +22,7 @@ import android.content.Context;
import android.content.pm.UserInfo;
import android.os.Environment;
import android.os.FileUtils;
import android.os.RecoverySystem;
import android.os.storage.StorageManager;
import android.os.storage.VolumeInfo;
import android.os.SystemProperties;
@@ -115,6 +116,13 @@ class UserDataPreparer {
// Try one last time; if we fail again we're really in trouble
prepareUserDataLI(volumeUuid, userId, userSerial,
flags | StorageManager.FLAG_STORAGE_DE, false);
} else {
try {
Log.e(TAG, "prepareUserData failed", e);
RecoverySystem.rebootPromptAndWipeUserData(mContext, "prepareUserData failed");
} catch (IOException e2) {
throw new RuntimeException("error rebooting into recovery", e2);
}
}
}
}