Merge "Merge "Avoid triggering support dialog in non-current user." into nyc-dev am: 5548733eb5 am: 8ebc6e80b8" into nyc-mr1-dev-plus-aosp

am: c56c32172e

* commit 'c56c32172e5f2cc7775a6fadaa3990c5685e14c9':
  Avoid triggering support dialog in non-current user.

Change-Id: Ia9e7deb6bbd314d64ac2551241a73fbaad38b793
This commit is contained in:
Sudheer Shanka
2016-06-03 17:36:11 +00:00
committed by android-build-merger

View File

@@ -616,11 +616,12 @@ public class RestrictedLockUtils {
*/
public static void sendShowAdminSupportDetailsIntent(Context context, EnforcedAdmin admin) {
final Intent intent = getShowAdminSupportDetailsIntent(context, admin);
int adminUserId = UserHandle.myUserId();
if (admin.userId != UserHandle.USER_NULL) {
adminUserId = admin.userId;
int targetUserId = UserHandle.myUserId();
if (admin != null && admin.userId != UserHandle.USER_NULL
&& isCurrentUserOrProfile(context, admin.userId)) {
targetUserId = admin.userId;
}
context.startActivityAsUser(intent, new UserHandle(adminUserId));
context.startActivityAsUser(intent, new UserHandle(targetUserId));
}
public static Intent getShowAdminSupportDetailsIntent(Context context, EnforcedAdmin admin) {
@@ -638,6 +639,28 @@ public class RestrictedLockUtils {
return intent;
}
public static boolean isCurrentUserOrProfile(Context context, int userId) {
UserManager um = UserManager.get(context);
for (UserInfo userInfo : um.getProfiles(UserHandle.myUserId())) {
if (userInfo.id == userId) {
return true;
}
}
return false;
}
public static boolean isAdminInCurrentUserOrProfile(Context context, ComponentName admin) {
DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
Context.DEVICE_POLICY_SERVICE);
UserManager um = UserManager.get(context);
for (UserInfo userInfo : um.getProfiles(UserHandle.myUserId())) {
if (dpm.isAdminActiveAsUser(admin, userInfo.id)) {
return true;
}
}
return false;
}
public static void setTextViewPadlock(Context context,
TextView textView, boolean showPadlock) {
final SpannableStringBuilder sb = new SpannableStringBuilder(textView.getText());