diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java index 06e7f0acfbf3b..bcdc269f712de 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManager.java @@ -108,29 +108,15 @@ public class NotificationLockscreenUserManager implements Dumpable { // Start the overview connection to the launcher service Dependency.get(OverviewProxyService.class).startConnectionToCurrentUser(); } else if (Intent.ACTION_USER_PRESENT.equals(action)) { - List recentTask = null; try { - recentTask = ActivityManager.getService().getRecentTasks(1, - ActivityManager.RECENT_WITH_EXCLUDED, - mCurrentUserId).getList(); + final int lastResumedActivityUserId = + ActivityManager.getService().getLastResumedActivityUserId(); + if (mUserManager.isManagedProfile(lastResumedActivityUserId)) { + showForegroundManagedProfileActivityToast(); + } } catch (RemoteException e) { // Abandon hope activity manager not running. } - if (recentTask != null && recentTask.size() > 0) { - UserInfo user = mUserManager.getUserInfo(recentTask.get(0).userId); - if (user != null && user.isManagedProfile()) { - Toast toast = Toast.makeText(mContext, - R.string.managed_profile_foreground_toast, - Toast.LENGTH_SHORT); - TextView text = toast.getView().findViewById(android.R.id.message); - text.setCompoundDrawablesRelativeWithIntrinsicBounds( - R.drawable.stat_sys_managed_profile_status, 0, 0, 0); - int paddingPx = mContext.getResources().getDimensionPixelSize( - R.dimen.managed_profile_toast_padding); - text.setCompoundDrawablePadding(paddingPx); - toast.show(); - } - } } else if (NOTIFICATION_UNLOCKED_BY_WORK_CHALLENGE_ACTION.equals(action)) { final IntentSender intentSender = intent.getParcelableExtra(Intent.EXTRA_INTENT); final String notificationKey = intent.getStringExtra(Intent.EXTRA_INDEX); @@ -245,6 +231,19 @@ public class NotificationLockscreenUserManager implements Dumpable { mSettingsObserver.onChange(false); // set up } + private void showForegroundManagedProfileActivityToast() { + Toast toast = Toast.makeText(mContext, + R.string.managed_profile_foreground_toast, + Toast.LENGTH_SHORT); + TextView text = toast.getView().findViewById(android.R.id.message); + text.setCompoundDrawablesRelativeWithIntrinsicBounds( + R.drawable.stat_sys_managed_profile_status, 0, 0, 0); + int paddingPx = mContext.getResources().getDimensionPixelSize( + R.dimen.managed_profile_toast_padding); + text.setCompoundDrawablePadding(paddingPx); + toast.show(); + } + public boolean shouldShowLockscreenNotifications() { return mShowLockscreenNotifications; }