Merge "Add support for @EnabledSince compat changes"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 2f53cc1..969f68d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -38,7 +38,6 @@
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
-    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
index 1d82f65..5fcedba 100644
--- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
@@ -83,6 +83,10 @@
     /** Called to change the default subscription for the service. */
     protected abstract void setDefaultSubscription(int subscriptionId);
 
+    protected boolean isAskEverytimeSupported() {
+        return true;
+    }
+
     @Override
     public int getAvailabilityStatus(int subId) {
         final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
@@ -123,7 +127,11 @@
             // display subscription based account
             return info.getDisplayName();
         } else {
-            return mContext.getString(R.string.calls_and_sms_ask_every_time);
+            if (isAskEverytimeSupported()) {
+                return mContext.getString(R.string.calls_and_sms_ask_every_time);
+            } else {
+                return "";
+            }
         }
     }
 
@@ -163,9 +171,12 @@
                 subIsAvailable = true;
             }
         }
-        // Add the extra "Ask every time" value at the end.
-        displayNames.add(mContext.getString(R.string.calls_and_sms_ask_every_time));
-        subscriptionIds.add(Integer.toString(SubscriptionManager.INVALID_SUBSCRIPTION_ID));
+
+        if (isAskEverytimeSupported()) {
+            // Add the extra "Ask every time" value at the end.
+            displayNames.add(mContext.getString(R.string.calls_and_sms_ask_every_time));
+            subscriptionIds.add(Integer.toString(SubscriptionManager.INVALID_SUBSCRIPTION_ID));
+        }
 
         mPreference.setEntries(displayNames.toArray(new CharSequence[0]));
         mPreference.setEntryValues(subscriptionIds.toArray(new CharSequence[0]));
diff --git a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
index cf544ab..fadddd5 100644
--- a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
@@ -23,8 +23,12 @@
 
 public class SmsDefaultSubscriptionController extends DefaultSubscriptionController {
 
+    private final boolean mIsAskEverytimeSupported;
+
     public SmsDefaultSubscriptionController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        mIsAskEverytimeSupported = mContext.getResources()
+                .getBoolean(com.android.internal.R.bool.config_sms_ask_every_time_support);
     }
 
     @Override
@@ -43,6 +47,11 @@
     }
 
     @Override
+    protected boolean isAskEverytimeSupported() {
+        return mIsAskEverytimeSupported;
+    }
+
+    @Override
     public PhoneAccountHandle getDefaultCallingAccountHandle() {
         // Not supporting calling account override by VoIP
         return null;
diff --git a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
index e914b01..e251669 100644
--- a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
@@ -35,6 +35,6 @@
         // Nightmode is currently hidden
         preferenceKeys.remove("night_mode");
 
-        assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
+        assertThat(preferenceScreenKeys).containsAtLeastElementsIn(preferenceKeys);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/LegalSettingsTest.java b/tests/robotests/src/com/android/settings/LegalSettingsTest.java
index 78a5ee3..3418a40 100644
--- a/tests/robotests/src/com/android/settings/LegalSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/LegalSettingsTest.java
@@ -46,6 +46,6 @@
 
         final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, R.xml.about_legal);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/SettingsInitializeTest.java b/tests/robotests/src/com/android/settings/SettingsInitializeTest.java
index c28ffc4..a8f42c2 100644
--- a/tests/robotests/src/com/android/settings/SettingsInitializeTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsInitializeTest.java
@@ -94,6 +94,6 @@
 
         final List<ShortcutInfo> updatedShortcuts = mShortcutManager.getPinnedShortcuts();
         assertThat(updatedShortcuts).hasSize(1);
-        assertThat(updatedShortcuts.get(0)).isSameAs(info);
+        assertThat(updatedShortcuts.get(0)).isSameInstanceAs(info);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index bf63130..889ed95 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -99,7 +99,7 @@
         final List<String> keys =
                 XmlTestUtils.getKeysFromPreferenceXml(mContext, R.xml.accessibility_settings);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
index 2bb93b5..37673c1 100644
--- a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
@@ -280,7 +280,7 @@
 
         final List<String> expectedPackages = Arrays.asList(testDialer, testSms,
                 testLocationHistory);
-        assertThat(keepEnabledPackages).containsAllIn(expectedPackages);
+        assertThat(keepEnabledPackages).containsAtLeastElementsIn(expectedPackages);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
index a5ac209..9a65dc8 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
@@ -420,7 +420,7 @@
         mController.forceStopPackage(PACKAGE_NAME);
 
         verify(mAm).forceStopPackage(PACKAGE_NAME);
-        assertThat(mController.mAppEntry).isSameAs(appEntry);
+        assertThat(mController.mAppEntry).isSameInstanceAs(appEntry);
         verify(mController).updateForceStopButton();
     }
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
index 8be6b30..a969e06 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.biometrics.fingerprint;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -92,7 +93,7 @@
         ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
         IntentForResult startedActivity =
                 shadowActivity.getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity 1").isNotNull();
+        assertWithMessage("Next activity 1").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(new ComponentName(application, FingerprintEnrollEnrolling.class));
     }
@@ -107,12 +108,12 @@
         ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
         IntentForResult startedActivity =
                 shadowActivity.getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity 1").isNotNull();
+        assertWithMessage("Next activity 1").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(new ComponentName(application, FingerprintEnrollEnrolling.class));
 
         // Should only start one next activity
-        assertThat(shadowActivity.getNextStartedActivityForResult()).named("Next activity 2")
+        assertWithMessage("Next activity 2").that(shadowActivity.getNextStartedActivityForResult())
                 .isNull();
     }
 
@@ -129,7 +130,7 @@
         ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
         IntentForResult startedActivity =
                 shadowActivity.getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity").isNotNull();
+        assertWithMessage("Next activity").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(new ComponentName(application, FingerprintEnrollEnrolling.class));
     }
@@ -140,7 +141,7 @@
         layout.getMixin(FooterBarMixin.class).getSecondaryButtonView().performClick();
 
         ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
-        assertThat(shadowActivity.getResultCode()).named("result code")
+        assertWithMessage("result code").that(shadowActivity.getResultCode())
                 .isEqualTo(BiometricEnrollBase.RESULT_SKIP);
     }
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java
index 9fa6099..ea5511d 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.biometrics.fingerprint;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -70,12 +71,13 @@
         final Button cancelButton =
                 layout.getMixin(FooterBarMixin.class).getSecondaryButtonView();
         assertThat(cancelButton.getText().toString()).isEqualTo("Cancel");
-        assertThat(cancelButton.getVisibility()).named("Cancel visible").isEqualTo(View.VISIBLE);
+        assertWithMessage("Cancel visible").that(cancelButton.getVisibility())
+                .isEqualTo(View.VISIBLE);
         cancelButton.performClick();
 
         ShadowActivity shadowActivity = Shadows.shadowOf(mController.get());
-        assertThat(mController.get().isFinishing()).named("Is finishing").isTrue();
-        assertThat(shadowActivity.getResultCode()).named("Result code")
+        assertWithMessage("Is finishing").that(mController.get().isFinishing()).isTrue();
+        assertWithMessage("Result code").that(shadowActivity.getResultCode())
             .isEqualTo(Activity.RESULT_CANCELED);
     }
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java
index 57a56fc..e238a0e 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java
@@ -19,6 +19,7 @@
 import static com.android.settings.biometrics.fingerprint.FingerprintEnrollFinish.FINGERPRINT_SUGGESTION_ACTIVITY;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -76,7 +77,7 @@
 
         ShadowActivity.IntentForResult startedActivity =
                 Shadows.shadowOf(mActivity).getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity").isNotNull();
+        assertWithMessage("Next activity").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(enrollingComponent);
     }
@@ -91,7 +92,7 @@
 
         ShadowActivity.IntentForResult startedActivity =
                 Shadows.shadowOf(mActivity).getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity").isNotNull();
+        assertWithMessage("Next activity").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(enrollingComponent);
     }
@@ -162,4 +163,4 @@
         assertThat(application.getPackageManager().getComponentEnabledSetting(
                 mComponentName)).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
     }
-}
\ No newline at end of file
+}
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 3fa0ed4..4c15e08 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.biometrics.fingerprint;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -90,12 +91,12 @@
                 mController.get().findViewById(R.id.setup_wizard_layout);
         final Button skipButton =
                 layout.getMixin(FooterBarMixin.class).getSecondaryButtonView();
-        assertThat(skipButton.getVisibility()).named("Skip visible").isEqualTo(View.VISIBLE);
+        assertWithMessage("Skip visible").that(skipButton.getVisibility()).isEqualTo(View.VISIBLE);
         skipButton.performClick();
 
         ShadowActivity shadowActivity = Shadows.shadowOf(mController.get());
-        assertThat(mController.get().isFinishing()).named("Is finishing").isTrue();
-        assertThat(shadowActivity.getResultCode()).named("Result code")
+        assertWithMessage("Is finishing").that(mController.get().isFinishing()).isTrue();
+        assertWithMessage("Result code").that(shadowActivity.getResultCode())
             .isEqualTo(SetupSkipDialog.RESULT_SKIP);
     }
 
@@ -109,12 +110,12 @@
                 mController.get().findViewById(R.id.setup_wizard_layout);
         final Button skipButton =
                 layout.getMixin(FooterBarMixin.class).getSecondaryButtonView();
-        assertThat(skipButton.getVisibility()).named("Skip visible").isEqualTo(View.VISIBLE);
+        assertWithMessage("Skip visible").that(skipButton.getVisibility()).isEqualTo(View.VISIBLE);
         skipButton.performClick();
 
         ShadowActivity shadowActivity = Shadows.shadowOf(mController.get());
-        assertThat(mController.get().isFinishing()).named("Is finishing").isTrue();
-        assertThat(shadowActivity.getResultCode()).named("Result code")
+        assertWithMessage("Is finishing").that(mController.get().isFinishing()).isTrue();
+        assertWithMessage("Result code").that(shadowActivity.getResultCode())
             .isEqualTo(BiometricEnrollBase.RESULT_SKIP);
     }
 
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
index 9b1c411..a6bd865 100644
--- a/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
+++ b/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
@@ -47,6 +47,6 @@
         MetricsFeatureProvider feature2 =
                 FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
 
-        assertThat(feature1).isSameAs(feature2);
+        assertThat(feature1).isSameInstanceAs(feature2);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java b/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java
index 64eaad5..a0db866 100644
--- a/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java
@@ -67,7 +67,7 @@
 
     @Test
     public void getInstance_shouldBeSingleton() {
-        assertThat(mCategoryManager).isSameAs(CategoryManager.get(mContext));
+        assertThat(mCategoryManager).isSameInstanceAs(CategoryManager.get(mContext));
     }
 
     @Test
@@ -147,9 +147,9 @@
         mCategoryManager.sortCategories(RuntimeEnvironment.application, mCategoryByKeyMap);
 
         // Verify they are now sorted.
-        assertThat(category.getTile(0)).isSameAs(tile3);
-        assertThat(category.getTile(1)).isSameAs(tile1);
-        assertThat(category.getTile(2)).isSameAs(tile2);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile3);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile1);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile2);
     }
 
     @Test
@@ -170,9 +170,9 @@
         mCategoryManager.sortCategories(mContext, mCategoryByKeyMap);
 
         // Verify they are now sorted.
-        assertThat(category.getTile(0)).isSameAs(tile2);
-        assertThat(category.getTile(1)).isSameAs(tile1);
-        assertThat(category.getTile(2)).isSameAs(tile3);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile2);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile1);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile3);
     }
 
     @Test
@@ -192,9 +192,9 @@
         mCategoryManager.sortCategories(mContext, mCategoryByKeyMap);
 
         // Verify the sorting order is not changed
-        assertThat(category.getTile(0)).isSameAs(tile1);
-        assertThat(category.getTile(1)).isSameAs(tile2);
-        assertThat(category.getTile(2)).isSameAs(tile3);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile1);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile2);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile3);
     }
 
     @Test
@@ -217,10 +217,10 @@
         mCategoryManager.sortCategories(mContext, mCategoryByKeyMap);
 
         // Verify the sorting order is not changed
-        assertThat(category.getTile(0)).isSameAs(tile1);
-        assertThat(category.getTile(1)).isSameAs(tile2);
-        assertThat(category.getTile(2)).isSameAs(tile3);
-        assertThat(category.getTile(3)).isSameAs(tile4);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile1);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile2);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile3);
+        assertThat(category.getTile(3)).isSameInstanceAs(tile4);
     }
 
     @Test
@@ -242,9 +242,9 @@
         mCategoryManager.sortCategories(mContext, mCategoryByKeyMap);
 
         // Verify the sorting order is internal first, follow by package name ordering
-        assertThat(category.getTile(0)).isSameAs(tile2);
-        assertThat(category.getTile(1)).isSameAs(tile3);
-        assertThat(category.getTile(2)).isSameAs(tile1);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile2);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile3);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile1);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
index e70578e..b5125af 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
@@ -129,7 +129,7 @@
         final TestPreferenceController retrievedController = mTestFragment.use
                 (TestPreferenceController.class);
 
-        assertThat(controller).isSameAs(retrievedController);
+        assertThat(controller).isSameInstanceAs(retrievedController);
     }
 
     @Test
@@ -142,7 +142,7 @@
         final TestPreferenceController retrievedController = mTestFragment.use
                 (TestPreferenceController.class);
 
-        assertThat(controller1).isSameAs(retrievedController);
+        assertThat(controller1).isSameInstanceAs(retrievedController);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
index 1acbcda..d21aa04 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
@@ -54,7 +54,7 @@
         when(countryTimeZones.getTimeZoneMappings()).thenReturn(emptyList());
         when(mCountryZonesFinder.lookupCountryTimeZones("US")).thenReturn(countryTimeZones);
         assertThat(timeZoneData.lookupCountryTimeZones("US").getCountryTimeZones())
-                .isSameAs(countryTimeZones);
+                .isSameInstanceAs(countryTimeZones);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
index 0faddc3..163529b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
@@ -533,7 +533,7 @@
         BatterySipper sipper = mBatteryUtils.findBatterySipperByType(mUsageList,
                 BatterySipper.DrainType.SCREEN);
 
-        assertThat(sipper).isSameAs(mScreenBatterySipper);
+        assertThat(sipper).isSameInstanceAs(mScreenBatterySipper);
     }
 
     @Test
@@ -541,7 +541,7 @@
         BatterySipper sipper = mBatteryUtils.findBatterySipperByType(mUsageList,
                 BatterySipper.DrainType.APP);
 
-        assertThat(sipper).isSameAs(mNormalBatterySipper);
+        assertThat(sipper).isSameInstanceAs(mNormalBatterySipper);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index 7839e1a..a94ca93 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -232,7 +232,7 @@
         final List<String> keys =
                 XmlTestUtils.getKeysFromPreferenceXml(context, R.xml.power_usage_summary);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
index a6a362e..5a92aa2 100644
--- a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
@@ -133,7 +133,7 @@
 
         final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
@@ -151,7 +151,7 @@
             preferenceKeys.add(controller.getPreferenceKey());
         }
 
-        assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
+        assertThat(preferenceScreenKeys).containsAtLeastElementsIn(preferenceKeys);
     }
 
     /**
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
index a7e59fc..5fd417d 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
@@ -22,6 +22,7 @@
 import static android.provider.Settings.Global.PRIVATE_DNS_MODE;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.mock;
@@ -145,13 +146,13 @@
             mPreference.mEditText.setText(invalid);
 
             mPreference.onCheckedChanged(null, R.id.private_dns_mode_off);
-            assertThat(mSaveButton.isEnabled()).named("off: " + invalid).isTrue();
+            assertWithMessage("off: " + invalid).that(mSaveButton.isEnabled()).isTrue();
 
             mPreference.onCheckedChanged(null, R.id.private_dns_mode_opportunistic);
-            assertThat(mSaveButton.isEnabled()).named("opportunistic: " + invalid).isTrue();
+            assertWithMessage("opportunistic: " + invalid).that(mSaveButton.isEnabled()).isTrue();
 
             mPreference.onCheckedChanged(null, R.id.private_dns_mode_provider);
-            assertThat(mSaveButton.isEnabled()).named("provider: " + invalid).isFalse();
+            assertWithMessage("provider: " + invalid).that(mSaveButton.isEnabled()).isFalse();
         }
     }
 
diff --git a/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java b/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java
index 525f3ef..6740cb0 100644
--- a/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java
@@ -113,7 +113,7 @@
         final List<String> niks =
                 PaymentSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
 
-        assertThat(niks).containsAllOf(FOREGROUND_KEY, PAYMENT_KEY);
+        assertThat(niks).containsAtLeast(FOREGROUND_KEY, PAYMENT_KEY);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java b/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
index b6f06f4..af0567f 100644
--- a/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
@@ -70,7 +70,7 @@
         keys.add("ring_volume");
         keys.add("notification_volume");
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java
index 4adc01b..5067de6 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java
@@ -22,6 +22,7 @@
 import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -84,24 +85,24 @@
     public void isScreenLockVisible_shouldRespectResourceConfig() {
         for (ScreenLockType lock : ScreenLockType.values()) {
             // All locks except managed defaults to visible
-            assertThat(mController.isScreenLockVisible(lock)).named(lock + " visible")
+            assertWithMessage(lock + " visible").that(mController.isScreenLockVisible(lock))
                     .isEqualTo(lock != ScreenLockType.MANAGED);
         }
 
         SettingsShadowResources.overrideResource(R.bool.config_hide_none_security_option, true);
         SettingsShadowResources.overrideResource(R.bool.config_hide_swipe_security_option, true);
-        assertThat(mController.isScreenLockVisible(ScreenLockType.NONE)).named("NONE visible")
+        assertWithMessage("NONE visible").that(mController.isScreenLockVisible(ScreenLockType.NONE))
                 .isFalse();
-        assertThat(mController.isScreenLockVisible(ScreenLockType.SWIPE)).named("SWIPE visible")
-                .isFalse();
+        assertWithMessage("SWIPE visible").that(
+                mController.isScreenLockVisible(ScreenLockType.SWIPE)).isFalse();
     }
 
     @Test
     public void isScreenLockVisible_notCurrentUser_shouldHideInsecure() {
         mController = new ChooseLockGenericController(application, 1 /* userId */);
-        assertThat(mController.isScreenLockVisible(ScreenLockType.SWIPE)).named("SWIPE visible")
-                .isFalse();
-        assertThat(mController.isScreenLockVisible(ScreenLockType.NONE)).named("NONE visible")
+        assertWithMessage("SWIPE visible").that(
+                mController.isScreenLockVisible(ScreenLockType.SWIPE)).isFalse();
+        assertWithMessage("NONE visible").that(mController.isScreenLockVisible(ScreenLockType.NONE))
                 .isFalse();
     }
 
@@ -109,34 +110,31 @@
     public void isScreenLockVisible_managedPasswordChoosable_shouldShowManaged() {
         doReturn(true).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
 
-        assertThat(mController.isScreenLockVisible(ScreenLockType.MANAGED)).named("MANAGED visible")
-                .isTrue();
+        assertWithMessage("MANAGED visible").that(
+                mController.isScreenLockVisible(ScreenLockType.MANAGED)).isTrue();
     }
 
     @Test
     public void isScreenLockEnabled_lowerQuality_shouldReturnFalse() {
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockEnabled(lock, lock.maxQuality + 1))
-                    .named(lock + " enabled")
-                    .isFalse();
+            assertWithMessage(lock + " enabled").that(
+                    mController.isScreenLockEnabled(lock, lock.maxQuality + 1)).isFalse();
         }
     }
 
     @Test
     public void isScreenLockEnabled_equalQuality_shouldReturnTrue() {
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockEnabled(lock, lock.defaultQuality))
-                    .named(lock + " enabled")
-                    .isTrue();
+            assertWithMessage(lock + " enabled").that(
+                    mController.isScreenLockEnabled(lock, lock.defaultQuality)).isTrue();
         }
     }
 
     @Test
     public void isScreenLockEnabled_higherQuality_shouldReturnTrue() {
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockEnabled(lock, lock.maxQuality - 1))
-                    .named(lock + " enabled")
-                    .isTrue();
+            assertWithMessage(lock + " enabled").that(
+                    mController.isScreenLockEnabled(lock, lock.maxQuality - 1)).isTrue();
         }
     }
 
@@ -144,9 +142,8 @@
     public void isScreenLockDisabledByAdmin_lowerQuality_shouldReturnTrue() {
         doReturn(true).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality + 1))
-                    .named(lock + " disabledByAdmin")
-                    .isTrue();
+            assertWithMessage(lock + " disabledByAdmin").that(
+                    mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality + 1)).isTrue();
         }
     }
 
@@ -154,9 +151,8 @@
     public void isScreenLockDisabledByAdmin_equalQuality_shouldReturnFalse() {
         doReturn(true).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality))
-                    .named(lock + " disabledByAdmin")
-                    .isFalse();
+            assertWithMessage(lock + " disabledByAdmin").that(
+                    mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality)).isFalse();
         }
     }
 
@@ -164,18 +160,16 @@
     public void isScreenLockDisabledByAdmin_higherQuality_shouldReturnFalse() {
         doReturn(true).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality - 1))
-                    .named(lock + " disabledByAdmin")
-                    .isFalse();
+            assertWithMessage(lock + " disabledByAdmin").that(
+                    mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality - 1)).isFalse();
         }
     }
 
     @Test
     public void isScreenLockDisabledByAdmin_managedNotChoosable_shouldReturnTrue() {
         doReturn(false).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
-        assertThat(mController.isScreenLockDisabledByAdmin(
+        assertWithMessage("MANANGED disabledByAdmin").that(mController.isScreenLockDisabledByAdmin(
                 ScreenLockType.MANAGED, DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED))
-                .named("MANANGED disabledByAdmin")
                 .isTrue();
     }
 
@@ -218,7 +212,7 @@
 
         final int upgradedQuality =
             mController.upgradeQuality(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC);
-        assertThat(upgradedQuality).named("upgradedQuality")
+        assertWithMessage("upgradedQuality").that(upgradedQuality)
                 .isEqualTo(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC);
     }
 
@@ -230,7 +224,7 @@
 
         final int upgradedQuality =
             mController.upgradeQuality(DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
-        assertThat(upgradedQuality).named("upgradedQuality")
+        assertWithMessage("upgradedQuality").that(upgradedQuality)
                 .isEqualTo(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC);
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index 5ec6f41..3c8af7c 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -33,6 +33,7 @@
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -92,18 +93,16 @@
                 .setUserId(123)
                 .build();
 
-        assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true))
-                .named("EXTRA_KEY_HAS_CHALLENGE")
+        assertWithMessage("EXTRA_KEY_HAS_CHALLENGE").that(intent
+                .getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true))
                 .isFalse();
-        assertThat((LockscreenCredential) intent.getParcelableExtra(
-                ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
-                .named("EXTRA_KEY_PASSWORD")
+        assertWithMessage("EXTRA_KEY_PASSWORD").that(
+                (LockscreenCredential) intent.getParcelableExtra(
+                        ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
                 .isEqualTo(LockscreenCredential.createPassword("password"));
-        assertThat(intent.getIntExtra(PASSWORD_TYPE_KEY, 0))
-                .named("PASSWORD_TYPE_KEY")
+        assertWithMessage("PASSWORD_TYPE_KEY").that(intent.getIntExtra(PASSWORD_TYPE_KEY, 0))
                 .isEqualTo(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC);
-        assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
-                .named("EXTRA_USER_ID")
+        assertWithMessage("EXTRA_USER_ID").that(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
                 .isEqualTo(123);
     }
 
@@ -115,17 +114,15 @@
                 .setUserId(123)
                 .build();
 
-        assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false))
-                .named("EXTRA_KEY_HAS_CHALLENGE")
+        assertWithMessage("EXTRA_KEY_HAS_CHALLENGE").that(intent
+                .getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false))
                 .isTrue();
-        assertThat(intent.getLongExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0L))
-                .named("EXTRA_KEY_CHALLENGE")
+        assertWithMessage("EXTRA_KEY_CHALLENGE").that(intent
+                .getLongExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0L))
                 .isEqualTo(12345L);
-        assertThat(intent.getIntExtra(PASSWORD_TYPE_KEY, 0))
-                .named("PASSWORD_TYPE_KEY")
+        assertWithMessage("PASSWORD_TYPE_KEY").that(intent.getIntExtra(PASSWORD_TYPE_KEY, 0))
                 .isEqualTo(PASSWORD_QUALITY_ALPHANUMERIC);
-        assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
-                .named("EXTRA_USER_ID")
+        assertWithMessage("EXTRA_USER_ID").that(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
                 .isEqualTo(123);
     }
 
@@ -153,12 +150,12 @@
                 .setProfileToUnify(23, LockscreenCredential.createNone())
                 .build();
 
-        assertThat(intent.getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID, 0))
-                .named("EXTRA_KEY_UNIFICATION_PROFILE_ID")
+        assertWithMessage("EXTRA_KEY_UNIFICATION_PROFILE_ID").that(
+                intent.getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID, 0))
                 .isEqualTo(23);
-        assertThat((LockscreenCredential) intent.getParcelableExtra(
-                ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL))
-                .named("EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL")
+        assertWithMessage("EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL").that(
+                (LockscreenCredential) intent.getParcelableExtra(
+                        ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL))
                 .isNotNull();
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
index 3f3dcd6..e2d412d 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.password;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -58,16 +59,13 @@
                 .setUserId(123)
                 .build();
 
-        assertThat(intent
+        assertWithMessage("EXTRA_KEY_HAS_CHALLENGE").that(intent
                 .getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true))
-                .named("EXTRA_KEY_HAS_CHALLENGE")
                 .isFalse();
-        assertThat((LockscreenCredential) intent
+        assertWithMessage("EXTRA_KEY_PASSWORD").that((LockscreenCredential) intent
                 .getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
-                .named("EXTRA_KEY_PASSWORD")
                 .isEqualTo(createPattern("1234"));
-        assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
-                .named("EXTRA_USER_ID")
+        assertWithMessage("EXTRA_USER_ID").that(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
                 .isEqualTo(123);
     }
 
@@ -78,17 +76,14 @@
                 .setUserId(123)
                 .build();
 
-        assertThat(intent
+        assertWithMessage("EXTRA_KEY_HAS_CHALLENGE").that(intent
                 .getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false))
-                .named("EXTRA_KEY_HAS_CHALLENGE")
                 .isTrue();
-        assertThat(intent
+        assertWithMessage("EXTRA_KEY_CHALLENGE").that(intent
                 .getLongExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0L))
-                .named("EXTRA_KEY_CHALLENGE")
                 .isEqualTo(12345L);
-        assertThat(intent
+        assertWithMessage("EXTRA_USER_ID").that(intent
                 .getIntExtra(Intent.EXTRA_USER_ID, 0))
-                .named("EXTRA_USER_ID")
                 .isEqualTo(123);
     }
 
@@ -98,12 +93,12 @@
                 .setProfileToUnify(23, LockscreenCredential.createNone())
                 .build();
 
-        assertThat(intent.getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID, 0))
-                .named("EXTRA_KEY_UNIFICATION_PROFILE_ID")
+        assertWithMessage("EXTRA_KEY_UNIFICATION_PROFILE_ID").that(intent
+                .getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID, 0))
                 .isEqualTo(23);
-        assertThat((LockscreenCredential) intent.getParcelableExtra(
-                ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL))
-                .named("EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL")
+        assertWithMessage("EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL").that(
+                (LockscreenCredential) intent.getParcelableExtra(
+                        ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL))
                 .isNotNull();
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
index 1a76799..5242e11 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.password;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -115,7 +116,7 @@
         activity.findViewById(R.id.screen_lock_options).performClick();
         AlertDialog latestAlertDialog = (AlertDialog) ShadowDialog.getLatestDialog();
         int count = latestAlertDialog.getListView().getCount();
-        assertThat(count).named("List items shown").isEqualTo(3);
+        assertWithMessage("List items shown").that(count).isEqualTo(3);
     }
 
     @Test
@@ -141,7 +142,7 @@
         assertThat(nextStartedActivity).isNotNull();
         assertThat(nextStartedActivity.getBooleanExtra(
                 ChooseLockGenericFragment.EXTRA_SHOW_OPTIONS_BUTTON, false)).isTrue();
-        assertThat(nextStartedActivity.getStringExtra("foo")).named("Foo extra")
+        assertWithMessage("Foo extra").that(nextStartedActivity.getStringExtra("foo"))
                 .isEqualTo("bar");
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
index 4852546..53e68d9 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.password;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -112,7 +113,7 @@
         AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(chooserDialog).isNotNull();
         int count = chooserDialog.getListView().getCount();
-        assertThat(count).named("List items shown").isEqualTo(3);
+        assertWithMessage("List items shown").that(count).isEqualTo(3);
     }
 
     @Config(qualifiers = "sw400dp")
diff --git a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
index c9bff38..1fc0230 100644
--- a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
+++ b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
@@ -117,7 +117,7 @@
         }
 
         assertThat(keys).hasSize(3);
-        assertThat(keys).containsAllOf("pref_key_1", "pref_key_3", "pref_key_5");
+        assertThat(keys).containsAtLeast("pref_key_1", "pref_key_3", "pref_key_5");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java b/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java
index 2adad00..43d8d94 100644
--- a/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java
+++ b/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java
@@ -80,7 +80,7 @@
         final List<String> nonIndexableKeys =
                 SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
 
-        assertThat(nonIndexableKeys).containsAllIn(mTestKeys);
+        assertThat(nonIndexableKeys).containsAtLeastElementsIn(mTestKeys);
     }
 
 }
diff --git a/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java
index 8b5c5fe..294d05e 100644
--- a/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java
@@ -74,7 +74,7 @@
         List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(RuntimeEnvironment.application,
                 mTestFragment.getPreferenceScreenResId());
 
-        assertThat(keys).containsAllOf(LockscreenDashboardFragment.KEY_LOCK_SCREEN_NOTIFICATON,
+        assertThat(keys).containsAtLeast(LockscreenDashboardFragment.KEY_LOCK_SCREEN_NOTIFICATON,
                 LockscreenDashboardFragment.KEY_LOCK_SCREEN_NOTIFICATON_WORK_PROFILE,
                 LockscreenDashboardFragment.KEY_LOCK_SCREEN_NOTIFICATON_WORK_PROFILE_HEADER);
     }
diff --git a/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java
index 8dc0db5..392d44e 100644
--- a/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java
@@ -48,7 +48,7 @@
         final TrustAgentManager m1 = mImpl.getTrustAgentManager();
         final TrustAgentManager m2 = mImpl.getTrustAgentManager();
 
-        assertThat(m1).isSameAs(m2);
+        assertThat(m1).isSameInstanceAs(m2);
     }
 
     @Test
@@ -56,6 +56,6 @@
         final LockPatternUtils l1 = mImpl.getLockPatternUtils(mContext);
         final LockPatternUtils l2 = mImpl.getLockPatternUtils(mContext);
 
-        assertThat(l1).isSameAs(l2);
+        assertThat(l1).isSameInstanceAs(l2);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
index 7bdc368..baa4690 100644
--- a/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
@@ -73,7 +73,7 @@
 
         final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
index 2057788..2ecc1cb 100644
--- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
@@ -399,7 +399,7 @@
         ArgumentCaptor<UserPreference> captor = ArgumentCaptor.forClass(UserPreference.class);
         verify(mFragment.mUserListCategory).addPreference(captor.capture());
         UserPreference adminPref = captor.getValue();
-        assertThat(adminPref).isSameAs(mMePreference);
+        assertThat(adminPref).isSameInstanceAs(mMePreference);
     }
 
     @Test
@@ -418,7 +418,7 @@
         assertThat(guestPref.getKey()).isEqualTo(KEY_USER_GUEST);
         assertThat(guestPref.isEnabled()).isEqualTo(true);
         assertThat(guestPref.isSelectable()).isEqualTo(true);
-        assertThat(guestPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(guestPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
@@ -437,7 +437,7 @@
         assertThat(userPref.getKey()).isEqualTo("id=" + INACTIVE_SECONDARY_USER_ID);
         assertThat(userPref.isEnabled()).isEqualTo(true);
         assertThat(userPref.isSelectable()).isEqualTo(true);
-        assertThat(userPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(userPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
@@ -457,7 +457,7 @@
         assertThat(userPref.getSummary()).isEqualTo("Restricted profile");
         assertThat(userPref.isEnabled()).isEqualTo(true);
         assertThat(userPref.isSelectable()).isEqualTo(true);
-        assertThat(userPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(userPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
@@ -494,7 +494,7 @@
         assertThat(userPref.getSummary()).isEqualTo("Not set up - Restricted profile");
         assertThat(userPref.isEnabled()).isEqualTo(true);
         assertThat(userPref.isSelectable()).isEqualTo(true);
-        assertThat(userPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(userPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
@@ -519,7 +519,7 @@
         assertThat(userPref.getSummary()).isEqualTo("Not set up");
         assertThat(userPref.isEnabled()).isEqualTo(false);
         assertThat(userPref.isSelectable()).isEqualTo(true);
-        assertThat(userPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(userPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java b/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java
index f7702be..5a17622 100644
--- a/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java
+++ b/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java
@@ -36,6 +36,6 @@
         final Class clazz = LocalClassLoaderContextThemeWrapperTest.class;
         mContextThemeWrapper = new LocalClassLoaderContextThemeWrapper(clazz, context, 0);
 
-        assertThat(mContextThemeWrapper.getClassLoader()).isSameAs(clazz.getClassLoader());
+        assertThat(mContextThemeWrapper.getClassLoader()).isSameInstanceAs(clazz.getClassLoader());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
index df9a2c1..f73d0f7 100644
--- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
@@ -105,7 +105,7 @@
         mController = EntityHeaderController.newInstance(mActivity, mFragment, inputView);
         View view = mController.done(mActivity);
 
-        assertThat(view).isSameAs(inputView);
+        assertThat(view).isSameInstanceAs(inputView);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
index 9521e7a..89df035 100644
--- a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
@@ -36,6 +36,6 @@
 
         final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId);
         assertThat(keys).isNotNull();
-        assertThat(niks).containsAllIn(keys);
+        assertThat(niks).containsAtLeastElementsIn(keys);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
index 81615f2..c9d2119 100644
--- a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
@@ -103,7 +103,7 @@
             preferenceKeys.add(controller.getPreferenceKey());
         }
 
-        assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
+        assertThat(preferenceScreenKeys).containsAtLeastElementsIn(preferenceKeys);
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java b/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
index cc0253f..037c805 100644
--- a/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
+++ b/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
@@ -27,6 +27,7 @@
 import static androidx.test.espresso.matcher.ViewMatchers.withText;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.hamcrest.CoreMatchers.not;
 
@@ -80,7 +81,7 @@
         assertThat(skipOrClearButton.getText()).isEqualTo(mContext.getString(R.string.skip_label));
         assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
         skipOrClearButton.performClick();
-        assertThat(activity.isFinishing()).named("Is finishing").isTrue();
+        assertWithMessage("Is finishing").that(activity.isFinishing()).isTrue();
     }
 
     @Test