Merge "Hide IKEv2 VPN options if not supported" into rvc-dev
diff --git a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
index f719494..f8a4f39 100644
--- a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
+++ b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
@@ -125,5 +125,9 @@
for (Map.Entry<String, String> parentToKey : PARENT_TO_CATEGORY_KEY_MAP.entrySet()) {
CATEGORY_KEY_TO_PARENT_MAP.put(parentToKey.getValue(), parentToKey.getKey());
}
+
+ // For injection index, redirect CATEGORY_ACCOUNT_DETAIL to AccountDashboardFragment.
+ CATEGORY_KEY_TO_PARENT_MAP.put(CategoryKey.CATEGORY_ACCOUNT_DETAIL,
+ AccountDashboardFragment.class.getName());
}
}
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index 3c81eb8..64812fd 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -107,6 +107,7 @@
private int mUserId;
private int mCredentialMode;
private boolean mGoingToBackground;
+ private boolean mWaitingForBiometricCallback;
private Executor mExecutor = (runnable -> {
mHandler.post(runnable);
@@ -116,6 +117,7 @@
@Override
public void onAuthenticationError(int errorCode, @NonNull CharSequence errString) {
if (!mGoingToBackground) {
+ mWaitingForBiometricCallback = false;
if (errorCode == BiometricPrompt.BIOMETRIC_ERROR_USER_CANCELED
|| errorCode == BiometricPrompt.BIOMETRIC_ERROR_CANCELED) {
finish();
@@ -123,11 +125,15 @@
// All other errors go to some version of CC
showConfirmCredentials();
}
+ } else if (mWaitingForBiometricCallback) { // mGoingToBackground is true
+ mWaitingForBiometricCallback = false;
+ finish();
}
}
@Override
public void onAuthenticationSucceeded(BiometricPrompt.AuthenticationResult result) {
+ mWaitingForBiometricCallback = false;
mTrustManager.setDeviceLockedForUser(mUserId, false);
final boolean isStrongAuth = result.getAuthenticationType()
== BiometricPrompt.AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL;
@@ -142,6 +148,7 @@
@Override
public void onAuthenticationFailed() {
+ mWaitingForBiometricCallback = false;
mDevicePolicyManager.reportFailedBiometricAttempt(mUserId);
}
@@ -262,6 +269,7 @@
finish();
} else if (launchedBiometric) {
// Keep this activity alive until BiometricPrompt goes away
+ mWaitingForBiometricCallback = true;
} else {
Log.d(TAG, "No pattern, password or PIN set.");
setResult(Activity.RESULT_OK);
@@ -320,7 +328,9 @@
super.onPause();
if (!isChangingConfigurations()) {
mGoingToBackground = true;
- finish();
+ if (!mWaitingForBiometricCallback) {
+ finish();
+ }
} else {
mGoingToBackground = false;
}
diff --git a/src/com/android/settings/users/MultiUserSwitchBarController.java b/src/com/android/settings/users/MultiUserSwitchBarController.java
index a5fdf9b..58de149 100644
--- a/src/com/android/settings/users/MultiUserSwitchBarController.java
+++ b/src/com/android/settings/users/MultiUserSwitchBarController.java
@@ -52,8 +52,6 @@
mListener = listener;
mUserCapabilities = UserCapabilities.create(context);
mSwitchBar.setChecked(mUserCapabilities.mUserSwitcherEnabled);
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.USER_SWITCHER_ENABLED, mSwitchBar.isChecked() ? 1 : 0);
if (mUserCapabilities.mDisallowSwitchUser) {
mSwitchBar.setDisabledByAdmin(RestrictedLockUtilsInternal
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentRegistryTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentRegistryTest.java
index c6b2465..10aaad8 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentRegistryTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentRegistryTest.java
@@ -18,6 +18,9 @@
import static com.google.common.truth.Truth.assertThat;
+import com.android.settings.accounts.AccountDashboardFragment;
+import com.android.settingslib.drawer.CategoryKey;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
@@ -29,4 +32,12 @@
assertThat(DashboardFragmentRegistry.CATEGORY_KEY_TO_PARENT_MAP.size())
.isEqualTo(DashboardFragmentRegistry.PARENT_TO_CATEGORY_KEY_MAP.size());
}
+
+ @Test
+ public void accountDetailCategoryShouldRedirectToAccountDashboardFragment() {
+ final String fragment = DashboardFragmentRegistry.CATEGORY_KEY_TO_PARENT_MAP.get(
+ CategoryKey.CATEGORY_ACCOUNT_DETAIL);
+
+ assertThat(fragment).isEqualTo(AccountDashboardFragment.class.getName());
+ }
}