Skip to content

Commit 9654329

Browse files
author
Adam Cohen
committed
Getting rid of blue outline in user switcher, instead brighten the user
Change-Id: I4817615cc28eb1fea35ecb5c3d69c4298c9cf2cf
1 parent 4251736 commit 9654329

File tree

4 files changed

+24
-35
lines changed

4 files changed

+24
-35
lines changed

core/res/res/drawable/kg_avatar_overlay.xml

Lines changed: 0 additions & 20 deletions
This file was deleted.

core/res/res/layout/keyguard_multi_user_avatar.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@
2222
xmlns:android="http://schemas.android.com/apk/res/android"
2323
android:layout_width="125dp"
2424
android:layout_height="125dp"
25-
android:background="#550000ff"
26-
android:gravity="center_horizontal"
27-
android:foreground="@drawable/kg_avatar_overlay">
25+
android:gravity="center_horizontal">
2826
<ImageView
2927
android:id="@+id/keyguard_user_avatar"
3028
android:scaleType="centerCrop"

policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserAvatar.java

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ class KeyguardMultiUserAvatar extends FrameLayout {
4545
private boolean mInit = true;
4646
private KeyguardMultiUserSelectorView mUserSelector;
4747

48+
boolean mPressedStateLocked = false;
49+
boolean mTempPressedStateHolder = false;
50+
4851
public static KeyguardMultiUserAvatar fromXml(int resId, Context context,
4952
KeyguardMultiUserSelectorView userSelector, UserInfo info) {
5053
KeyguardMultiUserAvatar icon = (KeyguardMultiUserAvatar)
@@ -135,25 +138,33 @@ public void onAnimationEnd(Animator animation) {
135138
}
136139
}
137140

138-
boolean mLockDrawableState = false;
139-
140-
public void lockDrawableState() {
141-
mLockDrawableState = true;
141+
public void lockPressedState() {
142+
mPressedStateLocked = true;
142143
}
143144

144-
public void resetDrawableState() {
145-
mLockDrawableState = false;
145+
public void resetPressedState() {
146+
mPressedStateLocked = false;
146147
post(new Runnable() {
147148
@Override
148149
public void run() {
149-
refreshDrawableState();
150+
KeyguardMultiUserAvatar.this.setPressed(mTempPressedStateHolder);
150151
}
151152
});
152153
}
153154

154-
protected void drawableStateChanged() {
155-
if (!mLockDrawableState) {
156-
super.drawableStateChanged();
155+
@Override
156+
public void setPressed(boolean pressed) {
157+
if (!mPressedStateLocked) {
158+
super.setPressed(pressed);
159+
if (pressed) {
160+
mUserImage.setColorFilter(Color.argb(0, INACTIVE_COLOR,
161+
INACTIVE_COLOR, INACTIVE_COLOR));
162+
} else if (!mActive) {
163+
mUserImage.setColorFilter(Color.argb(INACTIVE_ALPHA, INACTIVE_COLOR,
164+
INACTIVE_COLOR, INACTIVE_COLOR));
165+
}
166+
} else {
167+
mTempPressedStateHolder = pressed;
157168
}
158169
}
159170

policy/src/com/android/internal/policy/impl/keyguard/KeyguardMultiUserSelectorView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public void onClick(View v) {
111111
return;
112112
} else {
113113
// Reset the previously active user to appear inactive
114-
avatar.lockDrawableState();
114+
avatar.lockPressedState();
115115
mCallback.hideSecurityView(FADE_OUT_ANIMATION_DURATION);
116116
mActiveUserAvatar.setActive(false, true, SWITCH_ANIMATION_DURATION, new Runnable() {
117117
@Override
@@ -120,7 +120,7 @@ public void run() {
120120
ActivityManagerNative.getDefault().switchUser(avatar.getUserInfo().id);
121121
WindowManagerGlobal.getWindowManagerService().lockNow();
122122
// Set the new active user, and make it appear active
123-
avatar.resetDrawableState();
123+
avatar.resetPressedState();
124124
mCallback.showSecurityView();
125125
mActiveUserAvatar = avatar;
126126
mActiveUserAvatar.setActive(true, false, 0, null);

0 commit comments

Comments
 (0)