Ensure that the USER_PRESENT_INTENT is sent to all profiles of the current user.

This intent is needed by Smart Lock agents to check whether a given user is
active on the device.

Bug: 18530771
Change-Id: I5d460cb0cfa8ec4f7952702a3d25d089db78a50f
This commit is contained in:
Benjamin Franz
2014-12-01 16:51:48 +00:00
parent fbeeac8266
commit 4b9f8ede4e

View File

@@ -72,6 +72,7 @@ import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.phone.StatusBarWindowManager;
import java.util.ArrayList;
import java.util.List;
import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
@@ -1217,7 +1218,12 @@ public class KeyguardViewMediator extends SystemUI {
synchronized (this) {
if (mBootCompleted) {
final UserHandle currentUser = new UserHandle(mLockPatternUtils.getCurrentUser());
mContext.sendBroadcastAsUser(USER_PRESENT_INTENT, currentUser);
final UserManager um = (UserManager) mContext.getSystemService(
Context.USER_SERVICE);
List <UserInfo> userHandles = um.getProfiles(currentUser.getIdentifier());
for (UserInfo ui : userHandles) {
mContext.sendBroadcastAsUser(USER_PRESENT_INTENT, ui.getUserHandle());
}
} else {
mBootSendUserPresent = true;
}