Merge "Fix the multi-user keyguard dialog animation" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8731db3349
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (C) 2022 The Android Open Source Project
|
||||||
|
~
|
||||||
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing, software
|
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
~ See the License for the specific language governing permissions and
|
||||||
|
~ limitations under the License
|
||||||
|
-->
|
||||||
|
<shape
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/kg_framed_avatar_size"/>
|
||||||
|
<solid android:color="@color/kg_user_avatar_frame"/>
|
||||||
|
</shape>
|
||||||
@@ -22,13 +22,19 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="end">
|
android:layout_gravity="end">
|
||||||
|
<!-- We add a background behind the UserAvatarView with the same color and with a circular shape
|
||||||
|
so that this view can be expanded into a Dialog or an Activity. -->
|
||||||
|
<FrameLayout
|
||||||
|
android:id="@+id/kg_multi_user_avatar_with_background"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="top|end"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:background="@drawable/keyguard_framed_avatar_background">
|
||||||
<com.android.systemui.statusbar.phone.UserAvatarView
|
<com.android.systemui.statusbar.phone.UserAvatarView
|
||||||
android:id="@+id/kg_multi_user_avatar"
|
android:id="@+id/kg_multi_user_avatar"
|
||||||
android:layout_width="@dimen/kg_framed_avatar_size"
|
android:layout_width="@dimen/kg_framed_avatar_size"
|
||||||
android:layout_height="@dimen/kg_framed_avatar_size"
|
android:layout_height="@dimen/kg_framed_avatar_size"
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:layout_gravity="top|end"
|
|
||||||
android:layout_marginEnd="16dp"
|
|
||||||
systemui:avatarPadding="0dp"
|
systemui:avatarPadding="0dp"
|
||||||
systemui:badgeDiameter="18dp"
|
systemui:badgeDiameter="18dp"
|
||||||
systemui:badgeMargin="1dp"
|
systemui:badgeMargin="1dp"
|
||||||
@@ -36,4 +42,5 @@
|
|||||||
systemui:framePadding="0dp"
|
systemui:framePadding="0dp"
|
||||||
systemui:frameWidth="0dp">
|
systemui:frameWidth="0dp">
|
||||||
</com.android.systemui.statusbar.phone.UserAvatarView>
|
</com.android.systemui.statusbar.phone.UserAvatarView>
|
||||||
|
</FrameLayout>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
@@ -78,6 +78,7 @@ public class KeyguardQsUserSwitchController extends ViewController<FrameLayout>
|
|||||||
private final UiEventLogger mUiEventLogger;
|
private final UiEventLogger mUiEventLogger;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
UserAvatarView mUserAvatarView;
|
UserAvatarView mUserAvatarView;
|
||||||
|
private View mUserAvatarViewWithBackground;
|
||||||
UserSwitcherController.UserRecord mCurrentUser;
|
UserSwitcherController.UserRecord mCurrentUser;
|
||||||
private boolean mIsKeyguardShowing;
|
private boolean mIsKeyguardShowing;
|
||||||
|
|
||||||
@@ -167,6 +168,8 @@ public class KeyguardQsUserSwitchController extends ViewController<FrameLayout>
|
|||||||
super.onInit();
|
super.onInit();
|
||||||
if (DEBUG) Log.d(TAG, "onInit");
|
if (DEBUG) Log.d(TAG, "onInit");
|
||||||
mUserAvatarView = mView.findViewById(R.id.kg_multi_user_avatar);
|
mUserAvatarView = mView.findViewById(R.id.kg_multi_user_avatar);
|
||||||
|
mUserAvatarViewWithBackground = mView.findViewById(
|
||||||
|
R.id.kg_multi_user_avatar_with_background);
|
||||||
mAdapter = new UserSwitcherController.BaseUserAdapter(mUserSwitcherController) {
|
mAdapter = new UserSwitcherController.BaseUserAdapter(mUserSwitcherController) {
|
||||||
@Override
|
@Override
|
||||||
public View getView(int position, View convertView, ViewGroup parent) {
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||||||
@@ -186,7 +189,7 @@ public class KeyguardQsUserSwitchController extends ViewController<FrameLayout>
|
|||||||
mUiEventLogger.log(
|
mUiEventLogger.log(
|
||||||
LockscreenGestureLogger.LockscreenUiEvent.LOCKSCREEN_SWITCH_USER_TAP);
|
LockscreenGestureLogger.LockscreenUiEvent.LOCKSCREEN_SWITCH_USER_TAP);
|
||||||
|
|
||||||
mUserSwitchDialogController.showDialog(mView);
|
mUserSwitchDialogController.showDialog(mUserAvatarViewWithBackground);
|
||||||
});
|
});
|
||||||
|
|
||||||
mUserAvatarView.setAccessibilityDelegate(new View.AccessibilityDelegate() {
|
mUserAvatarView.setAccessibilityDelegate(new View.AccessibilityDelegate() {
|
||||||
|
|||||||
Reference in New Issue
Block a user