Update work profile app lock to latest spec
* Removed old background image of work profile lock
* Updated text and description for PIN, password and pattern
* Added enterprise logo to work profile lock
Bug: 141290838
Test: Manual testing
atest com.android.systemui.biometrics.AuthBiometricViewTest
atest com.android.systemui.biometrics.AuthContainerViewTest
Change-Id: Ic2a0b0b572da383846ee113d32450fe3734dfd02
This commit is contained in:
25
packages/SystemUI/res/drawable/auth_dialog_enterprise.xml
Normal file
25
packages/SystemUI/res/drawable/auth_dialog_enterprise.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (C) 2020 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.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:pathData="M20,6h-4L16,4c0,-1.11 -0.89,-2 -2,-2h-4c-1.11,0 -2,0.89 -2,2v2L4,6c-1.11,0 -1.99,0.89 -1.99,2L2,19c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,8c0,-1.11 -0.89,-2 -2,-2zM12,15c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM14,6h-4L10,4h4v2z"
|
||||
android:fillColor="?android:attr/colorAccent"/>
|
||||
</vector>
|
||||
@@ -34,20 +34,15 @@
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/auth_dialog_lock"/>
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:textSize="20sp"
|
||||
android:gravity="center"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
style="@style/TextAppearance.AuthCredential.Title"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/subtitle"
|
||||
@@ -63,17 +58,41 @@
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:gravity="center"
|
||||
android:textSize="16sp"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
style="@style/TextAppearance.AuthCredential.Description"/>
|
||||
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="0dp"
|
||||
android:paddingRight="0dp"
|
||||
android:paddingTop="0dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
style="@style/LockPatternContainerStyle">
|
||||
|
||||
<com.android.internal.widget.LockPatternView
|
||||
android:id="@+id/lockPattern"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
style="@style/LockPatternStyleBiometricPrompt"/>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/error"
|
||||
android:layout_width="match_parent"
|
||||
@@ -90,24 +109,4 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center">
|
||||
|
||||
<com.android.internal.widget.LockPatternView
|
||||
android:id="@+id/lockPattern"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="40dp"
|
||||
android:layout_marginRight="40dp"
|
||||
android:layout_gravity="center"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
style="@style/LockPatternStyleBiometricPrompt"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</com.android.systemui.biometrics.AuthCredentialPatternView>
|
||||
@@ -28,20 +28,15 @@
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/auth_dialog_lock"/>
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:textSize="20sp"
|
||||
android:gravity="center"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
style="@style/TextAppearance.AuthCredential.Title"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/subtitle"
|
||||
@@ -57,11 +52,7 @@
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:gravity="center"
|
||||
android:textSize="16sp"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
style="@style/TextAppearance.AuthCredential.Description"/>
|
||||
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
@@ -79,19 +70,14 @@
|
||||
|
||||
<EditText
|
||||
android:id="@+id/lockPassword"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_marginLeft="100dp"
|
||||
android:layout_marginRight="100dp"
|
||||
android:layout_width="208dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:inputType="textPassword"
|
||||
android:maxLength="500"
|
||||
android:textSize="16sp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:imeOptions="flagForceAscii"
|
||||
style="@style/LockPatternStyleBiometricPrompt"/>
|
||||
android:imeOptions="actionNext|flagNoFullscreen|flagForceAscii"
|
||||
style="@style/TextAppearance.AuthCredential.PasswordEntry"/>
|
||||
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
|
||||
@@ -28,20 +28,15 @@
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:background="@drawable/auth_dialog_lock"/>
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:textSize="20sp"
|
||||
android:gravity="center"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
style="@style/TextAppearance.AuthCredential.Title"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/subtitle"
|
||||
@@ -57,37 +52,49 @@
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:gravity="center"
|
||||
android:textSize="16sp"
|
||||
android:textColor="?android:attr/textColorPrimary"/>
|
||||
style="@style/TextAppearance.AuthCredential.Description"/>
|
||||
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="3"/>
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/error"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:textSize="16sp"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:textColor="?android:attr/colorError"/>
|
||||
android:paddingLeft="0dp"
|
||||
android:paddingRight="0dp"
|
||||
android:paddingTop="0dp"
|
||||
android:paddingBottom="16dp"
|
||||
android:clipToPadding="false">
|
||||
|
||||
<com.android.internal.widget.LockPatternView
|
||||
android:id="@+id/lockPattern"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_marginLeft="40dp"
|
||||
android:layout_marginRight="40dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
style="@style/LockPatternStyleBiometricPrompt"/>
|
||||
<FrameLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
style="@style/LockPatternContainerStyle">
|
||||
|
||||
<com.android.internal.widget.LockPatternView
|
||||
android:id="@+id/lockPattern"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
style="@style/LockPatternStyleBiometricPrompt"/>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/error"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:textSize="16sp"
|
||||
android:gravity="center"
|
||||
android:textColor="?android:attr/colorError"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
|
||||
@@ -234,6 +234,37 @@
|
||||
|
||||
<style name="TextAppearance.DeviceManagementDialog.Title" parent="@android:style/TextAppearance.DeviceDefault.DialogWindowTitle"/>
|
||||
|
||||
<style name="TextAppearance.AuthCredential">
|
||||
<item name="android:gravity">center_horizontal</item>
|
||||
<item name="android:fontFamily">google-sans</item>
|
||||
<item name="android:textAlignment">gravity</item>
|
||||
<item name="android:layout_gravity">top</item>
|
||||
<item name="android:textColor">?android:attr/textColorPrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.AuthCredential.Title">
|
||||
<item name="android:layout_marginBottom">2dp</item>
|
||||
<item name="android:layout_marginLeft">24dp</item>
|
||||
<item name="android:layout_marginRight">24dp</item>
|
||||
<item name="android:layout_marginTop">16dp</item>
|
||||
<item name="android:textSize">24sp</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.AuthCredential.Description">
|
||||
<item name="android:layout_marginBottom">12dp</item>
|
||||
<item name="android:layout_marginStart">40dp</item>
|
||||
<item name="android:layout_marginEnd">40dp</item>
|
||||
<item name="android:layout_marginTop">3dp</item>
|
||||
<item name="android:textSize">16sp</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.AuthCredential.PasswordEntry" parent="@android:style/TextAppearance.DeviceDefault">
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:singleLine">true</item>
|
||||
<item name="android:textColor">?android:attr/colorForeground</item>
|
||||
<item name="android:textSize">24sp</item>
|
||||
</style>
|
||||
|
||||
<style name="DeviceManagementDialogTitle">
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:textAppearance">@style/TextAppearance.DeviceManagementDialog.Title</item>
|
||||
@@ -297,6 +328,16 @@
|
||||
<item name="android:textColor">?attr/wallpaperTextColor</item>
|
||||
</style>
|
||||
|
||||
<style name="LockPatternContainerStyle">
|
||||
<item name="android:maxHeight">400dp</item>
|
||||
<item name="android:maxWidth">420dp</item>
|
||||
<item name="android:minHeight">0dp</item>
|
||||
<item name="android:minWidth">0dp</item>
|
||||
<item name="android:paddingBottom">0dp</item>
|
||||
<item name="android:paddingHorizontal">44dp</item>
|
||||
<item name="android:paddingTop">0dp</item>
|
||||
</style>
|
||||
|
||||
<style name="LockPatternStyle">
|
||||
<item name="*android:regularColor">?attr/wallpaperTextColor</item>
|
||||
<item name="*android:successColor">?attr/wallpaperTextColor</item>
|
||||
|
||||
@@ -664,6 +664,7 @@ public abstract class AuthBiometricView extends LinearLayout {
|
||||
|
||||
setTextOrHide(mSubtitleView,
|
||||
mBiometricPromptBundle.getString(BiometricPrompt.KEY_SUBTITLE));
|
||||
|
||||
setTextOrHide(mDescriptionView,
|
||||
mBiometricPromptBundle.getString(BiometricPrompt.KEY_DESCRIPTION));
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.android.systemui.biometrics;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.hardware.biometrics.BiometricPrompt;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
@@ -28,6 +29,7 @@ import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -56,6 +58,7 @@ public abstract class AuthCredentialView extends LinearLayout {
|
||||
private TextView mTitleView;
|
||||
private TextView mSubtitleView;
|
||||
private TextView mDescriptionView;
|
||||
private ImageView mIconView;
|
||||
protected TextView mErrorView;
|
||||
|
||||
protected @Utils.CredentialType int mCredentialType;
|
||||
@@ -176,6 +179,16 @@ public abstract class AuthCredentialView extends LinearLayout {
|
||||
setTextOrHide(mDescriptionView,
|
||||
mBiometricPromptBundle.getString(BiometricPrompt.KEY_DESCRIPTION));
|
||||
|
||||
final boolean isManagedProfile = Utils.isManagedProfile(mContext, mEffectiveUserId);
|
||||
final Drawable image;
|
||||
if (isManagedProfile) {
|
||||
image = getResources().getDrawable(R.drawable.auth_dialog_enterprise,
|
||||
mContext.getTheme());
|
||||
} else {
|
||||
image = getResources().getDrawable(R.drawable.auth_dialog_lock, mContext.getTheme());
|
||||
}
|
||||
mIconView.setImageDrawable(image);
|
||||
|
||||
// Only animate this if we're transitioning from a biometric view.
|
||||
if (mShouldAnimateContents) {
|
||||
setTranslationY(getResources()
|
||||
@@ -207,6 +220,7 @@ public abstract class AuthCredentialView extends LinearLayout {
|
||||
mTitleView = findViewById(R.id.title);
|
||||
mSubtitleView = findViewById(R.id.subtitle);
|
||||
mDescriptionView = findViewById(R.id.description);
|
||||
mIconView = findViewById(R.id.icon);
|
||||
mErrorView = findViewById(R.id.error);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user