diff --git a/res/layout/choose_lock_pattern_common.xml b/res/layout/choose_lock_pattern_common.xml
index 761a724f79b..2dd8cd576de 100644
--- a/res/layout/choose_lock_pattern_common.xml
+++ b/res/layout/choose_lock_pattern_common.xml
@@ -36,16 +36,6 @@
android:paddingLeft="0dp"
android:paddingRight="0dp">
-
-
0
+ && WizardManagerHelper.isAnySetupWizard(getIntent())) {
+ mPassThroughExtrasFromChosenLockInSuw = data.getExtras();
+ }
+
Log.d(TAG,
"onActivityResult(requestCode=" + requestCode + ", resultCode=" + resultCode + ")");
// single enrollment is handled entirely by the launched activity
@@ -416,7 +429,7 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
}
} else {
Log.d(TAG, "Unknown or cancelled parental consent");
- setResult(RESULT_CANCELED);
+ setResult(RESULT_CANCELED, newResultIntent());
finish();
}
break;
@@ -452,7 +465,7 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
launchFingerprintOnlyEnroll();
} else {
Log.d(TAG, "Unknown result for set/choose lock: " + resultCode);
- setResult(resultCode);
+ setResult(resultCode, newResultIntent());
finish();
}
break;
@@ -480,25 +493,37 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
finish();
}
} else {
- setResult(resultCode);
+ setResult(resultCode, newResultIntent());
finish();
}
}
+ @NonNull
private Intent newResultIntent() {
final Intent intent = new Intent();
- final Bundle consentStatus = mParentalOptions.deepCopy();
- intent.putExtra(EXTRA_PARENTAL_CONSENT_STATUS, consentStatus);
- Log.v(TAG, "Result consent status: " + consentStatus);
+ if (mParentalOptionsRequired && mParentalOptions != null) {
+ final Bundle consentStatus = mParentalOptions.deepCopy();
+ intent.putExtra(EXTRA_PARENTAL_CONSENT_STATUS, consentStatus);
+ Log.v(TAG, "Result consent status: " + consentStatus);
+ }
+ if (mPassThroughExtrasFromChosenLockInSuw != null) {
+ intent.putExtras(mPassThroughExtrasFromChosenLockInSuw);
+ }
return intent;
}
private static boolean isSuccessfulConfirmOrChooseCredential(int requestCode, int resultCode) {
- final boolean okChoose = requestCode == REQUEST_CHOOSE_LOCK
+ return isSuccessfulChooseCredential(requestCode, resultCode)
+ || isSuccessfulConfirmCredential(requestCode, resultCode);
+ }
+
+ private static boolean isSuccessfulChooseCredential(int requestCode, int resultCode) {
+ return requestCode == REQUEST_CHOOSE_LOCK
&& resultCode == ChooseLockPattern.RESULT_FINISHED;
- final boolean okConfirm = requestCode == REQUEST_CONFIRM_LOCK
- && resultCode == RESULT_OK;
- return okChoose || okConfirm;
+ }
+
+ private static boolean isSuccessfulConfirmCredential(int requestCode, int resultCode) {
+ return requestCode == REQUEST_CONFIRM_LOCK && resultCode == RESULT_OK;
}
@Override
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
index af25ecd8e28..b31396142e3 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
@@ -16,21 +16,16 @@
package com.android.settings.biometrics.fingerprint;
-import android.app.Activity;
import android.app.KeyguardManager;
import android.app.settings.SettingsEnums;
import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager;
-import android.os.Bundle;
-import android.os.UserHandle;
import android.view.View;
-import com.android.internal.widget.LockPatternUtils;
import com.android.settings.SetupWizardUtils;
import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricUtils;
import com.android.settings.password.ChooseLockSettingsHelper;
-import com.android.settings.password.SetupChooseLockGeneric;
import com.android.settings.password.SetupSkipDialog;
public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction {
@@ -40,24 +35,6 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
private static final String EXTRA_FINGERPRINT_ENROLLED_COUNT = "fingerprint_enrolled_count";
private static final String KEY_LOCK_SCREEN_PRESENT = "wasLockScreenPresent";
- private boolean mAlreadyHadLockScreenSetup = false;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (savedInstanceState == null) {
- mAlreadyHadLockScreenSetup = isKeyguardSecure();
- } else {
- mAlreadyHadLockScreenSetup = savedInstanceState.getBoolean(
- KEY_LOCK_SCREEN_PRESENT, false);
- }
- }
-
- @Override
- protected void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- outState.putBoolean(KEY_LOCK_SCREEN_PRESENT, mAlreadyHadLockScreenSetup);
- }
@Override
protected Intent getEnrollingIntent() {
@@ -85,12 +62,6 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
}
}
if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST && isKeyguardSecure()) {
- // if lock was already present, do not return intent data since it must have been
- // reported in previous attempts
- if (!mAlreadyHadLockScreenSetup) {
- data = getMetricIntent(data);
- }
-
// Report fingerprint count if user adding a new fingerprint
if (resultCode == RESULT_FINISHED) {
data = setFingerprintCount(data);
@@ -127,18 +98,6 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
super.onActivityResult(requestCode, resultCode, data);
}
- private Intent getMetricIntent(Intent data) {
- if (data == null) {
- data = new Intent();
- }
- LockPatternUtils lockPatternUtils = new LockPatternUtils(this);
- data.putExtra(SetupChooseLockGeneric.
- SetupChooseLockGenericFragment.EXTRA_PASSWORD_QUALITY,
- lockPatternUtils.getKeyguardStoredPasswordQuality(UserHandle.myUserId()));
-
- return data;
- }
-
private Intent setFingerprintCount(Intent data) {
if (data == null) {
data = new Intent();
@@ -161,8 +120,7 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
if (!BiometricUtils.tryStartingNextBiometricEnroll(
this, ENROLL_NEXT_BIOMETRIC_REQUEST, "cancel")) {
resultCode = RESULT_SKIP;
- data = mAlreadyHadLockScreenSetup ? null : getMetricIntent(null);
- setResult(resultCode, data);
+ setResult(resultCode);
finish();
return;
}
@@ -176,18 +134,6 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
// User has explicitly canceled enroll. Don't restart it automatically.
}
- /**
- * Propagate lock screen metrics if the user goes back from the fingerprint setup screen
- * after having added lock screen to his device.
- */
- @Override
- public void onBackPressed() {
- if (!mAlreadyHadLockScreenSetup && isKeyguardSecure()) {
- setResult(Activity.RESULT_CANCELED, getMetricIntent(null));
- }
- super.onBackPressed();
- }
-
private boolean isKeyguardSecure() {
return getSystemService(KeyguardManager.class).isKeyguardSecure();
}
diff --git a/src/com/android/settings/development/StayAwakePreferenceController.java b/src/com/android/settings/development/StayAwakePreferenceController.java
index 25a92b260bc..9ed0ef88826 100644
--- a/src/com/android/settings/development/StayAwakePreferenceController.java
+++ b/src/com/android/settings/development/StayAwakePreferenceController.java
@@ -50,7 +50,7 @@ public class StayAwakePreferenceController extends DeveloperOptionsPreferenceCon
@VisibleForTesting
static final int SETTING_VALUE_ON =
BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_USB
- | BatteryManager.BATTERY_PLUGGED_WIRELESS;
+ | BatteryManager.BATTERY_PLUGGED_WIRELESS | BatteryManager.BATTERY_PLUGGED_DOCK;
@VisibleForTesting
SettingsObserver mSettingsObserver;
diff --git a/src/com/android/settings/password/SetupChooseLockPattern.java b/src/com/android/settings/password/SetupChooseLockPattern.java
index 7151c6d89cc..fd925ecfba6 100644
--- a/src/com/android/settings/password/SetupChooseLockPattern.java
+++ b/src/com/android/settings/password/SetupChooseLockPattern.java
@@ -143,7 +143,8 @@ public class SetupChooseLockPattern extends ChooseLockPattern {
}
final GlifLayout layout = getActivity().findViewById(R.id.setup_wizard_layout);
- layout.setDescriptionText("");
+ layout.setDescriptionText(
+ getString(R.string.lockpassword_choose_your_pattern_description));
}
@Override
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
index e3b23ac293d..2aeda7144a8 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
@@ -34,7 +34,6 @@ import android.widget.Button;
import com.android.settings.R;
import com.android.settings.biometrics.BiometricEnrollBase;
import com.android.settings.biometrics.BiometricEnrollIntroduction;
-import com.android.settings.password.SetupChooseLockGeneric.SetupChooseLockGenericFragment;
import com.android.settings.password.SetupSkipDialog;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowFingerprintManager;
@@ -160,8 +159,6 @@ public class SetupFingerprintEnrollIntroductionTest {
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
assertThat(shadowActivity.getResultIntent()).isNotNull();
- assertThat(shadowActivity.getResultIntent().hasExtra(
- SetupChooseLockGenericFragment.EXTRA_PASSWORD_QUALITY)).isTrue();
}
@Test
@@ -191,8 +188,6 @@ public class SetupFingerprintEnrollIntroductionTest {
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
assertThat(shadowActivity.getResultIntent()).isNotNull();
- assertThat(shadowActivity.getResultIntent().hasExtra(
- SetupChooseLockGenericFragment.EXTRA_PASSWORD_QUALITY)).isTrue();
}
@Test
@@ -218,8 +213,6 @@ public class SetupFingerprintEnrollIntroductionTest {
BiometricEnrollBase.RESULT_FINISHED, null);
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
assertThat(shadowActivity.getResultIntent()).isNotNull();
- assertThat(shadowActivity.getResultIntent().hasExtra(
- SetupChooseLockGenericFragment.EXTRA_PASSWORD_QUALITY)).isFalse();
}
@Test
@@ -260,8 +253,6 @@ public class SetupFingerprintEnrollIntroductionTest {
ShadowActivity shadowActivity = Shadows.shadowOf(activity);
IntentForResult startedActivity = shadowActivity.getNextStartedActivityForResult();
assertThat(startedActivity).isNotNull();
- assertThat(startedActivity.intent.hasExtra(
- SetupChooseLockGenericFragment.EXTRA_PASSWORD_QUALITY)).isFalse();
}
private ShadowKeyguardManager getShadowKeyguardManager() {
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
index 53e68d97018..e01e0235af3 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
@@ -27,6 +27,7 @@ import android.content.pm.PackageManager;
import android.os.UserHandle;
import android.view.View;
import android.widget.Button;
+import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity;
@@ -192,6 +193,18 @@ public class SetupChooseLockPatternTest {
.isEqualTo(application.getString(R.string.lockpattern_retry_button_text));
}
+ @Test
+ public void createActivity_patternDescription_shouldBeShown() {
+ PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
+
+ final TextView patternDescription =
+ layout.findViewById(R.id.sud_layout_subtitle);
+
+ assertThat(patternDescription.getVisibility()).isEqualTo(View.VISIBLE);
+ assertThat(patternDescription.getText()).isEqualTo(
+ application.getString(R.string.lockpassword_choose_your_pattern_description));
+ }
+
private ChooseLockPatternFragment findFragment(FragmentActivity activity) {
return (ChooseLockPatternFragment)
activity.getSupportFragmentManager().findFragmentById(R.id.main_content);