Loading policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java +3 −2 Original line number Diff line number Diff line Loading @@ -1047,13 +1047,14 @@ public class KeyguardHostView extends KeyguardViewBase { private void enableUserSelectorIfNecessary() { // if there are multiple users, we need to add the multi-user switcher widget to the // keyguard. KeyguardMultiUserSelectorView multiUser = (KeyguardMultiUserSelectorView) findViewById(R.id.keyguard_user_selector); UserManager mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE); List<UserInfo> users = mUm.getUsers(true); if (users.size() > 1) { KeyguardMultiUserSelectorView multiUser = (KeyguardMultiUserSelectorView) findViewById(R.id.keyguard_user_selector); multiUser.setVisibility(View.VISIBLE); multiUser.addUsers(mUm.getUsers(true)); UserSwitcherCallback callback = new UserSwitcherCallback() { @Override public void hideSecurityView(int duration) { Loading policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserAvatar.java +16 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ import android.widget.TextView; import com.android.internal.R; class KeyguardMultiUserAvatar extends FrameLayout { private static final String TAG = KeyguardMultiUserAvatar.class.getSimpleName(); private static final boolean DEBUG = KeyguardHostView.DEBUG; private ImageView mUserImage; private TextView mUserName; Loading Loading @@ -122,9 +124,20 @@ class KeyguardMultiUserAvatar extends FrameLayout { mUserImage = (ImageView) findViewById(R.id.keyguard_user_avatar); mUserName = (TextView) findViewById(R.id.keyguard_user_name); mFramed = new KeyguardCircleFramedDrawable( BitmapFactory.decodeFile(rewriteIconPath(user.iconPath)), (int) mIconSize, mFrameColor, mStroke, mFrameShadowColor, mShadowRadius, mHighlightColor); Bitmap icon = null; try { icon = BitmapFactory.decodeFile(rewriteIconPath(user.iconPath)); } catch (Exception e) { if (DEBUG) Log.d(TAG, "failed to open profile icon " + user.iconPath, e); } if (icon == null) { icon = BitmapFactory.decodeResource(mContext.getResources(), com.android.internal.R.drawable.ic_contact_picture); } mFramed = new KeyguardCircleFramedDrawable(icon, (int) mIconSize, mFrameColor, mStroke, mFrameShadowColor, mShadowRadius, mHighlightColor); mUserImage.setImageDrawable(mFramed); mUserName.setText(mUserInfo.name); setOnClickListener(mUserSelector); Loading policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserSelectorView.java +8 −9 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.widget.FrameLayout; import com.android.internal.R; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; Loading @@ -55,19 +56,18 @@ public class KeyguardMultiUserSelectorView extends FrameLayout implements View.O } protected void onFinishInflate () { init(); mUsersGrid = (ViewGroup) findViewById(R.id.keyguard_users_grid); mUsersGrid.removeAllViews(); setClipChildren(false); setClipToPadding(false); } public void setCallback(KeyguardHostView.UserSwitcherCallback callback) { mCallback = callback; } public void init() { mUsersGrid = (ViewGroup) findViewById(R.id.keyguard_users_grid); mUsersGrid.removeAllViews(); setClipChildren(false); setClipToPadding(false); public void addUsers(Collection<UserInfo> userList) { UserInfo activeUser; try { activeUser = ActivityManagerNative.getDefault().getCurrentUser(); Loading @@ -75,8 +75,7 @@ public class KeyguardMultiUserSelectorView extends FrameLayout implements View.O activeUser = null; } UserManager mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE); ArrayList<UserInfo> users = new ArrayList<UserInfo>(mUm.getUsers(true)); ArrayList<UserInfo> users = new ArrayList<UserInfo>(userList); Collections.sort(users, mOrderAddedComparator); for (UserInfo user: users) { Loading Loading
policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java +3 −2 Original line number Diff line number Diff line Loading @@ -1047,13 +1047,14 @@ public class KeyguardHostView extends KeyguardViewBase { private void enableUserSelectorIfNecessary() { // if there are multiple users, we need to add the multi-user switcher widget to the // keyguard. KeyguardMultiUserSelectorView multiUser = (KeyguardMultiUserSelectorView) findViewById(R.id.keyguard_user_selector); UserManager mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE); List<UserInfo> users = mUm.getUsers(true); if (users.size() > 1) { KeyguardMultiUserSelectorView multiUser = (KeyguardMultiUserSelectorView) findViewById(R.id.keyguard_user_selector); multiUser.setVisibility(View.VISIBLE); multiUser.addUsers(mUm.getUsers(true)); UserSwitcherCallback callback = new UserSwitcherCallback() { @Override public void hideSecurityView(int duration) { Loading
policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserAvatar.java +16 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ import android.widget.TextView; import com.android.internal.R; class KeyguardMultiUserAvatar extends FrameLayout { private static final String TAG = KeyguardMultiUserAvatar.class.getSimpleName(); private static final boolean DEBUG = KeyguardHostView.DEBUG; private ImageView mUserImage; private TextView mUserName; Loading Loading @@ -122,9 +124,20 @@ class KeyguardMultiUserAvatar extends FrameLayout { mUserImage = (ImageView) findViewById(R.id.keyguard_user_avatar); mUserName = (TextView) findViewById(R.id.keyguard_user_name); mFramed = new KeyguardCircleFramedDrawable( BitmapFactory.decodeFile(rewriteIconPath(user.iconPath)), (int) mIconSize, mFrameColor, mStroke, mFrameShadowColor, mShadowRadius, mHighlightColor); Bitmap icon = null; try { icon = BitmapFactory.decodeFile(rewriteIconPath(user.iconPath)); } catch (Exception e) { if (DEBUG) Log.d(TAG, "failed to open profile icon " + user.iconPath, e); } if (icon == null) { icon = BitmapFactory.decodeResource(mContext.getResources(), com.android.internal.R.drawable.ic_contact_picture); } mFramed = new KeyguardCircleFramedDrawable(icon, (int) mIconSize, mFrameColor, mStroke, mFrameShadowColor, mShadowRadius, mHighlightColor); mUserImage.setImageDrawable(mFramed); mUserName.setText(mUserInfo.name); setOnClickListener(mUserSelector); Loading
policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserSelectorView.java +8 −9 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.widget.FrameLayout; import com.android.internal.R; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; Loading @@ -55,19 +56,18 @@ public class KeyguardMultiUserSelectorView extends FrameLayout implements View.O } protected void onFinishInflate () { init(); mUsersGrid = (ViewGroup) findViewById(R.id.keyguard_users_grid); mUsersGrid.removeAllViews(); setClipChildren(false); setClipToPadding(false); } public void setCallback(KeyguardHostView.UserSwitcherCallback callback) { mCallback = callback; } public void init() { mUsersGrid = (ViewGroup) findViewById(R.id.keyguard_users_grid); mUsersGrid.removeAllViews(); setClipChildren(false); setClipToPadding(false); public void addUsers(Collection<UserInfo> userList) { UserInfo activeUser; try { activeUser = ActivityManagerNative.getDefault().getCurrentUser(); Loading @@ -75,8 +75,7 @@ public class KeyguardMultiUserSelectorView extends FrameLayout implements View.O activeUser = null; } UserManager mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE); ArrayList<UserInfo> users = new ArrayList<UserInfo>(mUm.getUsers(true)); ArrayList<UserInfo> users = new ArrayList<UserInfo>(userList); Collections.sort(users, mOrderAddedComparator); for (UserInfo user: users) { Loading