diff --git a/samples/ApiDemos/res/layout/device_admin_sample.xml b/samples/ApiDemos/res/layout/device_admin_sample.xml index 2827c010b..16b08ce5d 100644 --- a/samples/ApiDemos/res/layout/device_admin_sample.xml +++ b/samples/ApiDemos/res/layout/device_admin_sample.xml @@ -99,21 +99,27 @@ + + - - + + Password Attempts Wipe Data Force Lock Wipe Data + Wipe All Data Max screen timeout Set Timeout diff --git a/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java b/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java index f7ee2d73c..b3fc2f98a 100644 --- a/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java +++ b/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java @@ -128,6 +128,7 @@ public class DeviceAdminSample extends DeviceAdminReceiver { Button mForceLockButton; Button mWipeDataButton; + Button mWipeAllDataButton; private Button mTimeoutButton; @@ -208,6 +209,8 @@ public class DeviceAdminSample extends DeviceAdminReceiver { mForceLockButton.setOnClickListener(mForceLockListener); mWipeDataButton = (Button)findViewById(R.id.wipe_data); mWipeDataButton.setOnClickListener(mWipeDataListener); + mWipeAllDataButton = (Button)findViewById(R.id.wipe_all_data); + mWipeAllDataButton.setOnClickListener(mWipeDataListener); mTimeout = (EditText) findViewById(R.id.timeout); mTimeoutButton = (Button) findViewById(R.id.set_timeout); @@ -226,6 +229,7 @@ public class DeviceAdminSample extends DeviceAdminReceiver { mResetPasswordButton.setEnabled(true); mForceLockButton.setEnabled(true); mWipeDataButton.setEnabled(true); + mWipeAllDataButton.setEnabled(true); } else { mEnableButton.setEnabled(true); mDisableButton.setEnabled(false); @@ -236,6 +240,7 @@ public class DeviceAdminSample extends DeviceAdminReceiver { mResetPasswordButton.setEnabled(false); mForceLockButton.setEnabled(false); mWipeDataButton.setEnabled(false); + mWipeAllDataButton.setEnabled(false); } } @@ -372,7 +377,7 @@ public class DeviceAdminSample extends DeviceAdminReceiver { }; private OnClickListener mWipeDataListener = new OnClickListener() { - public void onClick(View v) { + public void onClick(final View v) { if (mAM.isUserAMonkey()) { // Don't trust monkeys to do the right thing! AlertDialog.Builder builder = new AlertDialog.Builder(Controller.this); @@ -386,14 +391,22 @@ public class DeviceAdminSample extends DeviceAdminReceiver { builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { AlertDialog.Builder builder = new AlertDialog.Builder(Controller.this); - builder.setMessage("This is not a test. " - + "This WILL erase all of your data! " - + "Are you really absolutely sure?"); + if (v == mWipeAllDataButton) { + builder.setMessage("This is not a test. " + + "This WILL erase all of your data, " + + "including external storage! " + + "Are you really absolutely sure?"); + } else { + builder.setMessage("This is not a test. " + + "This WILL erase all of your data! " + + "Are you really absolutely sure?"); + } builder.setPositiveButton("BOOM!", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { boolean active = mDPM.isAdminActive(mDeviceAdminSample); if (active) { - mDPM.wipeData(0); + mDPM.wipeData(v == mWipeAllDataButton + ? DevicePolicyManager.WIPE_EXTERNAL_STORAGE : 0); } } });