Update testcases which failed due to the SupportLibrary changed
Fragment.oncreate() causes an IllegalStateException. We use a ShadowFragment to stop the calling sequence. Fixes: 135086559 Test: robotest Change-Id: I601e0f2513f826b0b7749cb2c013b7e4c0a94a33
This commit is contained in:
@@ -37,6 +37,7 @@ import androidx.preference.PreferenceManager;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
import com.android.settings.widget.WorkOnlyCategory;
|
import com.android.settings.widget.WorkOnlyCategory;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -46,6 +47,7 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.util.ReflectionHelpers;
|
import org.robolectric.util.ReflectionHelpers;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@@ -147,6 +149,7 @@ public class SettingsPreferenceFragmentTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void onCreate_hasExtraFragmentKey_shouldExpandPreferences() {
|
public void onCreate_hasExtraFragmentKey_shouldExpandPreferences() {
|
||||||
doReturn(mContext.getTheme()).when(mActivity).getTheme();
|
doReturn(mContext.getTheme()).when(mActivity).getTheme();
|
||||||
doReturn(mContext.getResources()).when(mFragment).getResources();
|
doReturn(mContext.getResources()).when(mFragment).getResources();
|
||||||
@@ -161,6 +164,7 @@ public class SettingsPreferenceFragmentTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void onCreate_noPreferenceScreen_shouldNotCrash() {
|
public void onCreate_noPreferenceScreen_shouldNotCrash() {
|
||||||
doReturn(mContext.getTheme()).when(mActivity).getTheme();
|
doReturn(mContext.getTheme()).when(mActivity).getTheme();
|
||||||
doReturn(mContext.getResources()).when(mFragment).getResources();
|
doReturn(mContext.getResources()).when(mFragment).getResources();
|
||||||
|
@@ -32,6 +32,9 @@ import android.os.Bundle;
|
|||||||
import android.view.accessibility.AccessibilityManager;
|
import android.view.accessibility.AccessibilityManager;
|
||||||
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -39,6 +42,7 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.shadow.api.Shadow;
|
import org.robolectric.shadow.api.Shadow;
|
||||||
import org.robolectric.shadows.ShadowAccessibilityManager;
|
import org.robolectric.shadows.ShadowAccessibilityManager;
|
||||||
import org.xmlpull.v1.XmlPullParserException;
|
import org.xmlpull.v1.XmlPullParserException;
|
||||||
@@ -47,6 +51,7 @@ import java.io.IOException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class AccessibilityDetailsSettingsFragmentTest {
|
public class AccessibilityDetailsSettingsFragmentTest {
|
||||||
private final static String PACKAGE_NAME = "com.foo.bar";
|
private final static String PACKAGE_NAME = "com.foo.bar";
|
||||||
|
@@ -54,6 +54,7 @@ import com.android.settings.R;
|
|||||||
import com.android.settings.testutils.shadow.ShadowAccountManager;
|
import com.android.settings.testutils.shadow.ShadowAccountManager;
|
||||||
import com.android.settings.testutils.shadow.ShadowContentResolver;
|
import com.android.settings.testutils.shadow.ShadowContentResolver;
|
||||||
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
|
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||||
import com.android.settingslib.widget.LayoutPreference;
|
import com.android.settingslib.widget.LayoutPreference;
|
||||||
|
|
||||||
@@ -169,7 +170,8 @@ public class RemoveAccountPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
|
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class,
|
||||||
|
ShadowFragment.class})
|
||||||
public void confirmRemove_shouldRemoveAccount()
|
public void confirmRemove_shouldRemoveAccount()
|
||||||
throws AuthenticatorException, OperationCanceledException, IOException {
|
throws AuthenticatorException, OperationCanceledException, IOException {
|
||||||
when(mFragment.isAdded()).thenReturn(true);
|
when(mFragment.isAdded()).thenReturn(true);
|
||||||
@@ -201,7 +203,8 @@ public class RemoveAccountPreferenceControllerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class})
|
@Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class,
|
||||||
|
ShadowFragment.class})
|
||||||
public void confirmRemove_activityGone_shouldSilentlyRemoveAccount()
|
public void confirmRemove_activityGone_shouldSilentlyRemoveAccount()
|
||||||
throws AuthenticatorException, OperationCanceledException, IOException {
|
throws AuthenticatorException, OperationCanceledException, IOException {
|
||||||
final Account account = new Account("Account11", "com.acct1");
|
final Account account = new Account("Account11", "com.acct1");
|
||||||
|
@@ -40,6 +40,7 @@ import androidx.fragment.app.FragmentActivity;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
import com.android.settings.testutils.shadow.ShadowSecureSettings;
|
import com.android.settings.testutils.shadow.ShadowSecureSettings;
|
||||||
import com.android.settingslib.applications.DefaultAppInfo;
|
import com.android.settingslib.applications.DefaultAppInfo;
|
||||||
|
|
||||||
@@ -133,6 +134,7 @@ public class DefaultAutofillPickerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void mUserId_shouldDeriveUidFromManagedCaller() {
|
public void mUserId_shouldDeriveUidFromManagedCaller() {
|
||||||
setupUserManager();
|
setupUserManager();
|
||||||
setupCaller();
|
setupCaller();
|
||||||
@@ -145,6 +147,7 @@ public class DefaultAutofillPickerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void mUserId_shouldDeriveUidFromMainCaller() {
|
public void mUserId_shouldDeriveUidFromMainCaller() {
|
||||||
setupUserManager();
|
setupUserManager();
|
||||||
setupCaller();
|
setupCaller();
|
||||||
@@ -157,6 +160,7 @@ public class DefaultAutofillPickerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void mUserId_shouldDeriveUidFromManagedClick() {
|
public void mUserId_shouldDeriveUidFromManagedClick() {
|
||||||
setupUserManager();
|
setupUserManager();
|
||||||
setupClick(/* forWork= */ true);
|
setupClick(/* forWork= */ true);
|
||||||
@@ -169,6 +173,7 @@ public class DefaultAutofillPickerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void mUserId_shouldDeriveUidFromMainClick() {
|
public void mUserId_shouldDeriveUidFromMainClick() {
|
||||||
setupUserManager();
|
setupUserManager();
|
||||||
setupClick(/* forWork= */ false);
|
setupClick(/* forWork= */ false);
|
||||||
|
@@ -23,12 +23,12 @@ import static org.mockito.Mockito.verify;
|
|||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.hardware.fingerprint.Fingerprint;
|
import android.hardware.fingerprint.Fingerprint;
|
||||||
|
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
|
|
||||||
import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
|
import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
|
||||||
import com.android.settings.biometrics.fingerprint.FingerprintSettings
|
import com.android.settings.biometrics.fingerprint.FingerprintSettings
|
||||||
.FingerprintSettingsFragment.DeleteFingerprintDialog;
|
.FingerprintSettingsFragment.DeleteFingerprintDialog;
|
||||||
import com.android.settings.testutils.shadow.ShadowFragment;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -37,10 +37,12 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
import org.robolectric.annotation.Implementation;
|
||||||
|
import org.robolectric.annotation.Implements;
|
||||||
import org.robolectric.shadows.androidx.fragment.FragmentController;
|
import org.robolectric.shadows.androidx.fragment.FragmentController;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = ShadowFragment.class)
|
@Config(shadows = DeleteFingerprintDialogTest.ShadowFragment.class)
|
||||||
public class DeleteFingerprintDialogTest {
|
public class DeleteFingerprintDialogTest {
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
@@ -75,4 +77,19 @@ public class DeleteFingerprintDialogTest {
|
|||||||
|
|
||||||
verify(mTarget, never()).deleteFingerPrint(mFingerprint);
|
verify(mTarget, never()).deleteFingerPrint(mFingerprint);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Implements(Fragment.class)
|
||||||
|
public static class ShadowFragment {
|
||||||
|
private Fragment mTargetFragment;
|
||||||
|
|
||||||
|
@Implementation
|
||||||
|
protected void setTargetFragment(Fragment fragment, int requestCode) {
|
||||||
|
mTargetFragment = fragment;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Implementation
|
||||||
|
protected Fragment getTargetFragment() {
|
||||||
|
return mTargetFragment;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -53,6 +53,7 @@ import com.android.settings.applications.AppInfoBase;
|
|||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
|
import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
|
||||||
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
|
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
|
import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
|
||||||
import com.android.settings.widget.EntityHeaderController;
|
import com.android.settings.widget.EntityHeaderController;
|
||||||
import com.android.settingslib.AppItem;
|
import com.android.settingslib.AppItem;
|
||||||
@@ -102,6 +103,7 @@ public class AppDataUsageTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void onCreate_appUid_shouldGetAppLabelFromAppInfo() throws NameNotFoundException {
|
public void onCreate_appUid_shouldGetAppLabelFromAppInfo() throws NameNotFoundException {
|
||||||
mFragment = spy(new AppDataUsage());
|
mFragment = spy(new AppDataUsage());
|
||||||
final FragmentActivity activity = spy(Robolectric.setupActivity(FragmentActivity.class));
|
final FragmentActivity activity = spy(Robolectric.setupActivity(FragmentActivity.class));
|
||||||
@@ -109,17 +111,17 @@ public class AppDataUsageTest {
|
|||||||
doReturn(activity).when(mFragment).getActivity();
|
doReturn(activity).when(mFragment).getActivity();
|
||||||
doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
|
doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
|
||||||
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
|
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
|
||||||
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
|
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
|
||||||
final String packageName = "testPackage";
|
final String packageName = "testPackage";
|
||||||
final int uid = (Process.FIRST_APPLICATION_UID + Process.LAST_APPLICATION_UID) / 2;
|
final int uid = (Process.FIRST_APPLICATION_UID + Process.LAST_APPLICATION_UID) / 2;
|
||||||
doReturn(new String[] {packageName}).when(mPackageManager).getPackagesForUid(uid);
|
doReturn(new String[]{packageName}).when(mPackageManager).getPackagesForUid(uid);
|
||||||
final String label = "testLabel";
|
final String label = "testLabel";
|
||||||
final AppItem appItem = new AppItem(uid);
|
final AppItem appItem = new AppItem(uid);
|
||||||
appItem.uids.put(uid, true);
|
appItem.uids.put(uid, true);
|
||||||
final ApplicationInfo info = spy(new ApplicationInfo());
|
final ApplicationInfo info = spy(new ApplicationInfo());
|
||||||
doReturn(label).when(info).loadLabel(mPackageManager);
|
doReturn(label).when(info).loadLabel(mPackageManager);
|
||||||
when(mPackageManager.getApplicationInfoAsUser(
|
when(mPackageManager.getApplicationInfoAsUser(
|
||||||
eq(packageName), anyInt() /* flags */, anyInt() /* userId */)).thenReturn(info);
|
eq(packageName), anyInt() /* flags */, anyInt() /* userId */)).thenReturn(info);
|
||||||
final Bundle args = new Bundle();
|
final Bundle args = new Bundle();
|
||||||
args.putParcelable(AppDataUsage.ARG_APP_ITEM, appItem);
|
args.putParcelable(AppDataUsage.ARG_APP_ITEM, appItem);
|
||||||
args.putInt(AppInfoBase.ARG_PACKAGE_UID, uid);
|
args.putInt(AppInfoBase.ARG_PACKAGE_UID, uid);
|
||||||
@@ -131,10 +133,11 @@ public class AppDataUsageTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void onCreate_notAppUid_shouldGetAppLabelFromUidDetailProvider() {
|
public void onCreate_notAppUid_shouldGetAppLabelFromUidDetailProvider() {
|
||||||
mFragment = spy(new AppDataUsage());
|
mFragment = spy(new AppDataUsage());
|
||||||
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
|
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
|
||||||
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
|
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
|
||||||
doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
|
doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
|
||||||
doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
|
doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
|
||||||
final UidDetailProvider uidDetailProvider = mock(UidDetailProvider.class);
|
final UidDetailProvider uidDetailProvider = mock(UidDetailProvider.class);
|
||||||
@@ -144,7 +147,7 @@ public class AppDataUsageTest {
|
|||||||
final UidDetail uidDetail = new UidDetail();
|
final UidDetail uidDetail = new UidDetail();
|
||||||
uidDetail.label = label;
|
uidDetail.label = label;
|
||||||
when(uidDetailProvider.getUidDetail(eq(uid), anyBoolean() /* blocking */)).
|
when(uidDetailProvider.getUidDetail(eq(uid), anyBoolean() /* blocking */)).
|
||||||
thenReturn(uidDetail);
|
thenReturn(uidDetail);
|
||||||
final AppItem appItem = new AppItem(uid);
|
final AppItem appItem = new AppItem(uid);
|
||||||
appItem.uids.put(uid, true);
|
appItem.uids.put(uid, true);
|
||||||
final Bundle args = new Bundle();
|
final Bundle args = new Bundle();
|
||||||
@@ -166,7 +169,7 @@ public class AppDataUsageTest {
|
|||||||
mFragment = spy(new AppDataUsage());
|
mFragment = spy(new AppDataUsage());
|
||||||
|
|
||||||
when(mFragment.getPreferenceManager())
|
when(mFragment.getPreferenceManager())
|
||||||
.thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
|
.thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
|
||||||
doReturn(mock(PreferenceScreen.class)).when(mFragment).getPreferenceScreen();
|
doReturn(mock(PreferenceScreen.class)).when(mFragment).getPreferenceScreen();
|
||||||
ReflectionHelpers.setField(mFragment, "mAppItem", mock(AppItem.class));
|
ReflectionHelpers.setField(mFragment, "mAppItem", mock(AppItem.class));
|
||||||
|
|
||||||
@@ -177,7 +180,7 @@ public class AppDataUsageTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void bindAppHeader_workApp_shouldSetWorkAppUid()
|
public void bindAppHeader_workApp_shouldSetWorkAppUid()
|
||||||
throws PackageManager.NameNotFoundException {
|
throws PackageManager.NameNotFoundException {
|
||||||
final int fakeUserId = 100;
|
final int fakeUserId = 100;
|
||||||
|
|
||||||
mFragment = spy(new AppDataUsage());
|
mFragment = spy(new AppDataUsage());
|
||||||
@@ -198,7 +201,7 @@ public class AppDataUsageTest {
|
|||||||
when(mHeaderController.setHasAppInfoLink(anyBoolean())).thenReturn(mHeaderController);
|
when(mHeaderController.setHasAppInfoLink(anyBoolean())).thenReturn(mHeaderController);
|
||||||
|
|
||||||
when(mFragment.getPreferenceManager())
|
when(mFragment.getPreferenceManager())
|
||||||
.thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
|
.thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
|
||||||
doReturn(mock(PreferenceScreen.class)).when(mFragment).getPreferenceScreen();
|
doReturn(mock(PreferenceScreen.class)).when(mFragment).getPreferenceScreen();
|
||||||
|
|
||||||
mFragment.onViewCreated(new View(RuntimeEnvironment.application), new Bundle());
|
mFragment.onViewCreated(new View(RuntimeEnvironment.application), new Bundle());
|
||||||
@@ -276,7 +279,7 @@ public class AppDataUsageTest {
|
|||||||
final long foregroundBytes = 5678L;
|
final long foregroundBytes = 5678L;
|
||||||
final List<NetworkCycleDataForUid> appUsage = new ArrayList<>();
|
final List<NetworkCycleDataForUid> appUsage = new ArrayList<>();
|
||||||
appUsage.add(new NetworkCycleDataForUid.Builder()
|
appUsage.add(new NetworkCycleDataForUid.Builder()
|
||||||
.setBackgroundUsage(backgroundBytes).setForegroundUsage(foregroundBytes).build());
|
.setBackgroundUsage(backgroundBytes).setForegroundUsage(foregroundBytes).build());
|
||||||
ReflectionHelpers.setField(mFragment, "mUsageData", appUsage);
|
ReflectionHelpers.setField(mFragment, "mUsageData", appUsage);
|
||||||
final Preference backgroundPref = mock(Preference.class);
|
final Preference backgroundPref = mock(Preference.class);
|
||||||
ReflectionHelpers.setField(mFragment, "mBackgroundUsage", backgroundPref);
|
ReflectionHelpers.setField(mFragment, "mBackgroundUsage", backgroundPref);
|
||||||
@@ -291,7 +294,7 @@ public class AppDataUsageTest {
|
|||||||
|
|
||||||
verify(cycle).setVisible(true);
|
verify(cycle).setVisible(true);
|
||||||
verify(totalPref).setSummary(
|
verify(totalPref).setSummary(
|
||||||
DataUsageUtils.formatDataUsage(context, backgroundBytes + foregroundBytes));
|
DataUsageUtils.formatDataUsage(context, backgroundBytes + foregroundBytes));
|
||||||
verify(backgroundPref).setSummary(DataUsageUtils.formatDataUsage(context, backgroundBytes));
|
verify(backgroundPref).setSummary(DataUsageUtils.formatDataUsage(context, backgroundBytes));
|
||||||
verify(foregroundPref).setSummary(DataUsageUtils.formatDataUsage(context, foregroundBytes));
|
verify(foregroundPref).setSummary(DataUsageUtils.formatDataUsage(context, foregroundBytes));
|
||||||
}
|
}
|
||||||
@@ -306,12 +309,12 @@ public class AppDataUsageTest {
|
|||||||
ReflectionHelpers.setField(mFragment, "mContext", context);
|
ReflectionHelpers.setField(mFragment, "mContext", context);
|
||||||
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
||||||
ReflectionHelpers.setField(mFragment, "mTemplate",
|
ReflectionHelpers.setField(mFragment, "mTemplate",
|
||||||
NetworkTemplate.buildTemplateWifiWildcard());
|
NetworkTemplate.buildTemplateWifiWildcard());
|
||||||
final long end = System.currentTimeMillis();
|
final long end = System.currentTimeMillis();
|
||||||
final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
|
final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
|
||||||
|
|
||||||
final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
|
final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
|
||||||
mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
|
mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
|
||||||
|
|
||||||
final List<Integer> uids = loader.getUids();
|
final List<Integer> uids = loader.getUids();
|
||||||
assertThat(uids).hasSize(1);
|
assertThat(uids).hasSize(1);
|
||||||
@@ -331,12 +334,12 @@ public class AppDataUsageTest {
|
|||||||
ReflectionHelpers.setField(mFragment, "mContext", context);
|
ReflectionHelpers.setField(mFragment, "mContext", context);
|
||||||
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
||||||
ReflectionHelpers.setField(mFragment, "mTemplate",
|
ReflectionHelpers.setField(mFragment, "mTemplate",
|
||||||
NetworkTemplate.buildTemplateWifiWildcard());
|
NetworkTemplate.buildTemplateWifiWildcard());
|
||||||
final long end = System.currentTimeMillis();
|
final long end = System.currentTimeMillis();
|
||||||
final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
|
final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
|
||||||
|
|
||||||
final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
|
final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
|
||||||
mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
|
mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
|
||||||
|
|
||||||
final List<Integer> uids = loader.getUids();
|
final List<Integer> uids = loader.getUids();
|
||||||
assertThat(uids).hasSize(3);
|
assertThat(uids).hasSize(3);
|
||||||
@@ -362,10 +365,10 @@ public class AppDataUsageTest {
|
|||||||
ReflectionHelpers.setField(mFragment, "mCycles", testCycles);
|
ReflectionHelpers.setField(mFragment, "mCycles", testCycles);
|
||||||
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
||||||
ReflectionHelpers.setField(mFragment, "mTemplate",
|
ReflectionHelpers.setField(mFragment, "mTemplate",
|
||||||
NetworkTemplate.buildTemplateWifiWildcard());
|
NetworkTemplate.buildTemplateWifiWildcard());
|
||||||
|
|
||||||
final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
|
final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
|
||||||
mFragment.mUidDataCallbacks.onCreateLoader(0 /* id */, Bundle.EMPTY /* args */);
|
mFragment.mUidDataCallbacks.onCreateLoader(0 /* id */, Bundle.EMPTY /* args */);
|
||||||
|
|
||||||
final ArrayList<Long> cycles = loader.getCycles();
|
final ArrayList<Long> cycles = loader.getCycles();
|
||||||
assertThat(cycles).hasSize(2);
|
assertThat(cycles).hasSize(2);
|
||||||
@@ -409,13 +412,14 @@ public class AppDataUsageTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowDataUsageUtils.class, ShadowSubscriptionManager.class})
|
@Config(shadows = {ShadowDataUsageUtils.class, ShadowSubscriptionManager.class,
|
||||||
|
ShadowFragment.class})
|
||||||
public void onCreate_noNetworkTemplateAndInvalidDataSubscription_shouldUseWifiTemplate() {
|
public void onCreate_noNetworkTemplateAndInvalidDataSubscription_shouldUseWifiTemplate() {
|
||||||
ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
|
ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
|
||||||
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
|
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
|
||||||
ShadowDataUsageUtils.HAS_SIM = false;
|
ShadowDataUsageUtils.HAS_SIM = false;
|
||||||
ShadowSubscriptionManager.setDefaultDataSubscriptionId(
|
ShadowSubscriptionManager.setDefaultDataSubscriptionId(
|
||||||
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||||
mFragment = spy(new AppDataUsage());
|
mFragment = spy(new AppDataUsage());
|
||||||
doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
|
doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
|
||||||
doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
|
doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
|
||||||
@@ -424,7 +428,7 @@ public class AppDataUsageTest {
|
|||||||
doReturn(new UidDetail()).when(uidDetailProvider).getUidDetail(anyInt(), anyBoolean());
|
doReturn(new UidDetail()).when(uidDetailProvider).getUidDetail(anyInt(), anyBoolean());
|
||||||
|
|
||||||
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
|
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
|
||||||
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
|
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
|
||||||
final Bundle args = new Bundle();
|
final Bundle args = new Bundle();
|
||||||
args.putInt(AppInfoBase.ARG_PACKAGE_UID, 123123);
|
args.putInt(AppInfoBase.ARG_PACKAGE_UID, 123123);
|
||||||
mFragment.setArguments(args);
|
mFragment.setArguments(args);
|
||||||
@@ -432,6 +436,6 @@ public class AppDataUsageTest {
|
|||||||
mFragment.onCreate(Bundle.EMPTY);
|
mFragment.onCreate(Bundle.EMPTY);
|
||||||
|
|
||||||
assertThat(mFragment.mTemplate.getMatchRule())
|
assertThat(mFragment.mTemplate.getMatchRule())
|
||||||
.isEqualTo(NetworkTemplate.MATCH_WIFI_WILDCARD);
|
.isEqualTo(NetworkTemplate.MATCH_WIFI_WILDCARD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -45,6 +45,7 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.preference.SwitchPreference;
|
import androidx.preference.SwitchPreference;
|
||||||
|
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
import com.android.settingslib.NetworkPolicyEditor;
|
import com.android.settingslib.NetworkPolicyEditor;
|
||||||
import com.android.settingslib.widget.FooterPreference;
|
import com.android.settingslib.widget.FooterPreference;
|
||||||
import com.android.settingslib.widget.FooterPreferenceMixinCompat;
|
import com.android.settingslib.widget.FooterPreferenceMixinCompat;
|
||||||
@@ -56,6 +57,7 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.util.ReflectionHelpers;
|
import org.robolectric.util.ReflectionHelpers;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@@ -142,6 +144,7 @@ public class BillingCycleSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void onCreate_emptyArguments_shouldSetDefaultNetworkTemplate() {
|
public void onCreate_emptyArguments_shouldSetDefaultNetworkTemplate() {
|
||||||
final BillingCycleSettings billingCycleSettings = spy(new BillingCycleSettings());
|
final BillingCycleSettings billingCycleSettings = spy(new BillingCycleSettings());
|
||||||
when(billingCycleSettings.getContext()).thenReturn(mContext);
|
when(billingCycleSettings.getContext()).thenReturn(mContext);
|
||||||
|
@@ -38,6 +38,7 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import com.android.settings.deviceinfo.BuildNumberPreferenceController;
|
import com.android.settings.deviceinfo.BuildNumberPreferenceController;
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
|
||||||
@@ -90,6 +91,7 @@ public class MyDeviceInfoFragmentTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void onCreate_fromSearch_shouldNotOverrideInitialExpandedCount() {
|
public void onCreate_fromSearch_shouldNotOverrideInitialExpandedCount() {
|
||||||
final Bundle args = new Bundle();
|
final Bundle args = new Bundle();
|
||||||
args.putString(EXTRA_FRAGMENT_ARG_KEY, "search_key");
|
args.putString(EXTRA_FRAGMENT_ARG_KEY, "search_key");
|
||||||
|
@@ -46,6 +46,7 @@ import androidx.preference.SwitchPreference;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.network.ApnEditor.ApnData;
|
import com.android.settings.network.ApnEditor.ApnData;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -58,6 +59,7 @@ import org.mockito.MockitoAnnotations;
|
|||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class ApnEditorTest {
|
public class ApnEditorTest {
|
||||||
@@ -455,6 +457,7 @@ public class ApnEditorTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void onCreate_noAction_shouldFinishAndNoCrash() {
|
public void onCreate_noAction_shouldFinishAndNoCrash() {
|
||||||
doNothing().when(mApnEditorUT).addPreferencesFromResource(anyInt());
|
doNothing().when(mApnEditorUT).addPreferencesFromResource(anyInt());
|
||||||
|
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.testutils.shadow;
|
package com.android.settings.testutils.shadow;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
import org.robolectric.annotation.Implementation;
|
import org.robolectric.annotation.Implementation;
|
||||||
@@ -26,6 +28,11 @@ public class ShadowFragment {
|
|||||||
|
|
||||||
private Fragment mTargetFragment;
|
private Fragment mTargetFragment;
|
||||||
|
|
||||||
|
@Implementation
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
|
||||||
@Implementation
|
@Implementation
|
||||||
protected void setTargetFragment(Fragment fragment, int requestCode) {
|
protected void setTargetFragment(Fragment fragment, int requestCode) {
|
||||||
mTargetFragment = fragment;
|
mTargetFragment = fragment;
|
||||||
|
@@ -50,6 +50,7 @@ import com.android.settings.R;
|
|||||||
import com.android.settings.datausage.DataUsagePreference;
|
import com.android.settings.datausage.DataUsagePreference;
|
||||||
import com.android.settings.search.SearchIndexableRaw;
|
import com.android.settings.search.SearchIndexableRaw;
|
||||||
import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
|
import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
import com.android.settingslib.wifi.AccessPoint;
|
import com.android.settingslib.wifi.AccessPoint;
|
||||||
import com.android.settingslib.wifi.WifiTracker;
|
import com.android.settingslib.wifi.WifiTracker;
|
||||||
|
|
||||||
@@ -247,7 +248,7 @@ public class WifiSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowDataUsageUtils.class})
|
@Config(shadows = {ShadowDataUsageUtils.class, ShadowFragment.class})
|
||||||
public void checkDataUsagePreference_perferenceInvisibleIfWifiNotSupported() {
|
public void checkDataUsagePreference_perferenceInvisibleIfWifiNotSupported() {
|
||||||
setUpForOnCreate();
|
setUpForOnCreate();
|
||||||
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = false;
|
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = false;
|
||||||
@@ -258,7 +259,7 @@ public class WifiSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Config(shadows = {ShadowDataUsageUtils.class})
|
@Config(shadows = {ShadowDataUsageUtils.class, ShadowFragment.class})
|
||||||
public void checkDataUsagePreference_perferenceVisibleIfWifiSupported() {
|
public void checkDataUsagePreference_perferenceVisibleIfWifiSupported() {
|
||||||
setUpForOnCreate();
|
setUpForOnCreate();
|
||||||
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
|
ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
|
||||||
|
@@ -41,6 +41,7 @@ import androidx.recyclerview.widget.RecyclerView.OnScrollListener;
|
|||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.testutils.shadow.ShadowDisclaimerItemFactory;
|
import com.android.settings.testutils.shadow.ShadowDisclaimerItemFactory;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -57,7 +58,7 @@ import org.robolectric.Robolectric;
|
|||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
@Config(shadows = ShadowDisclaimerItemFactory.class)
|
@Config(shadows = {ShadowDisclaimerItemFactory.class, ShadowFragment.class})
|
||||||
public class WifiCallingDisclaimerFragmentTest {
|
public class WifiCallingDisclaimerFragmentTest {
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
|
@@ -55,6 +55,7 @@ import com.android.settings.R;
|
|||||||
import com.android.settings.SettingsActivity;
|
import com.android.settings.SettingsActivity;
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
import com.android.settings.widget.SwitchBar;
|
import com.android.settings.widget.SwitchBar;
|
||||||
import com.android.settings.widget.ToggleSwitch;
|
import com.android.settings.widget.ToggleSwitch;
|
||||||
|
|
||||||
@@ -67,7 +68,9 @@ import org.mockito.MockitoAnnotations;
|
|||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.util.ReflectionHelpers;
|
import org.robolectric.util.ReflectionHelpers;
|
||||||
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class WifiCallingSettingsForSubTest {
|
public class WifiCallingSettingsForSubTest {
|
||||||
private static final String BUTTON_WFC_MODE = "wifi_calling_mode";
|
private static final String BUTTON_WFC_MODE = "wifi_calling_mode";
|
||||||
|
@@ -39,6 +39,7 @@ import androidx.fragment.app.FragmentActivity;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
|
import com.android.settings.testutils.shadow.ShadowFragment;
|
||||||
import com.android.settings.testutils.shadow.ShadowWifiManager;
|
import com.android.settings.testutils.shadow.ShadowWifiManager;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -115,6 +116,7 @@ public class WifiTetherSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Config(shadows = ShadowFragment.class)
|
||||||
public void startFragment_notAdminUser_shouldRemoveAllPreferences() {
|
public void startFragment_notAdminUser_shouldRemoveAllPreferences() {
|
||||||
final WifiTetherSettings settings = spy(new WifiTetherSettings());
|
final WifiTetherSettings settings = spy(new WifiTetherSettings());
|
||||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
final FragmentActivity activity = mock(FragmentActivity.class);
|
||||||
|
Reference in New Issue
Block a user