/**
* Confirm and execute a reset of the device to a clean "just out of the box"
* state. Multiple confirmations are required: first, a general "are you sure
* you want to do this?" prompt, followed by a keyguard pattern trace if the user
* has defined one, followed by a final strongly-worded "THIS WILL ERASE EVERYTHING
* ON THE PHONE" prompt. If at any time the phone is allowed to go to sleep, is
* locked, et cetera, then the confirmation sequence is abandoned.
*
* This is the confirmation screen.
*/
public class MasterClearConfirm extends OptionsMenuFragment {
private void doMasterClear() {
}
frameworks/base/core/res/AndroidManifest.xml:3371: <action android:name="android.intent.action.MASTER_CLEAR" />
MasterClearReceiver.java
public void onReceive(final Context context, final Intent intent) {
RecoverySystem.rebootWipeUserData(context, shutdown, reason, forceWipe);// * Reboots the device and wipes the user data and cache partitions.
if (wipeExternalStorage) {
// thr will be started at the end of this task.
new WipeAdoptableDisksTask(context, thr).execute();
}
}
RecoverySystem.java
/** Used to communicate with recovery. See bootable/recovery/recovery.cpp. */
private static final File RECOVERY_DIR = new File("/cache/recovery");
private static final File LOG_FILE = new File(RECOVERY_DIR, "log");