diff --git a/tests/robotests/assets/grandfather_not_implementing_instrumentable b/tests/robotests/assets/grandfather_not_implementing_instrumentable index 9356218eaf6..27ab65cf063 100644 --- a/tests/robotests/assets/grandfather_not_implementing_instrumentable +++ b/tests/robotests/assets/grandfather_not_implementing_instrumentable @@ -6,3 +6,4 @@ com.android.settings.password.ChooseLockPattern$SaveAndFinishWorker com.android.settings.RestrictedListPreference$RestrictedListPreferenceDialogFragment com.android.settings.password.ConfirmDeviceCredentialBaseFragment$LastTryDialog com.android.settings.password.CredentialCheckResultTracker +com.android.settings.localepicker.LocalePickerWithRegion diff --git a/tests/robotests/src/com/android/settings/HelpTrampolineTest.java b/tests/robotests/src/com/android/settings/HelpTrampolineTest.java index 2c7a8b96d42..46a1382a900 100644 --- a/tests/robotests/src/com/android/settings/HelpTrampolineTest.java +++ b/tests/robotests/src/com/android/settings/HelpTrampolineTest.java @@ -28,6 +28,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; @@ -55,8 +56,8 @@ public class HelpTrampolineTest { final Intent intent = new Intent().setClassName( RuntimeEnvironment.application.getPackageName(), HelpTrampoline.class.getName()) .putExtra(Intent.EXTRA_TEXT, "help_url_upgrading"); - final ShadowActivity shadow = - shadowOf(Robolectric.buildActivity(HelpTrampoline.class, intent).create().get()); + final ShadowActivity shadow = Shadows. + shadowOf(Robolectric.buildActivity(HelpTrampoline.class, intent).create().get()); final Intent launchedIntent = shadow.getNextStartedActivity(); assertThat(ShadowHelpUtils.isGetHelpIntentCalled()).isTrue(); diff --git a/tests/robotests/src/com/android/settings/MasterClearTest.java b/tests/robotests/src/com/android/settings/MasterClearTest.java index 94365ef626f..c7f366e8617 100644 --- a/tests/robotests/src/com/android/settings/MasterClearTest.java +++ b/tests/robotests/src/com/android/settings/MasterClearTest.java @@ -17,6 +17,7 @@ package com.android.settings; import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.any; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; @@ -47,6 +48,7 @@ import android.widget.CheckBox; import android.widget.LinearLayout; import android.widget.ScrollView; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowUtils; @@ -56,10 +58,12 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.robolectric.Robolectric; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = ShadowUtils.class) public class MasterClearTest { @@ -81,22 +85,22 @@ public class MasterClearTest { private AccountManager mAccountManager; @Mock - private Activity mMockActivity; + private FragmentActivity mMockActivity; @Mock private Intent mMockIntent; private MasterClear mMasterClear; private ShadowActivity mShadowActivity; - private Activity mActivity; + private FragmentActivity mActivity; private View mContentView; @Before public void setUp() { MockitoAnnotations.initMocks(this); mMasterClear = spy(new MasterClear()); - mActivity = Robolectric.setupActivity(Activity.class); - mShadowActivity = shadowOf(mActivity); + mActivity = Robolectric.setupActivity(FragmentActivity.class); + mShadowActivity = Shadows.shadowOf(mActivity); mContentView = LayoutInflater.from(mActivity).inflate(R.layout.master_clear, null); // Make scrollView only have one child diff --git a/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java b/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java index 8e4749aee4d..e4e97104f60 100644 --- a/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java @@ -79,7 +79,7 @@ public class RestrictedListPreferenceTest { // Make sure that the performClick method on the helper is never reached. verify(mMockHelper, never()).performClick(); // Assert that a CONFIRM_DEVICE_CREDENTIAL intent has been started. - Intent started = shadowOf(application).getNextStartedActivity(); + Intent started = Shadows.shadowOf(application).getNextStartedActivity(); assertThat(started.getExtras().getInt(Intent.EXTRA_USER_ID)).isEqualTo(PROFILE_USER_ID); assertThat(started.getAction()) .isEqualTo(KeyguardManager.ACTION_CONFIRM_DEVICE_CREDENTIAL_WITH_USER); @@ -94,7 +94,7 @@ public class RestrictedListPreferenceTest { // Make sure that the performClick method on the helper is never reached. verify(mMockHelper, never()).performClick(); // Assert that a new intent for enabling the work profile is started. - Intent started = shadowOf(application).getNextStartedActivity(); + Intent started = Shadows.shadowOf(application).getNextStartedActivity(); Bundle extras = started.getExtras(); int reason = extras.getInt(EXTRA_UNLAUNCHABLE_REASON); assertThat(reason).isEqualTo(UNLAUNCHABLE_REASON_QUIET_MODE); diff --git a/tests/robotests/src/com/android/settings/SettingsActivityTest.java b/tests/robotests/src/com/android/settings/SettingsActivityTest.java index 37d8bc571fe..1966467a356 100644 --- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java +++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java @@ -56,7 +56,7 @@ public class SettingsActivityTest { @Test public void launchSettingFragment_nullExtraShowFragment_shouldNotCrash() { - when(mActivity.getFragmentManager()).thenReturn(mFragmentManager); + when(mActivity.getSupportFragmentManager()).thenReturn(mFragmentManager); when(mFragmentManager.beginTransaction()).thenReturn(mock(FragmentTransaction.class)); doReturn(RuntimeEnvironment.application.getClassLoader()).when(mActivity).getClassLoader(); diff --git a/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java b/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java index c736ae122a0..3b3a287957e 100644 --- a/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java +++ b/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java @@ -30,11 +30,13 @@ import android.os.SystemProperties; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.android.controller.ActivityController; import java.io.File; @@ -78,10 +80,11 @@ public class SettingsLicenseActivityTest { intent.addCategory(Intent.CATEGORY_DEFAULT); intent.setPackage("com.android.htmlviewer"); - assertEqualIntents(shadowOf(mApplication).getNextStartedActivity(), intent); + assertEqualIntents(Shadows.shadowOf(mApplication).getNextStartedActivity(), intent); } @Test + @Ignore("b/111194177") public void testOnCreateWithGeneratedHtmlFile() { doReturn(null).when(mActivity).onCreateLoader(anyInt(), any()); doReturn(Uri.parse("content://com.android.settings.files/my_cache/generated_test.html")) @@ -100,6 +103,6 @@ public class SettingsLicenseActivityTest { intent.addCategory(Intent.CATEGORY_DEFAULT); intent.setPackage("com.android.htmlviewer"); - assertEqualIntents(shadowOf(mApplication).getNextStartedActivity(), intent); + assertEqualIntents(Shadows.shadowOf(mApplication).getNextStartedActivity(), intent); } } diff --git a/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java index e84c373d067..1316545516e 100644 --- a/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java @@ -41,6 +41,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; +import androidx.fragment.app.FragmentActivity; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceManager; @@ -52,7 +53,7 @@ public class SettingsPreferenceFragmentTest { private static final int ITEM_COUNT = 5; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private View mListContainer; @Mock diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java index 5b69029804f..eb63d9c9f7f 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java @@ -29,11 +29,11 @@ import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.widget.SwitchBar; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.annotation.Config; -import org.robolectric.util.FragmentTestUtil; import androidx.annotation.XmlRes; @@ -46,7 +46,7 @@ public class ToggleFeaturePreferenceFragmentTest { @Test public void createFragment_shouldOnlyAddPreferencesOnce() { mFragment = spy(new ToggleFeaturePreferenceFragmentTestable()); - FragmentTestUtil.startFragment(mFragment); + FragmentTestUtils.startFragment(mFragment); // execute exactly once verify(mFragment).addPreferencesFromResource(R.xml.placeholder_prefs); @@ -56,7 +56,8 @@ public class ToggleFeaturePreferenceFragmentTest { extends ToggleFeaturePreferenceFragment { @Override - protected void onPreferenceToggled(String preferenceKey, boolean enabled) {} + protected void onPreferenceToggled(String preferenceKey, boolean enabled) { + } @Override public int getMetricsCategory() { diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java index 1754aeb78e2..afbf5321451 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountDashboardFragmentTest.java @@ -23,7 +23,6 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; -import android.app.Activity; import android.content.Context; import android.os.UserHandle; import android.provider.SearchIndexableResource; @@ -31,6 +30,7 @@ import android.text.TextUtils; import com.android.settings.R; import com.android.settings.dashboard.SummaryLoader; +import com.android.settings.testutils.Robolectric; import com.android.settingslib.accounts.AuthenticatorHelper; import com.android.settingslib.drawer.CategoryKey; @@ -38,7 +38,6 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; @@ -48,6 +47,8 @@ import org.robolectric.annotation.Resetter; import java.util.List; +import androidx.fragment.app.FragmentActivity; + @RunWith(RobolectricTestRunner.class) public class AccountDashboardFragmentTest { @@ -74,7 +75,8 @@ public class AccountDashboardFragmentTest { }) public void updateSummary_hasAccount_shouldDisplayUpTo3AccountTypes() { final SummaryLoader loader = mock(SummaryLoader.class); - final Activity activity = Robolectric.buildActivity(Activity.class).setup().get(); + final FragmentActivity activity = Robolectric.buildActivity( + FragmentActivity.class).setup().get(); final SummaryLoader.SummaryProvider provider = AccountDashboardFragment.SUMMARY_PROVIDER_FACTORY.createSummaryProvider(activity, @@ -89,7 +91,7 @@ public class AccountDashboardFragmentTest { public void updateSummary_noAccount_shouldDisplayDefaultSummary() { ShadowAuthenticationHelper.setEnabledAccount(null); final SummaryLoader loader = mock(SummaryLoader.class); - final Activity activity = Robolectric.buildActivity(Activity.class).setup().get(); + final FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).setup().get(); final SummaryLoader.SummaryProvider provider = AccountDashboardFragment.SUMMARY_PROVIDER_FACTORY.createSummaryProvider(activity, @@ -104,7 +106,7 @@ public class AccountDashboardFragmentTest { @Config(shadows = ShadowAuthenticationHelper.class) public void updateSummary_noAccountTypeLabel_shouldNotDisplayNullEntry() { final SummaryLoader loader = mock(SummaryLoader.class); - final Activity activity = Robolectric.buildActivity(Activity.class).setup().get(); + final FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).setup().get(); final String[] enabledAccounts = {TYPES[0], "unlabeled_account_type", TYPES[1]}; ShadowAuthenticationHelper.setEnabledAccount(enabledAccounts); diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java index 947a82dddc5..36b6b80c08e 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java @@ -41,6 +41,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.util.ReflectionHelpers; import androidx.preference.Preference; @@ -133,7 +134,7 @@ public class AccountDetailDashboardFragmentTest { preference.performClick(); - final Intent intent = shadowOf(activity).getNextStartedActivityForResult().intent; + final Intent intent = Shadows.shadowOf(activity).getNextStartedActivityForResult().intent; assertThat(intent.getStringExtra("extra.accountName")).isEqualTo("name1@abc.com"); } diff --git a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java index 06f26ba704a..feb2b56ed47 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java @@ -46,6 +46,7 @@ import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; import androidx.lifecycle.LifecycleOwner; +import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceScreen; @RunWith(SettingsRobolectricTestRunner.class) @@ -55,7 +56,7 @@ public class AccountHeaderPreferenceControllerTest { @Mock private Activity mActivity; @Mock - private PreferenceFragment mFragment; + private PreferenceFragmentCompat mFragment; @Mock private PreferenceScreen mScreen; diff --git a/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java b/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java index 38f9830736c..ea646e34a43 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java @@ -20,7 +20,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.accounts.Account; -import android.app.Activity; import android.content.Context; import android.os.UserHandle; @@ -34,6 +33,8 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = {ShadowContentResolver.class}) public class AccountSyncSettingsTest { @@ -47,7 +48,7 @@ public class AccountSyncSettingsTest { public void onPreferenceTreeClick_nullAuthority_shouldNotCrash() { final Context context = RuntimeEnvironment.application; final AccountSyncSettings settings = spy(new AccountSyncSettings()); - when(settings.getActivity()).thenReturn(mock(Activity.class)); + when(settings.getActivity()).thenReturn(mock(FragmentActivity.class)); final SyncStateSwitchPreference preference = new SyncStateSwitchPreference(context, new Account("acct1", "type1"), "" /* authority */, "testPackage", 1 /* uid */); preference.setOneTimeSyncMode(false); diff --git a/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java b/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java index 880639c3360..f5a012726ca 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java @@ -45,6 +45,7 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import androidx.preference.Preference; +import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -55,7 +56,7 @@ public class AccountTypePreferenceLoaderTest { @Mock(answer = RETURNS_DEEP_STUBS) private AccountManager mAccountManager; @Mock(answer = RETURNS_DEEP_STUBS) - private PreferenceFragment mPreferenceFragment; + private PreferenceFragmentCompat mPreferenceFragment; @Mock private PackageManager mPackageManager; diff --git a/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java index 67e01f8817f..a8227ec4083 100644 --- a/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java @@ -46,6 +46,7 @@ import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import androidx.fragment.app.FragmentActivity; import androidx.preference.Preference; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -66,7 +67,7 @@ public class ChooseAccountPreferenceControllerTest { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; mController = spy(new ChooseAccountPreferenceController(mContext, "controller_key")); - mActivity = Robolectric.setupActivity(Activity.class); + mActivity = Robolectric.setupActivity(FragmentActivity.class); mPreferenceManager = new PreferenceManager(mContext); mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext); } diff --git a/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java index ce9923b3835..3147625adb4 100644 --- a/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceControllerTest.java @@ -24,7 +24,7 @@ import android.content.Context; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settingslib.widget.FooterPreferenceMixin; +import com.android.settingslib.widget.FooterPreferenceMixinCompat; import org.junit.Before; import org.junit.Test; @@ -43,7 +43,7 @@ public class EnterpriseDisclosurePreferenceControllerTest { private ChooseAccountFragment mFragment; private Context mContext; private EnterpriseDisclosurePreferenceController mController; - private FooterPreferenceMixin mFooterPreferenceMixin; + private FooterPreferenceMixinCompat mFooterPreferenceMixin; private PreferenceManager mPreferenceManager; private PreferenceScreen mPreferenceScreen; @@ -54,7 +54,8 @@ public class EnterpriseDisclosurePreferenceControllerTest { mContext = RuntimeEnvironment.application; mController = spy(new EnterpriseDisclosurePreferenceController(mContext)); mFragment = spy(new ChooseAccountFragment()); - mFooterPreferenceMixin = new FooterPreferenceMixin(mFragment, mFragment.getLifecycle()); + mFooterPreferenceMixin = new FooterPreferenceMixinCompat(mFragment, + mFragment.getSettingsLifecycle()); mPreferenceManager = new PreferenceManager(mContext); mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext); } diff --git a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java index b1c1646284d..decac8acf19 100644 --- a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java @@ -58,8 +58,10 @@ import org.robolectric.shadows.ShadowApplication; import java.util.ArrayList; import java.util.List; +import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -76,7 +78,7 @@ public class RemoveAccountPreferenceControllerTest { @Mock(answer = RETURNS_DEEP_STUBS) private AccountManager mAccountManager; @Mock - private PreferenceFragment mFragment; + private PreferenceFragmentCompat mFragment; @Mock private PreferenceManager mPreferenceManager; @Mock @@ -157,7 +159,7 @@ public class RemoveAccountPreferenceControllerTest { @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class}) public void confirmRemove_shouldRemoveAccount() { when(mFragment.isAdded()).thenReturn(true); - Activity activity = mock(Activity.class); + FragmentActivity activity = mock(FragmentActivity.class); when(activity.getSystemService(Context.ACCOUNT_SERVICE)).thenReturn(mAccountManager); when(mFragment.getActivity()).thenReturn(activity); diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java index 28cf982b1a1..944b4b19f62 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java @@ -21,12 +21,12 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; import android.app.ActionBar; -import android.app.Activity; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; @@ -49,6 +49,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.LifecycleOwner; import androidx.preference.PreferenceScreen; @@ -64,7 +65,7 @@ public class AppHeaderViewPreferenceControllerTest { private LayoutPreference mPreference; private Context mContext; - private Activity mActivity; + private FragmentActivity mActivity; private LifecycleOwner mLifecycleOwner; private Lifecycle mLifecycle; private View mHeader; @@ -74,7 +75,7 @@ public class AppHeaderViewPreferenceControllerTest { public void setUp() { MockitoAnnotations.initMocks(this); mContext = RuntimeEnvironment.application; - mActivity = spy(Robolectric.buildActivity(Activity.class).get()); + mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get()); mLifecycleOwner = () -> mLifecycle; mLifecycle = new Lifecycle(mLifecycleOwner); mHeader = LayoutInflater.from(mContext).inflate(R.layout.settings_entity_header, null); diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java index eb478f67f9a..36bdeb74182 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java @@ -290,7 +290,6 @@ public final class AppInfoDashboardFragmentTest { final Context context = mock(Context.class); doReturn(context).when(mFragment).getContext(); ReflectionHelpers.setField(mFragment, "mLifecycle", mock(Lifecycle.class)); - ReflectionHelpers.setField(mFragment, "mCheckedForLoaderManager", true); mFragment.startListeningToPackageRemove(); mFragment.onDestroy(); diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java index 6fdf8944afe..cd335ea13b7 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java @@ -24,7 +24,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.app.usage.IUsageStatsManager; import android.content.Context; import android.content.Intent; @@ -43,6 +42,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.util.ReflectionHelpers; +import androidx.fragment.app.FragmentActivity; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; @@ -97,7 +97,7 @@ public class AppNotificationPreferenceControllerTest { @Test public void getArguments_containsChannelId() { - Activity activity = mock(Activity.class); + FragmentActivity activity = mock(FragmentActivity.class); Intent intent = new Intent(); intent.putExtra(EXTRA_FRAGMENT_ARG_KEY, "test"); when(mFragment.getActivity()).thenReturn(activity); diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java index e6d377143a7..99bfe327528 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java @@ -31,6 +31,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.shadows.ShadowPackageManager; import androidx.preference.Preference; @@ -58,7 +59,7 @@ public class AppSettingPreferenceControllerTest { public void setUp() { MockitoAnnotations.initMocks(this); mApplication = RuntimeEnvironment.application; - mPackageManager = shadowOf(mApplication.getPackageManager()); + mPackageManager = Shadows.shadowOf(mApplication.getPackageManager()); mController = new AppSettingPreferenceController(mApplication, "test_key"); mController.setPackageName(TEST_PKG_NAME).setParentFragment(mParent); mPreference = new Preference(mApplication); @@ -107,7 +108,7 @@ public class AppSettingPreferenceControllerTest { mPackageManager.addResolveInfoForIntent(RESOLVED_INTENT, info); assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue(); - assertThat(shadowOf(mApplication).getNextStartedActivity().getComponent()) + assertThat(Shadows.shadowOf(mApplication).getNextStartedActivity().getComponent()) .isEqualTo(TEST_INTENT.getComponent()); } } diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java index d73f3a6b39e..98bfcd54fe8 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java @@ -27,6 +27,7 @@ import android.content.DialogInterface; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Before; import org.junit.Test; @@ -34,9 +35,9 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.shadows.ShadowDialog; -import org.robolectric.util.FragmentTestUtil; import androidx.fragment.app.Fragment; @@ -73,11 +74,11 @@ public class ButtonActionDialogFragmentTest { public void testOnCreateDialog_forceStopDialog() { ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(FORCE_STOP_ID); - FragmentTestUtil.startFragment(fragment); + FragmentTestUtils.startFragment(fragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); assertThat(dialog).isNotNull(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( mShadowContext.getString(R.string.force_stop_dlg_text)); @@ -93,11 +94,11 @@ public class ButtonActionDialogFragmentTest { public void testOnCreateDialog_disableDialog() { ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(DISABLE_ID); - FragmentTestUtil.startFragment(fragment); + FragmentTestUtils.startFragment(fragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); assertThat(dialog).isNotNull(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( mShadowContext.getString(R.string.app_disable_dlg_text)); @@ -112,11 +113,11 @@ public class ButtonActionDialogFragmentTest { ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(SPECIAL_DISABLE_ID); - FragmentTestUtil.startFragment(fragment); + FragmentTestUtils.startFragment(fragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); assertThat(dialog).isNotNull(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( mShadowContext.getString(R.string.app_disable_dlg_text)); diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java index 6f134ae53a1..cbc4d00efc7 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/DrawOverlayDetailsTest.java @@ -44,11 +44,13 @@ import org.mockito.Spy; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) public class DrawOverlayDetailsTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private Activity mActivity; + private FragmentActivity mActivity; @Mock private Window mWindow; diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java index dfe0dbce103..1281b74bca7 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java @@ -32,14 +32,15 @@ import android.content.pm.PackageManager; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.shadows.ShadowDialog; -import org.robolectric.util.FragmentTestUtil; @RunWith(SettingsRobolectricTestRunner.class) public class InstantAppButtonDialogFragmentTest { @@ -60,7 +61,7 @@ public class InstantAppButtonDialogFragmentTest { public void onClick_shouldDeleteApp() { final PackageManager packageManager = mock(PackageManager.class); when(mContext.getPackageManager()).thenReturn(packageManager); - FragmentTestUtil.startFragment(mFragment); + FragmentTestUtils.startFragment(mFragment); mFragment.onClick(null /* dialog */, 0 /* which */); @@ -70,11 +71,11 @@ public class InstantAppButtonDialogFragmentTest { @Test public void onCreateDialog_clearAppDialog_shouldShowClearAppDataConfirmation() { - FragmentTestUtil.startFragment(mFragment); + FragmentTestUtils.startFragment(mFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); assertThat(dialog).isNotNull(); - final ShadowAlertDialog shadowDialog = shadowOf(dialog); + final ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( mContext.getString(R.string.clear_instant_app_confirmation)); diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java index ea49d072061..57d2bcd0e56 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java @@ -45,13 +45,14 @@ import org.robolectric.RuntimeEnvironment; import java.util.ArrayList; import java.util.List; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceScreen; @RunWith(SettingsRobolectricTestRunner.class) public class DefaultAppPickerFragmentTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private Activity mActivity; + private FragmentActivity mActivity; @Mock private PreferenceScreen mScreen; @Mock diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java index bf29559f628..d31e3e0e11f 100644 --- a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java +++ b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java @@ -36,7 +36,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Looper; @@ -63,6 +62,7 @@ import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; +import androidx.fragment.app.FragmentActivity; import androidx.recyclerview.widget.RecyclerView; @RunWith(SettingsRobolectricTestRunner.class) @@ -147,7 +147,7 @@ public class ManageApplicationsTest { final ManageApplications fragment = mock(ManageApplications.class); ReflectionHelpers.setField(fragment, "mLoadingContainer", mock(View.class)); ReflectionHelpers.setField(fragment, "mListContainer", mock(View.class)); - when(fragment.getActivity()).thenReturn(mock(Activity.class)); + when(fragment.getActivity()).thenReturn(mock(FragmentActivity.class)); final ManageApplications.ApplicationsAdapter adapter = spy(new ManageApplications.ApplicationsAdapter(mState, fragment, AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle())); @@ -171,7 +171,7 @@ public class ManageApplicationsTest { final ManageApplications fragment = mock(ManageApplications.class); ReflectionHelpers.setField(fragment, "mLoadingContainer", mock(View.class)); ReflectionHelpers.setField(fragment, "mListContainer", mock(View.class)); - when(fragment.getActivity()).thenReturn(mock(Activity.class)); + when(fragment.getActivity()).thenReturn(mock(FragmentActivity.class)); final ManageApplications.ApplicationsAdapter adapter = spy(new ManageApplications.ApplicationsAdapter(mState, fragment, AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle())); @@ -212,7 +212,7 @@ public class ManageApplicationsTest { when(listContainer.getContext()).thenReturn(context); ReflectionHelpers.setField(fragment, "mLoadingContainer", loadingContainer); ReflectionHelpers.setField(fragment, "mListContainer", listContainer); - when(fragment.getActivity()).thenReturn(mock(Activity.class)); + when(fragment.getActivity()).thenReturn(mock(FragmentActivity.class)); final ManageApplications.ApplicationsAdapter adapter = spy(new ManageApplications.ApplicationsAdapter(mState, fragment, AppFilterRegistry.getInstance().get(FILTER_APPS_ALL), new Bundle())); @@ -274,7 +274,7 @@ public class ManageApplicationsTest { @Test public void applicationsAdapter_onBindViewHolder_updateSwitch_notifications() { ManageApplications manageApplications = mock(ManageApplications.class); - when(manageApplications.getActivity()).thenReturn(mock(Activity.class)); + when(manageApplications.getActivity()).thenReturn(mock(FragmentActivity.class)); UserManager um = mock(UserManager.class); when(um.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[]{}); ReflectionHelpers.setField(manageApplications, "mUserManager", um); @@ -317,7 +317,7 @@ public class ManageApplicationsTest { @Test public void sortOrderSavedOnRebuild() { ManageApplications manageApplications = mock(ManageApplications.class); - when(manageApplications.getActivity()).thenReturn(mock(Activity.class)); + when(manageApplications.getActivity()).thenReturn(mock(FragmentActivity.class)); UserManager um = mock(UserManager.class); when(um.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[]{}); ReflectionHelpers.setField(manageApplications, "mUserManager", um); diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java index c99df010b74..7507e07567e 100644 --- a/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceControllerTest.java @@ -31,7 +31,7 @@ import android.os.UserHandle; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.core.lifecycle.Lifecycle; -import com.android.settingslib.widget.FooterPreferenceMixin; +import com.android.settingslib.widget.FooterPreferenceMixinCompat; import org.junit.Before; import org.junit.Test; @@ -46,7 +46,7 @@ import androidx.lifecycle.LifecycleOwner; public class DeviceAdminListPreferenceControllerTest { @Mock - private FooterPreferenceMixin mFooterPreferenceMixin; + private FooterPreferenceMixinCompat mFooterPreferenceMixin; private Context mContext; private DeviceAdminListPreferenceController mController; private LifecycleOwner mLifecycleOwner; diff --git a/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java b/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java index 937616d4d94..602ae21a17f 100644 --- a/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java +++ b/tests/robotests/src/com/android/settings/backup/BackupSettingsActivityTest.java @@ -108,7 +108,7 @@ public class BackupSettingsActivityTest { // Verify that the intent returned by BackupSettingsHelper.getIntentForBackupSettings() // was launched. - assertThat(shadowOf(mApplication).getNextStartedActivity()).isEqualTo(mIntent); + assertThat(Shadows.shadowOf(mApplication).getNextStartedActivity()).isEqualTo(mIntent); } @Test @@ -123,7 +123,7 @@ public class BackupSettingsActivityTest { mActivityController.create(); - assertThat(shadowOf(mApplication).getNextStartedActivity()).isNull(); + assertThat(Shadows.shadowOf(mApplication).getNextStartedActivity()).isNull(); verify(mFragmentTransaction).replace(anyInt(), isA(BackupSettingsFragment.class)); } diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java index 27729cf5728..cf416d83fea 100644 --- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java +++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java @@ -27,6 +27,7 @@ import com.android.settings.biometrics.fingerprint.FingerprintSettings.Fingerpri import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.DeleteFingerprintDialog; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowFragment; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Before; import org.junit.Test; @@ -34,7 +35,6 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; -import org.robolectric.util.FragmentTestUtil; @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = ShadowFragment.class) @@ -55,7 +55,7 @@ public class DeleteFingerprintDialogTest { @Test public void launchDialog_clickPositive_shouldDeleteFingerprint() { - FragmentTestUtil.startFragment(mFragment); + FragmentTestUtils.startFragment(mFragment); mFragment.onClick(mFragment.getDialog(), Dialog.BUTTON_POSITIVE); @@ -64,7 +64,7 @@ public class DeleteFingerprintDialogTest { @Test public void launchDialog_clickNegative_shouldDoNothing() { - FragmentTestUtil.startFragment(mFragment); + FragmentTestUtils.startFragment(mFragment); mFragment.onClick(mFragment.getDialog(), Dialog.BUTTON_NEGATIVE); diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerEventsTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerEventsTest.java index e9cb562cdef..ba9fe1233b8 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerEventsTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerEventsTest.java @@ -32,6 +32,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.annotation.Config; +import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceScreen; @RunWith(SettingsRobolectricTestRunner.class) @@ -61,7 +62,7 @@ public class BluetoothDetailsControllerEventsTest extends BluetoothDetailsContro } private static class TestController extends BluetoothDetailsController { - private TestController(Context context, PreferenceFragment fragment, + private TestController(Context context, PreferenceFragmentCompat fragment, CachedBluetoothDevice device, Lifecycle lifecycle) { super(context, fragment, device, lifecycle); } diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java index c76ded99535..95508bc8e48 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java @@ -18,7 +18,6 @@ package com.android.settings.bluetooth; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; -import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothClass; import android.bluetooth.BluetoothDevice; @@ -36,6 +35,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.LifecycleOwner; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -58,7 +58,7 @@ public class BluetoothDetailsControllerTestBase { @Mock protected CachedBluetoothDevice mCachedDevice; @Mock - protected Activity mActivity; + protected FragmentActivity mActivity; @Mock protected BluetoothClass mBluetoothDeviceClass; diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java index 759c0cdb002..ede0b044e31 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java @@ -38,6 +38,7 @@ import android.widget.TextView; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Before; import org.junit.Test; @@ -46,7 +47,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.shadows.ShadowAlertDialog; -import org.robolectric.util.FragmentTestUtil; @RunWith(SettingsRobolectricTestRunner.class) public class BluetoothPairingDialogTest { @@ -56,7 +56,6 @@ public class BluetoothPairingDialogTest { @Mock private BluetoothPairingController controller; - @Mock private BluetoothPairingDialog dialogActivity; @@ -186,7 +185,7 @@ public class BluetoothPairingDialogTest { BluetoothPairingDialogFragment frag = new BluetoothPairingDialogFragment(); // this should throw an error - FragmentTestUtil.startFragment(frag); + FragmentTestUtils.startFragment(frag); fail("Starting the fragment with no controller set should have thrown an exception."); } @@ -446,7 +445,7 @@ public class BluetoothPairingDialogTest { frag.setPairingController(controller); assertThat(frag.isPairingDialogActivitySet()).isFalse(); frag.setPairingDialogActivity(dialogActivity); - FragmentTestUtil.startFragment(frag); + FragmentTestUtils.startFragment(frag); assertThat(frag.getmDialog()).isNotNull(); assertThat(frag.isPairingControllerSet()).isTrue(); assertThat(frag.isPairingDialogActivitySet()).isTrue(); diff --git a/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java index f3b077ed378..37abdcc8908 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java @@ -16,6 +16,7 @@ package com.android.settings.bluetooth; +import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; @@ -23,7 +24,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.app.AlertDialog; import com.android.settings.testutils.FakeFeatureFactory; @@ -39,6 +39,8 @@ import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.shadows.ShadowDialog; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) public class ForgetDeviceDialogFragmentTest { @@ -46,7 +48,7 @@ public class ForgetDeviceDialogFragmentTest { private CachedBluetoothDevice mCachedDevice; private ForgetDeviceDialogFragment mFragment; - private Activity mActivity; + private FragmentActivity mActivity; private AlertDialog mDialog; @Before @@ -57,8 +59,8 @@ public class ForgetDeviceDialogFragmentTest { when(mCachedDevice.getAddress()).thenReturn(deviceAddress); mFragment = spy(ForgetDeviceDialogFragment.newInstance(deviceAddress)); doReturn(mCachedDevice).when(mFragment).getDevice(any()); - mActivity = Robolectric.setupActivity(Activity.class); - mActivity.getFragmentManager().beginTransaction().add(mFragment, null).commit(); + mActivity = Robolectric.setupActivity(FragmentActivity.class); + mActivity.getSupportFragmentManager().beginTransaction().add(mFragment, null).commit(); mDialog = (AlertDialog) ShadowDialog.getLatestDialog(); } diff --git a/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java index 03b6bc0e219..d41475f0305 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java @@ -31,6 +31,7 @@ import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.bluetooth.LocalBluetoothAdapter; import com.android.settingslib.bluetooth.LocalBluetoothManager; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.After; import org.junit.Before; @@ -40,7 +41,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.shadows.ShadowAlertDialog; -import org.robolectric.util.FragmentTestUtil; import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsRobolectricTestRunner.class) @@ -74,7 +74,7 @@ public class LocalDeviceNameDialogFragmentTest { @Test public void diaglogTriggersShowSoftInput() { - FragmentTestUtil.startFragment(mFragment); + FragmentTestUtils.startFragment(mFragment); AlertDialog dialog = ShadowAlertDialog.getLatestAlertDialog(); assertThat(dialog).isNotNull(); View view = dialog.findViewById(R.id.edittext); diff --git a/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java index 5a8f2490e7a..e257a88645d 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java @@ -34,6 +34,7 @@ import com.android.settings.R; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.bluetooth.CachedBluetoothDevice; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Before; import org.junit.Test; @@ -42,7 +43,6 @@ import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.shadows.ShadowDialog; -import org.robolectric.util.FragmentTestUtil; @RunWith(SettingsRobolectricTestRunner.class) public class RemoteDeviceNameDialogFragmentTest { @@ -71,7 +71,7 @@ public class RemoteDeviceNameDialogFragmentTest { */ AlertDialog startDialog(String deviceName) { when(mCachedDevice.getName()).thenReturn(deviceName); - FragmentTestUtil.startFragment(mFragment); + FragmentTestUtils.startFragment(mFragment); return (AlertDialog) ShadowDialog.getLatestDialog(); } diff --git a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java index ed0d9467696..e3e3fc573d5 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceControllerTest.java @@ -32,6 +32,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowNfcAdapter; import org.robolectric.util.ReflectionHelpers; @@ -57,7 +58,7 @@ public class AdvancedConnectedDeviceControllerTest { mContentResolver = mContext.getContentResolver(); mNfcController = new NfcPreferenceController(mContext, NfcPreferenceController.KEY_TOGGLE_NFC); - mShadowNfcAdapter = shadowOf(ShadowNfcAdapter.getNfcAdapter(mContext)); + mShadowNfcAdapter = Shadows.shadowOf(ShadowNfcAdapter.getNfcAdapter(mContext)); } @Test diff --git a/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java index e07fb8d2da4..4c7cd517a10 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/DiscoverableFooterPreferenceControllerTest.java @@ -37,7 +37,7 @@ import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import com.android.settings.testutils.shadow.ShadowBluetoothPan; import com.android.settings.testutils.shadow.ShadowLocalBluetoothAdapter; import com.android.settingslib.widget.FooterPreference; -import com.android.settingslib.widget.FooterPreferenceMixin; +import com.android.settingslib.widget.FooterPreferenceMixinCompat; import org.junit.Before; import org.junit.Test; @@ -66,7 +66,7 @@ public class DiscoverableFooterPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock - private FooterPreferenceMixin mFooterPreferenceMixin; + private FooterPreferenceMixinCompat mFooterPreferenceMixin; @Mock private AlwaysDiscoverable mAlwaysDiscoverable; diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java index 072da644df2..3771262ce08 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java @@ -21,7 +21,6 @@ import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.hardware.usb.UsbManager; import android.hardware.usb.UsbPort; @@ -40,6 +39,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -59,7 +59,7 @@ public class UsbDetailsDataRoleControllerTest { @Mock private UsbDetailsFragment mFragment; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private Handler mHandler; diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java index 09a34ec5f2b..d41210ddb2a 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java @@ -21,7 +21,6 @@ import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.hardware.usb.UsbManager; import android.hardware.usb.UsbPort; @@ -43,6 +42,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -62,7 +62,7 @@ public class UsbDetailsFunctionsControllerTest { @Mock private UsbDetailsFragment mFragment; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Before public void setUp() { diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java index 408f6d0081b..321b1b2c299 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java @@ -19,7 +19,6 @@ package com.android.settings.connecteddevice.usb; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.hardware.usb.UsbManager; import android.hardware.usb.UsbPort; @@ -41,6 +40,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.LifecycleOwner; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -62,7 +62,7 @@ public class UsbDetailsHeaderControllerTest { @Mock private UsbDetailsFragment mFragment; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock(answer = Answers.RETURNS_DEEP_STUBS) private EntityHeaderController mHeaderController; diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java index 6a540f06f83..ca3d0cfcbae 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java @@ -22,7 +22,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.hardware.usb.UsbManager; import android.hardware.usb.UsbPort; @@ -40,6 +39,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -60,7 +60,7 @@ public class UsbDetailsPowerRoleControllerTest { @Mock private UsbDetailsFragment mFragment; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private Handler mHandler; diff --git a/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java index 8b5ef416a87..6c3b4afd4d6 100644 --- a/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java @@ -23,7 +23,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.os.Bundle; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; @@ -37,6 +36,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.util.ReflectionHelpers; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -48,7 +48,7 @@ public class InstrumentedPreferenceFragmentTest { @Mock private PreferenceManager mPreferenceManager; @Mock - private Activity mActivity; + private FragmentActivity mActivity; private InstrumentedPreferenceFragmentTestable mFragment; diff --git a/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java b/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java index aabcdf2ab1b..2467e5770a0 100644 --- a/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java +++ b/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.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.app.Activity; import android.content.Context; import android.content.Intent; import android.os.UserHandle; @@ -43,6 +42,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; @RunWith(SettingsRobolectricTestRunner.class) public class SubSettingLauncherTest { @@ -50,7 +50,7 @@ public class SubSettingLauncherTest { @Mock private Fragment mFragment; @Mock - private Activity mActivity; + private FragmentActivity mActivity; private Context mContext; diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java index c8ed6705db9..bf1e0ff6c0b 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java @@ -66,6 +66,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; import org.robolectric.shadows.ShadowApplication; @@ -368,7 +369,7 @@ public class DashboardFeatureProviderImplTest { mImpl.bindPreferenceToTile(activity, MetricsProto.MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER); preference.performClick(); - ShadowActivity shadowActivity = shadowOf(activity); + ShadowActivity shadowActivity = Shadows.shadowOf(activity); final Intent launchIntent = shadowActivity.getNextStartedActivityForResult().intent; assertThat(launchIntent.getAction()) @@ -397,7 +398,7 @@ public class DashboardFeatureProviderImplTest { preference.performClick(); final ShadowActivity.IntentForResult launchIntent = - shadowOf(activity).getNextStartedActivityForResult(); + Shadows.shadowOf(activity).getNextStartedActivityForResult(); assertThat(launchIntent).isNull(); } diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java index 3b3b2a22861..d93cd810caa 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardSummaryTest.java @@ -36,7 +36,7 @@ import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.drawer.CategoryKey; import com.android.settingslib.drawer.DashboardCategory; -import com.android.settingslib.suggestions.SuggestionControllerMixin; +import com.android.settingslib.suggestions.SuggestionControllerMixinCompat; import org.junit.Before; import org.junit.Test; @@ -46,6 +46,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.util.ReflectionHelpers; +import androidx.fragment.app.FragmentActivity; import androidx.recyclerview.widget.LinearLayoutManager; @RunWith(SettingsRobolectricTestRunner.class) @@ -64,7 +65,7 @@ public class DashboardSummaryTest { @Mock private SummaryLoader mSummaryLoader; @Mock - private SuggestionControllerMixin mSuggestionControllerMixin; + private SuggestionControllerMixinCompat mSuggestionControllerMixin; private Context mContext; private DashboardSummary mSummary; @@ -91,7 +92,7 @@ public class DashboardSummaryTest { .thenReturn(false); mSummary.onAttach(mContext); - final SuggestionControllerMixin mixin = ReflectionHelpers + final SuggestionControllerMixinCompat mixin = ReflectionHelpers .getField(mSummary, "mSuggestionControllerMixin"); assertThat(mixin).isNull(); } @@ -102,7 +103,7 @@ public class DashboardSummaryTest { .thenReturn(true); mSummary.onAttach(mContext); - final SuggestionControllerMixin mixin = ReflectionHelpers + final SuggestionControllerMixinCompat mixin = ReflectionHelpers .getField(mSummary, "mSuggestionControllerMixin"); assertThat(mixin).isNotNull(); } @@ -113,7 +114,7 @@ public class DashboardSummaryTest { mSuggestionControllerMixin); when(mSuggestionControllerMixin.isSuggestionLoaded()).thenReturn(true); - doReturn(mock(Activity.class)).when(mSummary).getActivity(); + doReturn(mock(FragmentActivity.class)).when(mSummary).getActivity(); mSummary.onAttach(mContext); mSummary.updateCategory(); @@ -127,7 +128,7 @@ public class DashboardSummaryTest { when(mFeatureFactory.suggestionsFeatureProvider.isSuggestionEnabled(any(Context.class))) .thenReturn(false); - doReturn(mock(Activity.class)).when(mSummary).getActivity(); + doReturn(mock(FragmentActivity.class)).when(mSummary).getActivity(); mSummary.onAttach(mContext); mSummary.updateCategory(); @@ -167,7 +168,7 @@ public class DashboardSummaryTest { @Test public void onCategoryChanged_noRebuildOnFirstCall() { - doReturn(mock(Activity.class)).when(mSummary).getActivity(); + doReturn(mock(FragmentActivity.class)).when(mSummary).getActivity(); doNothing().when(mSummary).rebuildUI(); mSummary.onCategoriesChanged(); verify(mSummary, never()).rebuildUI(); @@ -175,7 +176,7 @@ public class DashboardSummaryTest { @Test public void onCategoryChanged_rebuildOnSecondCall() { - doReturn(mock(Activity.class)).when(mSummary).getActivity(); + doReturn(mock(FragmentActivity.class)).when(mSummary).getActivity(); doNothing().when(mSummary).rebuildUI(); mSummary.onCategoriesChanged(); mSummary.onCategoriesChanged(); diff --git a/tests/robotests/src/com/android/settings/dashboard/conditional/BackgroundDataConditionTest.java b/tests/robotests/src/com/android/settings/dashboard/conditional/BackgroundDataConditionTest.java index 47eeaaf2e6d..725be7962d4 100644 --- a/tests/robotests/src/com/android/settings/dashboard/conditional/BackgroundDataConditionTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/conditional/BackgroundDataConditionTest.java @@ -15,6 +15,7 @@ */ package com.android.settings.dashboard.conditional; +import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java index 49534833c06..c5e6b9d1720 100644 --- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java @@ -47,7 +47,7 @@ import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowCardView; import com.android.settingslib.Utils; -import com.android.settingslib.suggestions.SuggestionControllerMixin; +import com.android.settingslib.suggestions.SuggestionControllerMixinCompat; import com.android.settingslib.utils.IconCache; import org.junit.Before; @@ -70,7 +70,7 @@ public class SuggestionAdapterTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) private SettingsActivity mActivity; @Mock - private SuggestionControllerMixin mSuggestionControllerMixin; + private SuggestionControllerMixinCompat mSuggestionControllerMixin; @Mock private Resources mResources; @Mock diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java index e7eec3661e0..b1c256f17ce 100644 --- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java @@ -39,7 +39,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.ShadowSecureSettings; import com.android.settingslib.drawer.Tile; -import com.android.settingslib.suggestions.SuggestionControllerMixin; +import com.android.settingslib.suggestions.SuggestionControllerMixinCompat; import org.junit.After; import org.junit.Before; @@ -61,7 +61,7 @@ public class SuggestionFeatureProviderImplTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Context mContext; @Mock - private SuggestionControllerMixin mSuggestionControllerMixin; + private SuggestionControllerMixinCompat mSuggestionControllerMixin; @Mock private Suggestion mSuggestion; @Mock diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java index 04b50305972..206f149a588 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java @@ -23,7 +23,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.NetworkTemplate; @@ -41,6 +40,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.util.ReflectionHelpers; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) public class DataUsageListTest { @@ -91,7 +92,7 @@ public class DataUsageListTest { @Test public void processArgument_fromIntent_shouldGetTemplateFromIntent() { - final Activity activity = mock(Activity.class); + final FragmentActivity activity = mock(FragmentActivity.class); final Intent intent = new Intent(); intent.putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mock(NetworkTemplate.class)); intent.putExtra(Settings.EXTRA_SUB_ID, 3); diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java index b6eb603cd13..bd9db3daba9 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java @@ -59,6 +59,7 @@ import org.robolectric.annotation.Config; import java.util.concurrent.TimeUnit; +import androidx.fragment.app.FragmentActivity; import androidx.recyclerview.widget.RecyclerView; @RunWith(SettingsRobolectricTestRunner.class) @@ -97,7 +98,7 @@ public class DataUsageSummaryPreferenceControllerTest { private DataUsageInfoController mDataInfoController; private FakeFeatureFactory mFactory; - private Activity mActivity; + private FragmentActivity mActivity; private Context mContext; private DataUsageSummaryPreferenceController mController; @@ -115,7 +116,7 @@ public class DataUsageSummaryPreferenceControllerTest { ShadowEntityHeaderController.setUseMock(mHeaderController); mDataInfoController = new DataUsageInfoController(); - mActivity = spy(Robolectric.buildActivity(Activity.class).get()); + mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get()); when(mActivity.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager); when(mActivity.getSystemService(ConnectivityManager.class)) .thenReturn(mConnectivityManager); diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java index d1655b71b17..94716f919d8 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java @@ -55,6 +55,7 @@ import org.robolectric.shadows.ShadowActivity; import java.util.concurrent.TimeUnit; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceViewHolder; @RunWith(SettingsRobolectricTestRunner.class) @@ -417,7 +418,7 @@ public class DataUsageSummaryPreferenceTest { @Test public void testSetAppIntent_toMdpApp_intentCorrect() { - final Activity activity = Robolectric.setupActivity(Activity.class); + final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class); final Intent intent = new Intent(SubscriptionManager.ACTION_MANAGE_SUBSCRIPTION_PLANS); intent.setPackage("test-owner.example.com"); intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, 42); @@ -485,7 +486,7 @@ public class DataUsageSummaryPreferenceTest { final int daysLeft = 3; final long cycleEnd = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(daysLeft) + TimeUnit.HOURS.toMillis(1); - final Activity activity = Robolectric.setupActivity(Activity.class); + final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class); mSummaryPreference = spy(mSummaryPreference); mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, DUMMY_CARRIER, 0 /* numPlans */, new Intent()); diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java index 6f0ec9f55c1..9651054bf4d 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java @@ -27,7 +27,6 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import android.app.Activity; import android.content.Context; import android.net.NetworkPolicyManager; @@ -48,6 +47,8 @@ import org.robolectric.Robolectric; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; +import androidx.fragment.app.FragmentActivity; + @Config(shadows = { SettingsShadowResourcesImpl.class, SettingsShadowResources.SettingsShadowTheme.class, @@ -63,7 +64,7 @@ public class DataUsageSummaryTest { @Mock private NetworkPolicyManager mNetworkPolicyManager; private Context mContext; - private Activity mActivity; + private FragmentActivity mActivity; private SummaryLoader.SummaryProvider mSummaryProvider; /** @@ -78,7 +79,7 @@ public class DataUsageSummaryTest { shadowContext.setSystemService(Context.NETWORK_POLICY_SERVICE, mNetworkPolicyManager); mContext = shadowContext.getApplicationContext(); - mActivity = spy(Robolectric.buildActivity(Activity.class).get()); + mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get()); mSummaryProvider = DataUsageSummary.SUMMARY_PROVIDER_FACTORY .createSummaryProvider(mActivity, mSummaryLoader); diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java index 0c14d62889e..6addd6f7ef8 100644 --- a/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java +++ b/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java @@ -21,7 +21,6 @@ import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import android.app.Activity; import android.widget.Filter; import android.widget.LinearLayout; @@ -29,13 +28,13 @@ import com.android.settings.datetime.timezone.BaseTimeZoneAdapter.AdapterItem; import com.android.settings.datetime.timezone.BaseTimeZoneAdapter.ItemViewHolder; import com.android.settings.datetime.timezone.RegionSearchPicker.RegionItem; import com.android.settings.datetime.timezone.model.TimeZoneData; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import libcore.util.CountryZonesFinder; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.annotation.Implementation; @@ -47,6 +46,7 @@ import java.util.List; import java.util.Locale; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = { @@ -142,10 +142,10 @@ public class RegionSearchPickerTest { @Implements(Fragment.class) public static class ShadowFragment { - private Activity mActivity = Robolectric.setupActivity(Activity.class); + private FragmentActivity mActivity = Robolectric.setupActivity(FragmentActivity.class); @Implementation - public final Activity getActivity() { + public final FragmentActivity getActivity() { return mActivity; } } diff --git a/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilesTest.java b/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilesTest.java index 65d4e3bd288..8367fd3980e 100644 --- a/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilesTest.java +++ b/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilesTest.java @@ -18,6 +18,7 @@ package com.android.settings.development.qstile; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import android.content.ComponentName; diff --git a/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java b/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java index be2dea2b6a2..e17f6bee9ab 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java @@ -23,26 +23,27 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import android.app.Activity; import android.os.SystemProperties; import android.view.View; import com.android.settings.R; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; + +import androidx.fragment.app.FragmentActivity; @RunWith(SettingsRobolectricTestRunner.class) public class HardwareInfoDialogFragmentTest { - private Activity mActivity; + private FragmentActivity mActivity; @Before public void setUp() { - mActivity = Robolectric.setupActivity(Activity.class); + mActivity = Robolectric.setupActivity(FragmentActivity.class); } @Test @@ -52,7 +53,7 @@ public class HardwareInfoDialogFragmentTest { final HardwareInfoDialogFragment fragment = spy(HardwareInfoDialogFragment.newInstance()); doReturn("").when(fragment).getSerialNumber(); - fragment.show(mActivity.getFragmentManager(), HardwareInfoDialogFragment.TAG); + fragment.show(mActivity.getSupportFragmentManager(), HardwareInfoDialogFragment.TAG); verify(fragment).setText( any(View.class), eq(R.id.model_label), eq(R.id.model_value), diff --git a/tests/robotests/src/com/android/settings/deviceinfo/MyDeviceInfoFragmentTest.java b/tests/robotests/src/com/android/settings/deviceinfo/MyDeviceInfoFragmentTest.java index f8fffbbfc62..d1e8d98d6f1 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/MyDeviceInfoFragmentTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/MyDeviceInfoFragmentTest.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.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; @@ -54,6 +53,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceScreen; @RunWith(SettingsRobolectricTestRunner.class) @@ -61,7 +61,7 @@ import androidx.preference.PreferenceScreen; public class MyDeviceInfoFragmentTest { @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private PreferenceScreen mScreen; @Mock diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java index 7ce37f567ee..d1215eca0b0 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java @@ -18,7 +18,6 @@ package com.android.settings.deviceinfo; import static com.google.common.truth.Truth.assertThat; -import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; @@ -27,6 +26,7 @@ import android.widget.Button; import com.android.settings.R; import com.android.settings.deviceinfo.PrivateVolumeForget.ForgetConfirmFragment; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowStorageManager; @@ -34,15 +34,16 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; import org.robolectric.annotation.Config; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = ShadowStorageManager.class) public class PrivateVolumeForgetTest { private PrivateVolumeForget mFragment; - private Activity mActivity; + private FragmentActivity mActivity; @Before public void setUp() { @@ -66,7 +67,7 @@ public class PrivateVolumeForgetTest { confirm.performClick(); final ForgetConfirmFragment confirmFragment = - (ForgetConfirmFragment) mActivity.getFragmentManager().findFragmentByTag( + (ForgetConfirmFragment) mActivity.getSupportFragmentManager().findFragmentByTag( PrivateVolumeForget.TAG_FORGET_CONFIRM); assertThat(confirmFragment).isNotNull(); diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeFormatTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeFormatTest.java index 8ac9925b7da..0d720e335f8 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeFormatTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeFormatTest.java @@ -25,14 +25,15 @@ import android.os.storage.VolumeInfo; import android.widget.Button; import com.android.settings.R; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowStorageManager; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowActivity; @@ -50,7 +51,7 @@ public class PrivateVolumeFormatTest { bundle.putString(VolumeInfo.EXTRA_VOLUME_ID, "id"); mFragment = Robolectric.buildFragment(PrivateVolumeFormat.class, bundle).create().start().resume().get(); - mShadowActivity = shadowOf(mFragment.getActivity()); + mShadowActivity = Shadows.shadowOf(mFragment.getActivity()); } @Test diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java index 77e60a1464a..94f5286496e 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java @@ -23,6 +23,7 @@ import android.os.storage.VolumeInfo; import android.widget.Button; import com.android.settings.R; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowStorageManager; @@ -30,7 +31,6 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; import org.robolectric.annotation.Config; diff --git a/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java b/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java index 376264e761b..e28e6ec075d 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java @@ -9,12 +9,12 @@ import android.content.DialogInterface; import com.android.settings.deviceinfo.aboutphone.DeviceNameWarningDialog; import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment; +import com.android.settings.testutils.FragmentController; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; -import org.robolectric.android.controller.FragmentController; @RunWith(SettingsRobolectricTestRunner.class) public class DeviceNameWarningDialogTest { diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java index e41333aeb90..4ec5f5fa1bc 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java @@ -29,7 +29,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; @@ -63,6 +62,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.preference.PreferenceScreen; @@ -77,7 +77,7 @@ public class StorageItemPreferenceControllerTest { @Mock private StorageVolumeProvider mSvp; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private FragmentManager mFragmentManager; @Mock diff --git a/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java index 859bf33b4fb..84d142c8f59 100644 --- a/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java @@ -24,7 +24,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.os.Bundle; import com.android.internal.app.ColorDisplayController; @@ -47,6 +46,7 @@ import org.robolectric.util.ReflectionHelpers; import java.util.List; +import androidx.fragment.app.FragmentActivity; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; @@ -60,7 +60,7 @@ public class ColorModePreferenceFragmentTest { private ColorDisplayController mController; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Before public void setup() { diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java index 8eadedfa559..e6b34995811 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java @@ -30,7 +30,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.app.AppOpsManager; import android.content.Context; import android.content.Intent; @@ -74,6 +73,7 @@ import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; import java.util.List; +import androidx.fragment.app.FragmentActivity; import androidx.loader.app.LoaderManager; import androidx.preference.Preference; import androidx.recyclerview.widget.RecyclerView; @@ -103,7 +103,7 @@ public class AdvancedPowerUsageDetailTest { private static final long PHONE_BACKGROUND_TIME_MS = 0; @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private Activity mActivity; + private FragmentActivity mActivity; @Mock private EntityHeaderController mEntityHeaderController; @Mock diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java index 10fe14e55a3..91cb078d548 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java @@ -50,10 +50,12 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowPowerManager; import androidx.lifecycle.LifecycleOwner; +import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceScreen; import androidx.recyclerview.widget.RecyclerView; @@ -73,7 +75,7 @@ public class BatteryHeaderPreferenceControllerTest { @Mock private Activity mActivity; @Mock - private PreferenceFragment mPreferenceFragment; + private PreferenceFragmentCompat mPreferenceFragment; @Mock private PreferenceScreen mPreferenceScreen; @Mock @@ -197,7 +199,7 @@ public class BatteryHeaderPreferenceControllerTest { public void testQuickUpdateHeaderPreference_showPowerSave() { boolean testValues[] = {false, true}; - ShadowPowerManager shadowPowerManager = shadowOf(mPowerManager); + ShadowPowerManager shadowPowerManager = Shadows.shadowOf(mPowerManager); for (boolean value : testValues) { shadowPowerManager.setIsPowerSaveMode(value); mController.quickUpdateHeaderPreference(); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java index a375bf48f4f..1cc027f445b 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java @@ -38,6 +38,7 @@ import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip; import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Before; import org.junit.Test; @@ -46,9 +47,9 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.shadows.ShadowDialog; -import org.robolectric.util.FragmentTestUtil; import java.util.ArrayList; import java.util.List; @@ -151,10 +152,10 @@ public class RestrictedAppDetailsTest { final BatteryTipDialogFragment dialogFragment = mRestrictedAppDetails.createDialogFragment( mAppInfo, true); - FragmentTestUtil.startFragment(dialogFragment); + FragmentTestUtils.startFragment(dialogFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?"); } @@ -163,10 +164,10 @@ public class RestrictedAppDetailsTest { final BatteryTipDialogFragment dialogFragment = mRestrictedAppDetails.createDialogFragment( mAppInfo, false); - FragmentTestUtil.startFragment(dialogFragment); + FragmentTestUtils.startFragment(dialogFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?"); } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java index 27a67698d03..c68b438ba31 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java @@ -33,6 +33,7 @@ import com.android.settings.fuelgauge.anomaly.action.AnomalyAction; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowRuntimePermissionPresenter; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Before; import org.junit.Test; @@ -40,10 +41,10 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.shadows.ShadowDialog; -import org.robolectric.util.FragmentTestUtil; @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = ShadowRuntimePermissionPresenter.class) @@ -104,7 +105,7 @@ public class AnomalyDialogFragmentTest { public void testOnCreateDialog_hasCorrectData() { mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mWakeLockAnomaly, 0 /* metricskey */); - FragmentTestUtil.startFragment(mAnomalyDialogFragment); + FragmentTestUtils.startFragment(mAnomalyDialogFragment); assertThat(mAnomalyDialogFragment.mAnomaly).isEqualTo(mWakeLockAnomaly); } @@ -114,11 +115,11 @@ public class AnomalyDialogFragmentTest { mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mWakeLockAnomaly, 0 /* metricskey */); - FragmentTestUtil.startFragment(mAnomalyDialogFragment); + FragmentTestUtils.startFragment(mAnomalyDialogFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); assertThat(dialog).isNotNull(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( mContext.getString(R.string.dialog_stop_message, mWakeLockAnomaly.displayName)); @@ -135,11 +136,11 @@ public class AnomalyDialogFragmentTest { mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mWakeupAlarmAnomaly, 0 /* metricskey */); - FragmentTestUtil.startFragment(mAnomalyDialogFragment); + FragmentTestUtils.startFragment(mAnomalyDialogFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); assertThat(dialog).isNotNull(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( mContext.getString(R.string.dialog_background_check_message, @@ -157,11 +158,11 @@ public class AnomalyDialogFragmentTest { mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mWakeupAlarmAnomaly2, 0 /* metricskey */); - FragmentTestUtil.startFragment(mAnomalyDialogFragment); + FragmentTestUtils.startFragment(mAnomalyDialogFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); assertThat(dialog).isNotNull(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( mContext.getString(R.string.dialog_stop_message_wakeup_alarm, @@ -183,11 +184,11 @@ public class AnomalyDialogFragmentTest { doNothing().when(mAnomalyDialogFragment).initAnomalyUtils(); doReturn(Anomaly.AnomalyActionType.LOCATION_CHECK).when(mAnomalyAction).getActionType(); - FragmentTestUtil.startFragment(mAnomalyDialogFragment); + FragmentTestUtils.startFragment(mAnomalyDialogFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); assertThat(dialog).isNotNull(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( mContext.getString(R.string.dialog_location_message, diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java index 9e99f6c5dc6..e9c9978bc44 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java @@ -34,6 +34,7 @@ import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowUtils; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Before; import org.junit.Test; @@ -41,10 +42,10 @@ import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.shadows.ShadowDialog; -import org.robolectric.util.FragmentTestUtil; import java.util.ArrayList; import java.util.List; @@ -103,12 +104,12 @@ public class BatteryTipDialogFragmentTest { mDialogFragment = BatteryTipDialogFragment.newInstance(mHighUsageTip, METRICS_KEY); - FragmentTestUtil.startFragment(mDialogFragment); + FragmentTestUtils.startFragment(mDialogFragment); Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable(); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( mContext.getString(R.string.battery_tip_dialog_message, 1)); @@ -118,10 +119,10 @@ public class BatteryTipDialogFragmentTest { public void testOnCreateDialog_restrictOneAppTip_fireRestrictOneAppDialog() { mDialogFragment = BatteryTipDialogFragment.newInstance(mRestrictedOneAppTip, METRICS_KEY); - FragmentTestUtil.startFragment(mDialogFragment); + FragmentTestUtils.startFragment(mDialogFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?"); assertThat(shadowDialog.getMessage()) @@ -137,12 +138,12 @@ public class BatteryTipDialogFragmentTest { mDialogFragment = BatteryTipDialogFragment.newInstance(mRestrictTwoAppsTip, METRICS_KEY); - FragmentTestUtil.startFragment(mDialogFragment); + FragmentTestUtils.startFragment(mDialogFragment); Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable(); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 2 apps?"); assertThat(shadowDialog.getMessage()) @@ -166,12 +167,12 @@ public class BatteryTipDialogFragmentTest { mDialogFragment = BatteryTipDialogFragment.newInstance(restrictSixAppsTip, METRICS_KEY); - FragmentTestUtil.startFragment(mDialogFragment); + FragmentTestUtils.startFragment(mDialogFragment); Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable(); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 6 apps?"); assertThat(shadowDialog.getMessage()) @@ -186,10 +187,10 @@ public class BatteryTipDialogFragmentTest { mDialogFragment = BatteryTipDialogFragment.newInstance(mUnrestrictAppTip, METRICS_KEY); ShadowUtils.setApplicationLabel(PACKAGE_NAME, DISPLAY_NAME); - FragmentTestUtil.startFragment(mDialogFragment); + FragmentTestUtils.startFragment(mDialogFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?"); assertThat(shadowDialog.getMessage()) @@ -201,10 +202,10 @@ public class BatteryTipDialogFragmentTest { doReturn(AVERAGE_TIME_MS).when(mSummaryTip).getAverageTimeMs(); mDialogFragment = BatteryTipDialogFragment.newInstance(mSummaryTip, METRICS_KEY); - FragmentTestUtil.startFragment(mDialogFragment); + FragmentTestUtils.startFragment(mDialogFragment); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); - ShadowAlertDialog shadowDialog = shadowOf(dialog); + ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); assertThat(shadowDialog.getMessage()).isEqualTo( "Your apps are using a normal amount of battery. If apps use too much battery, " diff --git a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java index ffb726ae4c4..5621d04c6d6 100644 --- a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java +++ b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java @@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Intent; import android.os.Bundle; @@ -33,16 +32,18 @@ import org.junit.runner.RunWith; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) public class InputMethodAndSubtypeEnablerTest { - private Activity mActivity; + private FragmentActivity mActivity; private InputMethodAndSubtypeEnabler mFragment; @Before public void setUp() { MockitoAnnotations.initMocks(this); - mActivity = Robolectric.setupActivity(Activity.class); + mActivity = Robolectric.setupActivity(FragmentActivity.class); mFragment = spy(new InputMethodAndSubtypeEnabler()); when(mFragment.getActivity()).thenReturn(mActivity); } diff --git a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java index 59d31e2ffa2..1d8d57da8a0 100644 --- a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java @@ -41,6 +41,7 @@ import org.robolectric.annotation.Config; import java.util.ArrayList; import java.util.List; +import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -49,7 +50,7 @@ import androidx.preference.PreferenceScreen; public class InputMethodAndSubtypePreferenceControllerTest { @Mock - private PreferenceFragment mFragment; + private PreferenceFragmentCompat mFragment; private Context mContext; private InputMethodAndSubtypePreferenceController mController; private PreferenceManager mPreferenceManager; diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java index 5db94aa2b65..a2a8265943c 100644 --- a/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java +++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java @@ -23,7 +23,6 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.hardware.input.InputDeviceIdentifier; import android.hardware.input.InputManager; @@ -45,6 +44,7 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -81,7 +81,7 @@ public class KeyboardLayoutPickerControllerTest { @Test public void testLifecycle_onStart_shouldRegisterInputManager() { - final Activity activity = Robolectric.setupActivity(Activity.class); + final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class); when(mFragment.getActivity()).thenReturn(activity); mController.onStart(); @@ -93,7 +93,7 @@ public class KeyboardLayoutPickerControllerTest { @Test public void testLifecycle_onStart_NoInputDevice_shouldFinish() { - final Activity activity = Robolectric.setupActivity(Activity.class); + final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class); when(mInputManager.getInputDeviceByDescriptor(anyString())).thenReturn(null); when(mFragment.getActivity()).thenReturn(activity); @@ -137,7 +137,7 @@ public class KeyboardLayoutPickerControllerTest { @Config(shadows = ShadowInputDevice.class) public void testOnDeviceRemove_getSameDevice_shouldFinish() { final int TARGET_DEVICE_ID = 1; - final Activity activity = Robolectric.setupActivity(Activity.class); + final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class); final String[] enableKeyboardLayouts = {"layout1"}; final InputDevice device = ShadowInputDevice.makeInputDevicebyId(TARGET_DEVICE_ID); @@ -157,7 +157,7 @@ public class KeyboardLayoutPickerControllerTest { public void testOnDeviceRemove_getDifferentDevice_shouldNotFinish() { final int TARGET_DEVICE_ID = 1; final int ANOTHER_DEVICE_ID = 2; - final Activity activity = Robolectric.setupActivity(Activity.class); + final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class); final String[] enableKeyboardLayouts = {"layout1"}; final InputDevice device = ShadowInputDevice.makeInputDevicebyId(TARGET_DEVICE_ID); diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java index c39dc197a30..a129c5568eb 100644 --- a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java +++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java @@ -110,7 +110,7 @@ public class LanguageAndInputSettingsTest { lifecycleObserverCount++; } } - verify(mFragment.getLifecycle(), times(lifecycleObserverCount)) + verify(mFragment.getSettingsLifecycle(), times(lifecycleObserverCount)) .addObserver(any(LifecycleObserver.class)); } @@ -207,9 +207,9 @@ public class LanguageAndInputSettingsTest { } @Override - public Lifecycle getLifecycle() { + public Lifecycle getSettingsLifecycle() { if (mLifecycle == null) { - return super.getLifecycle(); + return super.getSettingsLifecycle(); } return mLifecycle; } diff --git a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java index c833ec6c02c..8948e171ebb 100644 --- a/tests/robotests/src/com/android/settings/network/ApnEditorTest.java +++ b/tests/robotests/src/com/android/settings/network/ApnEditorTest.java @@ -24,7 +24,6 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; -import android.app.Activity; import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; @@ -38,6 +37,7 @@ import android.view.View; import com.android.settings.R; import com.android.settings.network.ApnEditor.ApnData; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; @@ -48,8 +48,8 @@ import org.mockito.Captor; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -import org.robolectric.Robolectric; +import androidx.fragment.app.FragmentActivity; import androidx.preference.EditTextPreference; import androidx.preference.ListPreference; import androidx.preference.MultiSelectListPreference; @@ -96,13 +96,13 @@ public class ApnEditorTest { private ArgumentCaptor mUriCaptor; private ApnEditor mApnEditorUT; - private Activity mActivity; + private FragmentActivity mActivity; private Resources mResources; @Before public void setUp() { MockitoAnnotations.initMocks(this); - mActivity = spy(Robolectric.setupActivity(Activity.class)); + mActivity = spy(Robolectric.setupActivity(FragmentActivity.class)); mResources = mActivity.getResources(); mApnEditorUT = spy(new ApnEditor()); diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java index 1d3a65e79b4..3e1cde16072 100644 --- a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java @@ -39,7 +39,7 @@ import android.widget.LinearLayout; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowOs; -import com.android.settingslib.CustomDialogPreference.CustomPreferenceDialogFragment; +import com.android.settingslib.CustomDialogPreferenceCompat.CustomPreferenceDialogFragment; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java index 3a3320118cb..d54ef6fc3cc 100644 --- a/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java @@ -21,7 +21,6 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings.Global; @@ -36,6 +35,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; @@ -45,7 +45,7 @@ public class ChargingSoundPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private ContentResolver mContentResolver; @Mock diff --git a/tests/robotests/src/com/android/settings/notification/ConfigureNotificationSettingsTest.java b/tests/robotests/src/com/android/settings/notification/ConfigureNotificationSettingsTest.java index 7fc76282316..f97172e3b7b 100644 --- a/tests/robotests/src/com/android/settings/notification/ConfigureNotificationSettingsTest.java +++ b/tests/robotests/src/com/android/settings/notification/ConfigureNotificationSettingsTest.java @@ -27,6 +27,7 @@ import static com.android.settings.notification.ConfigureNotificationSettings import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; diff --git a/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java index 390937464f7..fe248a6e10a 100644 --- a/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java @@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings.System; @@ -35,6 +34,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; @@ -46,7 +46,7 @@ public class DialPadTonePreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private ContentResolver mContentResolver; @Mock diff --git a/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java index 34e824f7b39..7ddf1002c1e 100644 --- a/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java @@ -22,7 +22,6 @@ import static org.mockito.Matchers.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings.Global; @@ -36,6 +35,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.DropDownPreference; import androidx.preference.PreferenceScreen; @@ -45,7 +45,7 @@ public class DockAudioMediaPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock(answer = RETURNS_DEEP_STUBS) - private Activity mActivity; + private FragmentActivity mActivity; @Mock private ContentResolver mContentResolver; @Mock diff --git a/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java index 1a3c044bdaa..3945d27605a 100644 --- a/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java @@ -21,7 +21,6 @@ import static org.mockito.Answers.RETURNS_DEEP_STUBS; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings.Global; @@ -35,6 +34,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; @@ -44,7 +44,7 @@ public class DockingSoundPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock(answer = RETURNS_DEEP_STUBS) - private Activity mActivity; + private FragmentActivity mActivity; @Mock private ContentResolver mContentResolver; @Mock diff --git a/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java index 4839ccb0e5e..f2687b2a0e9 100644 --- a/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java @@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings.Global; @@ -35,6 +34,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.DropDownPreference; import androidx.preference.PreferenceScreen; @@ -46,7 +46,7 @@ public class EmergencyTonePreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private ContentResolver mContentResolver; @Mock diff --git a/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java index 7830e327185..81383f7d11c 100644 --- a/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/HeaderPreferenceControllerTest.java @@ -25,7 +25,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; -import android.app.Activity; import android.app.NotificationChannel; import android.app.NotificationChannelGroup; import android.app.NotificationManager; @@ -43,6 +42,9 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.shadows.ShadowApplication; +import androidx.fragment.app.FragmentActivity; +import androidx.preference.PreferenceFragmentCompat; + @RunWith(SettingsRobolectricTestRunner.class) public class HeaderPreferenceControllerTest { @@ -65,9 +67,9 @@ public class HeaderPreferenceControllerTest { shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm); shadowApplication.setSystemService(Context.USER_SERVICE, mUm); mContext = shadowApplication.getApplicationContext(); - PreferenceFragment fragment = mock(PreferenceFragment.class); + PreferenceFragmentCompat fragment = mock(PreferenceFragmentCompat.class); when(fragment.getContext()).thenReturn(mContext); - Activity activity = mock(Activity.class); + FragmentActivity activity = mock(FragmentActivity.class); when(activity.getApplicationContext()).thenReturn(mContext); when(fragment.getActivity()).thenReturn(activity); mController = spy(new HeaderPreferenceController(mContext, fragment)); diff --git a/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java index 8b1a134e4a2..4c15769c90a 100644 --- a/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/RecentNotifyingAppsPreferenceControllerTest.java @@ -30,7 +30,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -62,6 +61,7 @@ import java.util.ArrayList; import java.util.List; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; @@ -92,7 +92,7 @@ public class RecentNotifyingAppsPreferenceControllerTest { @Mock private Fragment mHost; @Mock - private Activity mActivity; + private FragmentActivity mActivity; private Context mContext; private RecentNotifyingAppsPreferenceController mController; diff --git a/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java b/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java index b32b095e14d..20139bbfb11 100644 --- a/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java +++ b/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java @@ -131,7 +131,7 @@ public class RedactionInterstitialTest { private void setupActivity() { mActivity = buildActivity(RedactionInterstitial.class, new Intent()).setup().get(); mFragment = (RedactionInterstitialFragment) - mActivity.getFragmentManager().findFragmentById(R.id.main_content); + mActivity.getSupportFragmentManager().findFragmentById(R.id.main_content); assertThat(mActivity).isNotNull(); assertThat(mFragment).isNotNull(); } diff --git a/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java index a5a057b8ba9..f370368fb38 100644 --- a/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java @@ -21,7 +21,6 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings.System; @@ -36,6 +35,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; @@ -45,7 +45,7 @@ public class ScreenLockSoundPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private ContentResolver mContentResolver; @Mock diff --git a/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java b/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java index 860b25cdaec..a70e7b665b3 100644 --- a/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java @@ -23,7 +23,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings.Global; @@ -42,6 +41,7 @@ import org.robolectric.RuntimeEnvironment; import java.util.ArrayList; import java.util.List; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceScreen; @RunWith(SettingsRobolectricTestRunner.class) @@ -52,7 +52,7 @@ public class SettingPrefControllerTest { @Mock private SoundSettings mSetting; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private ContentResolver mContentResolver; diff --git a/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java index 0286691e3cd..4d4a4af00be 100644 --- a/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java @@ -37,6 +37,7 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; @@ -48,7 +49,7 @@ public class TouchSoundPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private ContentResolver mContentResolver; @Mock diff --git a/tests/robotests/src/com/android/settings/notification/VibrateOnTouchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/VibrateOnTouchPreferenceControllerTest.java index fcf3a70bf79..5f96ea5e685 100644 --- a/tests/robotests/src/com/android/settings/notification/VibrateOnTouchPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/VibrateOnTouchPreferenceControllerTest.java @@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.ContentResolver; import android.content.Context; import android.os.Vibrator; @@ -35,6 +34,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; @@ -44,7 +44,7 @@ public class VibrateOnTouchPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private ContentResolver mContentResolver; @Mock diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java index 23b242a2fa0..e955b2f1f5b 100644 --- a/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java +++ b/tests/robotests/src/com/android/settings/notification/ZenModeScheduleRuleSettingsTest.java @@ -23,7 +23,6 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.robolectric.RuntimeEnvironment.application; -import android.app.Activity; import android.app.NotificationManager; import android.content.Context; import android.content.Intent; @@ -42,12 +41,14 @@ import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import org.robolectric.shadows.ShadowToast; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = SettingsShadowResources.SettingsShadowTheme.class) public class ZenModeScheduleRuleSettingsTest { @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private Intent mIntent; diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java index 7ee9ea51c45..c105ffe1867 100644 --- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java +++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java @@ -124,7 +124,7 @@ public class ChooseLockPasswordTest { private ChooseLockPasswordFragment getChooseLockPasswordFragment(ChooseLockPassword activity) { return (ChooseLockPasswordFragment) - activity.getFragmentManager().findFragmentById(R.id.main_content); + activity.getSupportFragmentManager().findFragmentById(R.id.main_content); } private ShadowDrawable setActivityAndGetIconDrawable(boolean addFingerprintExtra) { diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java index e07351cd34a..17e684b57cc 100644 --- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java +++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java @@ -101,7 +101,7 @@ public class ChooseLockPatternTest { public void fingerprintExtraSet_shouldDisplayFingerprintIcon() { ChooseLockPattern activity = createActivity(true); ChooseLockPatternFragment fragment = (ChooseLockPatternFragment) - activity.getFragmentManager().findFragmentById(R.id.main_content); + activity.getSupportFragmentManager().findFragmentById(R.id.main_content); ShadowDrawable drawable = Shadows.shadowOf(((GlifLayout) fragment.getView()).getIcon()); assertThat(drawable.getCreatedFromResId()).isEqualTo(R.drawable.ic_fingerprint_header); @@ -112,7 +112,7 @@ public class ChooseLockPatternTest { public void smallScreens_shouldHideIcon() { ChooseLockPattern activity = createActivity(true); ChooseLockPatternFragment fragment = (ChooseLockPatternFragment) - activity.getFragmentManager().findFragmentById(R.id.main_content); + activity.getSupportFragmentManager().findFragmentById(R.id.main_content); View iconView = fragment.getView().findViewById(R.id.suw_layout_icon); assertThat(iconView.getVisibility()).isEqualTo(View.GONE); diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java index f7096f41afd..f76a5ca8517 100644 --- a/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java @@ -32,8 +32,10 @@ import com.android.settings.password.ChooseLockTypeDialogFragment.OnLockTypeSele import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settings.testutils.shadow.ShadowUtils; +import com.android.settingslib.testutils.FragmentTestUtils; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; @@ -41,7 +43,6 @@ import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.shadows.ShadowDialog; -import org.robolectric.util.FragmentTestUtil; import androidx.fragment.app.Fragment; @@ -56,10 +57,11 @@ public class ChooseLockTypeDialogFragmentTest { public void setUp() { mContext = RuntimeEnvironment.application; mFragment = new TestFragment(); - FragmentTestUtil.startFragment(mFragment); + FragmentTestUtils.startFragment(mFragment); } @Test + @Ignore("b/111247403") public void testThatDialog_IsShown() { AlertDialog latestDialog = startLockFragment(); assertNotNull(latestDialog); @@ -70,6 +72,7 @@ public class ChooseLockTypeDialogFragmentTest { } @Test + @Ignore("b/111247403") public void testThat_OnClickListener_IsCalled() { mFragment.mDelegate = mock(OnLockTypeSelectedListener.class); AlertDialog lockDialog = startLockFragment(); @@ -79,6 +82,7 @@ public class ChooseLockTypeDialogFragmentTest { } @Test + @Ignore("b/111247403") public void testThat_OnClickListener_IsNotCalledWhenCancelled() { mFragment.mDelegate = mock(OnLockTypeSelectedListener.class); AlertDialog lockDialog = startLockFragment(); @@ -86,7 +90,6 @@ public class ChooseLockTypeDialogFragmentTest { verify(mFragment.mDelegate, never()).onLockTypeSelected(any(ScreenLockType.class)); } - private AlertDialog startLockFragment() { ChooseLockTypeDialogFragment chooseLockTypeDialogFragment = ChooseLockTypeDialogFragment.newInstance(1234); diff --git a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java index 02cb789b9ab..636248a07af 100644 --- a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java +++ b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java @@ -18,25 +18,27 @@ package com.android.settings.password; import static com.google.common.truth.Truth.assertThat; -import android.app.Activity; - import com.android.settings.password.ConfirmDeviceCredentialBaseFragment.LastTryDialog; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.annotation.Config; +import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = SettingsShadowResources.SettingsShadowTheme.class) public class ConfirmCredentialTest { @Test + @Ignore("b/111193572") public void testLastTryDialogShownExactlyOnce() { - FragmentManager fm = Robolectric.buildActivity(Activity.class).get().getFragmentManager(); + FragmentManager fm = Robolectric.buildActivity(FragmentActivity.class). + get().getSupportFragmentManager(); // Launch only one instance at a time. assertThat(LastTryDialog.show( diff --git a/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java b/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java index 4b54a599085..fd1c5621195 100644 --- a/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java +++ b/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java @@ -31,6 +31,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.shadows.ShadowActivity; @RunWith(SettingsRobolectricTestRunner.class) @@ -57,7 +58,7 @@ public class SetNewPasswordActivityTest { SetNewPasswordActivity activity = Robolectric.buildActivity(SetNewPasswordActivity.class).get(); activity.launchChooseLock(new Bundle()); - ShadowActivity shadowActivity = shadowOf(activity); + ShadowActivity shadowActivity = Shadows.shadowOf(activity); Intent intent = shadowActivity.getNextStartedActivityForResult().intent; assertThat(intent.getComponent()) @@ -71,7 +72,7 @@ public class SetNewPasswordActivityTest { SetNewPasswordActivity activity = Robolectric.buildActivity(SetNewPasswordActivity.class).get(); activity.launchChooseLock(new Bundle()); - ShadowActivity shadowActivity = shadowOf(activity); + ShadowActivity shadowActivity = Shadows.shadowOf(activity); Intent intent = shadowActivity.getNextStartedActivityForResult().intent; assertThat(intent.getComponent()) diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java index 6c35a5b5d85..f642a9d6310 100644 --- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java +++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java @@ -29,6 +29,7 @@ import com.android.settings.R; import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment; import com.android.settings.password.ChooseLockPassword.IntentBuilder; import com.android.settings.password.SetupChooseLockPassword.SetupChooseLockPasswordFragment; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl; @@ -36,9 +37,9 @@ import com.android.settings.testutils.shadow.ShadowUtils; import org.junit.After; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.annotation.Implementation; @@ -81,6 +82,7 @@ public class SetupChooseLockPasswordTest { } @Test + @Ignore("b/111194289") public void createActivity_withShowOptionsButtonExtra_shouldShowButton() { SetupChooseLockPassword activity = createSetupChooseLockPassword(); Button optionsButton = activity.findViewById(R.id.screen_lock_options); @@ -99,6 +101,7 @@ public class SetupChooseLockPasswordTest { } @Test + @Ignore("b/111194289") public void allSecurityOptions_shouldBeShown_When_OptionsButtonIsClicked() { SetupChooseLockPassword activity = createSetupChooseLockPassword(); activity.findViewById(R.id.screen_lock_options).performClick(); @@ -121,11 +124,11 @@ public class SetupChooseLockPasswordTest { Robolectric.buildActivity(SetupChooseLockPassword.class, intent).setup().get(); SetupChooseLockPasswordFragment fragment = - (SetupChooseLockPasswordFragment) activity.getFragmentManager() + (SetupChooseLockPasswordFragment) activity.getSupportFragmentManager() .findFragmentById(R.id.main_content); fragment.onLockTypeSelected(ScreenLockType.PATTERN); - ShadowActivity shadowActivity = shadowOf(activity); + ShadowActivity shadowActivity = Shadows.shadowOf(activity); final Intent nextStartedActivity = shadowActivity.getNextStartedActivity(); assertThat(nextStartedActivity).isNotNull(); assertThat(nextStartedActivity.getBooleanExtra( diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java index 2db969e4ada..627a4a0c56b 100644 --- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java +++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java @@ -19,7 +19,6 @@ package com.android.settings.password; import static com.google.common.truth.Truth.assertThat; import static org.robolectric.RuntimeEnvironment.application; -import android.app.Activity; import android.app.AlertDialog; import android.content.ComponentName; import android.content.pm.PackageManager; @@ -34,15 +33,16 @@ import com.android.settings.R; import com.android.settings.SetupRedactionInterstitial; import com.android.settings.password.ChooseLockPattern.ChooseLockPatternFragment; import com.android.settings.password.ChooseLockPattern.IntentBuilder; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl; import com.android.settings.testutils.shadow.ShadowUtils; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowAlertDialog; @@ -52,6 +52,8 @@ import org.robolectric.util.ReflectionHelpers.ClassParameter; import java.util.Arrays; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = { SettingsShadowResourcesImpl.class, @@ -117,12 +119,14 @@ public class SetupChooseLockPatternTest { @Config(qualifiers = "sw400dp") @Test + @Ignore("b/111194289") public void sw400dp_shouldShowScreenLockOptions() { verifyScreenLockOptionsShown(); } @Config(qualifiers = "sw400dp-land") @Test + @Ignore("b/111194289") public void sw400dpLandscape_shouldShowScreenLockOptions() { verifyScreenLockOptionsShown(); } @@ -184,9 +188,9 @@ public class SetupChooseLockPatternTest { assertThat(skipButton.getVisibility()).isEqualTo(View.GONE); } - private ChooseLockPatternFragment findFragment(Activity activity) { + private ChooseLockPatternFragment findFragment(FragmentActivity activity) { return (ChooseLockPatternFragment) - activity.getFragmentManager().findFragmentById(R.id.main_content); + activity.getSupportFragmentManager().findFragmentById(R.id.main_content); } private void enterPattern() { diff --git a/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java index a667454156e..57cf7cdd897 100644 --- a/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java +++ b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java @@ -16,12 +16,13 @@ package com.android.settings.password; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import android.app.Activity; import android.app.AlertDialog; import com.android.settings.R; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.ShadowUtils; @@ -29,11 +30,12 @@ import com.android.settings.testutils.shadow.ShadowUtils; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowAlertDialog; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) @Config(shadows = { SettingsShadowResources.SettingsShadowTheme.class, @@ -41,17 +43,17 @@ import org.robolectric.shadows.ShadowAlertDialog; }) public class SetupSkipDialogTest { - private Activity mActivity; + private FragmentActivity mActivity; @Before public void setUp() { - mActivity = Robolectric.setupActivity(Activity.class); + mActivity = Robolectric.setupActivity(FragmentActivity.class); } @Test public void frpMessages_areShownCorrectly_whenNotSupported() { SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(false); - setupSkipDialog.show(mActivity.getFragmentManager()); + setupSkipDialog.show(mActivity.getSupportFragmentManager()); AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); assertNotNull(alertDialog); @@ -65,7 +67,7 @@ public class SetupSkipDialogTest { @Test public void frpMessages_areShownCorrectly_whenSupported() { SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(true); - setupSkipDialog.show(mActivity.getFragmentManager()); + setupSkipDialog.show(mActivity.getSupportFragmentManager()); AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); assertNotNull(alertDialog); diff --git a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java index 7ff4accb178..b36769d66fe 100644 --- a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java +++ b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java @@ -26,9 +26,9 @@ import android.view.Menu; import android.view.MenuItem; import com.android.settings.R; -import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.core.lifecycle.ObservableFragment; import com.android.settingslib.core.lifecycle.ObservablePreferenceFragment; +import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Before; import org.junit.Test; @@ -57,7 +57,7 @@ public class SearchMenuControllerTest { @Test public void init_prefFragment_shouldAddMenu() { SearchMenuController.init(mPreferenceHost); - mPreferenceHost.getLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */); + mPreferenceHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */); verify(mMenu).add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu); } @@ -65,7 +65,7 @@ public class SearchMenuControllerTest { @Test public void init_observableFragment_shouldAddMenu() { SearchMenuController.init(mHost); - mHost.getLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */); + mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */); verify(mMenu).add(Menu.NONE, Menu.NONE, 0 /* order */, R.string.search_menu); } @@ -77,7 +77,7 @@ public class SearchMenuControllerTest { mHost.setArguments(args); SearchMenuController.init(mHost); - mHost.getLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */); + mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */); verifyZeroInteractions(mMenu); } diff --git a/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java b/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java index a09bd994146..b7ff79c6188 100644 --- a/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java +++ b/tests/robotests/src/com/android/settings/security/ConfigureKeyGuardDialogTest.java @@ -22,12 +22,13 @@ import static org.mockito.Mockito.verify; import android.content.DialogInterface; +import com.android.settings.testutils.FragmentController; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.Test; import org.junit.runner.RunWith; -import org.robolectric.Robolectric; -import org.robolectric.android.controller.FragmentController; + @RunWith(SettingsRobolectricTestRunner.class) public class ConfigureKeyGuardDialogTest { diff --git a/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java index c884001a3fe..e365bcbf083 100644 --- a/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java @@ -44,6 +44,7 @@ import org.robolectric.util.ReflectionHelpers; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -51,7 +52,7 @@ import androidx.preference.PreferenceScreen; public class OwnerInfoPreferenceControllerTest { @Mock - private PreferenceFragment mFragment; + private PreferenceFragmentCompat mFragment; @Mock private PreferenceScreen mScreen; @Mock diff --git a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java index ea76ffa1bbc..6b2c08aec3d 100644 --- a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java @@ -64,6 +64,7 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.annotation.Config; import org.robolectric.shadow.api.Shadow; import org.robolectric.shadows.ShadowBluetoothDevice; @@ -277,7 +278,7 @@ public class AudioOutputSwitchPreferenceControllerTest { ShadowBluetoothDevice shadowBluetoothDevice; BluetoothDevice secondBluetoothDevice; secondBluetoothDevice = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_2); - shadowBluetoothDevice = shadowOf(secondBluetoothDevice); + shadowBluetoothDevice = Shadows.shadowOf(secondBluetoothDevice); shadowBluetoothDevice.setName(TEST_DEVICE_NAME_2); mController.mConnectedDevices.clear(); mController.mConnectedDevices.add(mBluetoothDevice); diff --git a/tests/robotests/src/com/android/settings/support/actionbar/HelpMenuControllerTest.java b/tests/robotests/src/com/android/settings/support/actionbar/HelpMenuControllerTest.java index a78187f39bb..b0abf6dfeea 100644 --- a/tests/robotests/src/com/android/settings/support/actionbar/HelpMenuControllerTest.java +++ b/tests/robotests/src/com/android/settings/support/actionbar/HelpMenuControllerTest.java @@ -54,7 +54,7 @@ public class HelpMenuControllerTest { HelpMenuController.init(mHost); - mHost.getLifecycle().onCreateOptionsMenu(null /* menu */, null /* inflater */); + mHost.getSettingsLifecycle().onCreateOptionsMenu(null /* menu */, null /* inflater */); verify(mContext).getString(123); } @@ -63,13 +63,12 @@ public class HelpMenuControllerTest { public void onCreateOptionsMenu_noArgumentOverride_shouldPrepareHelpUsingProvider() { HelpMenuController.init(mHost); - mHost.getLifecycle().onCreateOptionsMenu(null /* menu */, null /* inflater */); + mHost.getSettingsLifecycle().onCreateOptionsMenu(null /* menu */, null /* inflater */); verify(mContext).getString(mHost.getHelpResource()); } - private static class TestFragment - extends ObservablePreferenceFragment + private static class TestFragment extends ObservablePreferenceFragment implements HelpResourceProvider { @Override diff --git a/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java b/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java index 36ecf5a394d..c7983d1666d 100644 --- a/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java +++ b/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java @@ -8,7 +8,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.IntentFilter; @@ -30,6 +29,7 @@ import org.robolectric.util.ReflectionHelpers; import java.util.ArrayList; import java.util.HashMap; +import androidx.fragment.app.FragmentActivity; import androidx.localbroadcastmanager.content.LocalBroadcastManager; @RunWith(SettingsRobolectricTestRunner.class) @@ -60,7 +60,7 @@ public class SurveyMixinTest { when(mProvider.getSurveyExpirationDate(any(), any())).thenReturn(-1L); // Pretend we are an activity that is starting up - Activity temp = Robolectric.setupActivity(Activity.class); + FragmentActivity temp = Robolectric.setupActivity(FragmentActivity.class); when(mFragment.getActivity()).thenReturn(temp); SurveyMixin mixin = new SurveyMixin(mFragment, FAKE_KEY); mixin.onResume(); @@ -79,7 +79,7 @@ public class SurveyMixinTest { when(mProvider.getSurveyExpirationDate(any(), any())).thenReturn(0L); // Pretend we are an activity that is starting up - Activity temp = Robolectric.setupActivity(Activity.class); + FragmentActivity temp = Robolectric.setupActivity(FragmentActivity.class); when(mFragment.getActivity()).thenReturn(temp); SurveyMixin mixin = new SurveyMixin(mFragment, FAKE_KEY); mixin.onResume(); @@ -110,7 +110,7 @@ public class SurveyMixinTest { when(mProvider.getSurveyExpirationDate(any(), any())).thenReturn(-1L); // Pretend we are an activity that starts and stops - Activity temp = Robolectric.setupActivity(Activity.class); + FragmentActivity temp = Robolectric.setupActivity(FragmentActivity.class); when(mFragment.getActivity()).thenReturn(temp); when(mProvider.createAndRegisterReceiver(any())).thenReturn(mReceiver); LocalBroadcastManager manager = LocalBroadcastManager.getInstance(temp); @@ -131,7 +131,7 @@ public class SurveyMixinTest { when(mProvider.getSurveyExpirationDate(any(), any())).thenReturn(-1L); // Pretend we are an activity that fails to create a receiver properly - Activity temp = Robolectric.setupActivity(Activity.class); + FragmentActivity temp = Robolectric.setupActivity(FragmentActivity.class); when(mFragment.getActivity()).thenReturn(temp); SurveyMixin mixin = new SurveyMixin(mFragment, FAKE_KEY); mixin.onPause(); diff --git a/tests/robotests/src/com/android/settings/testutils/FragmentController.java b/tests/robotests/src/com/android/settings/testutils/FragmentController.java new file mode 100644 index 00000000000..b3f7b6f47a0 --- /dev/null +++ b/tests/robotests/src/com/android/settings/testutils/FragmentController.java @@ -0,0 +1,210 @@ +/* + * 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.testutils; + +import android.content.Intent; +import android.os.Bundle; +import android.widget.LinearLayout; + +import org.robolectric.android.controller.ActivityController; +import org.robolectric.android.controller.ComponentController; +import org.robolectric.util.ReflectionHelpers; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; + +/** + * Controller class for driving fragment lifecycles, similar to {@link ActivityController}. + */ +// TODO(b/111195167) - Duplicated from org.robolectric.android.controller.FragmentController. +@Deprecated +public class FragmentController extends + ComponentController, F> { + private final F fragment; + private final ActivityController activityController; + + public static FragmentController of(F fragment) { + return of(fragment, FragmentControllerActivity.class, null, null); + } + + public static FragmentController of(F fragment, + Class activityClass) { + return of(fragment, activityClass, null, null); + } + + public static FragmentController of(F fragment, Intent intent) { + return new FragmentController<>(fragment, FragmentControllerActivity.class, intent); + } + + public static FragmentController of(F fragment, Bundle arguments) { + return new FragmentController<>(fragment, FragmentControllerActivity.class, arguments); + } + + public static FragmentController of(F fragment, Intent intent, + Bundle arguments) { + return new FragmentController<>(fragment, FragmentControllerActivity.class, intent, + arguments); + } + + public static FragmentController of(F fragment, + Class activityClass, Intent intent) { + return new FragmentController<>(fragment, activityClass, intent); + } + + public static FragmentController of(F fragment, + Class activityClass, Bundle arguments) { + return new FragmentController<>(fragment, activityClass, arguments); + } + + public static FragmentController of(F fragment, + Class activityClass, + Intent intent, Bundle arguments) { + return new FragmentController<>(fragment, activityClass, intent, arguments); + } + + private FragmentController(F fragment, Class activityClass, + Intent intent) { + this(fragment, activityClass, intent, null); + } + + private FragmentController(F fragment, Class activityClass, + Bundle arguments) { + this(fragment, activityClass, null, arguments); + } + + private FragmentController(F fragment, Class activityClass, + Intent intent, Bundle arguments) { + super(fragment, intent); + this.fragment = fragment; + if (arguments != null) { + this.fragment.setArguments(arguments); + } + this.activityController = ActivityController.of( + ReflectionHelpers.callConstructor(activityClass), intent); + } + + /** + * Creates the activity with {@link Bundle} and adds the fragment to the view with ID {@code + * contentViewId}. + */ + public FragmentController create(final int contentViewId, final Bundle bundle) { + shadowMainLooper.runPaused(new Runnable() { + @Override + public void run() { + activityController.create( + bundle).get().getSupportFragmentManager().beginTransaction().add( + contentViewId, fragment).commit(); + } + }); + return this; + } + + /** + * Creates the activity with {@link Bundle} and adds the fragment to it. Note that the fragment + * will be added to the view with ID 1. + */ + public FragmentController create(Bundle bundle) { + return create(1, bundle); + } + + @Override + public FragmentController create() { + return create(null); + } + + @Override + public FragmentController destroy() { + shadowMainLooper.runPaused(new Runnable() { + @Override + public void run() { + activityController.destroy(); + } + }); + return this; + } + + public FragmentController start() { + shadowMainLooper.runPaused(new Runnable() { + @Override + public void run() { + activityController.start(); + } + }); + return this; + } + + public FragmentController resume() { + shadowMainLooper.runPaused(new Runnable() { + @Override + public void run() { + activityController.resume(); + } + }); + return this; + } + + public FragmentController pause() { + shadowMainLooper.runPaused(new Runnable() { + @Override + public void run() { + activityController.pause(); + } + }); + return this; + } + + public FragmentController visible() { + shadowMainLooper.runPaused(new Runnable() { + @Override + public void run() { + activityController.visible(); + } + }); + return this; + } + + public FragmentController stop() { + shadowMainLooper.runPaused(new Runnable() { + @Override + public void run() { + activityController.stop(); + } + }); + return this; + } + + public FragmentController saveInstanceState(final Bundle outState) { + shadowMainLooper.runPaused(new Runnable() { + @Override + public void run() { + activityController.saveInstanceState(outState); + } + }); + return this; + } + + private static class FragmentControllerActivity extends FragmentActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + LinearLayout view = new LinearLayout(this); + view.setId(1); + + setContentView(view); + } + } +} diff --git a/tests/robotests/src/com/android/settings/testutils/Robolectric.java b/tests/robotests/src/com/android/settings/testutils/Robolectric.java new file mode 100644 index 00000000000..3020f329c56 --- /dev/null +++ b/tests/robotests/src/com/android/settings/testutils/Robolectric.java @@ -0,0 +1,278 @@ +/* + * 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.testutils; + + +import android.app.IntentService; +import android.app.Service; +import android.app.backup.BackupAgent; +import android.content.ContentProvider; +import android.content.Intent; +import android.os.Bundle; +import android.util.AttributeSet; +import android.view.View; + +import org.robolectric.RuntimeEnvironment; +import org.robolectric.android.XmlResourceParserImpl; +import org.robolectric.android.controller.ActivityController; +import org.robolectric.android.controller.BackupAgentController; +import org.robolectric.android.controller.ContentProviderController; +import org.robolectric.android.controller.IntentServiceController; +import org.robolectric.android.controller.ServiceController; +import org.robolectric.res.ResName; +import org.robolectric.res.ResourceTable; +import org.robolectric.shadows.ShadowApplication; +import org.robolectric.util.ReflectionHelpers; +import org.robolectric.util.Scheduler; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; + +// TODO(b/111195450) - Duplicated from org.robolectric.Robolectric. +@Deprecated +public class Robolectric { + + /** + * This method is internal and shouldn't be called by developers. + */ + @Deprecated + public static void reset() { + // No-op- is now handled in the test runner. Users should not be calling this method anyway. + } + + public static ServiceController buildService(Class serviceClass) { + return buildService(serviceClass, null); + } + + public static ServiceController buildService(Class serviceClass, + Intent intent) { + return ServiceController.of(ReflectionHelpers.callConstructor(serviceClass), intent); + } + + public static T setupService(Class serviceClass) { + return buildService(serviceClass).create().get(); + } + + public static IntentServiceController buildIntentService( + Class serviceClass) { + return buildIntentService(serviceClass, null); + } + + public static IntentServiceController buildIntentService( + Class serviceClass, Intent intent) { + return IntentServiceController.of(ReflectionHelpers.callConstructor(serviceClass, + new ReflectionHelpers.ClassParameter(String.class, "IntentService")), + intent); + } + + public static T setupIntentService(Class serviceClass) { + return buildIntentService(serviceClass).create().get(); + } + + public static ContentProviderController buildContentProvider( + Class contentProviderClass) { + return ContentProviderController.of( + ReflectionHelpers.callConstructor(contentProviderClass)); + } + + public static T setupContentProvider( + Class contentProviderClass) { + return buildContentProvider(contentProviderClass).create().get(); + } + + public static T setupContentProvider(Class contentProviderClass, + String authority) { + return buildContentProvider(contentProviderClass).create(authority).get(); + } + + public static ActivityController buildActivity( + Class activityClass) { + return buildActivity(activityClass, null); + } + + public static ActivityController buildActivity( + Class activityClass, Intent intent) { + return ActivityController.of(ReflectionHelpers.callConstructor(activityClass), intent); + } + + public static T setupActivity(Class activityClass) { + return buildActivity(activityClass).setup().get(); + } + + public static FragmentController buildFragment(Class fragmentClass) { + return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass)); + } + + public static FragmentController buildFragment(Class fragmentClass, + Bundle arguments) { + return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), arguments); + } + + public static FragmentController buildFragment(Class fragmentClass, + Class activityClass) { + return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), + activityClass); + } + + public static FragmentController buildFragment(Class fragmentClass, + Intent intent) { + return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), intent); + } + + public static FragmentController buildFragment(Class fragmentClass, + Intent intent, + Bundle arguments) { + return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), intent, + arguments); + } + + public static FragmentController buildFragment(Class fragmentClass, + Class activityClass, + Intent intent) { + return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), + activityClass, intent); + } + + public static FragmentController buildFragment(Class fragmentClass, + Class activityClass, + Bundle arguments) { + return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), + activityClass, arguments); + } + + public static FragmentController buildFragment(Class fragmentClass, + Class activityClass, + Intent intent, + Bundle arguments) { + return FragmentController.of(ReflectionHelpers.callConstructor(fragmentClass), + activityClass, intent, arguments); + } + + public static BackupAgentController buildBackupAgent( + Class backupAgentClass) { + return BackupAgentController.of(ReflectionHelpers.callConstructor(backupAgentClass)); + } + + public static T setupBackupAgent(Class backupAgentClass) { + return buildBackupAgent(backupAgentClass).create().get(); + } + + /** + * Allows for the programatic creation of an {@link AttributeSet} useful for testing + * {@link View} classes without + * the need for creating XML snippets. + */ + public static AttributeSetBuilder buildAttributeSet() { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + factory.setIgnoringComments(true); + factory.setIgnoringElementContentWhitespace(true); + Document document; + try { + DocumentBuilder documentBuilder = factory.newDocumentBuilder(); + document = documentBuilder.newDocument(); + Element dummy = document.createElementNS("http://schemas.android.com/apk/res/" + + RuntimeEnvironment.application.getPackageName(), "dummy"); + document.appendChild(dummy); + } catch (ParserConfigurationException e) { + throw new RuntimeException(e); + } + return new AttributeSetBuilder(document, RuntimeEnvironment.getCompileTimeResourceTable()); + } + + public static class AttributeSetBuilder { + + private Document doc; + private ResourceTable appResourceTable; + + AttributeSetBuilder(Document doc, ResourceTable resourceTable) { + this.doc = doc; + this.appResourceTable = resourceTable; + } + + public AttributeSetBuilder addAttribute(int resId, String value) { + ResName resName = appResourceTable.getResName(resId); + if ("style".equals(resName.name)) { + ((Element) doc.getFirstChild()).setAttribute(resName.name, value); + } else { + ((Element) doc.getFirstChild()).setAttributeNS(resName.getNamespaceUri(), + resName.packageName + ":" + resName.name, value); + } + return this; + } + + public AttributeSetBuilder setStyleAttribute(String value) { + ((Element) doc.getFirstChild()).setAttribute("style", value); + return this; + } + + public AttributeSet build() { + XmlResourceParserImpl parser = new XmlResourceParserImpl(doc, null, + RuntimeEnvironment.application.getPackageName(), + RuntimeEnvironment.application.getPackageName(), appResourceTable); + try { + parser.next(); // Root document element + parser.next(); // "dummy" element + } catch (Exception e) { + throw new IllegalStateException( + "Expected single dummy element in the document to contain the attributes.", + e); + } + + return parser; + } + } + + /** + * Return the foreground scheduler (e.g. the UI thread scheduler). + * + * @return Foreground scheduler. + */ + public static Scheduler getForegroundThreadScheduler() { + return ShadowApplication.getInstance().getForegroundThreadScheduler(); + } + + /** + * Execute all runnables that have been enqueued on the foreground scheduler. + */ + public static void flushForegroundThreadScheduler() { + getForegroundThreadScheduler().advanceToLastPostedRunnable(); + } + + /** + * Return the background scheduler. + * + * @return Background scheduler. + */ + public static Scheduler getBackgroundThreadScheduler() { + return ShadowApplication.getInstance().getBackgroundThreadScheduler(); + } + + /** + * Execute all runnables that have been enqueued on the background scheduler. + */ + public static void flushBackgroundThreadScheduler() { + getBackgroundThreadScheduler().advanceToLastPostedRunnable(); + } +} + diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java index 009b8630d01..a441b281618 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java @@ -20,6 +20,7 @@ import android.util.TypedValue; import com.android.settings.R; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.android.XmlResourceParserImpl; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; @@ -188,7 +189,7 @@ public class SettingsShadowResources extends ShadowResources { @RealObject Theme realTheme; - private ShadowAssetManager mAssetManager = shadowOf( + private ShadowAssetManager mAssetManager = Shadows.shadowOf( RuntimeEnvironment.application.getAssets()); @Implementation diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java index 8035b1351b9..76f9c5d09b6 100644 --- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java +++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java @@ -24,7 +24,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.pm.UserInfo; @@ -34,6 +33,7 @@ import android.provider.Settings; import com.android.settings.R; import com.android.settings.dashboard.SummaryLoader; +import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.RestrictedPreference; @@ -43,10 +43,10 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; import org.robolectric.util.ReflectionHelpers; +import androidx.fragment.app.FragmentActivity; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceGroup; @@ -70,7 +70,7 @@ public class UserSettingsTest { @Mock private SummaryLoader mSummaryLoader; - private Activity mActivity; + private FragmentActivity mActivity; private Context mContext; private UserSettings mFragment; private UserCapabilities mUserCapabilities; @@ -79,7 +79,7 @@ public class UserSettingsTest { @Before public void setUp() { MockitoAnnotations.initMocks(this); - mActivity = spy(Robolectric.buildActivity(Activity.class).get()); + mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get()); mContext = spy(RuntimeEnvironment.application); mFragment = spy(new UserSettings()); ReflectionHelpers.setField(mFragment, "mAddUserWhenLockedPreferenceController", diff --git a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java index 64fc97b76eb..b6b3d60748a 100644 --- a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java +++ b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java @@ -35,6 +35,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.Robolectric; import org.robolectric.RuntimeEnvironment; +import org.robolectric.Shadows; import org.robolectric.android.controller.ActivityController; import org.robolectric.annotation.Config; import org.robolectric.annotation.Implementation; @@ -67,10 +68,10 @@ public class WallpaperSuggestionActivityTest { @Test public void launch_primarySuggestionActivityDoesNotExist_shouldFallback() { ShadowPackageManager packageManager = - shadowOf(RuntimeEnvironment.application.getPackageManager()); + Shadows.shadowOf(RuntimeEnvironment.application.getPackageManager()); packageManager.removePackage("com.android.settings"); - ShadowActivity activity = shadowOf(mController.setup().get()); + ShadowActivity activity = Shadows.shadowOf(mController.setup().get()); final Intent intent = activity.getNextStartedActivity(); assertThat(intent.getComponent().getClassName()).isEqualTo(SubSettings.class.getName()); diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java index b12f3ab1010..7bc7e939529 100644 --- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java +++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java @@ -30,7 +30,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -58,6 +57,8 @@ import org.robolectric.util.ReflectionHelpers; import java.util.Arrays; import java.util.Collections; +import androidx.fragment.app.FragmentActivity; + @RunWith(SettingsRobolectricTestRunner.class) public class WebViewAppPickerTest { @@ -69,7 +70,7 @@ public class WebViewAppPickerTest { private UserInfo mSecondUser; @Mock - private Activity mActivity; + private FragmentActivity mActivity; @Mock private UserManager mUserManager; @Mock(answer = Answers.RETURNS_DEEP_STUBS) diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java index 9f6e7237261..b458a3b6cca 100644 --- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java +++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java @@ -26,7 +26,6 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.ActionBar; -import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; @@ -57,6 +56,7 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; import androidx.preference.Preference; @RunWith(SettingsRobolectricTestRunner.class) @@ -65,7 +65,7 @@ public class EntityHeaderControllerTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) private Context mContext; @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private Activity mActivity; + private FragmentActivity mActivity; @Mock private Fragment mFragment; @@ -187,7 +187,7 @@ public class EntityHeaderControllerTest { public void bindButton_noAppInfo_shouldNotAttachClickListener() { final View appLinks = mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */); - final Activity activity = mock(Activity.class); + final FragmentActivity activity = mock(FragmentActivity.class); when(mFragment.getActivity()).thenReturn(activity); mController = EntityHeaderController.newInstance(mActivity, mFragment, appLinks); @@ -212,7 +212,7 @@ public class EntityHeaderControllerTest { public void bindButton_hasAppInfo_shouldAttachClickListener() { final View appLinks = mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */); - final Activity activity = mock(Activity.class); + final FragmentActivity activity = mock(FragmentActivity.class); when(mFragment.getActivity()).thenReturn(activity); when(mContext.getString(eq(R.string.application_info_label))).thenReturn("App Info"); @@ -234,7 +234,7 @@ public class EntityHeaderControllerTest { public void iconContentDescription_shouldWorkWithSetIcon() { final View view = mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */); - when(mFragment.getActivity()).thenReturn(mock(Activity.class)); + when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class)); mController = EntityHeaderController.newInstance(mActivity, mFragment, view); String description = "Fake Description"; mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add)); @@ -248,7 +248,7 @@ public class EntityHeaderControllerTest { public void iconContentDescription_shouldWorkWithoutSetIcon() { final View view = mLayoutInflater .inflate(R.layout.settings_entity_header, null /* root */); - when(mFragment.getActivity()).thenReturn(mock(Activity.class)); + when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class)); mController = EntityHeaderController.newInstance(mActivity, mFragment, view); String description = "Fake Description"; mController.setIconContentDescription(description); diff --git a/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java b/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java index f74882b9700..5c96361cfb2 100644 --- a/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java +++ b/tests/robotests/src/com/android/settings/widget/ScrollToParentEditTextTest.java @@ -34,6 +34,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; +import org.robolectric.Shadows; import org.robolectric.shadows.ShadowView; @RunWith(SettingsRobolectricTestRunner.class) @@ -66,7 +67,7 @@ public class ScrollToParentEditTextTest { @Test public void requestRectangleOnScreen_withParent_shouldScrollToParent() { - ShadowView shadowEditText = shadowOf(mEditText); + ShadowView shadowEditText = Shadows.shadowOf(mEditText); shadowEditText.setMyParent(mParent); assertThat(mEditText.requestRectangleOnScreen( diff --git a/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java b/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java index 170cf53c1c3..252e7eddaa4 100644 --- a/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java +++ b/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java @@ -54,7 +54,6 @@ public class WriteWifiConfigToNfcDialogTest { when(mActivity.getApplicationContext()).thenReturn(mActivity); when(mActivity.getSystemService(Context.INPUT_METHOD_SERVICE)) .thenReturn(ReflectionHelpers.newInstance(InputMethodManager.class)); - mWriteWifiConfigToNfcDialog = new WriteWifiConfigToNfcDialog(RuntimeEnvironment.application, 0 /* security */); ReflectionHelpers.setField(mWriteWifiConfigToNfcDialog, "mWifiManager", mWifiManager); diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java index 32ffa9104de..2bec044b9c0 100644 --- a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java @@ -29,7 +29,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -89,6 +88,7 @@ import java.net.UnknownHostException; import java.util.Arrays; import java.util.stream.Collectors; +import androidx.fragment.app.FragmentActivity; import androidx.lifecycle.LifecycleOwner; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; @@ -113,7 +113,7 @@ public class WifiDetailPreferenceControllerTest { @Mock private AccessPoint mockAccessPoint; @Mock - private Activity mockActivity; + private FragmentActivity mockActivity; @Mock private ConnectivityManager mockConnectivityManager; @Mock diff --git a/tests/unit/src/com/android/settings/dashboard/DashboardSummaryInstrumentationTest.java b/tests/unit/src/com/android/settings/dashboard/DashboardSummaryInstrumentationTest.java index 4345b9918fe..c21f0c0e124 100644 --- a/tests/unit/src/com/android/settings/dashboard/DashboardSummaryInstrumentationTest.java +++ b/tests/unit/src/com/android/settings/dashboard/DashboardSummaryInstrumentationTest.java @@ -18,7 +18,6 @@ package com.android.settings.dashboard; import static com.google.common.truth.Truth.assertThat; -import android.app.Activity; import android.app.Instrumentation; import android.content.Context; import android.content.Intent; @@ -39,6 +38,7 @@ import org.junit.runner.RunWith; import java.util.List; import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentActivity; @RunWith(AndroidJUnit4.class) @SmallTest @@ -62,7 +62,8 @@ public class DashboardSummaryInstrumentationTest { public void rotate_shouldSaveCategoriesChangedState() { final Intent intent = new Intent(Settings.ACTION_SETTINGS) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - final Activity activity = mInstrumentation.startActivitySync(intent); + final FragmentActivity activity = + (FragmentActivity) mInstrumentation.startActivitySync(intent); activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); @@ -71,7 +72,7 @@ public class DashboardSummaryInstrumentationTest { .text("Network & internet")), TIMEOUT); assertThat(item).isNotNull(); - final List fragments = activity.getFragmentManager().getFragments(); + final List fragments = activity.getSupportFragmentManager().getFragments(); final DashboardSummary fragment = (DashboardSummary) fragments.get(0); assertThat(fragment.mIsOnCategoriesChangedCalled).isTrue(); diff --git a/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java b/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java index f533056b76d..6cf812d54b9 100644 --- a/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java +++ b/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java @@ -25,6 +25,7 @@ import static android.support.test.espresso.matcher.ViewMatchers.isEnabled; import static android.support.test.espresso.matcher.ViewMatchers.withEffectiveVisibility; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withText; +import static com.google.common.truth.Truth.assertThat; import static org.hamcrest.CoreMatchers.not; import android.support.test.espresso.action.ViewActions; diff --git a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java b/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java index 4c8bb998c09..54fdcc376d3 100644 --- a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java +++ b/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java @@ -145,7 +145,7 @@ public class WifiSettingsUiTest { resourceString(WIFI_DISPLAY_STATUS_CONNECTED)); when(mWifiTracker.getAccessPoints()).thenReturn( - Lists.asList(accessPoint, new AccessPoint[]{})); + Lists.asList(accessPoint, new AccessPoint[] {})); } /** Launch the activity via an Intent with a String extra. */ @@ -158,7 +158,8 @@ public class WifiSettingsUiTest { verify(mWifiTracker).getManager(); - List fragments = mActivityRule.getActivity().getFragmentManager().getFragments(); + List fragments = + mActivityRule.getActivity().getSupportFragmentManager().getFragments(); assertThat(fragments.size()).isEqualTo(1); mWifiListener = (WifiSettings) fragments.get(0); assertThat(mWifiListener).isNotNull();