Tweak the layout for Pattern/PIN/Password enrollment

- Fix the problem with invisible title
- Fix the wrong layout for landscape mode
- Apply color extraction

Fix: 185076320
Fix: 182339941
Fix: 182440016
Fix: 184715547
Fix: 183710293
Test: robotests and visual verified
Change-Id: Ib8e2a015bc52fcac2d285777972177e53bde7489
This commit is contained in:
Mill Chen
2021-05-15 05:03:19 +08:00
parent 0c28e9dca7
commit 9edcc5b5e3
7 changed files with 54 additions and 263 deletions

View File

@@ -19,9 +19,9 @@
android:viewportWidth="24.0" android:viewportWidth="24.0"
android:viewportHeight="24.0"> android:viewportHeight="24.0">
<path <path
android:fillColor="@color/sud_color_accent_light" android:fillColor="?android:attr/colorPrimary"
android:pathData="M18,17v-6c0,-3.07 -1.63,-5.64 -4.5,-6.32V4c0,-0.83 -0.67,-1.5 -1.5,-1.5S10.5,3.17 10.5,4v0.68C7.64,5.36 6,7.92 6,11v6H4v2h10h0.38H20v-2H18zM16,17H8v-6c0,-2.48 1.51,-4.5 4,-4.5s4,2.02 4,4.5V17z"/> android:pathData="M18,17v-6c0,-3.07 -1.63,-5.64 -4.5,-6.32V4c0,-0.83 -0.67,-1.5 -1.5,-1.5S10.5,3.17 10.5,4v0.68C7.64,5.36 6,7.92 6,11v6H4v2h10h0.38H20v-2H18zM16,17H8v-6c0,-2.48 1.51,-4.5 4,-4.5s4,2.02 4,4.5V17z"/>
<path <path
android:fillColor="@color/sud_color_accent_light" android:fillColor="?android:attr/colorPrimary"
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4C10,21.1 10.9,22 12,22z"/> android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4C10,21.1 10.9,22 12,22z"/>
</vector> </vector>

View File

@@ -1,133 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2015 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.
-->
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:icon="@drawable/ic_lock"
android:layout="@layout/sud_glif_blank_template"
settings:sucHeaderText="@string/lock_settings_picker_title">
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
android:id="@+id/topLayout"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- left side: instructions and messages -->
<LinearLayout
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:layout_marginStart="?attr/sudMarginStart"
android:layout_marginBottom="@dimen/sud_content_frame_padding_bottom"
android:clipChildren="false"
android:clipToPadding="false"
android:orientation="vertical">
<ScrollView
android:id="@+id/scroll_layout_title_header"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="?attr/sudGlifHeaderGravity"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:src="@drawable/ic_lock"/>
<TextView
android:id="@+id/suc_layout_title"
style="@style/SudGlifHeaderTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"/>
<TextView
android:id="@+id/sud_layout_description"
style="@style/SudDescription.Glif"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minLines="2" />
<!-- header message -->
<TextView
android:id="@+id/headerText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="?attr/sudGlifHeaderGravity"
android:textSize="18sp"/>
<TextView android:id="@+id/footerText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:textSize="14sp"
android:visibility="gone" />
<Button
android:id="@+id/screen_lock_options"
style="@style/SudGlifButton.Tertiary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="?attr/sudGlifHeaderGravity"
android:text="@string/setup_lock_settings_options_button_label"
android:visibility="gone" />
</LinearLayout>
</ScrollView>
</LinearLayout>
<!-- right side: lock pattern -->
<com.google.android.setupdesign.view.FillContentLayout
style="@style/LockPatternContainerStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:paddingStart="0dp">
<com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@color/lock_pattern_background" />
</com.google.android.setupdesign.view.FillContentLayout>
</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
</com.google.android.setupdesign.GlifLayout>

View File

@@ -18,97 +18,55 @@
<!-- Used in phone portrait and tablet, as referenced in alias.xml. --> <!-- Used in phone portrait and tablet, as referenced in alias.xml. -->
<com.google.android.setupdesign.GlifLayout <com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout" android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:icon="@drawable/ic_lock" android:icon="@drawable/ic_lock">
android:layout="@layout/sud_glif_blank_template">
<!-- takes up all space above button bar at bottom -->
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient <com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
android:id="@+id/topLayout" android:id="@+id/topLayout"
style="@style/SudContentFrame"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="center"
android:clipChildren="false" android:clipChildren="false"
android:clipToPadding="false" android:clipToPadding="false"
android:orientation="vertical"> android:orientation="vertical"
android:paddingLeft="0dp"
android:paddingRight="0dp">
<LinearLayout <TextView
style="@style/SudGlifHeaderContainer" android:id="@+id/headerText"
style="@style/SudDescription.Glif"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:minLines="2"
<ImageView
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_lock" />
<TextView
android:id="@+id/suc_layout_title"
style="@style/SudGlifHeaderTitle"
android:accessibilityLiveRegion="polite"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<!-- takes up all space above button bar at bottom -->
<LinearLayout
style="@style/SudContentFrame"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:clipChildren="false" android:paddingStart="?attr/sudMarginStart"
android:clipToPadding="false" android:paddingEnd="?attr/sudMarginEnd"/>
android:orientation="vertical"
android:paddingLeft="0dp"
android:paddingRight="0dp">
<TextView <com.google.android.setupdesign.view.FillContentLayout
android:id="@+id/sud_layout_description" style="@style/LockPatternContainerStyle"
style="@style/SudDescription.Glif" android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1">
<com.android.internal.widget.LockPatternView
android:id="@+id/lockPattern"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_marginStart="?attr/sudMarginStart" android:layout_gravity="center"/>
android:layout_marginEnd="?attr/sudMarginEnd"
android:minLines="2" />
<TextView android:id="@+id/headerText" </com.google.android.setupdesign.view.FillContentLayout>
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minLines="2"
android:gravity="center"
android:paddingStart="?attr/sudMarginStart"
android:paddingEnd="?attr/sudMarginEnd"
android:textSize="12sp" />
<com.google.android.setupdesign.view.FillContentLayout
style="@style/LockPatternContainerStyle"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1">
<com.android.internal.widget.LockPatternView
android:id="@+id/lockPattern"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center" />
</com.google.android.setupdesign.view.FillContentLayout>
</LinearLayout>
<TextView android:id="@+id/footerText" <TextView android:id="@+id/footerText"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:minHeight="50dip" android:minHeight="50dip"
android:textSize="14sp" android:textSize="14sp"
android:visibility="gone"/> android:visibility="gone"/>
<Button <Button
android:id="@+id/screen_lock_options" android:id="@+id/screen_lock_options"
@@ -116,8 +74,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/setup_lock_settings_options_button_label" android:text="@string/setup_lock_settings_options_button_label"
android:visibility="gone" /> android:visibility="gone"/>
</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient> </com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
</com.google.android.setupdesign.GlifLayout> </com.google.android.setupdesign.GlifLayout>

View File

@@ -26,7 +26,6 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserManager; import android.os.UserManager;
import android.provider.Settings; import android.provider.Settings;
@@ -50,6 +49,7 @@ import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton; import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupcompat.util.WizardManagerHelper; import com.google.android.setupcompat.util.WizardManagerHelper;
import com.google.android.setupdesign.GlifLayout; import com.google.android.setupdesign.GlifLayout;
import com.google.android.setupdesign.util.ThemeHelper;
public class RedactionInterstitial extends SettingsActivity { public class RedactionInterstitial extends SettingsActivity {
@@ -60,12 +60,6 @@ public class RedactionInterstitial extends SettingsActivity {
return modIntent; return modIntent;
} }
@Override
protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
super.onApplyThemeResource(theme, new_resid, first);
}
@Override @Override
protected boolean isValidFragment(String fragmentName) { protected boolean isValidFragment(String fragmentName) {
return RedactionInterstitialFragment.class.getName().equals(fragmentName); return RedactionInterstitialFragment.class.getName().equals(fragmentName);
@@ -73,6 +67,8 @@ public class RedactionInterstitial extends SettingsActivity {
@Override @Override
protected void onCreate(Bundle savedInstance) { protected void onCreate(Bundle savedInstance) {
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
ThemeHelper.trySetDynamicColor(this);
super.onCreate(savedInstance); super.onCreate(savedInstance);
findViewById(R.id.content_parent).setFitsSystemWindows(false); findViewById(R.id.content_parent).setFitsSystemWindows(false);
} }

View File

@@ -42,7 +42,6 @@ import android.app.admin.PasswordMetrics;
import android.app.settings.SettingsEnums; import android.app.settings.SettingsEnums;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.res.Resources.Theme;
import android.graphics.Insets; import android.graphics.Insets;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.os.Bundle; import android.os.Bundle;
@@ -89,6 +88,7 @@ import com.android.settings.notification.RedactionInterstitial;
import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton; import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupdesign.GlifLayout; import com.google.android.setupdesign.GlifLayout;
import com.google.android.setupdesign.util.ThemeHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
@@ -107,12 +107,6 @@ public class ChooseLockPassword extends SettingsActivity {
return modIntent; return modIntent;
} }
@Override
protected void onApplyThemeResource(Theme theme, int resid, boolean first) {
final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
super.onApplyThemeResource(theme, new_resid, first);
}
public static class IntentBuilder { public static class IntentBuilder {
private final Intent mIntent; private final Intent mIntent;
@@ -207,6 +201,8 @@ public class ChooseLockPassword extends SettingsActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
setTheme(SetupWizardUtils.getTheme(this, getIntent()));
ThemeHelper.trySetDynamicColor(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
findViewById(R.id.content_parent).setFitsSystemWindows(false); findViewById(R.id.content_parent).setFitsSystemWindows(false);
} }

View File

@@ -33,10 +33,8 @@ import android.util.Pair;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Surface;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ScrollView;
import android.widget.TextView; import android.widget.TextView;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@@ -61,6 +59,8 @@ import com.google.android.collect.Lists;
import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterBarMixin;
import com.google.android.setupcompat.template.FooterButton; import com.google.android.setupcompat.template.FooterButton;
import com.google.android.setupdesign.GlifLayout; import com.google.android.setupdesign.GlifLayout;
import com.google.android.setupdesign.template.IconMixin;
import com.google.android.setupdesign.util.ThemeHelper;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@@ -94,12 +94,6 @@ public class ChooseLockPattern extends SettingsActivity {
return modIntent; return modIntent;
} }
@Override
protected void onApplyThemeResource(Theme theme, int resid, boolean first) {
final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
super.onApplyThemeResource(theme, new_resid, first);
}
public static class IntentBuilder { public static class IntentBuilder {
private final Intent mIntent; private final Intent mIntent;
@@ -171,7 +165,8 @@ public class ChooseLockPattern extends SettingsActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
// requestWindowFeature(Window.FEATURE_NO_TITLE); setTheme(SetupWizardUtils.getTheme(this, getIntent()));
ThemeHelper.trySetDynamicColor(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
findViewById(R.id.content_parent).setFitsSystemWindows(false); findViewById(R.id.content_parent).setFitsSystemWindows(false);
} }
@@ -205,9 +200,7 @@ public class ChooseLockPattern extends SettingsActivity {
private LockscreenCredential mCurrentCredential; private LockscreenCredential mCurrentCredential;
private boolean mRequestGatekeeperPassword; private boolean mRequestGatekeeperPassword;
protected TextView mTitleText;
protected TextView mHeaderText; protected TextView mHeaderText;
protected TextView mMessageText;
protected LockPatternView mLockPatternView; protected LockPatternView mLockPatternView;
protected TextView mFooterText; protected TextView mFooterText;
protected FooterButton mSkipOrClearButton; protected FooterButton mSkipOrClearButton;
@@ -215,9 +208,6 @@ public class ChooseLockPattern extends SettingsActivity {
@VisibleForTesting protected LockscreenCredential mChosenPattern; @VisibleForTesting protected LockscreenCredential mChosenPattern;
private ColorStateList mDefaultHeaderColorList; private ColorStateList mDefaultHeaderColorList;
// ScrollView that contains title and header, only exist in land mode
private ScrollView mTitleHeaderScrollView;
/** /**
* The patten used during the help screen to show how to draw a pattern. * The patten used during the help screen to show how to draw a pattern.
*/ */
@@ -308,15 +298,6 @@ public class ChooseLockPattern extends SettingsActivity {
} }
mFooterText.setText(""); mFooterText.setText("");
mNextButton.setEnabled(false); mNextButton.setEnabled(false);
if (mTitleHeaderScrollView != null) {
mTitleHeaderScrollView.post(new Runnable() {
@Override
public void run() {
mTitleHeaderScrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});
}
} }
}; };
@@ -513,17 +494,12 @@ public class ChooseLockPattern extends SettingsActivity {
Bundle savedInstanceState) { Bundle savedInstanceState) {
final GlifLayout layout = (GlifLayout) inflater.inflate( final GlifLayout layout = (GlifLayout) inflater.inflate(
R.layout.choose_lock_pattern, container, false); R.layout.choose_lock_pattern, container, false);
switch(getContext().getDisplay().getRotation()) {
case Surface.ROTATION_90:
case Surface.ROTATION_270:
layout.setLandscapeHeaderAreaVisible(false /* visible */);
break;
}
updateActivityTitle(); updateActivityTitle();
layout.setHeaderText(getActivity().getTitle());
if (getResources().getBoolean(R.bool.config_lock_pattern_minimal_ui)) { if (getResources().getBoolean(R.bool.config_lock_pattern_minimal_ui)) {
View iconView = layout.findViewById(R.id.sud_layout_icon); View iconView = layout.findViewById(R.id.sud_layout_icon);
if (iconView != null) { if (iconView != null) {
iconView.setVisibility(View.GONE); layout.getMixin(IconMixin.class).setVisibility(View.GONE);
} }
} else { } else {
if (mForFingerprint) { if (mForFingerprint) {
@@ -561,10 +537,8 @@ public class ChooseLockPattern extends SettingsActivity {
@Override @Override
public void onViewCreated(View view, Bundle savedInstanceState) { public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
mTitleText = view.findViewById(R.id.suc_layout_title);
mHeaderText = (TextView) view.findViewById(R.id.headerText); mHeaderText = (TextView) view.findViewById(R.id.headerText);
mDefaultHeaderColorList = mHeaderText.getTextColors(); mDefaultHeaderColorList = mHeaderText.getTextColors();
mMessageText = view.findViewById(R.id.sud_layout_description);
mLockPatternView = (LockPatternView) view.findViewById(R.id.lockPattern); mLockPatternView = (LockPatternView) view.findViewById(R.id.lockPattern);
mLockPatternView.setOnPatternListener(mChooseNewLockPatternListener); mLockPatternView.setOnPatternListener(mChooseNewLockPatternListener);
mLockPatternView.setTactileFeedbackEnabled( mLockPatternView.setTactileFeedbackEnabled(
@@ -573,9 +547,6 @@ public class ChooseLockPattern extends SettingsActivity {
mFooterText = (TextView) view.findViewById(R.id.footerText); mFooterText = (TextView) view.findViewById(R.id.footerText);
mTitleHeaderScrollView = (ScrollView) view.findViewById(R.id
.scroll_layout_title_header);
// make it so unhandled touch events within the unlock screen go to the // make it so unhandled touch events within the unlock screen go to the
// lock pattern view. // lock pattern view.
final LinearLayoutWithDefaultTouchRecepient topLayout final LinearLayoutWithDefaultTouchRecepient topLayout
@@ -756,12 +727,13 @@ public class ChooseLockPattern extends SettingsActivity {
} else { } else {
mHeaderText.setText(stage.headerMessage); mHeaderText.setText(stage.headerMessage);
} }
final GlifLayout layout = getActivity().findViewById(R.id.setup_wizard_layout);
final boolean forAnyBiometric = mForFingerprint || mForFace || mForBiometrics; final boolean forAnyBiometric = mForFingerprint || mForFace || mForBiometrics;
int message = forAnyBiometric ? stage.messageForBiometrics : stage.message; int message = forAnyBiometric ? stage.messageForBiometrics : stage.message;
if (message == ID_EMPTY_MESSAGE) { if (message == ID_EMPTY_MESSAGE) {
mMessageText.setText(""); layout.setDescriptionText("");
} else { } else {
mMessageText.setText(message); layout.setDescriptionText(message);
} }
if (stage.footerMessage == ID_EMPTY_MESSAGE) { if (stage.footerMessage == ID_EMPTY_MESSAGE) {
mFooterText.setText(""); mFooterText.setText("");
@@ -782,7 +754,7 @@ public class ChooseLockPattern extends SettingsActivity {
if (stage == Stage.NeedToConfirm && forAnyBiometric) { if (stage == Stage.NeedToConfirm && forAnyBiometric) {
mHeaderText.setText(""); mHeaderText.setText("");
mTitleText.setText(R.string.lockpassword_draw_your_pattern_again_header); layout.setHeaderText(R.string.lockpassword_draw_your_pattern_again_header);
} }
} }

View File

@@ -30,6 +30,8 @@ import androidx.fragment.app.Fragment;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SetupRedactionInterstitial; import com.android.settings.SetupRedactionInterstitial;
import com.google.android.setupdesign.GlifLayout;
/** /**
* Setup Wizard's version of ChooseLockPattern screen. It inherits the logic and basic structure * Setup Wizard's version of ChooseLockPattern screen. It inherits the logic and basic structure
* from ChooseLockPattern class, and should remain similar to that behaviorally. This class should * from ChooseLockPattern class, and should remain similar to that behaviorally. This class should
@@ -142,10 +144,11 @@ public class SetupChooseLockPattern extends ChooseLockPattern {
// Show generic pattern message when pattern lock screen launch in Setup wizard flow // Show generic pattern message when pattern lock screen launch in Setup wizard flow
// before fingerprint and face setup. // before fingerprint and face setup.
final GlifLayout layout = getActivity().findViewById(R.id.setup_wizard_layout);
if (stage.message == ID_EMPTY_MESSAGE) { if (stage.message == ID_EMPTY_MESSAGE) {
mMessageText.setText(""); layout.setDescriptionText("");
} else { } else {
mMessageText.setText(stage.message); layout.setDescriptionText(stage.message);
} }
} }