summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Maurice Lam <yukl@google.com> 2016-04-22 16:41:18 -0700
committer Maurice Lam <yukl@google.com> 2016-04-26 17:20:31 -0700
commit190ec1c14acbe305ac38d7d584a66ea57b7392fa (patch)
treec3f000a3094e7aacf991c14f61a06b7930678d27
parent60a2e4d0167300a2f0c06f10b5600386f488c482 (diff)
GLIF theme for settings
Update fingerprint and screen lock setup to GLIF theme. - Screen lock setup while in SUW - Fingerprint setup, in and out of SUW Bug: 26427729 Change-Id: I1063d3b54bbeea72de38bcc246cff368bc65945e
-rw-r--r--AndroidManifest.xml2
-rw-r--r--res/drawable/ic_fingerprint_header.xml38
-rw-r--r--res/drawable/ic_lock.xml24
-rw-r--r--res/layout-land/fingerprint_enroll_enrolling.xml4
-rw-r--r--res/layout-land/fingerprint_enroll_find_sensor.xml4
-rw-r--r--res/layout-land/fingerprint_enroll_finish.xml4
-rw-r--r--res/layout-land/setup_choose_lock_pattern.xml32
-rw-r--r--res/layout-land/setup_fingerprint_enroll_find_sensor.xml4
-rw-r--r--res/layout/fingerprint_enroll_enrolling_base.xml13
-rw-r--r--res/layout/fingerprint_enroll_find_sensor_base.xml5
-rw-r--r--res/layout/fingerprint_enroll_finish_base.xml5
-rw-r--r--res/layout/fingerprint_enroll_introduction.xml6
-rw-r--r--res/layout/setup_choose_lock_password.xml45
-rw-r--r--res/layout/setup_choose_lock_pattern_common.xml66
-rw-r--r--res/layout/setup_fingerprint_enroll_find_sensor_base.xml4
-rw-r--r--res/layout/setup_preference.xml7
-rw-r--r--res/layout/setup_redaction_interstitial.xml27
-rw-r--r--res/values/styles.xml14
-rw-r--r--res/values/themes.xml22
-rw-r--r--src/com/android/settings/SetupChooseLockGeneric.java47
-rw-r--r--src/com/android/settings/SetupChooseLockPassword.java40
-rw-r--r--src/com/android/settings/SetupChooseLockPattern.java76
-rw-r--r--src/com/android/settings/SetupEncryptionInterstitial.java41
-rw-r--r--src/com/android/settings/SetupRedactionInterstitial.java38
-rw-r--r--src/com/android/settings/SetupWizardUtils.java8
-rw-r--r--src/com/android/settings/fingerprint/FingerprintEnrollBase.java24
-rw-r--r--src/com/android/settings/fingerprint/FingerprintEnrollIntroduction.java10
-rw-r--r--src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java44
-rw-r--r--src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java34
-rw-r--r--src/com/android/settings/fingerprint/SetupFingerprintEnrollFinish.java31
-rw-r--r--src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroduction.java27
-rw-r--r--src/com/android/settings/fingerprint/SetupSkipDialog.java12
32 files changed, 245 insertions, 513 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 28803f506c3..80ccf652313 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1570,7 +1570,7 @@
android:enabled="false"
android:exported="true"
android:taskAffinity="com.android.wizard"
- android:theme="@style/SetupWizardDisableAppStartingTheme"
+ android:theme="@style/SuwThemeGlif.Light"
android:icon="@drawable/ic_suggested_notifications">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
diff --git a/res/drawable/ic_fingerprint_header.xml b/res/drawable/ic_fingerprint_header.xml
new file mode 100644
index 00000000000..e7ac81ab18f
--- /dev/null
+++ b/res/drawable/ic_fingerprint_header.xml
@@ -0,0 +1,38 @@
+<!--
+ Copyright (C) 2016 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="32dp"
+ android:height="32dp"
+ android:tint="?android:attr/colorPrimary"
+ android:viewportHeight="32.0"
+ android:viewportWidth="32.0">
+ <path
+ android:fillColor="#ffffff"
+ android:pathData="M23.7,5.9c-0.1,0.0 -0.2,0.0 -0.3,-0.1C21.0,4.5 18.6,3.9 16.0,3.9c-2.5,0.0 -4.6,0.6 -6.9,1.9C8.8,6.0 8.3,5.9 8.1,5.5C7.9,5.2 8.0,4.7 8.4,4.5c2.5,-1.4 4.9,-2.1 7.7,-2.1c2.8,0.0 5.4,0.7 8.0,2.1c0.4,0.2 0.5,0.6 0.3,1.0C24.2,5.7 24.0,5.9 23.7,5.9z" />
+ <path
+ android:fillColor="#ffffff"
+ android:pathData="M5.3,13.2c-0.1,0.0 -0.3,0.0 -0.4,-0.1c-0.3,-0.2 -0.4,-0.7 -0.2,-1.0c1.3,-1.9 2.9,-3.4 4.9,-4.5c4.1,-2.2 9.3,-2.2 13.4,0.0c1.9,1.1 3.6,2.5 4.9,4.4c0.2,0.3 0.1,0.8 -0.2,1.0c-0.3,0.2 -0.8,0.1 -1.0,-0.2c-1.2,-1.7 -2.6,-3.0 -4.3,-4.0c-3.7,-2.0 -8.3,-2.0 -12.0,0.0c-1.7,0.9 -3.2,2.3 -4.3,4.0C5.7,13.1 5.5,13.2 5.3,13.2z" />
+ <path
+ android:fillColor="#ffffff"
+ android:pathData="M13.3,29.6c-0.2,0.0 -0.4,-0.1 -0.5,-0.2c-1.1,-1.2 -1.7,-2.0 -2.6,-3.6c-0.9,-1.7 -1.4,-3.7 -1.4,-5.9c0.0,-4.1 3.3,-7.4 7.4,-7.4c4.1,0.0 7.4,3.3 7.4,7.4c0.0,0.4 -0.3,0.7 -0.7,0.7s-0.7,-0.3 -0.7,-0.7c0.0,-3.3 -2.7,-5.9 -5.9,-5.9c-3.3,0.0 -5.9,2.7 -5.9,5.9c0.0,2.0 0.4,3.8 1.2,5.2c0.8,1.6 1.4,2.2 2.4,3.3c0.3,0.3 0.3,0.8 0.0,1.0C13.7,29.5 13.5,29.6 13.3,29.6z" />
+ <path
+ android:fillColor="#ffffff"
+ android:pathData="M22.6,27.1c-1.6,0.0 -2.9,-0.4 -4.1,-1.2c-1.9,-1.4 -3.1,-3.6 -3.1,-6.0c0.0,-0.4 0.3,-0.7 0.7,-0.7s0.7,0.3 0.7,0.7c0.0,1.9 0.9,3.7 2.5,4.8c0.9,0.6 1.9,1.0 3.2,1.0c0.3,0.0 0.8,0.0 1.3,-0.1c0.4,-0.1 0.8,0.2 0.8,0.6c0.1,0.4 -0.2,0.8 -0.6,0.8C23.4,27.1 22.8,27.1 22.6,27.1z" />
+ <path
+ android:fillColor="#ffffff"
+ android:pathData="M20.0,29.9c-0.1,0.0 -0.1,0.0 -0.2,0.0c-2.1,-0.6 -3.4,-1.4 -4.8,-2.9c-1.8,-1.9 -2.8,-4.4 -2.8,-7.1c0.0,-2.2 1.8,-4.1 4.1,-4.1c2.2,0.0 4.1,1.8 4.1,4.1c0.0,1.4 1.2,2.6 2.6,2.6c1.4,0.0 2.6,-1.2 2.6,-2.6c0.0,-5.1 -4.2,-9.3 -9.3,-9.3c-3.6,0.0 -6.9,2.1 -8.4,5.4C7.3,17.1 7.0,18.4 7.0,19.8c0.0,1.1 0.1,2.7 0.9,4.9c0.1,0.4 -0.1,0.8 -0.4,0.9c-0.4,0.1 -0.8,-0.1 -0.9,-0.4c-0.6,-1.8 -0.9,-3.6 -0.9,-5.4c0.0,-1.6 0.3,-3.1 0.9,-4.4c1.7,-3.8 5.6,-6.3 9.8,-6.3c5.9,0.0 10.7,4.8 10.7,10.7c0.0,2.2 -1.8,4.1 -4.1,4.1s-4.0,-1.8 -4.0,-4.1c0.0,-1.4 -1.2,-2.6 -2.6,-2.6c-1.4,0.0 -2.6,1.2 -2.6,2.6c0.0,2.3 0.9,4.5 2.4,6.1c1.2,1.3 2.4,2.0 4.2,2.5c0.4,0.1 0.6,0.5 0.5,0.9C20.6,29.7 20.3,29.9 20.0,29.9z" />
+</vector>
diff --git a/res/drawable/ic_lock.xml b/res/drawable/ic_lock.xml
new file mode 100644
index 00000000000..975cbf54efb
--- /dev/null
+++ b/res/drawable/ic_lock.xml
@@ -0,0 +1,24 @@
+<!--
+ Copyright (C) 2016 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="32dp"
+ android:height="32dp"
+ android:viewportHeight="24.0"
+ android:viewportWidth="24.0">
+ <path
+ android:fillColor="?android:attr/colorPrimary"
+ android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z" />
+</vector>
diff --git a/res/layout-land/fingerprint_enroll_enrolling.xml b/res/layout-land/fingerprint_enroll_enrolling.xml
index c72c029aef2..2223cf8ab14 100644
--- a/res/layout-land/fingerprint_enroll_enrolling.xml
+++ b/res/layout-land/fingerprint_enroll_enrolling.xml
@@ -15,7 +15,7 @@
~ limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
@@ -79,4 +79,4 @@
</LinearLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout-land/fingerprint_enroll_find_sensor.xml b/res/layout-land/fingerprint_enroll_find_sensor.xml
index 81d1dac333e..60d93a64e0f 100644
--- a/res/layout-land/fingerprint_enroll_find_sensor.xml
+++ b/res/layout-land/fingerprint_enroll_find_sensor.xml
@@ -15,7 +15,7 @@
~ limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
@@ -70,4 +70,4 @@
</LinearLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout-land/fingerprint_enroll_finish.xml b/res/layout-land/fingerprint_enroll_finish.xml
index e051f1597df..1f6252d07ac 100644
--- a/res/layout-land/fingerprint_enroll_finish.xml
+++ b/res/layout-land/fingerprint_enroll_finish.xml
@@ -15,7 +15,7 @@
~ limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
@@ -100,4 +100,4 @@
</LinearLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout-land/setup_choose_lock_pattern.xml b/res/layout-land/setup_choose_lock_pattern.xml
index 6ee8e81d091..86f1841d70d 100644
--- a/res/layout-land/setup_choose_lock_pattern.xml
+++ b/res/layout-land/setup_choose_lock_pattern.xml
@@ -15,15 +15,13 @@
limitations under the License.
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.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"
- settings:suwBackgroundTile="@drawable/setup_illustration_tile"
- settings:suwHeaderText="@string/wifi_setup_wizard_title"
- settings:suwIllustrationHorizontalTile="@drawable/setup_illustration_horizontal_tile"
- settings:suwIllustrationImage="@drawable/setup_illustration_lock_screen">
+ android:icon="@drawable/ic_lock"
+ settings:suwHeaderText="@string/lock_settings_picker_title">
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
android:id="@+id/topLayout"
@@ -49,40 +47,30 @@
android:gravity="start|bottom"
android:textSize="18sp" />
- <Button android:id="@+id/retryButton"
- style="@android:style/Widget.Material.Button.Borderless.Colored"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="start"
- android:layout_marginStart="-12dp"
- android:minWidth="0dp"
- android:text="@string/lockpattern_retry_button_text" />
-
<!-- footer can show a message, or confirm / restart buttons -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
- android:layout_weight="1.0"
- android:visibility="gone">
+ android:layout_weight="1.0">
<!-- confirm / restart buttons -->
<LinearLayout android:id="@+id/buttonContainer"
- style="@style/SecurityPreferenceButtonContainer"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
+ android:gravity="end"
android:orientation="horizontal">
<!-- left / top button: skip, or re-try -->
<Button android:id="@+id/footerLeftButton"
- style="@style/SecurityPreferenceButton"
- android:layout_width="match_parent"
+ style="@style/SetupWizardButton.Negative"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lockpattern_restart_button_text" />
<!-- right / bottom button: confirm or ok -->
<Button android:id="@+id/footerRightButton"
- style="@style/SecurityPreferenceButton"
- android:layout_width="match_parent"
+ style="@style/SetupWizardButton.Positive"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lockpattern_confirm_button_text" />
@@ -110,4 +98,4 @@
</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout-land/setup_fingerprint_enroll_find_sensor.xml b/res/layout-land/setup_fingerprint_enroll_find_sensor.xml
index 3873e00dd91..bb2c02de708 100644
--- a/res/layout-land/setup_fingerprint_enroll_find_sensor.xml
+++ b/res/layout-land/setup_fingerprint_enroll_find_sensor.xml
@@ -15,7 +15,7 @@
~ limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
@@ -70,4 +70,4 @@
</LinearLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout/fingerprint_enroll_enrolling_base.xml b/res/layout/fingerprint_enroll_enrolling_base.xml
index c93de4eba84..0446c669acd 100644
--- a/res/layout/fingerprint_enroll_enrolling_base.xml
+++ b/res/layout/fingerprint_enroll_enrolling_base.xml
@@ -15,7 +15,7 @@
~ limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
@@ -70,6 +70,15 @@
android:accessibilityLiveRegion="polite"
android:visibility="invisible"/>
+ <Button
+ android:id="@+id/skip_button"
+ style="@style/SetupWizardButton.Negative"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end"
+ android:text="@string/skip_label"
+ android:visibility="gone" />
+
</LinearLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout/fingerprint_enroll_find_sensor_base.xml b/res/layout/fingerprint_enroll_find_sensor_base.xml
index 3f69a0adff4..4e60644a516 100644
--- a/res/layout/fingerprint_enroll_find_sensor_base.xml
+++ b/res/layout/fingerprint_enroll_find_sensor_base.xml
@@ -15,7 +15,7 @@
~ limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
@@ -63,9 +63,8 @@
android:layout_marginBottom="4dp"
android:layout_marginEnd="-12dp"
android:layout_gravity="end"
- android:gravity="end|center_vertical"
android:text="@string/fingerprint_enroll_button_next" />
</LinearLayout>
</FrameLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout/fingerprint_enroll_finish_base.xml b/res/layout/fingerprint_enroll_finish_base.xml
index 15ee22af3e5..1f6a8b0515e 100644
--- a/res/layout/fingerprint_enroll_finish_base.xml
+++ b/res/layout/fingerprint_enroll_finish_base.xml
@@ -15,7 +15,7 @@
~ limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
@@ -91,11 +91,10 @@
android:id="@+id/next_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:gravity="end|center_vertical"
android:text="@string/security_settings_fingerprint_enroll_done" />
</LinearLayout>
</LinearLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout/fingerprint_enroll_introduction.xml b/res/layout/fingerprint_enroll_introduction.xml
index f43bdb66a36..6d1c6997de7 100644
--- a/res/layout/fingerprint_enroll_introduction.xml
+++ b/res/layout/fingerprint_enroll_introduction.xml
@@ -15,10 +15,10 @@
limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardRecyclerLayout
+<com.android.setupwizardlib.GlifRecyclerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
+ style="?attr/fingerprint_layout_theme"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:entries="@xml/fingerprint_enroll_introduction_items"
- style="?attr/fingerprint_layout_theme" />
+ android:entries="@xml/fingerprint_enroll_introduction_items" />
diff --git a/res/layout/setup_choose_lock_password.xml b/res/layout/setup_choose_lock_password.xml
index 164233caa3c..a91a67111ea 100644
--- a/res/layout/setup_choose_lock_password.xml
+++ b/res/layout/setup_choose_lock_password.xml
@@ -15,15 +15,13 @@
limitations under the License.
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.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"
- settings:suwBackgroundTile="@drawable/setup_illustration_tile"
- settings:suwHeaderText="@string/wifi_setup_wizard_title"
- settings:suwIllustrationHorizontalTile="@drawable/setup_illustration_horizontal_tile"
- settings:suwIllustrationImage="@drawable/setup_illustration_lock_screen">
+ android:icon="@drawable/ic_lock"
+ settings:suwHeaderText="@string/lockpassword_choose_your_password_header">
<LinearLayout
style="@style/SuwContentFrame"
@@ -45,45 +43,42 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
- android:layout_marginStart="30dip"
- android:layout_marginEnd="30dip"
android:gravity="center"
android:inputType="textPassword"
android:imeOptions="actionNext|flagNoExtractUi"
android:textSize="24sp"
style="@style/TextAppearance.PasswordEntry"/>
- <!-- Spacer between password entry and keyboard -->
- <View
- android:layout_width="match_parent"
- android:layout_height="0dip"
- android:layout_weight="1"/>
-
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:visibility="gone"
- style="@style/SecurityPreferenceButtonContainer">
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ android:gravity="end"
+ android:orientation="horizontal">
<!-- left : cancel -->
<Button android:id="@+id/cancel_button"
- android:layout_width="0dip"
+ style="@style/SetupWizardButton.Negative"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="@string/lockpassword_cancel_label"
- style="@style/SecurityPreferenceButton"/>
+ android:text="@string/lockpassword_cancel_label" />
<!-- right : continue -->
<Button android:id="@+id/next_button"
- android:layout_width="0dip"
+ style="@style/SetupWizardButton.Positive"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="@string/lockpassword_continue_label"
- style="@style/SecurityPreferenceButton"/>
+ android:text="@string/lockpassword_continue_label" />
</LinearLayout>
+ <!-- Spacer between password entry and keyboard -->
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1"/>
+
<!-- Alphanumeric keyboard -->
<com.android.internal.widget.PasswordEntryKeyboardView android:id="@+id/keyboard"
android:layout_width="match_parent"
@@ -94,4 +89,4 @@
</LinearLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout/setup_choose_lock_pattern_common.xml b/res/layout/setup_choose_lock_pattern_common.xml
index 857f244403c..7e59bbf061e 100644
--- a/res/layout/setup_choose_lock_pattern_common.xml
+++ b/res/layout/setup_choose_lock_pattern_common.xml
@@ -16,15 +16,13 @@
-->
<!-- Used in phone portrait and tablet, as referenced in alias.xml. -->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.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"
- settings:suwBackgroundTile="@drawable/setup_illustration_tile"
- settings:suwHeaderText="@string/wifi_setup_wizard_title"
- settings:suwIllustrationHorizontalTile="@drawable/setup_illustration_horizontal_tile"
- settings:suwIllustrationImage="@drawable/setup_illustration_lock_screen">
+ android:icon="@drawable/ic_lock"
+ settings:suwHeaderText="@string/wifi_setup_wizard_title">
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
android:id="@+id/topLayout"
@@ -49,19 +47,35 @@
android:minHeight="50dip"
android:textSize="18sp"/>
- <Button android:id="@+id/retryButton"
- style="@android:style/Widget.Material.Button.Borderless.Colored"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_horizontal"
- android:text="@string/lockpattern_retry_button_text"/>
-
<com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="4"
android:background="@color/lock_pattern_background"/>
+ <!-- Buttons are hidden during setup, and use the buttons in setup navigation bar instead -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="end"
+ android:orientation="horizontal">
+
+ <!-- left : cancel, or re-try -->
+ <Button android:id="@+id/footerLeftButton"
+ style="@style/SetupWizardButton.Negative"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/lockpattern_tutorial_cancel_label" />
+
+ <!-- right : confirm or ok -->
+ <Button android:id="@+id/footerRightButton"
+ style="@style/SetupWizardButton.Positive"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/lockpattern_tutorial_continue_label" />
+
+ </LinearLayout>
+
</LinearLayout>
<TextView android:id="@+id/footerText"
@@ -72,32 +86,6 @@
android:textSize="14sp"
android:visibility="gone"/>
- <!-- Buttons are hidden during setup, and use the buttons in setup navigation bar instead -->
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:visibility="gone"
- style="@style/SecurityPreferenceButtonContainer">
-
- <!-- left : cancel, or re-try -->
- <Button android:id="@+id/footerLeftButton"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="@string/lockpattern_tutorial_cancel_label"
- style="@style/SecurityPreferenceButton"/>
-
- <!-- right : confirm or ok -->
- <Button android:id="@+id/footerRightButton"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="@string/lockpattern_tutorial_continue_label"
- style="@style/SecurityPreferenceButton"/>
-
- </LinearLayout>
-
</com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout/setup_fingerprint_enroll_find_sensor_base.xml b/res/layout/setup_fingerprint_enroll_find_sensor_base.xml
index 184d6b90fd0..805a82e9486 100644
--- a/res/layout/setup_fingerprint_enroll_find_sensor_base.xml
+++ b/res/layout/setup_fingerprint_enroll_find_sensor_base.xml
@@ -15,7 +15,7 @@
limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
@@ -68,4 +68,4 @@
</LinearLayout>
</FrameLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/layout/setup_preference.xml b/res/layout/setup_preference.xml
index f5496f44f33..298bc9a473b 100644
--- a/res/layout/setup_preference.xml
+++ b/res/layout/setup_preference.xml
@@ -15,11 +15,8 @@
limitations under the License.
-->
-<com.android.setupwizardlib.SetupWizardPreferenceLayout
+<com.android.setupwizardlib.GlifPreferenceLayout
xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:settings="http://schemas.android.com/apk/res-auto"
android:id="@android:id/list_container"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- settings:suwBackgroundTile="@drawable/setup_illustration_tile"
- settings:suwIllustrationHorizontalTile="@drawable/setup_illustration_horizontal_tile" />
+ android:layout_height="match_parent" />
diff --git a/res/layout/setup_redaction_interstitial.xml b/res/layout/setup_redaction_interstitial.xml
index e0f2d94b361..965d77f9173 100644
--- a/res/layout/setup_redaction_interstitial.xml
+++ b/res/layout/setup_redaction_interstitial.xml
@@ -15,31 +15,25 @@
limitations under the License
-->
-<com.android.setupwizardlib.SetupWizardLayout
+<com.android.setupwizardlib.GlifLayout
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:layout_width="match_parent"
android:layout_height="match_parent"
- settings:suwBackgroundTile="@drawable/setup_illustration_tile"
- settings:suwHeaderText="@string/lock_screen_notifications_interstitial_title"
- settings:suwIllustrationHorizontalTile="@drawable/setup_illustration_horizontal_tile"
- settings:suwIllustrationImage="@drawable/setup_illustration_lock_screen">
+ android:icon="@drawable/ic_lock"
+ settings:suwHeaderText="@string/lock_screen_notifications_interstitial_title">
<LinearLayout
style="@style/SuwContentFrame"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical"
- android:paddingStart="?attr/side_margin"
- android:paddingEnd="?attr/side_margin">
+ android:orientation="vertical">
<TextView
style="@style/SuwDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
- android:layout_marginEnd="?android:attr/listPreferredItemPaddingEnd"
android:text="@string/lock_screen_notifications_interstitial_message" />
<RadioGroup
@@ -47,8 +41,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/redaction_vertical_margins"
- android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
- android:layout_marginEnd="?android:attr/listPreferredItemPaddingEnd"
android:checkedButton="@+id/redact_sensitive">
<com.android.settings.RestrictedRadioButton
@@ -81,8 +73,17 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/redaction_vertical_margins"
android:text="@string/lockscreen_remote_input" />
+
</RadioGroup>
+ <Button
+ android:id="@+id/redaction_next_button"
+ style="@style/SetupWizardButton.Positive"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end"
+ android:text="@string/next_label" />
+
</LinearLayout>
-</com.android.setupwizardlib.SetupWizardLayout>
+</com.android.setupwizardlib.GlifLayout>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 45d2c1178a6..6601325a75a 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -276,6 +276,10 @@
<item name="android:singleLine">true</item>
</style>
+ <style name="SetupWizardButton.Negative" parent="@android:style/Widget.Material.Button.Borderless" />
+
+ <style name="SetupWizardButton.Positive" parent="@android:style/Widget.Material.Button.Colored" />
+
<style name="vpn_label">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
@@ -341,15 +345,7 @@
</style>
<style name="FingerprintLayoutTheme">
- <item name="suwBackground">@drawable/fp_enrollment_header</item>
- <item name="suwIllustrationAspectRatio">@dimen/fingerprint_illustration_aspect_ratio</item>
- <item name="suwDecorPaddingTop">@dimen/fingerprint_decor_padding_top</item>
- </style>
-
- <style name="SetupWizardFingerprintLayoutTheme">
- <item name="suwBackgroundTile">@drawable/setup_illustration_tile</item>
- <item name="suwIllustration">@drawable/setup_illustration_lock_screen</item>
- <item name="suwIllustrationHorizontalTile">@drawable/setup_illustration_horizontal_tile</item>
+ <item name="android:icon">@drawable/ic_fingerprint_header</item>
</style>
<style name="TextAppearance.ConfirmDeviceCredentialsErrorText"
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 427e11f0656..2e3ca4fc24e 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -32,15 +32,13 @@
<item name="android:windowBackground">@null</item>
</style>
- <style name="SetupWizardTheme" parent="SuwThemeMaterial">
+ <style name="SetupWizardTheme" parent="SuwThemeGlif">
<!-- For all Alert Dialogs -->
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:colorPrimary">@color/suw_color_accent_dark</item>
- <item name="android:listPreferredItemPaddingEnd">@dimen/suw_layout_margin_sides</item>
- <item name="android:listPreferredItemPaddingStart">@dimen/suw_layout_margin_sides</item>
<item name="android:windowBackground">?android:attr/colorBackground</item>
<item name="@*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
- <item name="fingerprint_layout_theme">@style/SetupWizardFingerprintLayoutTheme</item>
+ <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
<item name="fingerprint_progress_bar_size">@dimen/setup_fingerprint_progress_bar_size</item>
<item name="fingerprint_ring_radius">@dimen/setup_fingerprint_ring_radius</item>
<item name="ic_menu_add">@drawable/ic_menu_add_dark</item>
@@ -59,15 +57,13 @@
<item name="@*android:errorColor">@color/setup_lock_pattern_view_error_color_dark</item>
</style>
- <style name="SetupWizardTheme.Light" parent="SuwThemeMaterial.Light">
+ <style name="SetupWizardTheme.Light" parent="SuwThemeGlif.Light">
<!-- For all Alert Dialogs -->
<item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
<item name="android:colorPrimary">@color/suw_color_accent_light</item>
- <item name="android:listPreferredItemPaddingEnd">@dimen/suw_layout_margin_sides</item>
- <item name="android:listPreferredItemPaddingStart">@dimen/suw_layout_margin_sides</item>
<item name="android:windowBackground">?android:attr/colorBackground</item>
<item name="@*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
- <item name="fingerprint_layout_theme">@style/SetupWizardFingerprintLayoutTheme</item>
+ <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
<item name="fingerprint_progress_bar_size">@dimen/setup_fingerprint_progress_bar_size</item>
<item name="fingerprint_ring_radius">@dimen/setup_fingerprint_ring_radius</item>
<item name="ic_menu_add">@drawable/ic_menu_add_light</item>
@@ -78,7 +74,7 @@
<item name="wifi_signal_color">@color/setup_wizard_wifi_color_light</item>
<item name="wifi_signal">@drawable/wifi_signal</item>
<item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
- <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
+ <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard.Light</item>
<!-- LockPatternView colors -->
<item name="@*android:regularColor">@color/setup_lock_pattern_view_regular_color_light</item>
@@ -108,9 +104,11 @@
<item name="apnPreferenceStyle">@style/ApnPreference</item>
</style>
- <style name="PreferenceTheme.SetupWizard">
- <item name="android:listPreferredItemPaddingEnd">@dimen/suw_layout_margin_sides</item>
- <item name="android:listPreferredItemPaddingStart">@dimen/suw_layout_margin_sides</item>
+ <style name="PreferenceTheme.SetupWizard" parent="SetupWizardTheme">
+ <item name="preferenceFragmentStyle">@style/SetupWizardPreferenceFragmentStyle</item>
+ </style>
+
+ <style name="PreferenceTheme.SetupWizard.Light" parent="SetupWizardTheme.Light">
<item name="preferenceFragmentStyle">@style/SetupWizardPreferenceFragmentStyle</item>
</style>
diff --git a/src/com/android/settings/SetupChooseLockGeneric.java b/src/com/android/settings/SetupChooseLockGeneric.java
index bc3a2ec0497..63c287303c0 100644
--- a/src/com/android/settings/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/SetupChooseLockGeneric.java
@@ -16,7 +16,6 @@
package com.android.settings;
-import android.app.Activity;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
@@ -25,20 +24,17 @@ import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.UserHandle;
-import android.support.v7.preference.Preference;
import android.support.v14.preference.PreferenceFragment;
+import android.support.v7.preference.Preference;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Button;
import android.widget.LinearLayout;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.fingerprint.SetupSkipDialog;
-import com.android.setupwizardlib.SetupWizardLayout;
-import com.android.setupwizardlib.SetupWizardPreferenceLayout;
-import com.android.setupwizardlib.view.NavigationBar;
+import com.android.setupwizardlib.GlifPreferenceLayout;
/**
* Setup Wizard's version of ChooseLockGeneric screen. It inherits the logic and basic structure
@@ -74,8 +70,7 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
layout.setFitsSystemWindows(false);
}
- public static class SetupChooseLockGenericFragment extends ChooseLockGenericFragment
- implements NavigationBar.NavigationBarListener {
+ public static class SetupChooseLockGenericFragment extends ChooseLockGenericFragment {
public static final String EXTRA_PASSWORD_QUALITY = ":settings:password_quality";
@@ -83,24 +78,14 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- SetupWizardUtils.setImmersiveMode(getActivity());
-
- SetupWizardPreferenceLayout layout = (SetupWizardPreferenceLayout) view;
+ GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
- R.dimen.suw_items_text_divider_inset));
- final NavigationBar navigationBar = layout.getNavigationBar();
- Button nextButton = navigationBar.getNextButton();
- nextButton.setText(null);
- nextButton.setEnabled(false);
- navigationBar.setNavigationBarListener(this);
+ R.dimen.suw_items_glif_text_divider_inset));
- layout.setIllustration(R.drawable.setup_illustration_lock_screen,
- R.drawable.setup_illustration_horizontal_tile);
- if (!mForFingerprint) {
- layout.setHeaderText(R.string.setup_lock_settings_picker_title);
- } else {
- layout.setHeaderText(R.string.lock_settings_picker_title);
- }
+ layout.setIcon(getContext().getDrawable(R.drawable.ic_lock));
+ layout.setHeaderText(mForFingerprint ?
+ R.string.lock_settings_picker_title
+ : R.string.setup_lock_settings_picker_title);
// Use the dividers in SetupWizardRecyclerLayout. Suppress the dividers in
// PreferenceFragment.
@@ -143,7 +128,7 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
@Override
public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {
- SetupWizardPreferenceLayout layout = (SetupWizardPreferenceLayout) parent;
+ GlifPreferenceLayout layout = (GlifPreferenceLayout) parent;
return layout.onCreateRecyclerView(inflater, parent, savedInstanceState);
}
@@ -251,17 +236,5 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric {
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
return intent;
}
-
- @Override
- public void onNavigateBack() {
- Activity activity = getActivity();
- if (activity != null) {
- activity.onBackPressed();
- }
- }
-
- @Override
- public void onNavigateNext() {
- }
}
}
diff --git a/src/com/android/settings/SetupChooseLockPassword.java b/src/com/android/settings/SetupChooseLockPassword.java
index d483d8fbcef..94cc7281631 100644
--- a/src/com/android/settings/SetupChooseLockPassword.java
+++ b/src/com/android/settings/SetupChooseLockPassword.java
@@ -16,7 +16,6 @@
package com.android.settings;
-import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
@@ -27,9 +26,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
-import com.android.setupwizardlib.SetupWizardLayout;
-import com.android.setupwizardlib.util.SystemBarHelper;
-import com.android.setupwizardlib.view.NavigationBar;
+import com.android.setupwizardlib.GlifLayout;
/**
* Setup Wizard's version of ChooseLockPassword screen. It inherits the logic and basic structure
@@ -91,27 +88,21 @@ public class SetupChooseLockPassword extends ChooseLockPassword {
super.onApplyThemeResource(theme, resid, first);
}
- public static class SetupChooseLockPasswordFragment extends ChooseLockPasswordFragment
- implements NavigationBar.NavigationBarListener {
+ public static class SetupChooseLockPasswordFragment extends ChooseLockPasswordFragment {
- private SetupWizardLayout mLayout;
- private NavigationBar mNavigationBar;
+ private GlifLayout mLayout;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- mLayout = (SetupWizardLayout) inflater.inflate(
+ mLayout = (GlifLayout) inflater.inflate(
R.layout.setup_choose_lock_password, container, false);
- mNavigationBar = mLayout.getNavigationBar();
- mNavigationBar.setNavigationBarListener(this);
return mLayout;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- SystemBarHelper.setImeInsetView(mLayout);
- SetupWizardUtils.setImmersiveMode(getActivity());
mLayout.setHeaderText(getActivity().getTitle());
}
@@ -119,28 +110,5 @@ public class SetupChooseLockPassword extends ChooseLockPassword {
protected Intent getRedactionInterstitialIntent(Context context) {
return null;
}
-
- @Override
- protected void setNextEnabled(boolean enabled) {
- mNavigationBar.getNextButton().setEnabled(enabled);
- }
-
- @Override
- protected void setNextText(int text) {
- mNavigationBar.getNextButton().setText(text);
- }
-
- @Override
- public void onNavigateBack() {
- final Activity activity = getActivity();
- if (activity != null) {
- activity.onBackPressed();
- }
- }
-
- @Override
- public void onNavigateNext() {
- handleNext();
- }
}
}
diff --git a/src/com/android/settings/SetupChooseLockPattern.java b/src/com/android/settings/SetupChooseLockPattern.java
index 8a7842d53a7..2978196fb52 100644
--- a/src/com/android/settings/SetupChooseLockPattern.java
+++ b/src/com/android/settings/SetupChooseLockPattern.java
@@ -16,7 +16,6 @@
package com.android.settings;
-import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
@@ -26,11 +25,9 @@ import android.os.UserHandle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Button;
import android.widget.LinearLayout;
-import com.android.setupwizardlib.SetupWizardLayout;
-import com.android.setupwizardlib.view.NavigationBar;
+import com.android.setupwizardlib.GlifLayout;
/**
* Setup Wizard's version of ChooseLockPattern screen. It inherits the logic and basic structure
@@ -86,87 +83,20 @@ public class SetupChooseLockPattern extends ChooseLockPattern {
super.onApplyThemeResource(theme, resid, first);
}
- public static class SetupChooseLockPatternFragment extends ChooseLockPatternFragment
- implements NavigationBar.NavigationBarListener {
-
- private NavigationBar mNavigationBar;
- private Button mRetryButton;
+ public static class SetupChooseLockPatternFragment extends ChooseLockPatternFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- final SetupWizardLayout layout = (SetupWizardLayout) inflater.inflate(
+ final GlifLayout layout = (GlifLayout) inflater.inflate(
R.layout.setup_choose_lock_pattern, container, false);
- mNavigationBar = layout.getNavigationBar();
- mNavigationBar.setNavigationBarListener(this);
layout.setHeaderText(getActivity().getTitle());
return layout;
}
@Override
- public void onViewCreated(View view, Bundle savedInstanceState) {
- mRetryButton = (Button) view.findViewById(R.id.retryButton);
- mRetryButton.setOnClickListener(this);
- super.onViewCreated(view, savedInstanceState);
- SetupWizardUtils.setImmersiveMode(getActivity());
- }
-
- @Override
protected Intent getRedactionInterstitialIntent(Context context) {
return null;
}
-
- @Override
- public void onClick(View v) {
- if (v == mRetryButton) {
- handleLeftButton();
- } else {
- super.onClick(v);
- }
- }
-
- @Override
- protected void setRightButtonEnabled(boolean enabled) {
- mNavigationBar.getNextButton().setEnabled(enabled);
- }
-
- @Override
- protected void setRightButtonText(int text) {
- mNavigationBar.getNextButton().setText(text);
- }
-
- @Override
- protected void updateStage(Stage stage) {
- super.updateStage(stage);
- // Only enable the button for retry
- mRetryButton.setEnabled(stage == Stage.FirstChoiceValid);
-
- switch (stage) {
- case Introduction:
- case HelpScreen:
- case ChoiceTooShort:
- case FirstChoiceValid:
- mRetryButton.setVisibility(View.VISIBLE);
- break;
- case NeedToConfirm:
- case ConfirmWrong:
- case ChoiceConfirmed:
- mRetryButton.setVisibility(View.INVISIBLE);
- break;
- }
- }
-
- @Override
- public void onNavigateBack() {
- final Activity activity = getActivity();
- if (activity != null) {
- activity.onBackPressed();
- }
- }
-
- @Override
- public void onNavigateNext() {
- handleRightButton();
- }
}
}
diff --git a/src/com/android/settings/SetupEncryptionInterstitial.java b/src/com/android/settings/SetupEncryptionInterstitial.java
index 39c8af15421..deeaf71cebd 100644
--- a/src/com/android/settings/SetupEncryptionInterstitial.java
+++ b/src/com/android/settings/SetupEncryptionInterstitial.java
@@ -16,7 +16,6 @@
package com.android.settings;
-import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
@@ -25,13 +24,10 @@ import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
-import com.android.setupwizardlib.SetupWizardLayout;
-import com.android.setupwizardlib.SetupWizardPreferenceLayout;
-import com.android.setupwizardlib.view.NavigationBar;
+import com.android.setupwizardlib.GlifPreferenceLayout;
/**
* Setup Wizard's version of EncryptionInterstitial screen. It inherits the logic and basic
@@ -78,30 +74,18 @@ public class SetupEncryptionInterstitial extends EncryptionInterstitial {
layout.setFitsSystemWindows(false);
}
- public static class SetupEncryptionInterstitialFragment extends EncryptionInterstitialFragment
- implements NavigationBar.NavigationBarListener {
+ public static class SetupEncryptionInterstitialFragment extends EncryptionInterstitialFragment {
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- final SetupWizardPreferenceLayout layout = (SetupWizardPreferenceLayout) view;
+ final GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
- R.dimen.suw_items_icon_divider_inset));
- layout.setIllustration(R.drawable.setup_illustration_lock_screen,
- R.drawable.setup_illustration_horizontal_tile);
-
- final NavigationBar navigationBar = layout.getNavigationBar();
- navigationBar.setNavigationBarListener(this);
- Button nextButton = navigationBar.getNextButton();
- nextButton.setText(null);
- nextButton.setEnabled(false);
+ R.dimen.suw_items_glif_icon_divider_inset));
+ layout.setIcon(getContext().getDrawable(R.drawable.ic_lock));
layout.setHeaderText(R.string.encryption_interstitial_header);
- Activity activity = getActivity();
- if (activity != null) {
- SetupWizardUtils.setImmersiveMode(activity);
- }
// Use the dividers in SetupWizardRecyclerLayout. Suppress the dividers in
// PreferenceFragment.
@@ -118,21 +102,8 @@ public class SetupEncryptionInterstitial extends EncryptionInterstitial {
@Override
public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {
- SetupWizardPreferenceLayout layout = (SetupWizardPreferenceLayout) parent;
+ GlifPreferenceLayout layout = (GlifPreferenceLayout) parent;
return layout.onCreateRecyclerView(inflater, parent, savedInstanceState);
}
-
- @Override
- public void onNavigateBack() {
- final Activity activity = getActivity();
- if (activity != null) {
- activity.onBackPressed();
- }
- }
-
- @Override
- public void onNavigateNext() {
- // next is handled via the onPreferenceTreeClick method in EncryptionInterstitial
- }
}
}
diff --git a/src/com/android/settings/SetupRedactionInterstitial.java b/src/com/android/settings/SetupRedactionInterstitial.java
index e487a50d64d..225fe46dcbd 100644
--- a/src/com/android/settings/SetupRedactionInterstitial.java
+++ b/src/com/android/settings/SetupRedactionInterstitial.java
@@ -16,20 +16,16 @@
package com.android.settings;
-import android.app.Activity;
-import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
-import android.os.UserHandle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
import android.widget.LinearLayout;
import com.android.settings.notification.RedactionInterstitial;
-import com.android.setupwizardlib.SetupWizardLayout;
-import com.android.setupwizardlib.view.NavigationBar;
/**
* Setup Wizard's version of RedactionInterstitial screen. It inherits the logic and basic structure
@@ -67,7 +63,7 @@ public class SetupRedactionInterstitial extends RedactionInterstitial {
}
public static class SetupRedactionInterstitialFragment extends RedactionInterstitialFragment
- implements NavigationBar.NavigationBarListener {
+ implements View.OnClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
@@ -78,29 +74,19 @@ public class SetupRedactionInterstitial extends RedactionInterstitial {
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- final SetupWizardLayout layout =
- (SetupWizardLayout) view.findViewById(R.id.setup_wizard_layout);
-
- final NavigationBar navigationBar = layout.getNavigationBar();
- navigationBar.setNavigationBarListener(this);
- navigationBar.getBackButton().setVisibility(View.GONE);
- SetupWizardUtils.setImmersiveMode(getActivity());
- }
-
- @Override
- public void onNavigateBack() {
- final Activity activity = getActivity();
- if (activity != null) {
- activity.onBackPressed();
- }
+ final Button button = (Button) view.findViewById(R.id.redaction_next_button);
+ button.setOnClickListener(this);
}
@Override
- public void onNavigateNext() {
- final SetupRedactionInterstitial activity = (SetupRedactionInterstitial) getActivity();
- if (activity != null) {
- activity.setResult(RESULT_OK, activity.getResultIntentData());
- finish();
+ public void onClick(View v) {
+ if (v.getId() == R.id.redaction_next_button) {
+ final SetupRedactionInterstitial activity =
+ (SetupRedactionInterstitial) getActivity();
+ if (activity != null) {
+ activity.setResult(RESULT_OK, activity.getResultIntentData());
+ finish();
+ }
}
}
}
diff --git a/src/com/android/settings/SetupWizardUtils.java b/src/com/android/settings/SetupWizardUtils.java
index 71501b1aa31..5563c3b48eb 100644
--- a/src/com/android/settings/SetupWizardUtils.java
+++ b/src/com/android/settings/SetupWizardUtils.java
@@ -24,14 +24,6 @@ import com.android.setupwizardlib.util.SystemBarHelper;
import com.android.setupwizardlib.util.WizardManagerHelper;
public class SetupWizardUtils {
- private static final String TAG = "SetupWizardUtils";
-
- // From WizardManager (must match constants maintained there)
- public static final String EXTRA_SCRIPT_URI = "scriptUri";
-
- public static boolean isUsingWizardManager(Activity activity) {
- return activity.getIntent().hasExtra(EXTRA_SCRIPT_URI);
- }
public static int getTheme(Intent intent) {
if (WizardManagerHelper.isLightTheme(intent, true)) {
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollBase.java b/src/com/android/settings/fingerprint/FingerprintEnrollBase.java
index 150a01a364d..2aef37bb7eb 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollBase.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollBase.java
@@ -23,15 +23,13 @@ import android.os.Bundle;
import android.os.UserHandle;
import android.text.TextUtils;
import android.view.View;
-import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.InstrumentedActivity;
import com.android.settings.R;
-import com.android.setupwizardlib.SetupWizardLayout;
-import com.android.setupwizardlib.view.NavigationBar;
+import com.android.setupwizardlib.GlifLayout;
/**
* Base activity for all fingerprint enrollment steps.
@@ -71,38 +69,26 @@ public abstract class FingerprintEnrollBase extends InstrumentedActivity
}
protected void initViews() {
- getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS |
- WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN |
- WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR);
-
- getWindow().getDecorView().setSystemUiVisibility(
- View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
-
getWindow().setStatusBarColor(Color.TRANSPARENT);
- getNavigationBar().setVisibility(View.GONE);
Button nextButton = getNextButton();
if (nextButton != null) {
nextButton.setOnClickListener(this);
}
}
- protected NavigationBar getNavigationBar() {
- return (NavigationBar) findViewById(R.id.suw_layout_navigation_bar);
- }
-
- protected SetupWizardLayout getSetupWizardLayout() {
- return (SetupWizardLayout) findViewById(R.id.setup_wizard_layout);
+ protected GlifLayout getLayout() {
+ return (GlifLayout) findViewById(R.id.setup_wizard_layout);
}
protected void setHeaderText(int resId, boolean force) {
- TextView layoutTitle = getSetupWizardLayout().getHeaderTextView();
+ TextView layoutTitle = getLayout().getHeaderTextView();
CharSequence previousTitle = layoutTitle.getText();
CharSequence title = getText(resId);
if (previousTitle != title || force) {
if (!TextUtils.isEmpty(previousTitle)) {
layoutTitle.setAccessibilityLiveRegion(View.ACCESSIBILITY_LIVE_REGION_POLITE);
}
- getSetupWizardLayout().setHeaderText(title);
+ getLayout().setHeaderText(title);
setTitle(title);
}
}
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/fingerprint/FingerprintEnrollIntroduction.java
index d1bd3f7d99a..a65d6a4ef6d 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollIntroduction.java
@@ -36,9 +36,9 @@ import android.view.View;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockGeneric;
import com.android.settings.ChooseLockSettingsHelper;
-import com.android.settingslib.HelpUtils;
import com.android.settings.R;
-import com.android.setupwizardlib.SetupWizardRecyclerLayout;
+import com.android.settingslib.HelpUtils;
+import com.android.setupwizardlib.GlifRecyclerLayout;
import com.android.setupwizardlib.items.IItem;
import com.android.setupwizardlib.items.Item;
import com.android.setupwizardlib.items.RecyclerItemAdapter;
@@ -61,8 +61,7 @@ public class FingerprintEnrollIntroduction extends FingerprintEnrollBase
super.onCreate(savedInstanceState);
setContentView(R.layout.fingerprint_enroll_introduction);
setHeaderText(R.string.security_settings_fingerprint_enroll_introduction_title);
- final SetupWizardRecyclerLayout layout =
- (SetupWizardRecyclerLayout) findViewById(R.id.setup_wizard_layout);
+ final GlifRecyclerLayout layout = (GlifRecyclerLayout) getLayout();
mUserManager = UserManager.get(this);
final RecyclerItemAdapter adapter = (RecyclerItemAdapter) layout.getAdapter();
adapter.setOnItemSelectedListener(this);
@@ -125,8 +124,7 @@ public class FingerprintEnrollIntroduction extends FingerprintEnrollBase
}
protected Intent getFindSensorIntent() {
- Intent intent = new Intent(this, FingerprintEnrollFindSensor.class);
- return intent;
+ return new Intent(this, FingerprintEnrollFindSensor.class);
}
@Override
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java
index b037c2ba41b..8bd495e77f6 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollEnrolling.java
@@ -31,11 +31,8 @@ import android.widget.Button;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
-import com.android.setupwizardlib.util.SystemBarHelper;
-import com.android.setupwizardlib.view.NavigationBar;
-public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling
- implements NavigationBar.NavigationBarListener {
+public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling {
private static final String TAG_DIALOG = "dialog";
@@ -54,32 +51,21 @@ public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling
@Override
protected void initViews() {
- SetupWizardUtils.setImmersiveMode(this);
-
- final View buttonBar = findViewById(R.id.button_bar);
- if (buttonBar != null) {
- buttonBar.setVisibility(View.GONE);
- }
-
- final NavigationBar navigationBar = getNavigationBar();
- navigationBar.setNavigationBarListener(this);
- navigationBar.getNextButton().setText(R.string.skip_label);
- navigationBar.getBackButton().setVisibility(View.GONE);
- }
-
- @Override
- protected Button getNextButton() {
- return getNavigationBar().getNextButton();
+ super.initViews();
+ final Button skipButton = (Button) findViewById(R.id.skip_button);
+ skipButton.setVisibility(View.VISIBLE);
+ skipButton.setOnClickListener(this);
}
@Override
- public void onNavigateBack() {
- onBackPressed();
- }
-
- @Override
- public void onNavigateNext() {
- new SkipDialog().show(getFragmentManager(), TAG_DIALOG);
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.skip_button:
+ new SkipDialog().show(getFragmentManager(), TAG_DIALOG);
+ break;
+ default:
+ super.onClick(v);
+ }
}
@Override
@@ -102,7 +88,7 @@ public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- final AlertDialog dialog = new AlertDialog.Builder(getActivity())
+ return new AlertDialog.Builder(getActivity())
.setTitle(R.string.setup_fingerprint_enroll_enrolling_skip_title)
.setMessage(R.string.setup_fingerprint_enroll_enrolling_skip_message)
.setCancelable(false)
@@ -124,8 +110,6 @@ public class SetupFingerprintEnrollEnrolling extends FingerprintEnrollEnrolling
}
})
.create();
- SystemBarHelper.hideSystemBars(dialog);
- return dialog;
}
}
}
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java
index 9cf5369d1ef..bb78477db35 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java
@@ -19,17 +19,13 @@ package com.android.settings.fingerprint;
import android.content.Intent;
import android.content.res.Resources;
import android.os.UserHandle;
-import android.view.View;
-import android.widget.Button;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
-import com.android.setupwizardlib.view.NavigationBar;
-public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSensor
- implements NavigationBar.NavigationBarListener {
+public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSensor {
@Override
protected int getContentView() {
@@ -54,34 +50,6 @@ public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSenso
}
@Override
- protected void initViews() {
- SetupWizardUtils.setImmersiveMode(this);
-
- final View nextButton = findViewById(R.id.next_button);
- if (nextButton != null) {
- nextButton.setVisibility(View.GONE);
- }
-
- getNavigationBar().setNavigationBarListener(this);
- getNavigationBar().getBackButton().setVisibility(View.GONE);
- }
-
- @Override
- protected Button getNextButton() {
- return getNavigationBar().getNextButton();
- }
-
- @Override
- public void onNavigateBack() {
- onBackPressed();
- }
-
- @Override
- public void onNavigateNext() {
- onNextButtonClick();
- }
-
- @Override
protected int getMetricsCategory() {
return MetricsEvent.FINGERPRINT_FIND_SENSOR_SETUP;
}
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFinish.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFinish.java
index b17ed09a020..f6602f3113b 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFinish.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFinish.java
@@ -20,17 +20,14 @@ import android.content.Intent;
import android.content.res.Resources;
import android.os.UserHandle;
import android.view.View;
-import android.widget.Button;
import android.widget.TextView;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
-import com.android.setupwizardlib.view.NavigationBar;
-public class SetupFingerprintEnrollFinish extends FingerprintEnrollFinish
- implements NavigationBar.NavigationBarListener {
+public class SetupFingerprintEnrollFinish extends FingerprintEnrollFinish {
@Override
protected Intent getEnrollingIntent() {
@@ -51,16 +48,7 @@ public class SetupFingerprintEnrollFinish extends FingerprintEnrollFinish
@Override
protected void initViews() {
- SetupWizardUtils.setImmersiveMode(this);
-
- final View nextButton = findViewById(R.id.next_button);
- if (nextButton != null) {
- nextButton.setVisibility(View.GONE);
- }
-
- final NavigationBar navigationBar = getNavigationBar();
- navigationBar.setNavigationBarListener(this);
- navigationBar.getBackButton().setVisibility(View.GONE);
+ super.initViews();
final TextView message = (TextView) findViewById(R.id.message);
message.setText(R.string.setup_fingerprint_enroll_finish_message);
@@ -70,21 +58,6 @@ public class SetupFingerprintEnrollFinish extends FingerprintEnrollFinish
}
@Override
- protected Button getNextButton() {
- return getNavigationBar().getNextButton();
- }
-
- @Override
- public void onNavigateBack() {
- onBackPressed();
- }
-
- @Override
- public void onNavigateNext() {
- onNextButtonClick();
- }
-
- @Override
protected int getMetricsCategory() {
return MetricsEvent.FINGERPRINT_ENROLL_FINISH_SETUP;
}
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroduction.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroduction.java
index f816682bf94..51b84a9172d 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollIntroduction.java
@@ -19,20 +19,17 @@ package com.android.settings.fingerprint;
import android.content.Intent;
import android.content.res.Resources;
import android.os.UserHandle;
-import android.widget.Button;
import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R;
import com.android.settings.SetupChooseLockGeneric;
import com.android.settings.SetupWizardUtils;
-import com.android.setupwizardlib.SetupWizardRecyclerLayout;
+import com.android.setupwizardlib.GlifRecyclerLayout;
import com.android.setupwizardlib.items.Item;
import com.android.setupwizardlib.items.RecyclerItemAdapter;
-import com.android.setupwizardlib.view.NavigationBar;
-public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction
- implements NavigationBar.NavigationBarListener {
+public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction {
@Override
protected Intent getChooseLockIntent() {
@@ -56,8 +53,7 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
@Override
protected void initViews() {
- final SetupWizardRecyclerLayout layout =
- (SetupWizardRecyclerLayout) findViewById(R.id.setup_wizard_layout);
+ GlifRecyclerLayout layout = (GlifRecyclerLayout) getLayout();
final RecyclerItemAdapter adapter = (RecyclerItemAdapter) layout.getAdapter();
final Item nextItem = (Item) adapter.findItemById(R.id.next_button);
nextItem.setTitle(
@@ -67,13 +63,8 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
cancelItem.setTitle(
getText(R.string.security_settings_fingerprint_enroll_introduction_cancel_setup));
- SetupWizardUtils.setImmersiveMode(this);
- getNavigationBar().setNavigationBarListener(this);
- Button nextButton = getNavigationBar().getNextButton();
- nextButton.setText(null);
- nextButton.setEnabled(false);
layout.setDividerInset(getResources().getDimensionPixelSize(
- R.dimen.suw_items_icon_divider_inset));
+ R.dimen.suw_items_glif_icon_divider_inset));
}
@Override
@@ -98,16 +89,6 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
}
@Override
- public void onNavigateBack() {
- onBackPressed();
- }
-
- @Override
- public void onNavigateNext() {
- // next is handled via the onNextButtonClick method in FingerprintEnrollIntroduction
- }
-
- @Override
protected int getMetricsCategory() {
return MetricsEvent.FINGERPRINT_ENROLL_INTRO_SETUP;
}
diff --git a/src/com/android/settings/fingerprint/SetupSkipDialog.java b/src/com/android/settings/fingerprint/SetupSkipDialog.java
index 11e6936479d..c6e04d7d190 100644
--- a/src/com/android/settings/fingerprint/SetupSkipDialog.java
+++ b/src/com/android/settings/fingerprint/SetupSkipDialog.java
@@ -22,17 +22,10 @@ import android.app.Dialog;
import android.app.DialogFragment;
import android.app.FragmentManager;
import android.content.DialogInterface;
-import android.os.Build.VERSION;
-import android.os.Build.VERSION_CODES;
import android.os.Bundle;
-import android.os.Handler;
import android.support.annotation.NonNull;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
import com.android.settings.R;
-import com.android.setupwizardlib.util.SystemBarHelper;
public class SetupSkipDialog extends DialogFragment implements DialogInterface.OnClickListener {
@@ -52,10 +45,7 @@ public class SetupSkipDialog extends DialogFragment implements DialogInterface.O
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- final AlertDialog dialog = onCreateDialogBuilder().create();
- // hide system status bar.
- SystemBarHelper.hideSystemBars(dialog);
- return dialog;
+ return onCreateDialogBuilder().create();
}
@NonNull