Multiuser settings revamp - followup to address comments
Bug: 15761405
Change-Id: I9c03432a2f2651a931486ce65fb3b5af37608be0
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 2887b1a..692d8f3 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -18,12 +18,14 @@
import android.app.ActivityManager;
import android.app.AlertDialog;
+import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.app.Fragment;
import android.app.IActivityManager;
import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
@@ -61,6 +63,7 @@
import android.widget.ListView;
import android.widget.TabWidget;
+import com.android.settings.R.string;
import com.android.settings.dashboard.DashboardCategory;
import com.android.settings.dashboard.DashboardTile;
@@ -636,4 +639,35 @@
// Default to current profile
return new UserHandle(currentUser);
}
+
+ /**
+ * Creates a dialog to confirm with the user if it's ok to remove the user
+ * and delete all the data.
+ *
+ * @param context a Context object
+ * @param removingUserId The userId of the user to remove
+ * @param onConfirmListener Callback object for positive action
+ * @return the created Dialog
+ */
+ public static Dialog createRemoveConfirmationDialog(Context context, int removingUserId,
+ DialogInterface.OnClickListener onConfirmListener) {
+ UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
+ UserInfo userInfo = um.getUserInfo(removingUserId);
+ Dialog dlg = new AlertDialog.Builder(context)
+ .setTitle(UserHandle.myUserId() == removingUserId
+ ? R.string.user_confirm_remove_self_title
+ : (userInfo.isRestricted()
+ ? R.string.user_profile_confirm_remove_title
+ : R.string.user_confirm_remove_title))
+ .setMessage(UserHandle.myUserId() == removingUserId
+ ? R.string.user_confirm_remove_self_message
+ : (userInfo.isRestricted()
+ ? R.string.user_profile_confirm_remove_message
+ : R.string.user_confirm_remove_message))
+ .setPositiveButton(R.string.user_delete_button,
+ onConfirmListener)
+ .setNegativeButton(android.R.string.cancel, null)
+ .create();
+ return dlg;
+ }
}