Create AppDataUsageListController
For better organization and testings. Bug: 240931350 Test: manual - on AppDataUsage Test: unit test Change-Id: I77ceeccc7055fcd948fe40d5dfb9cc4a9b9ad2ee
This commit is contained in:
@@ -60,6 +60,7 @@ import com.android.settings.widget.EntityHeaderController;
|
||||
import com.android.settingslib.AppItem;
|
||||
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||
import com.android.settingslib.RestrictedSwitchPreference;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.net.NetworkCycleDataForUid;
|
||||
import com.android.settingslib.net.NetworkCycleDataForUidLoader;
|
||||
import com.android.settingslib.net.UidDetail;
|
||||
@@ -109,10 +110,7 @@ public class AppDataUsageTest {
|
||||
@Test
|
||||
@Config(shadows = ShadowFragment.class)
|
||||
public void onCreate_appUid_shouldGetAppLabelFromAppInfo() throws NameNotFoundException {
|
||||
mFragment = spy(new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
});
|
||||
mFragment = spy(new TestFragment());
|
||||
final FragmentActivity activity = spy(Robolectric.setupActivity(FragmentActivity.class));
|
||||
doReturn(mPackageManager).when(activity).getPackageManager();
|
||||
doReturn(activity).when(mFragment).getActivity();
|
||||
@@ -142,10 +140,7 @@ public class AppDataUsageTest {
|
||||
@Test
|
||||
@Config(shadows = ShadowFragment.class)
|
||||
public void onCreate_notAppUid_shouldGetAppLabelFromUidDetailProvider() {
|
||||
mFragment = spy(new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
});
|
||||
mFragment = spy(new TestFragment());
|
||||
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
|
||||
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
|
||||
doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
|
||||
@@ -172,10 +167,7 @@ public class AppDataUsageTest {
|
||||
|
||||
@Test
|
||||
public void bindAppHeader_allWorkApps_shouldNotShowAppInfoLink() {
|
||||
mFragment = spy(new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
});
|
||||
mFragment = spy(new TestFragment());
|
||||
|
||||
when(mFragment.getPreferenceManager())
|
||||
.thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
|
||||
@@ -192,10 +184,7 @@ public class AppDataUsageTest {
|
||||
throws PackageManager.NameNotFoundException {
|
||||
final int fakeUserId = 100;
|
||||
|
||||
mFragment = spy(new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
});
|
||||
mFragment = spy(new TestFragment());
|
||||
final ArraySet<String> packages = new ArraySet<>();
|
||||
packages.add("pkg");
|
||||
final AppItem appItem = new AppItem(123456789);
|
||||
@@ -221,10 +210,7 @@ public class AppDataUsageTest {
|
||||
|
||||
@Test
|
||||
public void changePreference_backgroundData_shouldUpdateUI() {
|
||||
mFragment = spy(new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
});
|
||||
mFragment = spy(new TestFragment());
|
||||
final AppItem appItem = new AppItem(123456789);
|
||||
final RestrictedSwitchPreference pref = mock(RestrictedSwitchPreference.class);
|
||||
final DataSaverBackend dataSaverBackend = mock(DataSaverBackend.class);
|
||||
@@ -241,10 +227,7 @@ public class AppDataUsageTest {
|
||||
|
||||
@Test
|
||||
public void updatePrefs_restrictedByAdmin_shouldDisablePreference() {
|
||||
mFragment = spy(new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
});
|
||||
mFragment = spy(new TestFragment());
|
||||
final int testUid = 123123;
|
||||
final AppItem appItem = new AppItem(testUid);
|
||||
final RestrictedSwitchPreference restrictBackgroundPref
|
||||
@@ -272,10 +255,7 @@ public class AppDataUsageTest {
|
||||
|
||||
@Test
|
||||
public void bindData_noAppUsageData_shouldHideCycleSpinner() {
|
||||
mFragment = spy(new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
});
|
||||
mFragment = spy(new TestFragment());
|
||||
final SpinnerPreference cycle = mock(SpinnerPreference.class);
|
||||
ReflectionHelpers.setField(mFragment, "mCycle", cycle);
|
||||
final Preference preference = mock(Preference.class);
|
||||
@@ -291,10 +271,7 @@ public class AppDataUsageTest {
|
||||
|
||||
@Test
|
||||
public void bindData_hasAppUsageData_shouldShowCycleSpinnerAndUpdateUsageSummary() {
|
||||
mFragment = spy(new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
});
|
||||
mFragment = spy(new TestFragment());
|
||||
final Context context = RuntimeEnvironment.application;
|
||||
ReflectionHelpers.setField(mFragment, "mContext", context);
|
||||
final long backgroundBytes = 1234L;
|
||||
@@ -323,10 +300,7 @@ public class AppDataUsageTest {
|
||||
|
||||
@Test
|
||||
public void onCreateLoader_categoryApp_shouldQueryDataUsageUsingAppKey() {
|
||||
mFragment = new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
};
|
||||
mFragment = new TestFragment();
|
||||
final Context context = RuntimeEnvironment.application;
|
||||
final int testUid = 123123;
|
||||
final AppItem appItem = new AppItem(testUid);
|
||||
@@ -349,10 +323,7 @@ public class AppDataUsageTest {
|
||||
|
||||
@Test
|
||||
public void onCreateLoader_categoryUser_shouldQueryDataUsageUsingAssociatedUids() {
|
||||
mFragment = new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
};
|
||||
mFragment = new TestFragment();
|
||||
final Context context = RuntimeEnvironment.application;
|
||||
final int testUserId = 11;
|
||||
final AppItem appItem = new AppItem(testUserId);
|
||||
@@ -389,10 +360,7 @@ public class AppDataUsageTest {
|
||||
appItem.category = AppItem.CATEGORY_APP;
|
||||
appItem.addUid(uid);
|
||||
|
||||
mFragment = new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
};
|
||||
mFragment = new TestFragment();
|
||||
ReflectionHelpers.setField(mFragment, "mContext", RuntimeEnvironment.application);
|
||||
ReflectionHelpers.setField(mFragment, "mCycles", testCycles);
|
||||
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
||||
@@ -425,10 +393,7 @@ public class AppDataUsageTest {
|
||||
builder.setStartTime(tenDaysAgo).setEndTime(now).setTotalUsage(1234L);
|
||||
data.add(builder.build());
|
||||
|
||||
mFragment = new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
};
|
||||
mFragment = new TestFragment();
|
||||
ReflectionHelpers.setField(mFragment, "mContext", RuntimeEnvironment.application);
|
||||
ReflectionHelpers.setField(mFragment, "mCycleAdapter", mock(CycleAdapter.class));
|
||||
ReflectionHelpers.setField(mFragment, "mSelectedCycle", tenDaysAgo);
|
||||
@@ -455,10 +420,7 @@ public class AppDataUsageTest {
|
||||
ShadowDataUsageUtils.HAS_SIM = false;
|
||||
ShadowSubscriptionManager.setDefaultDataSubscriptionId(
|
||||
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
|
||||
mFragment = spy(new AppDataUsage() {
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) { return true; }
|
||||
});
|
||||
mFragment = spy(new TestFragment());
|
||||
doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
|
||||
doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
|
||||
final UidDetailProvider uidDetailProvider = mock(UidDetailProvider.class);
|
||||
@@ -478,4 +440,16 @@ public class AppDataUsageTest {
|
||||
assertTrue(mFragment.mTemplate.getSubscriberIds().isEmpty());
|
||||
assertTrue(mFragment.mTemplate.getWifiNetworkKeys().isEmpty());
|
||||
}
|
||||
|
||||
private static class TestFragment extends AppDataUsage {
|
||||
@Override
|
||||
protected <T extends AbstractPreferenceController> T use(Class<T> clazz) {
|
||||
return mock(clazz);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSimHardwareVisible(Context context) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user