From 188fe36c8db99e035b3cd34fa021f0b1b44c51c5 Mon Sep 17 00:00:00 2001 From: Kevin Han Date: Mon, 21 Mar 2022 18:03:39 -0700 Subject: [PATCH 1/8] Update hibernation toggle string Update the toggle string in App Info to make it more clear that notifications will stop for hibernating apps. Bug: 201759939 Test: manual, check screenshots in bug Change-Id: Ie7223ad7d92ae43fbb644b8d0a9f9c95309dbce0 --- res/values/strings.xml | 10 ++++++++-- res/xml/app_info_settings.xml | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 5fc3d6185df..d8bab602e1d 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -10408,8 +10408,14 @@ %d unused apps - - Remove permissions and free up space + + Unused app settings + + + Pause app activity + + + Remove permissions, delete temporary files, and stop notifications if unused All apps diff --git a/res/xml/app_info_settings.xml b/res/xml/app_info_settings.xml index bb5fbae7564..95fefb63a12 100644 --- a/res/xml/app_info_settings.xml +++ b/res/xml/app_info_settings.xml @@ -148,6 +148,7 @@ From a28770e4591cc645d1398320dc4dda44299d13e8 Mon Sep 17 00:00:00 2001 From: Yi-Ling Chuang Date: Tue, 8 Mar 2022 18:20:15 +0800 Subject: [PATCH 2/8] Add visibility control for the UiBlocker The existing UiBlocker mechanism doesn't support additional visibility control. With that, controllers that want to control their own visibility won't be able to use UiBlocker. Fixes: 223340393 Test: robotest Change-Id: I2df2eb1ce77e2c94bb271a8b68cc8c6004df5c70 --- .../core/BasePreferenceController.java | 44 +++++++++++++++++++ .../settings/dashboard/DashboardFragment.java | 15 ++++++- .../dashboard/UiBlockerController.java | 2 +- 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/core/BasePreferenceController.java b/src/com/android/settings/core/BasePreferenceController.java index c90fe48bc9c..6cc09e23369 100644 --- a/src/com/android/settings/core/BasePreferenceController.java +++ b/src/com/android/settings/core/BasePreferenceController.java @@ -121,10 +121,13 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl protected final String mPreferenceKey; protected UiBlockListener mUiBlockListener; + protected boolean mUiBlockerFinished; private boolean mIsForWork; @Nullable private UserHandle mWorkProfileUser; private int mMetricsCategory; + private boolean mIsFirstLaunch; + private boolean mPrefVisibility; /** * Instantiate a controller as specified controller type and user-defined key. @@ -195,6 +198,8 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl public BasePreferenceController(Context context, String preferenceKey) { super(context); mPreferenceKey = preferenceKey; + mIsFirstLaunch = true; + mPrefVisibility = true; if (TextUtils.isEmpty(mPreferenceKey)) { throw new IllegalArgumentException("Preference key must be set"); } @@ -326,6 +331,13 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl } } + /** + * Set back the value of whether this is the first launch. + */ + public void revokeFirstLaunch() { + mIsFirstLaunch = false; + } + /** * Launches the specified fragment for the work profile user if the associated * {@link Preference} is clicked. Otherwise just forward it to the super class. @@ -378,6 +390,14 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl mUiBlockListener = uiBlockListener; } + public void setUiBlockerFinished(boolean isFinished) { + mUiBlockerFinished = isFinished; + } + + public boolean getSavedPrefVisibility() { + return mPrefVisibility; + } + /** * Listener to invoke when background job is finished */ @@ -428,4 +448,28 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl protected UserHandle getWorkProfileUser() { return mWorkProfileUser; } + + /** + * Used for {@link BasePreferenceController} that implements {@link UiBlocker} to control the + * preference visibility. + */ + protected void updatePreferenceVisibilityDelegate(Preference preference, boolean isVisible) { + if (mUiBlockerFinished || !mIsFirstLaunch) { + preference.setVisible(isVisible); + return; + } + + savePrefVisibility(isVisible); + + // Preferences that should be invisible have a high priority to be updated since the + // whole UI should be blocked/invisible. While those that should be visible will be + // updated once the blocker work is finished. That's done in DashboardFragment. + if (!isVisible) { + preference.setVisible(false); + } + } + + private void savePrefVisibility(boolean isVisible) { + mPrefVisibility = isVisible; + } } diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index 6ac0fa47db8..bff8226910e 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -250,6 +250,11 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment } mListeningToCategoryChange = false; } + mControllers.forEach(controller -> { + if (controller instanceof BasePreferenceController.UiBlocker) { + ((BasePreferenceController) controller).revokeFirstLaunch(); + } + }); } @Override @@ -424,7 +429,14 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment for (AbstractPreferenceController controller : controllerList) { final String key = controller.getPreferenceKey(); final Preference preference = findPreference(key); - if (preference != null) { + if (preference == null) { + continue; + } + if (controller instanceof BasePreferenceController.UiBlocker) { + final boolean prefVisible = + ((BasePreferenceController) controller).getSavedPrefVisibility(); + preference.setVisible(visible && controller.isAvailable() && prefVisible); + } else { preference.setVisible(visible && controller.isAvailable()); } } @@ -496,6 +508,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment @Override public void onBlockerWorkFinished(BasePreferenceController controller) { mBlockerController.countDown(controller.getPreferenceKey()); + controller.setUiBlockerFinished(mBlockerController.isBlockerFinished()); } protected Preference createPreference(Tile tile) { diff --git a/src/com/android/settings/dashboard/UiBlockerController.java b/src/com/android/settings/dashboard/UiBlockerController.java index 710175b112b..b3729f13e1e 100644 --- a/src/com/android/settings/dashboard/UiBlockerController.java +++ b/src/com/android/settings/dashboard/UiBlockerController.java @@ -37,7 +37,7 @@ import java.util.concurrent.TimeUnit; */ public class UiBlockerController { private static final String TAG = "UiBlockerController"; - private static final int TIMEOUT_MILLIS = 500; + private static final int TIMEOUT_MILLIS = 300; private CountDownLatch mCountDownLatch; private boolean mBlockerFinished; From 5a535e6674d8dcbbf5f6dcd729d19b8f6b005ad2 Mon Sep 17 00:00:00 2001 From: Gary Jian Date: Tue, 15 Mar 2022 16:18:42 +0800 Subject: [PATCH 3/8] Add a developer option to controll mockmodemservice permission Bug: 220995034 Test: 1.enable/disable from developer option and check the property value 2.atest MockModemPreferenceControllerTest Change-Id: Iaa1a29f4214e1208fe4de497ff4b05c47c34b266 --- res/values/strings.xml | 5 + res/xml/development_settings.xml | 5 + .../DevelopmentSettingsDashboardFragment.java | 1 + .../MockModemPreferenceController.java | 86 ++++++++++++++ .../MockModemPreferenceControllerTest.java | 111 ++++++++++++++++++ 5 files changed, 208 insertions(+) create mode 100644 src/com/android/settings/development/MockModemPreferenceController.java create mode 100644 tests/unit/src/com/android/settings/development/MockModemPreferenceControllerTest.java diff --git a/res/values/strings.xml b/res/values/strings.xml index 5042302d8aa..47cdad56d25 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -13172,6 +13172,11 @@ Allow apps that can display over other apps to overlay Settings screens + + Allow Mock Modem + + Allow this device to run Mock Modem service for instrumentation testing. Do not enable this during normal usage of the phone + Media diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml index cd37f4cbb96..61eafc8444f 100644 --- a/res/xml/development_settings.xml +++ b/res/xml/development_settings.xml @@ -252,6 +252,11 @@ android:title="@string/force_high_refresh_rate_toggle" android:summary="@string/force_high_refresh_rate_desc" /> + + Date: Wed, 23 Mar 2022 02:09:19 +0800 Subject: [PATCH 4/8] Fix ConnectivityManager.requestNetwork crash issue when try again - When the user requests "try again", the Network-Request-Dialog will be recreated. If the Wi-Fi framework sends the callback result at this time, the Network-Request-Dialog may not be ready at the moment, causing the NPE to crash. - Add NPE checks to avoid crash issues. Bug: 220679437 Test: manual test make RunSettingsRoboTests \ ROBOTEST_FILTER=NetworkRequestDialogActivityTest Change-Id: I8e48a29649e72d9f8c67c4ac24f0eb27ba600dae --- .../wifi/NetworkRequestDialogActivity.java | 24 +++++-- .../NetworkRequestDialogActivityTest.java | 64 +++++++++++-------- 2 files changed, 53 insertions(+), 35 deletions(-) diff --git a/src/com/android/settings/wifi/NetworkRequestDialogActivity.java b/src/com/android/settings/wifi/NetworkRequestDialogActivity.java index b160d904293..30f38d299e5 100644 --- a/src/com/android/settings/wifi/NetworkRequestDialogActivity.java +++ b/src/com/android/settings/wifi/NetworkRequestDialogActivity.java @@ -58,12 +58,17 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements final static String EXTRA_IS_SPECIFIED_SSID = "com.android.settings.wifi.extra.REQUEST_IS_FOR_SINGLE_NETWORK"; - @VisibleForTesting NetworkRequestDialogBaseFragment mDialogFragment; + @VisibleForTesting + NetworkRequestDialogBaseFragment mDialogFragment; + @VisibleForTesting + boolean mIsSpecifiedSsid; + @VisibleForTesting + boolean mShowingErrorDialog; + @VisibleForTesting + ProgressDialog mProgressDialog; + private NetworkRequestUserSelectionCallback mUserSelectionCallback; - private boolean mIsSpecifiedSsid; - private boolean mShowingErrorDialog; private WifiConfiguration mMatchedConfig; - @VisibleForTesting ProgressDialog mProgressDialog; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -103,7 +108,8 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements mDialogFragment.show(getSupportFragmentManager(), TAG); } - private void dismissDialogs() { + @VisibleForTesting + void dismissDialogs() { if (mDialogFragment != null) { mDialogFragment.dismiss(); mDialogFragment = null; @@ -174,7 +180,9 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements return; } - mDialogFragment.onUserSelectionCallbackRegistration(userSelectionCallback); + if (mDialogFragment != null) { + mDialogFragment.onUserSelectionCallbackRegistration(userSelectionCallback); + } } @Override @@ -201,7 +209,9 @@ public class NetworkRequestDialogActivity extends FragmentActivity implements return; } - mDialogFragment.onMatch(scanResults); + if (mDialogFragment != null) { + mDialogFragment.onMatch(scanResults); + } } @Override diff --git a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java index fb200453d4d..616cb0bde39 100644 --- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java +++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java @@ -25,7 +25,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.content.Context; import android.content.Intent; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; @@ -42,9 +41,12 @@ import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_ import com.android.wifitrackerlib.WifiPickerTracker; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.MockitoAnnotations; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; @@ -61,25 +63,26 @@ public class NetworkRequestDialogActivityTest { private static final String TEST_SSID = "testssid"; private static final String TEST_CAPABILITY = "wep"; - NetworkRequestDialogActivity mActivity; + @Rule + public MockitoRule mRule = MockitoJUnit.rule(); + @Mock WifiManager mWifiManager; - Context mContext; + @Mock + NetworkRequestUserSelectionCallback mNetworkRequestUserSelectionCallback; + + NetworkRequestDialogActivity mActivity; + List mScanResults = new ArrayList<>(); @Before public void setUp() { - MockitoAnnotations.initMocks(this); - mContext = spy(RuntimeEnvironment.application); FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest(); when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker( any(), any(), any(), any(), any(), anyLong(), anyLong(), any())) .thenReturn(mock(WifiPickerTracker.class)); + mScanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); - NetworkRequestDialogActivity activity = - Robolectric.setupActivity(NetworkRequestDialogActivity.class); - mActivity = spy(activity); - - mWifiManager = mock(WifiManager.class); - when(mActivity.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager); + mActivity = spy(Robolectric.setupActivity(NetworkRequestDialogActivity.class)); + when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager); } @Test @@ -169,10 +172,7 @@ public class NetworkRequestDialogActivityTest { public void specifiedSsid_onMatch_shouldShowDialogFragment() { startSpecifiedActivity(); - final List scanResults = new ArrayList<>(); - scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); - - mActivity.onMatch(scanResults); + mActivity.onMatch(mScanResults); assertThat(mActivity.mProgressDialog).isNull(); assertThat(mActivity.mDialogFragment).isNotNull(); @@ -193,9 +193,7 @@ public class NetworkRequestDialogActivityTest { public void onUserSelectionConnectFailure_shouldShowDialogFragment() { WifiConfiguration wifiConfiguration = mock(WifiConfiguration.class); startSpecifiedActivity(); - final List scanResults = new ArrayList<>(); - scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); - mActivity.onMatch(scanResults); + mActivity.onMatch(mScanResults); mActivity.onUserSelectionConnectFailure(wifiConfiguration); @@ -205,13 +203,9 @@ public class NetworkRequestDialogActivityTest { @Test public void onClickConnectButton_shouldShowProgressDialog() { - NetworkRequestUserSelectionCallback networkRequestUserSelectionCallback = mock( - NetworkRequestUserSelectionCallback.class); startSpecifiedActivity(); - final List scanResults = new ArrayList<>(); - scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); - mActivity.onMatch(scanResults); - mActivity.onUserSelectionCallbackRegistration(networkRequestUserSelectionCallback); + mActivity.onMatch(mScanResults); + mActivity.onUserSelectionCallbackRegistration(mNetworkRequestUserSelectionCallback); mActivity.onClickConnectButton(); @@ -222,9 +216,7 @@ public class NetworkRequestDialogActivityTest { @Test public void onCancel_shouldCloseAllUI() { startSpecifiedActivity(); - final List scanResults = new ArrayList<>(); - scanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY)); - mActivity.onMatch(scanResults); + mActivity.onMatch(mScanResults); mActivity.onCancel(); @@ -240,4 +232,20 @@ public class NetworkRequestDialogActivityTest { verify(mActivity).finish(); } + + @Test + public void onUserSelectionCallbackRegistration_dismissDialogsAndDialogIsNull_shouldNotCrash() { + mActivity.dismissDialogs(); + + mActivity.onUserSelectionCallbackRegistration(mNetworkRequestUserSelectionCallback); + } + + @Test + public void onMatch_dismissDialogsAndDialogIsNull_shouldNotCrash() { + mActivity.mIsSpecifiedSsid = false; + mActivity.mShowingErrorDialog = false; + mActivity.dismissDialogs(); + + mActivity.onMatch(mScanResults); + } } From 418d78f978aba58bad8b6770e0238942260ed153 Mon Sep 17 00:00:00 2001 From: SongFerngWang Date: Wed, 23 Mar 2022 02:42:34 +0800 Subject: [PATCH 5/8] [LE adudio] The condition of right location is wrong. 1. Fix the condition of right location. 2. If the location is left+right, showing the legacy battery style. Bug: 225800014 Test: build pass. local test. Change-Id: I03d1d7bfe26d52e0b69d24aec6bd3216350403a0 --- .../LeAudioBluetoothDetailsHeaderController.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java index 06cee852442..7b74f77806a 100644 --- a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java +++ b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java @@ -275,11 +275,15 @@ public class LeAudioBluetoothDetailsHeaderController extends BasePreferenceContr return; } boolean isLeft = (deviceId & LEFT_DEVICE_ID) != 0; - boolean isRight = (deviceId & LEFT_DEVICE_ID) != 0; + boolean isRight = (deviceId & RIGHT_DEVICE_ID) != 0; boolean isLeftRight = isLeft && isRight; // The LE device updates the BatteryLayout if (isLeftRight) { - Log.d(TAG, "The device id is left+right. Do nothing."); + Log.d(TAG, "Show the legacy battery style if the device id is left+right."); + final TextView summary = mLayoutPreference.findViewById(R.id.entity_header_summary); + if (summary != null) { + summary.setText(mCachedDevice.getConnectionSummary()); + } } else if (isLeft) { updateBatteryLayout(getBatteryTitleResource(LEFT_DEVICE_ID), getBatterySummaryResource(LEFT_DEVICE_ID), cachedDevice.getBatteryLevel()); From f5cd7140f4f9a54c1d60f3f5711a669cc3ad1337 Mon Sep 17 00:00:00 2001 From: Weng Su Date: Wed, 23 Mar 2022 06:16:59 +0800 Subject: [PATCH 6/8] Fix adding wifi configuration issue - The Wi-Fi Enterprise Restrictions add a new UserManager.DISALLOW_ADD_WIFI_CONFIG restriction from T. - When a user requests to add Wi-Fi configuration, Settings will reject the request if the user is not allowed. - The above restriction need to be retrieved in advance so that the user's request will not be rejected. - See the result screenshot in b/224459753#comment8 Bug: 224459753 Test: manual test make RunSettingsRoboTests ROBOTEST_FILTER=AddAppNetworksActivity Change-Id: I2dfb6b9946dd9dbd4eb8bf0f6549ac5cb4466f17 --- .../addappnetworks/AddAppNetworksActivity.java | 11 ++++++----- .../addappnetworks/AddAppNetworksActivityTest.java | 14 +++++++++++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java index f1e656851d5..169bcb3d838 100644 --- a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java +++ b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivity.java @@ -56,8 +56,6 @@ public class AddAppNetworksActivity extends FragmentActivity { final Bundle mBundle = new Bundle(); @VisibleForTesting IActivityManager mActivityManager = ActivityManager.getService(); - @VisibleForTesting - boolean mIsAddWifiConfigAllow; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { @@ -74,8 +72,6 @@ public class AddAppNetworksActivity extends FragmentActivity { window.setGravity(Gravity.BOTTOM); window.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT); - - mIsAddWifiConfigAllow = WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this); } @Override @@ -90,7 +86,7 @@ public class AddAppNetworksActivity extends FragmentActivity { @VisibleForTesting protected boolean showAddNetworksFragment() { - if (!mIsAddWifiConfigAllow) { + if (!isAddWifiConfigAllow()) { Log.d(TAG, "Not allowed by Enterprise Restriction"); return false; } @@ -129,4 +125,9 @@ public class AddAppNetworksActivity extends FragmentActivity { } return packageName; } + + @VisibleForTesting + boolean isAddWifiConfigAllow() { + return WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this); + } } diff --git a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java index 6cd20fc26fb..8391b8aa8dd 100644 --- a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java +++ b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java @@ -39,15 +39,14 @@ public class AddAppNetworksActivityTest { @Mock private IActivityManager mIActivityManager; - private AddAppNetworksActivity mActivity; + private FakeAddAppNetworksActivity mActivity; @Before public void setUp() { MockitoAnnotations.initMocks(this); - mActivity = Robolectric.buildActivity(AddAppNetworksActivity.class).create().get(); + mActivity = Robolectric.buildActivity(FakeAddAppNetworksActivity.class).create().get(); mActivity.mActivityManager = mIActivityManager; - mActivity.mIsAddWifiConfigAllow = true; } @Test @@ -92,4 +91,13 @@ public class AddAppNetworksActivityTest { // Do nothing. } } + + private static class FakeAddAppNetworksActivity extends AddAppNetworksActivity { + boolean mIsAddWifiConfigAllow = true; + + @Override + boolean isAddWifiConfigAllow() { + return mIsAddWifiConfigAllow; + } + } } From b355af9a87b38001bd3604b22ce886d6702f58a7 Mon Sep 17 00:00:00 2001 From: Hugh Chen Date: Wed, 23 Mar 2022 03:04:23 +0000 Subject: [PATCH 7/8] Update the string Bug: 225982666 Test: build pass Change-Id: I47a9a27fedcc657d1cbd41708607174486d33fc2 --- res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 0ae67e5f566..9c967302fad 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -14094,7 +14094,7 @@ *This is a temporary placeholder fallback activity. - Spatial audio + Spatial Audio Audio from compatible media becomes more immersive From 1933ffacabe77153508f9e9e8ff142e10e8adbc1 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Wed, 23 Mar 2022 17:19:21 +0800 Subject: [PATCH 8/8] Fix SetupChooseLockPasswordTest Test fail is caused by method getVisibleScreenLockTypes() renamed to getVisibleAndEnabledScreenLockTypes() in https://googleplex-android-review.git.corp.google.com/c/platform/packages/apps/Settings/+/14269154 Fix: 201021223 Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.password.SetupChooseLockPasswordTest" Change-Id: Idcc7a9794217c1ef81ca4a26351e26773b18ccad --- .../settings/password/SetupChooseLockPasswordTest.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java index 2678aff7bde..a1b844b1b49 100644 --- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java +++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java @@ -46,7 +46,6 @@ import com.google.android.setupcompat.template.FooterBarMixin; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; @@ -106,7 +105,6 @@ public class SetupChooseLockPasswordTest { @Test @Config(shadows = ShadowChooseLockGenericController.class) - @Ignore public void createActivity_withShowOptionsButtonExtra_buttonNotVisibleIfNoVisibleLockTypes() { SetupChooseLockPassword activity = createSetupChooseLockPassword(); Button optionsButton = activity.findViewById(R.id.screen_lock_options); @@ -206,7 +204,7 @@ public class SetupChooseLockPasswordTest { @Implements(ChooseLockGenericController.class) public static class ShadowChooseLockGenericController { @Implementation - protected List getVisibleScreenLockTypes() { + protected List getVisibleAndEnabledScreenLockTypes() { return Collections.emptyList(); } }