Include reason when wiping data.

This will help us track down who requested a data wipe.

Bug: 17412160
Change-Id: I46b3f12a661a406450d23a7974513f40beb23c8d
This commit is contained in:
Jeff Sharkey
2014-09-24 13:57:07 -07:00
parent a1c6a0c895
commit 1de688d911
2 changed files with 15 additions and 4 deletions

View File

@@ -177,7 +177,10 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList
}
} else if (failedAttempts == MAX_FAILED_ATTEMPTS) {
// Factory reset the device.
sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));
Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR);
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
intent.putExtra(Intent.EXTRA_REASON, "CryptKeeper.MAX_FAILED_ATTEMPTS");
sendBroadcast(intent);
} else if (failedAttempts == -1) {
// Right password, but decryption failed. Tell user bad news ...
setContentView(R.layout.crypt_keeper_progress);
@@ -536,7 +539,7 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList
* @param corrupt true if userdata is corrupt, false if encryption failed
* partway through
*/
private void showFactoryReset(boolean corrupt) {
private void showFactoryReset(final boolean corrupt) {
// Hide the encryption-bot to make room for the "factory reset" button
findViewById(R.id.encroid).setVisibility(View.GONE);
@@ -547,7 +550,11 @@ public class CryptKeeper extends Activity implements TextView.OnEditorActionList
@Override
public void onClick(View v) {
// Factory reset the device.
sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));
Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR);
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
intent.putExtra(Intent.EXTRA_REASON,
"CryptKeeper.showFactoryReset() corrupt=" + corrupt);
sendBroadcast(intent);
}
});

View File

@@ -105,10 +105,14 @@ public class MasterClearConfirm extends Fragment {
private void doMasterClear() {
if (mEraseSdCard) {
Intent intent = new Intent(ExternalStorageFormatter.FORMAT_AND_FACTORY_RESET);
intent.putExtra(Intent.EXTRA_REASON, "MasterClearConfirm");
intent.setComponent(ExternalStorageFormatter.COMPONENT_NAME);
getActivity().startService(intent);
} else {
getActivity().sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));
Intent intent = new Intent(Intent.ACTION_MASTER_CLEAR);
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
intent.putExtra(Intent.EXTRA_REASON, "MasterClearConfirm");
getActivity().sendBroadcast(intent);
// Intent handling is asynchronous -- assume it will happen soon.
}
}