diff --git a/res/drawable/ic_theaters_vd_theme_24.xml b/res/drawable/ic_theaters_vd_theme_24.xml
new file mode 100644
index 00000000000..d0bad190091
--- /dev/null
+++ b/res/drawable/ic_theaters_vd_theme_24.xml
@@ -0,0 +1,25 @@
+
+
+
+
\ No newline at end of file
diff --git a/res/xml/storage_dashboard_fragment.xml b/res/xml/storage_dashboard_fragment.xml
index 354a700193e..b31d0eb89d5 100644
--- a/res/xml/storage_dashboard_fragment.xml
+++ b/res/xml/storage_dashboard_fragment.xml
@@ -46,16 +46,21 @@
android:title="@string/storage_games"
android:icon="@drawable/ic_videogame_vd_theme_24"
android:order="4" />
+
+ android:order="6" />
+ android:order="7" />
+
resultsArray = new SparseArray<>();
resultsArray.put(0, result);
@@ -57,6 +58,7 @@ public class StorageProfileFragmentTest {
StorageAsyncLoader.AppsStorageResult extractedResult = resultCaptor.getValue();
assertThat(extractedResult.musicAppsSize).isEqualTo(0);
+ assertThat(extractedResult.videoAppsSize).isEqualTo(0);
assertThat(extractedResult.otherAppsSize).isEqualTo(0);
assertThat(extractedResult.gamesSize).isEqualTo(0);
assertThat(extractedResult.externalStats.audioBytes).isEqualTo(1);
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 7d1f79bd64f..47faf92c597 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -189,6 +189,24 @@ public class StorageItemPreferenceControllerTest {
.isEqualTo(R.string.game_storage_settings);
}
+ @Test
+ public void testClickMovies() {
+ mPreference.setKey("pref_movies");
+ mController.handlePreferenceTreeClick(mPreference);
+
+ final ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(Intent.class);
+ verify(mFragment.getActivity()).startActivityAsUser(argumentCaptor.capture(),
+ any(UserHandle.class));
+
+ Intent intent = argumentCaptor.getValue();
+ assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
+ assertThat(intent.getComponent().getClassName()).isEqualTo(SubSettings.class.getName());
+ assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
+ ManageApplications.class.getName());
+ assertThat(intent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+ .isEqualTo(R.string.storage_movies_tv);
+ }
+
@Test
public void testClickSystem() {
mPreference.setKey("pref_system");
@@ -203,6 +221,7 @@ public class StorageItemPreferenceControllerTest {
StorageItemPreference audio = new StorageItemPreference(mContext);
StorageItemPreference image = new StorageItemPreference(mContext);
StorageItemPreference games = new StorageItemPreference(mContext);
+ StorageItemPreference movies = new StorageItemPreference(mContext);
StorageItemPreference apps = new StorageItemPreference(mContext);
StorageItemPreference system = new StorageItemPreference(mContext);
StorageItemPreference files = new StorageItemPreference(mContext);
@@ -213,6 +232,8 @@ public class StorageItemPreferenceControllerTest {
eq(StorageItemPreferenceController.PHOTO_KEY))).thenReturn(image);
when(screen.findPreference(
eq(StorageItemPreferenceController.GAME_KEY))).thenReturn(games);
+ when(screen.findPreference(
+ eq(StorageItemPreferenceController.MOVIES_KEY))).thenReturn(movies);
when(screen.findPreference(
eq(StorageItemPreferenceController.OTHER_APPS_KEY))).thenReturn(apps);
when(screen.findPreference(
@@ -224,6 +245,7 @@ public class StorageItemPreferenceControllerTest {
mController.setSystemSize(KILOBYTE * 6);
StorageAsyncLoader.AppsStorageResult result = new StorageAsyncLoader.AppsStorageResult();
result.gamesSize = KILOBYTE * 8;
+ result.videoAppsSize = KILOBYTE * 16;
result.musicAppsSize = KILOBYTE * 4;
result.otherAppsSize = KILOBYTE * 9;
result.systemSize = KILOBYTE * 10;
@@ -240,6 +262,7 @@ public class StorageItemPreferenceControllerTest {
assertThat(audio.getSummary().toString()).isEqualTo("14.00KB"); // 4KB apps + 10KB files
assertThat(image.getSummary().toString()).isEqualTo("35.00KB"); // 15KB video + 20KB images
assertThat(games.getSummary().toString()).isEqualTo("8.00KB");
+ assertThat(movies.getSummary().toString()).isEqualTo("16.00KB");
assertThat(apps.getSummary().toString()).isEqualTo("9.00KB");
assertThat(system.getSummary().toString()).isEqualTo("16.00KB");
assertThat(files.getSummary().toString()).isEqualTo("5.00KB");
diff --git a/tests/unit/src/com/android/settings/deviceinfo/storage/StorageAsyncLoaderTest.java b/tests/unit/src/com/android/settings/deviceinfo/storage/StorageAsyncLoaderTest.java
index 617e9bb24b7..e82482ebe46 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/storage/StorageAsyncLoaderTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/storage/StorageAsyncLoaderTest.java
@@ -169,6 +169,17 @@ public class StorageAsyncLoaderTest {
assertThat(result.get(PRIMARY_USER_ID).otherAppsSize).isEqualTo(11L);
}
+ @Test
+ public void testVideoAppsAreFiltered() throws Exception {
+ addPackage(PACKAGE_NAME_1, 0, 1, 10, ApplicationInfo.CATEGORY_VIDEO);
+
+ SparseArray result = mLoader.loadInBackground();
+
+ assertThat(result.size()).isEqualTo(1);
+ assertThat(result.get(PRIMARY_USER_ID).videoAppsSize).isEqualTo(11L);
+ assertThat(result.get(PRIMARY_USER_ID).otherAppsSize).isEqualTo(0);
+ }
+
private ApplicationInfo addPackage(
String packageName, long cacheSize, long codeSize, long dataSize, int category) {
StorageStatsSource.AppStorageStats storageStats =