Merge "Fix crash issue when click 'Share' button"
diff --git a/res/drawable/wifi_dpp_error.xml b/res/drawable/wifi_dpp_error.xml
new file mode 100644
index 0000000..ad04a2b
--- /dev/null
+++ b/res/drawable/wifi_dpp_error.xml
@@ -0,0 +1,59 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="412dp"
+ android:height="280dp"
+ android:viewportWidth="412"
+ android:viewportHeight="280">
+ <path
+ android:pathData="M110.14,169.6c-3.95,-1.35 -6.07,-5.69 -4.75,-9.7l2.89,-8.7c1.33,-4 5.61,-6.15 9.57,-4.81c3.95,1.35 6.07,5.69 4.75,9.7l-2.89,8.7C118.37,168.79 114.1,170.94 110.14,169.6z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M365.39,97.33l-7.72,-7.72c-0.89,-0.89 -0.89,-2.33 0,-3.22l7.72,-7.72c0.89,-0.89 2.33,-0.89 3.22,0l7.72,7.72c0.89,0.89 0.89,2.33 0,3.22l-7.72,7.72C367.72,98.22 366.29,98.22 365.39,97.33z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M57.99,113.3l-12.86,-8.87c-1.48,-1.03 -3.56,-0.09 -3.72,1.69l-1.41,15.35c-0.16,1.78 1.7,3.07 3.35,2.32l14.27,-6.48C59.28,116.55 59.48,114.33 57.99,113.3z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M93,65m-6,0a6,6 0,1 1,12 0a6,6 0,1 1,-12 0"
+ android:fillColor="#BDC1C6"/>
+ <path
+ android:pathData="M241.37,35.13h-0.01c-0.63,-0.32 -1.26,-0.63 -1.9,-0.92c-5.98,-2.78 -12.37,-4.82 -19.06,-6.01c-0.74,-0.13 -1.48,-0.25 -2.22,-0.36c-3.74,-0.55 -7.56,-0.84 -11.45,-0.84c-43,0 -78,34.99 -78,78s35,78 78,78c12.5,0 24.32,-2.96 34.81,-8.2l8.68,14.94l3.46,-2.01l-8.6,-14.81c10.96,-6.22 20.28,-15 27.12,-25.54c4.03,-6.18 7.19,-12.97 9.34,-20.19c2.09,-7.03 3.21,-14.48 3.21,-22.18C284.74,74.42 267.05,47.9 241.37,35.13zM277.34,127.2c-0.24,0.76 -0.49,1.51 -0.76,2.26c-1.55,4.44 -3.53,8.68 -5.86,12.68c-0.4,0.68 -0.81,1.35 -1.23,2.02C256.41,165.07 233.17,179 206.73,179c-40.8,0 -74,-33.2 -74,-74s33.2,-74 74,-74c4.38,0 8.67,0.38 12.85,1.12c0.75,0.13 1.5,0.27 2.25,0.43c4.11,0.85 8.09,2.05 11.92,3.56c0.95,0.37 1.89,0.76 2.82,1.18c25.99,11.49 44.17,37.52 44.17,67.71C280.74,112.73 279.55,120.19 277.34,127.2z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M241.37,35.13h-0.01c-0.63,-0.32 -1.26,-0.63 -1.9,-0.92c-5.98,-2.78 -12.37,-4.82 -19.06,-6.01c-0.74,-0.13 -1.48,-0.25 -2.22,-0.36l-1.03,-3.13c-0.53,-1.63 0.36,-3.39 1.99,-3.92l14.15,-4.64c1.63,-0.53 3.39,0.36 3.92,1.99l4.64,14.15C242.18,33.3 241.96,34.35 241.37,35.13z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M291,138.5c0,6.35 -5.15,11.5 -11.5,11.5c-2.78,0 -5.33,-0.99 -7.31,-2.63c4.03,-6.18 7.19,-12.97 9.34,-20.19C286.91,128.14 291,132.84 291,138.5z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M268,138.5c0,2.06 0.54,3.99 1.49,5.66c0.42,-0.67 0.83,-1.34 1.23,-2.02c-0.46,-1.12 -0.72,-2.35 -0.72,-3.64c0,-4.22 2.76,-7.81 6.58,-9.04c0.27,-0.75 0.52,-1.5 0.76,-2.26C272.02,128.21 268,132.89 268,138.5z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M233.75,36.11l-8.67,2.84c-0.11,0.03 -0.22,0.05 -0.34,0.05c-0.48,0 -0.9,-0.31 -1.05,-0.76l-1.86,-5.69c-0.75,-0.16 -1.5,-0.3 -2.25,-0.43l2.21,6.74c0.43,1.31 1.65,2.14 2.95,2.14c0.32,0 0.65,-0.05 0.97,-0.15l10.86,-3.56C235.64,36.87 234.7,36.48 233.75,36.11z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M242.5,194.06l38.6,66.46c0.68,1.17 2.2,1.59 3.37,0.89l15.01,-8.71c1.17,-0.68 1.59,-2.2 0.89,-3.37l-38.6,-66.46c-0.68,-1.17 -2.2,-1.59 -3.37,-0.89l-15.01,8.71C242.22,191.36 241.83,192.88 242.5,194.06z"
+ android:fillColor="#F1F3F4"/>
+ <path
+ android:pathData="M326.73,100L334.73,109"
+ android:strokeWidth="2"
+ android:fillColor="#00000000"
+ android:strokeColor="#DADCE0"/>
+ <path
+ android:pathData="M166,151.56L173,148.56"
+ android:strokeWidth="2"
+ android:fillColor="#00000000"
+ android:strokeColor="#DADCE0"/>
+ <path
+ android:pathData="M235.84,119.68l-25.6,-44.23c-1.88,-3.26 -6.59,-3.26 -8.48,0l-25.6,44.23c-1.88,3.26 0.47,7.32 4.24,7.32h51.2C235.37,127 237.72,122.93 235.84,119.68z"
+ android:strokeWidth="4"
+ android:fillColor="#00000000"
+ android:strokeColor="#EA4335"/>
+ <path
+ android:pathData="M203.88,117.12c-0.58,-0.59 -0.88,-1.3 -0.88,-2.14c0,-0.84 0.29,-1.54 0.88,-2.12c0.58,-0.57 1.29,-0.86 2.12,-0.86c0.83,0 1.54,0.29 2.12,0.86c0.58,0.57 0.88,1.28 0.88,2.12c0,0.84 -0.29,1.55 -0.88,2.14c-0.58,0.59 -1.29,0.88 -2.12,0.88C205.17,118 204.46,117.71 203.88,117.12zM203.5,99.09V91h5v8.09l-0.49,9.91h-4.02L203.5,99.09z"
+ android:fillColor="#EA4335"/>
+ <path
+ android:pathData="M91.73,102L82.73,98"
+ android:strokeWidth="2"
+ android:fillColor="#00000000"
+ android:strokeColor="#DADCE0"/>
+</vector>
diff --git a/res/drawable/wifi_dpp_success.xml b/res/drawable/wifi_dpp_success.xml
new file mode 100644
index 0000000..5ef3d1f
--- /dev/null
+++ b/res/drawable/wifi_dpp_success.xml
@@ -0,0 +1,54 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="412dp"
+ android:height="280dp"
+ android:viewportWidth="412"
+ android:viewportHeight="280">
+ <path
+ android:pathData="M185.13,171.87c-1.93,-1.91 -4.45,-2.87 -6.97,-2.87c-2.51,0 -5.03,0.96 -6.94,2.87l-0.12,0.12c0.62,0.34 1.25,0.67 1.89,0.98c1.43,-1.28 3.25,-1.97 5.17,-1.97c2.1,0 4.07,0.81 5.55,2.29c1.33,1.33 2.08,3.02 2.25,4.76c0.68,0.19 1.36,0.38 2.04,0.56C187.95,176.16 186.99,173.74 185.13,171.87z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M281.06,87.88C279.52,88.6 277.81,89 276,89c-6.62,0 -12,-5.38 -12,-12c0,-5.23 3.36,-9.69 8.04,-11.33c-0.35,-0.58 -0.71,-1.16 -1.08,-1.73C265.72,65.96 262,71.05 262,77c0,7.73 6.27,14 14,14c1.95,0 3.81,-0.4 5.49,-1.12C281.36,89.21 281.22,88.54 281.06,87.88z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M187.83,180.61c-0.34,1.9 -1.24,3.71 -2.7,5.17l-8.35,8.35c-3.85,3.83 -10.06,3.83 -13.91,0c-3.83,-3.84 -3.83,-10.06 0,-13.91l6.77,-6.77C175.32,176.56 181.42,178.99 187.83,180.61z"
+ android:fillColor="#4285F4"/>
+ <path
+ android:pathData="M290,77c0,5.04 -2.67,9.46 -6.67,11.93c-1.94,-9.23 -5.52,-17.87 -10.42,-25.59C273.9,63.12 274.94,63 276,63C283.73,63 290,69.27 290,77z"
+ android:fillColor="#FBBC04"/>
+ <path
+ android:pathData="M285,105c0,-5.51 -0.57,-10.88 -1.67,-16.07c-1.94,-9.23 -5.52,-17.87 -10.42,-25.59C259.07,41.51 234.7,27 207,27c-43.01,0 -78,34.99 -78,78c0,29.48 16.44,55.2 40.64,68.45c5.68,3.11 11.78,5.54 18.19,7.16c6.14,1.56 12.56,2.39 19.17,2.39c12.41,0 24.16,-2.92 34.59,-8.11l8.62,14.84l1.73,-1l1.73,-1.01l-8.54,-14.7C268.91,159.65 285,134.17 285,105zM207,179c-6.67,0 -13.14,-0.89 -19.29,-2.55c-5.23,-1.41 -10.22,-3.38 -14.92,-5.85C149.16,158.23 133,133.47 133,105c0,-40.8 33.2,-74 74,-74c26,0 48.91,13.48 62.1,33.82c5.02,7.71 8.63,16.4 10.47,25.72c0.94,4.67 1.43,9.51 1.43,14.46C281,145.8 247.8,179 207,179z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M374.55,125.39l-6.95,-6.95c-0.8,-0.8 -0.8,-2.1 0,-2.9l6.95,-6.95c0.8,-0.8 2.1,-0.8 2.9,0l6.95,6.95c0.8,0.8 0.8,2.1 0,2.9l-6.95,6.95C376.65,126.2 375.36,126.2 374.55,125.39z"
+ android:fillColor="#32A753"/>
+ <path
+ android:pathData="M57.33,138.1L46.9,127.67c-1.2,-1.2 -1.2,-3.15 0,-4.35l10.43,-10.43c1.2,-1.2 3.15,-1.2 4.35,0l10.43,10.43c1.2,1.2 1.2,3.15 0,4.35L61.67,138.1C60.48,139.3 58.52,139.3 57.33,138.1z"
+ android:fillColor="#FBBC04"/>
+ <path
+ android:pathData="M320.49,109.73l6.33,16.64c0.73,1.93 -0.9,3.93 -2.94,3.6l-17.62,-2.85c-2.04,-0.33 -2.96,-2.74 -1.65,-4.34l11.28,-13.79C317.2,107.38 319.76,107.81 320.49,109.73z"
+ android:fillColor="#EA4335"/>
+ <path
+ android:pathData="M110,49m-5,0a5,5 0,1 1,10 0a5,5 0,1 1,-10 0"
+ android:fillColor="#EA4335"/>
+ <path
+ android:pathData="M41.074,54.755l1.317,-1.505l16,14l-1.317,1.505z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M303.566,179.017l11,-1.999l0.358,1.968l-11,1.999z"
+ android:fillColor="#DADCE0"/>
+ <path
+ android:pathData="M333.378,70.081l16,-6.005l0.703,1.872l-16,6.005z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M95.347,171.085l7.004,-3.003l0.788,1.838l-7.004,3.003z"
+ android:fillColor="#E8EAED"/>
+ <path
+ android:pathData="M203.43,114.78l-9,-9.22l2.86,-2.79l6.21,6.36l14.42,-14.08l2.79,2.86z"
+ android:fillColor="#34A853"/>
+ <path
+ android:pathData="M242.5,194.06l38.6,66.46c0.68,1.17 2.2,1.59 3.37,0.89l15.01,-8.71c1.17,-0.68 1.59,-2.2 0.89,-3.37l-38.6,-66.46c-0.68,-1.17 -2.2,-1.59 -3.37,-0.89l-15.01,8.71C242.22,191.36 241.83,192.88 242.5,194.06z"
+ android:fillColor="#F1F3F4"/>
+ <path
+ android:pathData="M225.04,138h-36.08c-3.84,0 -6.96,-3.12 -6.96,-6.96V76.96c0,-3.84 3.12,-6.96 6.96,-6.96h36.08c3.84,0 6.96,3.12 6.96,6.96v54.08C232,134.88 228.88,138 225.04,138zM188.96,74c-1.63,0 -2.96,1.33 -2.96,2.96v54.08c0,1.63 1.33,2.96 2.96,2.96h36.08c1.63,0 2.96,-1.33 2.96,-2.96V76.96c0,-1.63 -1.33,-2.96 -2.96,-2.96H188.96z"
+ android:fillColor="#32A753"/>
+</vector>
diff --git a/res/layout/choose_lock_pattern_common.xml b/res/layout/choose_lock_pattern_common.xml
index b31062e..2ebcd9b 100644
--- a/res/layout/choose_lock_pattern_common.xml
+++ b/res/layout/choose_lock_pattern_common.xml
@@ -19,11 +19,11 @@
<com.google.android.setupdesign.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"
android:icon="@drawable/ic_lock"
android:layout="@layout/sud_glif_blank_template"
- settings:sucFooter="@layout/choose_lock_pattern_common_footer"
settings:sucHeaderText="@string/lockpassword_choose_your_screen_lock_header">
<com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient
diff --git a/res/layout/choose_lock_pattern_common_footer.xml b/res/layout/choose_lock_pattern_common_footer.xml
deleted file mode 100644
index b582854..0000000
--- a/res/layout/choose_lock_pattern_common_footer.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2017 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.
--->
-
-<!-- TODO: Use aapt:attr when it is fixed (b/36809755) -->
-<com.google.android.setupdesign.view.ButtonBarLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- style="@style/SudGlifButtonBar.Stackable"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <!-- left : skip -->
- <Button android:id="@+id/skip_button"
- style="@style/SudGlifButton.Secondary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/skip_label"
- android:visibility="gone" />
-
- <!-- left : retry -->
- <Button android:id="@+id/footerLeftButton"
- style="@style/SudGlifButton.Secondary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/lockpattern_tutorial_cancel_label" />
-
- <Space
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:layout_weight="1" />
-
- <!-- right : confirm or ok -->
- <Button android:id="@+id/footerRightButton"
- style="@style/SudGlifButton.Primary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/lockpattern_tutorial_continue_label" />
-
-</com.google.android.setupdesign.view.ButtonBarLayout>
diff --git a/res/layout/wifi_dpp_add_device_fragment.xml b/res/layout/wifi_dpp_add_device_fragment.xml
index 97f5764..479e626 100644
--- a/res/layout/wifi_dpp_add_device_fragment.xml
+++ b/res/layout/wifi_dpp_add_device_fragment.xml
@@ -38,6 +38,8 @@
android:id="@+id/wifi_ap_picture_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:src="@drawable/wifi_dpp_success"
+ android:scaleType="fitCenter"
app:layout_constraintTop_toBottomOf="@+id/header"/>
<Button
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index c61059f..31b89f1 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1105,8 +1105,8 @@
</string-array>
<string-array name="wifi_privacy_entries">
- <item>Use device MAC</item>
<item>Use randomized MAC (default)</item>
+ <item>Use device MAC</item>
</string-array>
<string-array name="wifi_hidden_entries">
@@ -1121,8 +1121,8 @@
</string-array>
<string-array name="wifi_privacy_values" translatable="false">
- <item>0</item>
<item>1</item>
+ <item>0</item>
</string-array>
<!-- Titles for ui dark mode preference. -->
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index 55ca4ba..1f0bb4e 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -50,6 +50,8 @@
import com.android.settings.notification.RedactionInterstitial;
import com.google.android.collect.Lists;
+import com.google.android.setupcompat.item.FooterButton;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
import com.google.android.setupdesign.GlifLayout;
import java.util.ArrayList;
@@ -171,7 +173,7 @@
}
public static class ChooseLockPatternFragment extends InstrumentedFragment
- implements View.OnClickListener, SaveAndFinishWorker.Listener {
+ implements SaveAndFinishWorker.Listener {
public static final int CONFIRM_EXISTING_REQUEST = 55;
@@ -193,8 +195,8 @@
protected TextView mMessageText;
protected LockPatternView mLockPatternView;
protected TextView mFooterText;
- private TextView mFooterLeftButton;
- private TextView mFooterRightButton;
+ protected FooterButton mSkipOrClearButton;
+ private FooterButton mNextButton;
protected List<LockPatternView.Cell> mChosenPattern = null;
private ColorStateList mDefaultHeaderColorList;
@@ -232,11 +234,11 @@
}
protected void setRightButtonEnabled(boolean enabled) {
- mFooterRightButton.setEnabled(enabled);
+ mNextButton.setEnabled(enabled);
}
protected void setRightButtonText(int text) {
- mFooterRightButton.setText(text);
+ mNextButton.setText(getActivity(), text);
}
/**
@@ -287,8 +289,7 @@
mHeaderText.setTextColor(mDefaultHeaderColorList);
}
mFooterText.setText("");
- mFooterLeftButton.setEnabled(false);
- mFooterRightButton.setEnabled(false);
+ mNextButton.setEnabled(false);
if (mTitleHeaderScrollView != null) {
mTitleHeaderScrollView.post(new Runnable() {
@@ -487,6 +488,27 @@
layout.setIcon(getActivity().getDrawable(R.drawable.ic_face_header));
}
}
+
+ final ButtonFooterMixin mixin = layout.getMixin(ButtonFooterMixin.class);
+ mixin.setSecondaryButton(
+ new FooterButton.Builder(getActivity())
+ .setText(R.string.lockpattern_tutorial_cancel_label)
+ .setListener(this::onSkipOrClearButtonClick)
+ .setButtonType(FooterButton.ButtonType.OTHER)
+ .setTheme(R.style.SudGlifButton_Secondary)
+ .build()
+ );
+ mixin.setPrimaryButton(
+ new FooterButton.Builder(getActivity())
+ .setText(R.string.lockpattern_tutorial_continue_label)
+ .setListener(this::onNextButtonClick)
+ .setButtonType(FooterButton.ButtonType.NEXT)
+ .setTheme(R.style.SudGlifButton_Primary)
+ .build()
+ );
+ mSkipOrClearButton = mixin.getSecondaryButton();
+ mNextButton = mixin.getPrimaryButton();
+
return layout;
}
@@ -506,15 +528,9 @@
mFooterText = (TextView) view.findViewById(R.id.footerText);
- mFooterLeftButton = (TextView) view.findViewById(R.id.footerLeftButton);
- mFooterRightButton = (TextView) view.findViewById(R.id.footerRightButton);
-
mTitleHeaderScrollView = (ScrollView) view.findViewById(R.id
.scroll_layout_title_header);
- mFooterLeftButton.setOnClickListener(this);
- mFooterRightButton.setOnClickListener(this);
-
// make it so unhandled touch events within the unlock screen go to the
// lock pattern view.
final LinearLayoutWithDefaultTouchRecepient topLayout
@@ -623,12 +639,12 @@
}
}
- public void onClick(View v) {
- if (v == mFooterLeftButton) {
- handleLeftButton();
- } else if (v == mFooterRightButton) {
- handleRightButton();
- }
+ protected void onSkipOrClearButtonClick(View view) {
+ handleLeftButton();
+ }
+
+ protected void onNextButtonClick(View view) {
+ handleRightButton();
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
@@ -711,7 +727,7 @@
}
}
- updateFooterLeftButton(stage, mFooterLeftButton);
+ updateFooterLeftButton(stage);
setRightButtonText(stage.rightMode.text);
setRightButtonEnabled(stage.rightMode.enabled);
@@ -761,13 +777,13 @@
}
}
- protected void updateFooterLeftButton(Stage stage, TextView footerLeftButton) {
+ protected void updateFooterLeftButton(Stage stage) {
if (stage.leftMode == LeftButtonMode.Gone) {
- footerLeftButton.setVisibility(View.GONE);
+ mSkipOrClearButton.setVisibility(View.GONE);
} else {
- footerLeftButton.setVisibility(View.VISIBLE);
- footerLeftButton.setText(stage.leftMode.text);
- footerLeftButton.setEnabled(stage.leftMode.enabled);
+ mSkipOrClearButton.setVisibility(View.VISIBLE);
+ mSkipOrClearButton.setText(getActivity(), stage.leftMode.text);
+ mSkipOrClearButton.setEnabled(stage.leftMode.enabled);
}
}
diff --git a/src/com/android/settings/password/SetupChooseLockPattern.java b/src/com/android/settings/password/SetupChooseLockPattern.java
index 0a32468..736cd00 100644
--- a/src/com/android/settings/password/SetupChooseLockPattern.java
+++ b/src/com/android/settings/password/SetupChooseLockPattern.java
@@ -59,7 +59,7 @@
@Nullable
private Button mOptionsButton;
- private Button mSkipButton;
+ private boolean mLeftButtonIsSkip;
@Override
public View onCreateView(
@@ -72,14 +72,20 @@
.show(getChildFragmentManager(), null));
}
// Show the skip button during SUW but not during Settings > Biometric Enrollment
- mSkipButton = view.findViewById(R.id.skip_button);
- mSkipButton.setOnClickListener(v -> {
+ mSkipOrClearButton.setOnClickListener(this::onSkipOrClearButtonClick);
+ return view;
+ }
+
+ @Override
+ protected void onSkipOrClearButtonClick(View view) {
+ if (mLeftButtonIsSkip) {
SetupSkipDialog dialog = SetupSkipDialog.newInstance(
getActivity().getIntent()
.getBooleanExtra(SetupSkipDialog.EXTRA_FRP_SUPPORTED, false));
dialog.show(getFragmentManager());
- });
- return view;
+ return;
+ }
+ super.onSkipOrClearButtonClick(view);
}
@Override
@@ -102,9 +108,11 @@
}
if (stage.leftMode == LeftButtonMode.Gone && stage == Stage.Introduction) {
- mSkipButton.setVisibility(View.VISIBLE);
+ mSkipOrClearButton.setVisibility(View.VISIBLE);
+ mSkipOrClearButton.setText(getActivity(), R.string.skip_label);
+ mLeftButtonIsSkip = true;
} else {
- mSkipButton.setVisibility(View.GONE);
+ mLeftButtonIsSkip = false;
}
}
diff --git a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java
index 18be542..3bcdc5f 100644
--- a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java
@@ -61,7 +61,7 @@
final DropDownPreference dropDownPreference = (DropDownPreference) preference;
final int randomizationLevel = getRandomizationValue();
dropDownPreference.setValue(Integer.toString(randomizationLevel));
- updateSummary((DropDownPreference) preference, randomizationLevel);
+ updateSummary(dropDownPreference, randomizationLevel);
}
@Override
@@ -85,7 +85,20 @@
return WifiConfiguration.RANDOMIZATION_PERSISTENT;
}
+ private final int PREF_RANDOMIZATION_PERSISTENT = 0;
+ private final int PREF_RANDOMIZATION_NONE = 1;
+ @VisibleForTesting
+ protected int translateMacRandomizedValueToPrefValue(int macRandomized) {
+ if (macRandomized == WifiConfiguration.RANDOMIZATION_PERSISTENT) {
+ return PREF_RANDOMIZATION_PERSISTENT;
+ } else {
+ return PREF_RANDOMIZATION_NONE;
+ }
+ }
+
private void updateSummary(DropDownPreference preference, int macRandomized) {
- preference.setSummary(preference.getEntries()[macRandomized]);
+ // Translates value here to set RANDOMIZATION_PERSISTENT as first item in UI for better UX.
+ final int prefMacRandomized = translateMacRandomizedValueToPrefValue(macRandomized);
+ preference.setSummary(preference.getEntries()[prefMacRandomized]);
}
}
diff --git a/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java b/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
index 7e6e806..9a9a313 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppAddDeviceFragment.java
@@ -57,6 +57,7 @@
// Update success UI.
mTitle.setText(R.string.wifi_dpp_wifi_shared_with_device);
mSummary.setVisibility(View.INVISIBLE);
+ mWifiApPictureView.setImageResource(R.drawable.wifi_dpp_success);
mChooseDifferentNetwork.setVisibility(View.INVISIBLE);
mButtonLeft.setText(R.string.wifi_dpp_add_another_device);
mButtonLeft.setOnClickListener(v -> getFragmentManager().popBackStack());
@@ -71,6 +72,7 @@
// Update fail UI.
mTitle.setText(R.string.wifi_dpp_could_not_add_device);
mSummary.setVisibility(View.INVISIBLE);
+ mWifiApPictureView.setImageResource(R.drawable.wifi_dpp_error);
mChooseDifferentNetwork.setVisibility(View.INVISIBLE);
mButtonRight.setText(R.string.retry);
}
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
index 6b6c60e..e45869f 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
@@ -40,6 +40,9 @@
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.testutils.shadow.ShadowUtils;
+import com.google.android.setupcompat.PartnerCustomizationLayout;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -143,11 +146,13 @@
@Test
public void skipButton_shouldBeVisible_duringNonFingerprintFlow() {
- Button skipButton = mActivity.findViewById(R.id.skip_button);
- assertThat(skipButton).isNotNull();
- assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE);
+ PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
+ final Button skipOrClearButton =
+ layout.getMixin(ButtonFooterMixin.class).getSecondaryButtonView();
+ assertThat(skipOrClearButton).isNotNull();
+ assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
- skipButton.performClick();
+ skipOrClearButton.performClick();
AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(chooserDialog).isNotNull();
}
@@ -156,26 +161,33 @@
public void clearButton_shouldBeVisible_duringRetryStage() {
enterPattern();
- Button clearButton = mActivity.findViewById(R.id.footerLeftButton);
- assertThat(clearButton.getVisibility()).isEqualTo(View.VISIBLE);
- assertThat(clearButton.isEnabled()).isTrue();
+ PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
+ final Button skipOrClearButton =
+ layout.getMixin(ButtonFooterMixin.class).getSecondaryButtonView();
+ assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(skipOrClearButton.isEnabled()).isTrue();
- clearButton.performClick();
+ skipOrClearButton.performClick();
assertThat(findFragment(mActivity).mChosenPattern).isNull();
}
@Test
- public void createActivity_enterPattern_clearButtonShouldBeVisible() {
+ public void createActivity_enterPattern_clearButtonShouldBeShown() {
ChooseLockPatternFragment fragment = findFragment(mActivity);
- Button skipButton = mActivity.findViewById(R.id.skip_button);
- Button clearButton = mActivity.findViewById(R.id.footerLeftButton);
- assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE);
- assertThat(clearButton.getVisibility()).isEqualTo(View.GONE);
+ PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
+ final Button skipOrClearButton =
+ layout.getMixin(ButtonFooterMixin.class).getSecondaryButtonView();
+ assertThat(skipOrClearButton.isEnabled()).isTrue();
+ assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(skipOrClearButton.getText())
+ .isEqualTo(application.getString(R.string.skip_label));
enterPattern();
- assertThat(skipButton.getVisibility()).isEqualTo(View.GONE);
- assertThat(clearButton.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(skipOrClearButton.isEnabled()).isTrue();
+ assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(skipOrClearButton.getText())
+ .isEqualTo(application.getString(R.string.lockpattern_retry_button_text));
}
private ChooseLockPatternFragment findFragment(FragmentActivity activity) {
diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiPrivacyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiPrivacyPreferenceControllerTest.java
index 20c5838..1e2e718 100644
--- a/tests/robotests/src/com/android/settings/wifi/details/WifiPrivacyPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiPrivacyPreferenceControllerTest.java
@@ -70,8 +70,9 @@
mPreferenceController.updateState(mDropDownPreference);
-
- assertThat(mDropDownPreference.getEntry()).isEqualTo(perferenceString[PRIVACY_TRUSTED]);
+ int prefValue = mPreferenceController.translateMacRandomizedValueToPrefValue(
+ PRIVACY_TRUSTED);
+ assertThat(mDropDownPreference.getEntry()).isEqualTo(perferenceString[prefValue]);
}
@Test
@@ -80,7 +81,9 @@
mPreferenceController.updateState(mDropDownPreference);
- assertThat(mDropDownPreference.getEntry()).isEqualTo(perferenceString[PRIVACY_RANDOMIZED]);
+ int prefValue = mPreferenceController.translateMacRandomizedValueToPrefValue(
+ PRIVACY_RANDOMIZED);
+ assertThat(mDropDownPreference.getEntry()).isEqualTo(perferenceString[prefValue]);
}
@Test