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 =