Merge "Remove ring_volume from VolumePanel" into main
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9b9efe9..a08bda3 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3090,23 +3090,6 @@
</intent-filter>
</activity>
- <!-- NFC settings -->
- <activity
- android:name="Settings$AndroidBeamSettingsActivity"
- android:exported="true"
- android:label="@string/android_beam_settings_title">
- <intent-filter android:priority="1">
- <action android:name="android.settings.NFCSHARING_SETTINGS" />
- <category android:name="android.intent.category.DEFAULT" />
- </intent-filter>
- <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
- android:value="com.android.settings.nfc.AndroidBeam" />
- <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
- android:value="@string/menu_key_connected_devices"/>
- <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
- android:value="true" />
- </activity>
-
<activity
android:name="Settings$WifiDisplaySettingsActivity"
android:label="@string/wifi_display_settings_title"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 304ea55..ca69efa 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -4635,8 +4635,6 @@
<string name="accessibility_tutorial_dialog_title_volume">Hold volume keys to open</string>
<!-- Title for the accessibility tutorial dialog in accessibility service with triple tap. [CHAR LIMIT=100] -->
<string name="accessibility_tutorial_dialog_title_triple">Triple tap screen to open</string>
- <!-- Title for the accessibility tutorial dialog in accessibility service with two finger triple tap. [CHAR LIMIT=100] -->
- <string name="accessibility_tutorial_dialog_title_two_finger_triple">Two finger triple tap screen to open</string>
<!-- Title for the accessibility tutorial dialog in accessibility service with gesture. [CHAR LIMIT=50] -->
<string name="accessibility_tutorial_dialog_title_gesture">Use gesture to open</string>
<!-- Title for the accessibility tutorial dialog in gesture navigation settings. [CHAR LIMIT=50] -->
@@ -4649,8 +4647,6 @@
<string name="accessibility_tutorial_dialog_message_volume">To use this feature, press & hold both volume keys.</string>
<!-- Instruction for the accessibility tutorial dialog in accessibility service with triple tap. [CHAR LIMIT=100] -->
<string name="accessibility_tutorial_dialog_message_triple">To start and stop magnification, triple-tap anywhere on your screen.</string>
- <!-- Instruction for the accessibility tutorial dialog in accessibility service with two finger triple tap. [CHAR LIMIT=100] -->
- <string name="accessibility_tutorial_dialog_message_two_finger_triple">To start and stop magnification, triple-tap anywhere on your screen with two fingers.</string>
<!-- Message for the accessibility tutorial dialog when user enables an accessibility service while using gesture navigation and touch exploration is not enabled. [CHAR LIMIT=NONE] -->
<string name="accessibility_tutorial_dialog_message_gesture">To use this feature, swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold.</string>
<!-- Message for the accessibility tutorial dialog when user enables an accessibility service while using gesture navigation and touch exploration is enabled. [CHAR LIMIT=NONE] -->
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index c52140c..59c0c21 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -174,7 +174,7 @@
android:title="@string/notification_pulse_title"
settings:controller="com.android.settings.notification.PulseNotificationPreferenceController"/>
- <SwitchPreference
+ <SwitchPreferenceCompat
android:key="notification_assistant"
android:order="25"
android:title="@string/notification_assistant_title"
diff --git a/res/xml/connected_devices_advanced.xml b/res/xml/connected_devices_advanced.xml
index 3c66998..cb4167b 100644
--- a/res/xml/connected_devices_advanced.xml
+++ b/res/xml/connected_devices_advanced.xml
@@ -54,14 +54,6 @@
settings:keywords="@string/keywords_wifi_display_settings"/>
<com.android.settingslib.RestrictedPreference
- android:fragment="com.android.settings.nfc.AndroidBeam"
- android:key="android_beam_settings"
- android:title="@string/android_beam_settings_title"
- settings:controller="com.android.settings.nfc.AndroidBeamPreferenceController"
- android:icon="@drawable/ic_android"
- android:order="-5"/>
-
- <com.android.settingslib.RestrictedPreference
android:key="connected_device_printing"
android:title="@string/print_settings"
android:summary="@string/summary_placeholder"
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 7ea4be4..49b2174 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -314,7 +314,6 @@
public static class ConfigureWifiSettingsActivity extends SettingsActivity { /* empty */ }
public static class SavedAccessPointsSettingsActivity extends SettingsActivity { /* empty */ }
public static class TextToSpeechSettingsActivity extends SettingsActivity { /* empty */ }
- public static class AndroidBeamSettingsActivity extends SettingsActivity { /* empty */ }
public static class WifiDisplaySettingsActivity extends SettingsActivity { /* empty */ }
public static class DreamSettingsActivity extends SettingsActivity { /* empty */ }
/** Activity to manage communal settings */
diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
index e90ed87..ee2dc05 100644
--- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
@@ -54,7 +54,6 @@
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
-import com.android.server.accessibility.Flags;
import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
import com.android.settingslib.widget.LottieColorUtils;
@@ -412,23 +411,6 @@
return new TutorialPage(type, title, image, indicatorIcon, instruction);
}
- private static TutorialPage createTwoFingerTripleTapTutorialPage(@NonNull Context context) {
- // TODO(b/308088945): Update tutorial string and image when UX provides them
- final int type = UserShortcutType.TWOFINGERTRIPLETAP;
- final CharSequence title =
- context.getText(R.string.accessibility_tutorial_dialog_title_two_finger_triple);
- final View image =
- createIllustrationViewWithImageRawResource(context,
- R.raw.a11y_shortcut_type_triple_tap);
- final CharSequence instruction =
- context.getText(R.string.accessibility_tutorial_dialog_message_two_finger_triple);
- final ImageView indicatorIcon =
- createImageView(context, R.drawable.ic_accessibility_page_indicator);
- indicatorIcon.setEnabled(false);
-
- return new TutorialPage(type, title, image, indicatorIcon, instruction);
- }
-
@VisibleForTesting
static List<TutorialPage> createShortcutTutorialPages(@NonNull Context context,
int shortcutTypes) {
@@ -445,13 +427,6 @@
tutorialPages.add(createTripleTapTutorialPage(context));
}
- if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
- if ((shortcutTypes & UserShortcutType.TWOFINGERTRIPLETAP)
- == UserShortcutType.TWOFINGERTRIPLETAP) {
- tutorialPages.add(createTwoFingerTripleTapTutorialPage(context));
- }
- }
-
return tutorialPages;
}
diff --git a/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
index e2d92c7..8e230cb 100644
--- a/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
@@ -17,12 +17,10 @@
import android.app.settings.SettingsEnums;
import android.content.Context;
-import android.content.pm.PackageManager;
import android.provider.SearchIndexableResource;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.nfc.AndroidBeamPreferenceController;
import com.android.settings.print.PrintSettingPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.uwb.UwbPreferenceController;
@@ -112,17 +110,6 @@
}
@Override
- public List<String> getNonIndexableKeys(Context context) {
- final List<String> keys = super.getNonIndexableKeys(context);
- PackageManager pm = context.getPackageManager();
- if (!pm.hasSystemFeature(PackageManager.FEATURE_NFC)) {
- keys.add(AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
- }
-
- return keys;
- }
-
- @Override
public List<AbstractPreferenceController> createPreferenceControllers(
Context context) {
return buildControllers(context, null /* lifecycle */);
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index e89f20e..554d23e 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -143,7 +143,6 @@
import com.android.settings.network.telephony.MobileNetworkSettings;
import com.android.settings.network.telephony.NetworkSelectSettings;
import com.android.settings.network.tether.TetherSettings;
-import com.android.settings.nfc.AndroidBeam;
import com.android.settings.nfc.PaymentSettings;
import com.android.settings.notification.ConfigureNotificationSettings;
import com.android.settings.notification.NotificationAccessSettings;
@@ -258,7 +257,6 @@
PrivateVolumeForget.class.getName(),
PublicVolumeSettings.class.getName(),
DevelopmentSettingsDashboardFragment.class.getName(),
- AndroidBeam.class.getName(),
WifiDisplaySettings.class.getName(),
PowerUsageSummary.class.getName(),
AccountSyncSettings.class.getName(),
diff --git a/src/com/android/settings/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java
deleted file mode 100644
index 9df24a5..0000000
--- a/src/com/android/settings/nfc/AndroidBeam.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (C) 2011 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.
- */
-
-package com.android.settings.nfc;
-
-import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.nfc.NfcAdapter;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.Switch;
-import android.widget.TextView;
-
-import com.android.settings.R;
-import com.android.settings.SettingsActivity;
-import com.android.settings.core.InstrumentedFragment;
-import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
-import com.android.settings.widget.SettingsMainSwitchBar;
-import com.android.settingslib.HelpUtils;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
-
-public class AndroidBeam extends InstrumentedFragment
- implements OnMainSwitchChangeListener {
- private View mView;
- private NfcAdapter mNfcAdapter;
- private SettingsMainSwitchBar mSwitchBar;
- private CharSequence mOldActivityTitle;
- private boolean mBeamDisallowedByBase;
- private boolean mBeamDisallowedByOnlyAdmin;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- final Context context = getActivity();
- mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
- final PackageManager pm = context.getPackageManager();
- if (mNfcAdapter == null || !pm.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM))
- getActivity().finish();
- setHasOptionsMenu(true);
- }
-
- @Override
- public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
- super.onCreateOptionsMenu(menu, inflater);
- HelpUtils.prepareHelpMenuItem(getActivity(), menu, R.string.help_uri_beam,
- getClass().getName());
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
- getActivity(), UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId());
- final UserManager um = UserManager.get(getActivity());
- mBeamDisallowedByBase = RestrictedLockUtilsInternal.hasBaseUserRestriction(getActivity(),
- UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId());
- if (!mBeamDisallowedByBase && admin != null) {
- new ActionDisabledByAdminDialogHelper(getActivity())
- .prepareDialogBuilder(UserManager.DISALLOW_OUTGOING_BEAM, admin).show();
- mBeamDisallowedByOnlyAdmin = true;
- return new View(getContext());
- }
- mView = inflater.inflate(
- com.android.settingslib.widget.preference.footer.R.layout.preference_footer, container, false);
-
- ImageView iconInfo = mView.findViewById(android.R.id.icon);
- iconInfo.setImageResource(R.drawable.ic_info_outline_24dp);
- TextView textInfo = mView.findViewById(android.R.id.title);
- textInfo.setText(R.string.android_beam_explained);
-
- return mView;
- }
-
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- SettingsActivity activity = (SettingsActivity) getActivity();
-
- mOldActivityTitle = activity.getActionBar().getTitle();
-
- mSwitchBar = activity.getSwitchBar();
- if (mBeamDisallowedByOnlyAdmin) {
- mSwitchBar.hide();
- } else {
- mSwitchBar.setChecked(!mBeamDisallowedByBase && mNfcAdapter.isNdefPushEnabled());
- mSwitchBar.addOnSwitchChangeListener(this);
- mSwitchBar.setEnabled(!mBeamDisallowedByBase);
- mSwitchBar.show();
- }
-
- activity.setTitle(R.string.android_beam_settings_title);
- }
-
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- if (mOldActivityTitle != null) {
- getActivity().getActionBar().setTitle(mOldActivityTitle);
- }
- if (!mBeamDisallowedByOnlyAdmin) {
- mSwitchBar.removeOnSwitchChangeListener(this);
- mSwitchBar.hide();
- }
- }
-
- @Override
- public void onSwitchChanged(Switch switchView, boolean desiredState) {
- boolean success = false;
- mSwitchBar.setEnabled(false);
- if (desiredState) {
- success = mNfcAdapter.enableNdefPush();
- } else {
- success = mNfcAdapter.disableNdefPush();
- }
- if (success) {
- mSwitchBar.setChecked(desiredState);
- }
- mSwitchBar.setEnabled(true);
- }
-
- @Override
- public int getMetricsCategory() {
- return SettingsEnums.NFC_BEAM;
- }
-}
diff --git a/src/com/android/settings/nfc/AndroidBeamEnabler.java b/src/com/android/settings/nfc/AndroidBeamEnabler.java
deleted file mode 100644
index 31ef702..0000000
--- a/src/com/android/settings/nfc/AndroidBeamEnabler.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2018 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.
- */
-
-package com.android.settings.nfc;
-
-import android.content.Context;
-import android.nfc.NfcAdapter;
-import android.os.UserHandle;
-import android.os.UserManager;
-
-import com.android.settings.R;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.settingslib.RestrictedPreference;
-
-/**
- * AndroidBeanEnabler is a helper to manage the Android Beam preference. It turns on/off
- * Android Beam and ensures the summary of the preference reflects the current state.
- */
-public class AndroidBeamEnabler extends BaseNfcEnabler {
- private final boolean mBeamDisallowedBySystem;
- private final RestrictedPreference mPreference;
-
- public AndroidBeamEnabler(Context context, RestrictedPreference preference) {
- super(context);
- mPreference = preference;
- mBeamDisallowedBySystem = RestrictedLockUtilsInternal.hasBaseUserRestriction(context,
- UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId());
- if (!isNfcAvailable()) {
- // NFC is not supported
- mPreference.setEnabled(false);
- return;
- }
- if (mBeamDisallowedBySystem) {
- mPreference.setEnabled(false);
- }
- }
-
- @Override
- protected void handleNfcStateChanged(int newState) {
- switch (newState) {
- case NfcAdapter.STATE_OFF:
- mPreference.setEnabled(false);
- mPreference.setSummary(R.string.nfc_disabled_summary);
- break;
- case NfcAdapter.STATE_ON:
- if (mBeamDisallowedBySystem) {
- mPreference.setDisabledByAdmin(null);
- mPreference.setEnabled(false);
- } else {
- mPreference.checkRestrictionAndSetDisabled(UserManager.DISALLOW_OUTGOING_BEAM);
- }
- if (mNfcAdapter.isNdefPushEnabled() && mPreference.isEnabled()) {
- mPreference.setSummary(R.string.android_beam_on_summary);
- } else {
- mPreference.setSummary(R.string.android_beam_off_summary);
- }
- break;
- case NfcAdapter.STATE_TURNING_ON:
- mPreference.setEnabled(false);
- break;
- case NfcAdapter.STATE_TURNING_OFF:
- mPreference.setEnabled(false);
- break;
- }
- }
-}
diff --git a/src/com/android/settings/nfc/AndroidBeamPreferenceController.java b/src/com/android/settings/nfc/AndroidBeamPreferenceController.java
deleted file mode 100644
index 15c15aa..0000000
--- a/src/com/android/settings/nfc/AndroidBeamPreferenceController.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2018 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.
- */
-package com.android.settings.nfc;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.nfc.NfcAdapter;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
-
-public class AndroidBeamPreferenceController extends BasePreferenceController
- implements LifecycleObserver, OnResume, OnPause {
-
- public static final String KEY_ANDROID_BEAM_SETTINGS = "android_beam_settings";
- private final NfcAdapter mNfcAdapter;
- private AndroidBeamEnabler mAndroidBeamEnabler;
-
- public AndroidBeamPreferenceController(Context context, String key) {
- super(context, key);
- mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
- }
-
- @Override
- public void displayPreference(PreferenceScreen screen) {
- super.displayPreference(screen);
- if (!isAvailable()) {
- mAndroidBeamEnabler = null;
- return;
- }
-
- final RestrictedPreference restrictedPreference = screen.findPreference(getPreferenceKey());
- mAndroidBeamEnabler = new AndroidBeamEnabler(mContext, restrictedPreference);
- }
-
- @Override
- @AvailabilityStatus
- public int getAvailabilityStatus() {
- PackageManager pm = mContext.getPackageManager();
- if (!pm.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM)) {
- return UNSUPPORTED_ON_DEVICE;
- }
- return mNfcAdapter != null
- ? AVAILABLE
- : UNSUPPORTED_ON_DEVICE;
- }
-
- @Override
- public void onResume() {
- if (mAndroidBeamEnabler != null) {
- mAndroidBeamEnabler.resume();
- }
- }
-
- @Override
- public void onPause() {
- if (mAndroidBeamEnabler != null) {
- mAndroidBeamEnabler.pause();
- }
- }
-}
diff --git a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
index 3274aec..6f246b7 100644
--- a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
+++ b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
@@ -18,44 +18,31 @@
import android.content.ComponentName;
import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
import android.os.UserHandle;
-import android.os.UserManager;
import android.provider.Settings;
-import android.service.notification.NotificationAssistantService;
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
-import com.android.settingslib.PrimarySwitchPreference;
import com.google.common.annotations.VisibleForTesting;
-import java.util.List;
-
public class NotificationAssistantPreferenceController extends TogglePreferenceController {
private static final String TAG = "NASPreferenceController";
static final String KEY_NAS = "notification_assistant";
- private final UserManager mUserManager;
- private final PackageManager mPackageManager;
private Fragment mFragment;
private int mUserId = UserHandle.myUserId();
@VisibleForTesting
protected NotificationBackend mNotificationBackend;
private ComponentName mDefaultNASComponent;
- private Intent mNASSettingIntent;
public NotificationAssistantPreferenceController(Context context) {
super(context, KEY_NAS);
- mUserManager = UserManager.get(context);
mNotificationBackend = new NotificationBackend();
- mPackageManager = context.getPackageManager();
getDefaultNASIntent();
}
@@ -118,12 +105,6 @@
@VisibleForTesting
void getDefaultNASIntent() {
mDefaultNASComponent = mNotificationBackend.getDefaultNotificationAssistant();
- if (mDefaultNASComponent != null) {
- mNASSettingIntent = new Intent(
- NotificationAssistantService.ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS);
- mNASSettingIntent.setPackage(mDefaultNASComponent.getPackageName());
- mNASSettingIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- }
}
@Override
@@ -136,7 +117,6 @@
super.updateState(preference);
if (mDefaultNASComponent == null) {
preference.setEnabled(false);
- ((PrimarySwitchPreference) preference).setSwitchEnabled(false);
}
}
}
diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java
index 0bf1255..714f3ee 100644
--- a/src/com/android/settings/password/ChooseLockGeneric.java
+++ b/src/com/android/settings/password/ChooseLockGeneric.java
@@ -201,6 +201,14 @@
}
@Override
+ public void onPause() {
+ super.onPause();
+ if (!getActivity().isChangingConfigurations() && !mWaitingForConfirmation) {
+ finish();
+ }
+ }
+
+ @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Activity activity = getActivity();
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index 800adb0..e74a2ff 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -219,6 +219,13 @@
findViewById(R.id.content_parent).setFitsSystemWindows(false);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
+ @Override
+ public void onPause() {
+ super.onPause();
+ if (!isChangingConfigurations()) {
+ finish();
+ }
+ }
public static class ChooseLockPasswordFragment extends InstrumentedFragment
implements OnEditorActionListener, TextWatcher, SaveAndFinishWorker.Listener {
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index 20d1e7d..f0c432e 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -98,6 +98,14 @@
return modIntent;
}
+ @Override
+ public void onPause() {
+ super.onPause();
+ if (!isChangingConfigurations()) {
+ finish();
+ }
+ }
+
public static class IntentBuilder {
private final Intent mIntent;
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java
index d6a2492..5d3557f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java
@@ -32,15 +32,11 @@
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
-import android.platform.test.annotations.RequiresFlagsEnabled;
-import android.platform.test.flag.junit.CheckFlagsRule;
-import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.view.View;
import androidx.appcompat.app.AlertDialog;
import androidx.test.core.app.ApplicationProvider;
-import com.android.server.accessibility.Flags;
import com.android.settings.SettingsActivity;
import com.android.settings.SubSettings;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -63,8 +59,6 @@
@Rule
public final MockitoRule mMockitoRule = MockitoJUnit.rule();
- @Rule
- public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
@Mock
private DialogInterface.OnClickListener mOnClickListener;
@Mock
@@ -96,19 +90,6 @@
}
@Test
- @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
- public void createTutorialPages_turnOnTwoFingerTripleTapShortcut_hasOnePage() {
- mShortcutTypes |= UserShortcutType.TWOFINGERTRIPLETAP;
-
- final AlertDialog alertDialog =
- createAccessibilityTutorialDialog(mContext, mShortcutTypes);
-
- assertThat(createShortcutTutorialPages(mContext,
- mShortcutTypes)).hasSize(/* expectedSize= */ 1);
- assertThat(alertDialog).isNotNull();
- }
-
- @Test
public void createTutorialPages_turnOnSoftwareShortcut_hasOnePage() {
mShortcutTypes |= UserShortcutType.SOFTWARE;
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java
index aed3787..107d77c 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java
@@ -23,7 +23,6 @@
import android.nfc.NfcAdapter;
import android.provider.SearchIndexableResource;
-import com.android.settings.nfc.AndroidBeamPreferenceController;
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settings.testutils.shadow.ShadowNfcAdapter;
import com.android.settings.testutils.shadow.ShadowUserManager;
@@ -78,14 +77,4 @@
public void testGetCategoryKey_returnCategoryDevice() {
assertThat(mFragment.getCategoryKey()).isEqualTo(CategoryKey.CATEGORY_DEVICE);
}
-
- @Test
- public void testSearchIndexProvider_correctNonIndexables() {
- mShadowNfcAdapter.setSecureNfcSupported(true);
- final List<String> niks =
- AdvancedConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
- .getNonIndexableKeys(mContext);
-
- assertThat(niks).contains(AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
- }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java
deleted file mode 100644
index 7e15618..0000000
--- a/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (C) 2018 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.
- */
-
-package com.android.settings.nfc;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.nfc.NfcAdapter;
-import android.nfc.NfcManager;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.Settings;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.testutils.shadow.ShadowNfcAdapter;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.settingslib.RestrictedPreference;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-import org.robolectric.shadow.api.Shadow;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowNfcAdapter.class)
-public class AndroidBeamPreferenceControllerTest {
-
- Context mContext;
- @Mock
- NfcManager mNfcManager;
- @Mock
- private UserManager mUserManager;
- @Mock
- private PreferenceScreen mScreen;
- @Mock
- private PackageManager mPackageManager;
-
- private RestrictedPreference mAndroidBeamPreference;
- private AndroidBeamPreferenceController mAndroidBeamController;
- private ShadowNfcAdapter mShadowNfcAdapter;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mContext = spy(RuntimeEnvironment.application);
- mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext));
-
- when(mContext.getApplicationContext()).thenReturn(mContext);
- when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
- when(mContext.getSystemService(Context.NFC_SERVICE)).thenReturn(mNfcManager);
- when(RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext,
- UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId())).thenReturn(false);
-
- mAndroidBeamController = new AndroidBeamPreferenceController(mContext,
- AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
- mAndroidBeamPreference = new RestrictedPreference(RuntimeEnvironment.application);
- when(mScreen.findPreference(mAndroidBeamController.getPreferenceKey())).thenReturn(
- mAndroidBeamPreference);
- when(mContext.getPackageManager()).thenReturn(mPackageManager);
- when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM)).thenReturn(true);
-
- Settings.Global.putString(mContext.getContentResolver(),
- Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS,
- Settings.Global.RADIO_NFC);
- Settings.Global.putInt(mContext.getContentResolver(),
- Settings.Global.AIRPLANE_MODE_ON,
- 0);
- mAndroidBeamController.displayPreference(mScreen);
- }
-
- @Test
- public void isAvailable_hasNfc_shouldReturnTrue() {
- mShadowNfcAdapter.setEnabled(true);
- assertThat(mAndroidBeamController.isAvailable()).isTrue();
- }
-
- @Test
- public void isAvailable_noNfcFeature_shouldReturnFalse() {
- mShadowNfcAdapter.setEnabled(true);
- when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM)).thenReturn(false);
- assertThat(mAndroidBeamController.isAvailable()).isFalse();
- }
-
- @Test
- public void isAvailable_noNfcAdapter_shouldReturnFalse() {
- ReflectionHelpers.setField(mAndroidBeamController, "mNfcAdapter", null);
- assertThat(mAndroidBeamController.isAvailable()).isFalse();
- }
-
- @Test
- public void isBeamEnable_disAllowBeam_shouldReturnFalse() {
- mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_OFF);
-
- when(RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext,
- UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId())).thenReturn(true);
- mAndroidBeamController.displayPreference(mScreen);
-
- assertThat(mAndroidBeamPreference.isEnabled()).isFalse();
- }
-
- @Test
- public void isBeamEnable_nfcStateOn_shouldReturnTrue() {
- mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_ON);
- try {
- mAndroidBeamController.onResume();
- } catch (NullPointerException e) {
- // skip because it's just test
- // it will meet NullPointerException in checkRestrictionAndSetDisabled
- }
- assertThat(mAndroidBeamPreference.isEnabled()).isTrue();
- }
-
- @Test
- public void isBeamEnable_nfcStateNotOn_shouldReturnFalse() {
- mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_OFF);
- mAndroidBeamController.onResume();
- assertThat(mAndroidBeamPreference.isEnabled()).isFalse();
-
- mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_TURNING_ON);
- mAndroidBeamController.onResume();
- assertThat(mAndroidBeamPreference.isEnabled()).isFalse();
-
- mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_TURNING_OFF);
- mAndroidBeamController.onResume();
- assertThat(mAndroidBeamPreference.isEnabled()).isFalse();
- }
-
- @Test
- public void updateNonIndexableKeys_available_shouldNotUpdate() {
- mShadowNfcAdapter.setEnabled(true);
- final List<String> keys = new ArrayList<>();
-
- mAndroidBeamController.updateNonIndexableKeys(keys);
-
- assertThat(keys).isEmpty();
- }
-
- @Test
- public void updateNonIndexableKeys_notAvailable_shouldUpdate() {
- ReflectionHelpers.setField(mAndroidBeamController, "mNfcAdapter", null);
- final List<String> keys = new ArrayList<>();
-
- mAndroidBeamController.updateNonIndexableKeys(keys);
-
- assertThat(keys).hasSize(1);
- }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
index 5f506b8..7606057 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
@@ -16,18 +16,12 @@
package com.android.settings.notification;
-import static android.service.notification.NotificationAssistantService.ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS;
-
-import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
@@ -35,24 +29,19 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import android.app.Application;
import android.content.ComponentName;
import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.os.UserManager;
import android.provider.Settings;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.testutils.shadow.ShadowSecureSettings;
-import com.android.settingslib.PrimarySwitchPreference;
import org.junit.Before;
import org.junit.Test;
@@ -61,12 +50,7 @@
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
-import org.robolectric.Shadows;
import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
-
-import java.util.ArrayList;
-import java.util.List;
@RunWith(RobolectricTestRunner.class)
@@ -86,27 +70,19 @@
private FragmentTransaction mFragmentTransaction;
@Mock
private NotificationBackend mBackend;
- @Mock
- private UserManager mUserManager;
- @Mock
- private PackageManager mPackageManager;
private NotificationAssistantPreferenceController mPreferenceController;
ComponentName mNASComponent = new ComponentName("pkgname", "clsname");
- private PrimarySwitchPreference mPreference;
- private ShadowApplication mShadowApplication;
+ private TwoStatePreference mPreference;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mContext = spy(ApplicationProvider.getApplicationContext());
- mPreference = spy(new PrimarySwitchPreference(mContext));
- mShadowApplication = ShadowApplication.getInstance();
- mShadowApplication.setSystemService(Context.USER_SERVICE, mUserManager);
+ mPreference = spy(new SwitchPreferenceCompat(mContext));
doReturn(mContext).when(mFragment).getContext();
when(mFragment.getFragmentManager()).thenReturn(mFragmentManager);
when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
when(mBackend.getDefaultNotificationAssistant()).thenReturn(mNASComponent);
- when(mContext.getPackageManager()).thenReturn(mPackageManager);
mPreferenceController = new NotificationAssistantPreferenceController(mContext);
mPreferenceController.setBackend(mBackend);
mPreferenceController.setFragment(mFragment);
@@ -117,19 +93,6 @@
mPreference.setKey(NotificationAssistantPreferenceController.KEY_NAS);
screen.addPreference(mPreference);
mPreferenceController.displayPreference(screen);
-
- when(mUserManager.getProfileIds(eq(0), anyBoolean())).thenReturn(new int[] {0, 10});
- when(mUserManager.getProfileIds(eq(20), anyBoolean())).thenReturn(new int[] {20});
-
- ActivityInfo activityInfo1 = new ActivityInfo();
- activityInfo1.packageName = "pkgname";
- activityInfo1.name = "name";
- ResolveInfo resolveInfo1 = new ResolveInfo();
- resolveInfo1.activityInfo = activityInfo1;
- List<ResolveInfo> resolvers1 = new ArrayList<>();
- resolvers1.add(resolveInfo1);
- when(mPackageManager.queryIntentActivities(any(Intent.class), any()))
- .thenReturn(resolvers1);
}
@Test
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
index e625827..a099a39 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
@@ -54,7 +54,9 @@
import android.provider.Settings.Global;
import androidx.annotation.Nullable;
+import androidx.lifecycle.Lifecycle;
import androidx.preference.Preference;
+import androidx.test.core.app.ActivityScenario;
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.LockscreenCredential;
@@ -613,15 +615,29 @@
mFragment.getString(R.string.face_unlock_set_unlock_password));
}
+ @Test
+ public void activity_dismisses_InBackground() {
+ ActivityScenario<ChooseLockPassword> scenario =
+ ActivityScenario.launchActivityForResult(getChooseLockGenericIntent(null));
+ scenario.moveToState(Lifecycle.State.RESUMED);
+ scenario.moveToState(Lifecycle.State.CREATED);
+ assertThat(scenario.getResult()).isNotNull();
+ }
+
private void initActivity(@Nullable Intent intent) {
+ final Intent theIntent = getChooseLockGenericIntent(intent);
+ // TODO(b/275023433) This presents the activity from being made 'visible` is workaround
+ mActivity = Robolectric.buildActivity(ChooseLockGeneric.InternalActivity.class, theIntent)
+ .create().start().postCreate(null).resume().get();
+ mActivity.getSupportFragmentManager().beginTransaction().add(mFragment, null).commitNow();
+ }
+
+ private Intent getChooseLockGenericIntent(@Nullable Intent intent) {
if (intent == null) {
intent = new Intent();
}
intent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, false);
- // TODO(b/275023433) This presents the activity from being made 'visible` is workaround
- mActivity = Robolectric.buildActivity(ChooseLockGeneric.InternalActivity.class, intent)
- .create().start().postCreate(null).resume().get();
- mActivity.getSupportFragmentManager().beginTransaction().add(mFragment, null).commitNow();
+ return intent;
}
private static String capitalize(final String input) {
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index dea936d..ed8179b 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -47,6 +47,9 @@
import android.widget.CheckBox;
import android.widget.TextView;
+import androidx.lifecycle.Lifecycle;
+import androidx.test.core.app.ActivityScenario;
+
import com.android.internal.widget.LockscreenCredential;
import com.android.settings.R;
import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment;
@@ -515,16 +518,31 @@
assertThat(pinAutoConfirmOption.isChecked()).isFalse();
}
+ @Test
+ public void activity_dismisses_InBackground() {
+ ActivityScenario<ChooseLockPassword> scenario =
+ ActivityScenario.launchActivityForResult(getLockPasswordIntent());
+ scenario.moveToState(Lifecycle.State.RESUMED);
+ scenario.moveToState(Lifecycle.State.CREATED);
+ assertThat(scenario.getResult()).isNotNull();
+ }
+
private ChooseLockPassword setupActivityWithPinTypeAndDefaultPolicy() {
PasswordPolicy policy = new PasswordPolicy();
policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
return buildChooseLockPasswordActivity(
- new IntentBuilder(application)
- .setUserId(UserHandle.myUserId())
- .setPasswordType(PASSWORD_QUALITY_NUMERIC)
- .setPasswordRequirement(PASSWORD_COMPLEXITY_NONE, policy.getMinMetrics())
- .build());
+ getLockPasswordIntent());
+ }
+
+ private Intent getLockPasswordIntent() {
+ PasswordPolicy policy = new PasswordPolicy();
+ policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
+ return new IntentBuilder(application)
+ .setUserId(UserHandle.myUserId())
+ .setPasswordType(PASSWORD_QUALITY_NUMERIC)
+ .setPasswordRequirement(PASSWORD_COMPLEXITY_NONE, policy.getMinMetrics())
+ .build();
}
private ChooseLockPassword buildChooseLockPasswordActivity(Intent intent) {
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
index 7715c62..da12ee4 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
@@ -30,6 +30,9 @@
import android.os.UserHandle;
import android.view.View;
+import androidx.lifecycle.Lifecycle;
+import androidx.test.core.app.ActivityScenario;
+
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.LockscreenCredential;
import com.android.settings.R;
@@ -137,16 +140,29 @@
R.string.lockpassword_draw_your_pattern_again_header));
}
+ @Test
+ public void activity_dismisses_InBackground() {
+ ActivityScenario<ChooseLockPattern> scenario =
+ ActivityScenario.launchActivityForResult(getLockPatternIntent(false));
+ scenario.moveToState(Lifecycle.State.RESUMED);
+ scenario.moveToState(Lifecycle.State.CREATED);
+ assertThat(scenario.getResult()).isNotNull();
+ }
+
private ChooseLockPattern createActivity(boolean addFingerprintExtra) {
return Robolectric.buildActivity(
- ChooseLockPattern.class,
- new IntentBuilder(application)
- .setUserId(UserHandle.myUserId())
- .setForFingerprint(addFingerprintExtra)
- .build())
+ ChooseLockPattern.class,
+ getLockPatternIntent(addFingerprintExtra))
.setup().get();
}
+ private Intent getLockPatternIntent(boolean addFingerprintExtra) {
+ return new IntentBuilder(application)
+ .setUserId(UserHandle.myUserId())
+ .setForFingerprint(addFingerprintExtra)
+ .build();
+ }
+
private LockscreenCredential createPattern(String patternString) {
return LockscreenCredential.createPattern(LockPatternUtils.byteArrayToPattern(
patternString.getBytes()));