Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb614e40 authored by Chris Wren's avatar Chris Wren Committed by Android Git Automerger
Browse files

am 3f47cd2b: am 592f6343: am f0fd172a: lock out clicks while switching.

* commit '3f47cd2b':
  lock out clicks while switching.
parents fd7b509a 3f47cd2b
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -207,10 +207,12 @@ class KeyguardMultiUserAvatar extends FrameLayout {

    @Override
    public void setPressed(boolean pressed) {
        if (!pressed || isClickable()) {
            super.setPressed(pressed);
            mFramed.setPressed(pressed);
            mUserImage.invalidate();
        }
    }

    public UserInfo getUserInfo() {
        return mUserInfo;
+38 −24
Original line number Diff line number Diff line
@@ -110,10 +110,20 @@ public class KeyguardMultiUserSelectorView extends FrameLayout implements View.O
        return false;
    }

    private void setAllClickable(boolean clickable)
    {
        for(int i = 0; i < mUsersGrid.getChildCount(); i++) {
            View v = mUsersGrid.getChildAt(i);
            v.setClickable(clickable);
            v.setPressed(false);
        }
    }

    @Override
    public void onClick(View v) {
        if (!(v instanceof KeyguardMultiUserAvatar)) return;
        final KeyguardMultiUserAvatar avatar = (KeyguardMultiUserAvatar) v;
        if (avatar.isClickable()) { // catch race conditions
            if (mActiveUserAvatar == avatar) {
                // If they click the currently active user, show the unlock hint
                mCallback.showUnlockHint();
@@ -121,6 +131,7 @@ public class KeyguardMultiUserSelectorView extends FrameLayout implements View.O
            } else {
                // Reset the previously active user to appear inactive
                mCallback.hideSecurityView(FADE_OUT_ANIMATION_DURATION);
                setAllClickable(false);
                mActiveUserAvatar.setActive(false, true, new Runnable() {
                    @Override
                    public void run() {
@@ -135,6 +146,8 @@ public class KeyguardMultiUserSelectorView extends FrameLayout implements View.O
                                    } catch (RemoteException re) {
                                        Log.e(TAG, "Couldn't switch user " + re);
                                    }
                                } else {
                                    setAllClickable(true);
                                }
                            }
                        });
@@ -143,3 +156,4 @@ public class KeyguardMultiUserSelectorView extends FrameLayout implements View.O
            }
        }
    }
}