Merge "Add a movies & tv apps category to storage settings." into oc-dev
This commit is contained in:
25
res/drawable/ic_theaters_vd_theme_24.xml
Normal file
25
res/drawable/ic_theaters_vd_theme_24.xml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<!--
|
||||||
|
Copyright (C) 2017 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.
|
||||||
|
-->
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24.0"
|
||||||
|
android:viewportHeight="24.0"
|
||||||
|
android:tint="?android:attr/colorControlNormal">
|
||||||
|
<path
|
||||||
|
android:fillColor="@android:color/white"
|
||||||
|
android:pathData="M18,3v2h-2L16,3L8,3v2L6,5L6,3L4,3v18h2v-2h2v2h8v-2h2v2h2L20,3h-2zM8,17L6,17v-2h2v2zM8,13L6,13v-2h2v2zM8,9L6,9L6,7h2v2zM18,17h-2v-2h2v2zM18,13h-2v-2h2v2zM18,9h-2L16,7h2v2z"/>
|
||||||
|
</vector>
|
@@ -46,16 +46,21 @@
|
|||||||
android:title="@string/storage_games"
|
android:title="@string/storage_games"
|
||||||
android:icon="@drawable/ic_videogame_vd_theme_24"
|
android:icon="@drawable/ic_videogame_vd_theme_24"
|
||||||
android:order="4" />
|
android:order="4" />
|
||||||
|
<com.android.settings.deviceinfo.StorageItemPreference
|
||||||
|
android:key="pref_movies"
|
||||||
|
android:title="@string/storage_movies_tv"
|
||||||
|
android:icon="@drawable/ic_theaters_vd_theme_24"
|
||||||
|
android:order="5" />
|
||||||
<com.android.settings.deviceinfo.StorageItemPreference
|
<com.android.settings.deviceinfo.StorageItemPreference
|
||||||
android:key="pref_other_apps"
|
android:key="pref_other_apps"
|
||||||
android:title="@string/storage_other_apps"
|
android:title="@string/storage_other_apps"
|
||||||
android:icon="@drawable/ic_apps_vd_theme_24"
|
android:icon="@drawable/ic_apps_vd_theme_24"
|
||||||
android:order="5" />
|
android:order="6" />
|
||||||
<com.android.settings.deviceinfo.StorageItemPreference
|
<com.android.settings.deviceinfo.StorageItemPreference
|
||||||
android:key="pref_files"
|
android:key="pref_files"
|
||||||
android:title="@string/storage_files"
|
android:title="@string/storage_files"
|
||||||
android:icon="@drawable/ic_folder_vd_theme_24"
|
android:icon="@drawable/ic_folder_vd_theme_24"
|
||||||
android:order="6" />
|
android:order="7" />
|
||||||
<com.android.settings.deviceinfo.StorageItemPreference
|
<com.android.settings.deviceinfo.StorageItemPreference
|
||||||
android:key="pref_system"
|
android:key="pref_system"
|
||||||
android:title="@string/storage_detail_system"
|
android:title="@string/storage_detail_system"
|
||||||
|
@@ -33,6 +33,9 @@
|
|||||||
android:title="@string/storage_games"
|
android:title="@string/storage_games"
|
||||||
android:icon="@drawable/ic_videogame_vd_theme_24"
|
android:icon="@drawable/ic_videogame_vd_theme_24"
|
||||||
android:order="4" />
|
android:order="4" />
|
||||||
|
<com.android.settings.deviceinfo.StorageItemPreference
|
||||||
|
android:key="pref_movies"
|
||||||
|
android:title="@string/storage_movies_tv" />
|
||||||
<com.android.settings.deviceinfo.StorageItemPreference
|
<com.android.settings.deviceinfo.StorageItemPreference
|
||||||
android:key="pref_other_apps"
|
android:key="pref_other_apps"
|
||||||
android:title="@string/storage_other_apps"
|
android:title="@string/storage_other_apps"
|
||||||
|
@@ -121,6 +121,7 @@ public class Settings extends SettingsActivity {
|
|||||||
public static class ManageDomainUrlsActivity extends SettingsActivity { /* empty */ }
|
public static class ManageDomainUrlsActivity extends SettingsActivity { /* empty */ }
|
||||||
public static class AutomaticStorageManagerSettingsActivity extends SettingsActivity { /* empty */ }
|
public static class AutomaticStorageManagerSettingsActivity extends SettingsActivity { /* empty */ }
|
||||||
public static class GamesStorageActivity extends SettingsActivity { /* empty */ }
|
public static class GamesStorageActivity extends SettingsActivity { /* empty */ }
|
||||||
|
public static class MoviesStorageActivity extends SettingsActivity { /* empty */ }
|
||||||
|
|
||||||
public static class TopLevelSettings extends SettingsActivity { /* empty */ }
|
public static class TopLevelSettings extends SettingsActivity { /* empty */ }
|
||||||
public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
|
public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
|
||||||
|
@@ -63,6 +63,7 @@ import com.android.settings.Settings.AllApplicationsActivity;
|
|||||||
import com.android.settings.Settings.GamesStorageActivity;
|
import com.android.settings.Settings.GamesStorageActivity;
|
||||||
import com.android.settings.Settings.HighPowerApplicationsActivity;
|
import com.android.settings.Settings.HighPowerApplicationsActivity;
|
||||||
import com.android.settings.Settings.ManageExternalSourcesActivity;
|
import com.android.settings.Settings.ManageExternalSourcesActivity;
|
||||||
|
import com.android.settings.Settings.MoviesStorageActivity;
|
||||||
import com.android.settings.Settings.NotificationAppListActivity;
|
import com.android.settings.Settings.NotificationAppListActivity;
|
||||||
import com.android.settings.Settings.OverlaySettingsActivity;
|
import com.android.settings.Settings.OverlaySettingsActivity;
|
||||||
import com.android.settings.Settings.StorageUseActivity;
|
import com.android.settings.Settings.StorageUseActivity;
|
||||||
@@ -256,6 +257,7 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
|||||||
public static final int LIST_TYPE_WRITE_SETTINGS = 7;
|
public static final int LIST_TYPE_WRITE_SETTINGS = 7;
|
||||||
public static final int LIST_TYPE_MANAGE_SOURCES = 8;
|
public static final int LIST_TYPE_MANAGE_SOURCES = 8;
|
||||||
public static final int LIST_TYPE_GAMES = 9;
|
public static final int LIST_TYPE_GAMES = 9;
|
||||||
|
public static final int LIST_TYPE_MOVIES = 10;
|
||||||
|
|
||||||
|
|
||||||
// List types that should show instant apps.
|
// List types that should show instant apps.
|
||||||
@@ -316,6 +318,9 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
|||||||
} else if (className.equals(GamesStorageActivity.class.getName())) {
|
} else if (className.equals(GamesStorageActivity.class.getName())) {
|
||||||
mListType = LIST_TYPE_GAMES;
|
mListType = LIST_TYPE_GAMES;
|
||||||
mSortOrder = R.id.sort_order_size;
|
mSortOrder = R.id.sort_order_size;
|
||||||
|
} else if (className.equals(MoviesStorageActivity.class.getName())) {
|
||||||
|
mListType = LIST_TYPE_MOVIES;
|
||||||
|
mSortOrder = R.id.sort_order_size;
|
||||||
} else {
|
} else {
|
||||||
mListType = LIST_TYPE_MAIN;
|
mListType = LIST_TYPE_MAIN;
|
||||||
}
|
}
|
||||||
@@ -424,6 +429,8 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
|||||||
}
|
}
|
||||||
if (mListType == LIST_TYPE_GAMES) {
|
if (mListType == LIST_TYPE_GAMES) {
|
||||||
mApplications.setOverrideFilter(ApplicationsState.FILTER_GAMES);
|
mApplications.setOverrideFilter(ApplicationsState.FILTER_GAMES);
|
||||||
|
} else if (mListType == LIST_TYPE_MOVIES) {
|
||||||
|
mApplications.setOverrideFilter(ApplicationsState.FILTER_MOVIES);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -450,6 +457,7 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
|||||||
case LIST_TYPE_NOTIFICATION:
|
case LIST_TYPE_NOTIFICATION:
|
||||||
case LIST_TYPE_STORAGE:
|
case LIST_TYPE_STORAGE:
|
||||||
case LIST_TYPE_GAMES:
|
case LIST_TYPE_GAMES:
|
||||||
|
case LIST_TYPE_MOVIES:
|
||||||
return mSortOrder == R.id.sort_order_alpha;
|
return mSortOrder == R.id.sort_order_alpha;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@@ -470,6 +478,8 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
|||||||
return MetricsEvent.APPLICATIONS_STORAGE_APPS;
|
return MetricsEvent.APPLICATIONS_STORAGE_APPS;
|
||||||
case LIST_TYPE_GAMES:
|
case LIST_TYPE_GAMES:
|
||||||
return MetricsEvent.APPLICATIONS_STORAGE_GAMES;
|
return MetricsEvent.APPLICATIONS_STORAGE_GAMES;
|
||||||
|
case LIST_TYPE_MOVIES:
|
||||||
|
return MetricsEvent.APPLICATIONS_STORAGE_MOVIES;
|
||||||
case LIST_TYPE_USAGE_ACCESS:
|
case LIST_TYPE_USAGE_ACCESS:
|
||||||
return MetricsEvent.USAGE_ACCESS;
|
return MetricsEvent.USAGE_ACCESS;
|
||||||
case LIST_TYPE_HIGH_POWER:
|
case LIST_TYPE_HIGH_POWER:
|
||||||
@@ -577,6 +587,9 @@ public class ManageApplications extends InstrumentedPreferenceFragment
|
|||||||
case LIST_TYPE_GAMES:
|
case LIST_TYPE_GAMES:
|
||||||
startAppInfoFragment(AppStorageSettings.class, R.string.game_storage_settings);
|
startAppInfoFragment(AppStorageSettings.class, R.string.game_storage_settings);
|
||||||
break;
|
break;
|
||||||
|
case LIST_TYPE_MOVIES:
|
||||||
|
startAppInfoFragment(AppStorageSettings.class, R.string.storage_movies_tv);
|
||||||
|
break;
|
||||||
// TODO: Figure out if there is a way where we can spin up the profile's settings
|
// TODO: Figure out if there is a way where we can spin up the profile's settings
|
||||||
// process ahead of time, to avoid a long load of data when user clicks on a managed app.
|
// process ahead of time, to avoid a long load of data when user clicks on a managed app.
|
||||||
// Maybe when they load the list of apps that contains managed profile apps.
|
// Maybe when they load the list of apps that contains managed profile apps.
|
||||||
|
@@ -140,6 +140,7 @@ public class StorageProfileFragment extends DashboardFragment
|
|||||||
// TODO(b/35927909): Attribute app sizes better than zeroing out for profiles.
|
// TODO(b/35927909): Attribute app sizes better than zeroing out for profiles.
|
||||||
result.gamesSize = 0;
|
result.gamesSize = 0;
|
||||||
result.musicAppsSize = 0;
|
result.musicAppsSize = 0;
|
||||||
|
result.videoAppsSize = 0;
|
||||||
result.otherAppsSize = 0;
|
result.otherAppsSize = 0;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@@ -18,6 +18,7 @@ package com.android.settings.deviceinfo.storage;
|
|||||||
|
|
||||||
import static android.content.pm.ApplicationInfo.CATEGORY_AUDIO;
|
import static android.content.pm.ApplicationInfo.CATEGORY_AUDIO;
|
||||||
import static android.content.pm.ApplicationInfo.CATEGORY_GAME;
|
import static android.content.pm.ApplicationInfo.CATEGORY_GAME;
|
||||||
|
import static android.content.pm.ApplicationInfo.CATEGORY_VIDEO;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
@@ -99,6 +100,9 @@ public class StorageAsyncLoader
|
|||||||
case CATEGORY_AUDIO:
|
case CATEGORY_AUDIO:
|
||||||
result.musicAppsSize += attributedAppSizeInBytes;
|
result.musicAppsSize += attributedAppSizeInBytes;
|
||||||
break;
|
break;
|
||||||
|
case CATEGORY_VIDEO:
|
||||||
|
result.videoAppsSize += attributedAppSizeInBytes;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
// The deprecated game flag does not set the category.
|
// The deprecated game flag does not set the category.
|
||||||
if ((app.flags & ApplicationInfo.FLAG_IS_GAME) != 0) {
|
if ((app.flags & ApplicationInfo.FLAG_IS_GAME) != 0) {
|
||||||
@@ -123,6 +127,7 @@ public class StorageAsyncLoader
|
|||||||
public static class AppsStorageResult {
|
public static class AppsStorageResult {
|
||||||
public long gamesSize;
|
public long gamesSize;
|
||||||
public long musicAppsSize;
|
public long musicAppsSize;
|
||||||
|
public long videoAppsSize;
|
||||||
public long otherAppsSize;
|
public long otherAppsSize;
|
||||||
public long systemSize;
|
public long systemSize;
|
||||||
public StorageStatsSource.ExternalStorageStats externalStats;
|
public StorageStatsSource.ExternalStorageStats externalStats;
|
||||||
|
@@ -65,6 +65,8 @@ public class StorageItemPreferenceController extends PreferenceController {
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final String GAME_KEY = "pref_games";
|
static final String GAME_KEY = "pref_games";
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
static final String MOVIES_KEY = "pref_movies";
|
||||||
|
@VisibleForTesting
|
||||||
static final String OTHER_APPS_KEY = "pref_other_apps";
|
static final String OTHER_APPS_KEY = "pref_other_apps";
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final String SYSTEM_KEY = "pref_system";
|
static final String SYSTEM_KEY = "pref_system";
|
||||||
@@ -82,6 +84,7 @@ public class StorageItemPreferenceController extends PreferenceController {
|
|||||||
private StorageItemPreference mPhotoPreference;
|
private StorageItemPreference mPhotoPreference;
|
||||||
private StorageItemPreference mAudioPreference;
|
private StorageItemPreference mAudioPreference;
|
||||||
private StorageItemPreference mGamePreference;
|
private StorageItemPreference mGamePreference;
|
||||||
|
private StorageItemPreference mMoviesPreference;
|
||||||
private StorageItemPreference mAppPreference;
|
private StorageItemPreference mAppPreference;
|
||||||
private StorageItemPreference mFilePreference;
|
private StorageItemPreference mFilePreference;
|
||||||
private StorageItemPreference mSystemPreference;
|
private StorageItemPreference mSystemPreference;
|
||||||
@@ -123,6 +126,9 @@ public class StorageItemPreferenceController extends PreferenceController {
|
|||||||
case GAME_KEY:
|
case GAME_KEY:
|
||||||
intent = getGamesIntent();
|
intent = getGamesIntent();
|
||||||
break;
|
break;
|
||||||
|
case MOVIES_KEY:
|
||||||
|
intent = getMoviesIntent();
|
||||||
|
break;
|
||||||
case OTHER_APPS_KEY:
|
case OTHER_APPS_KEY:
|
||||||
// Because we are likely constructed with a null volume, this is theoretically
|
// Because we are likely constructed with a null volume, this is theoretically
|
||||||
// possible.
|
// possible.
|
||||||
@@ -204,6 +210,7 @@ public class StorageItemPreferenceController extends PreferenceController {
|
|||||||
mPhotoPreference = (StorageItemPreference) screen.findPreference(PHOTO_KEY);
|
mPhotoPreference = (StorageItemPreference) screen.findPreference(PHOTO_KEY);
|
||||||
mAudioPreference = (StorageItemPreference) screen.findPreference(AUDIO_KEY);
|
mAudioPreference = (StorageItemPreference) screen.findPreference(AUDIO_KEY);
|
||||||
mGamePreference = (StorageItemPreference) screen.findPreference(GAME_KEY);
|
mGamePreference = (StorageItemPreference) screen.findPreference(GAME_KEY);
|
||||||
|
mMoviesPreference = (StorageItemPreference) screen.findPreference(MOVIES_KEY);
|
||||||
mAppPreference = (StorageItemPreference) screen.findPreference(OTHER_APPS_KEY);
|
mAppPreference = (StorageItemPreference) screen.findPreference(OTHER_APPS_KEY);
|
||||||
mSystemPreference = (StorageItemPreference) screen.findPreference(SYSTEM_KEY);
|
mSystemPreference = (StorageItemPreference) screen.findPreference(SYSTEM_KEY);
|
||||||
mFilePreference = (StorageItemPreference) screen.findPreference(FILES_KEY);
|
mFilePreference = (StorageItemPreference) screen.findPreference(FILES_KEY);
|
||||||
@@ -217,6 +224,7 @@ public class StorageItemPreferenceController extends PreferenceController {
|
|||||||
mAudioPreference.setStorageSize(
|
mAudioPreference.setStorageSize(
|
||||||
data.musicAppsSize + data.externalStats.audioBytes, mTotalSize);
|
data.musicAppsSize + data.externalStats.audioBytes, mTotalSize);
|
||||||
mGamePreference.setStorageSize(data.gamesSize, mTotalSize);
|
mGamePreference.setStorageSize(data.gamesSize, mTotalSize);
|
||||||
|
mMoviesPreference.setStorageSize(data.videoAppsSize, mTotalSize);
|
||||||
mAppPreference.setStorageSize(data.otherAppsSize, mTotalSize);
|
mAppPreference.setStorageSize(data.otherAppsSize, mTotalSize);
|
||||||
if (mSystemPreference != null) {
|
if (mSystemPreference != null) {
|
||||||
mSystemPreference.setStorageSize(mSystemSize + data.systemSize, mTotalSize);
|
mSystemPreference.setStorageSize(mSystemSize + data.systemSize, mTotalSize);
|
||||||
@@ -243,6 +251,7 @@ public class StorageItemPreferenceController extends PreferenceController {
|
|||||||
list.add(PHOTO_KEY);
|
list.add(PHOTO_KEY);
|
||||||
list.add(AUDIO_KEY);
|
list.add(AUDIO_KEY);
|
||||||
list.add(GAME_KEY);
|
list.add(GAME_KEY);
|
||||||
|
list.add(MOVIES_KEY);
|
||||||
list.add(OTHER_APPS_KEY);
|
list.add(OTHER_APPS_KEY);
|
||||||
list.add(SYSTEM_KEY);
|
list.add(SYSTEM_KEY);
|
||||||
list.add(FILES_KEY);
|
list.add(FILES_KEY);
|
||||||
@@ -281,12 +290,21 @@ public class StorageItemPreferenceController extends PreferenceController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Intent getGamesIntent() {
|
private Intent getGamesIntent() {
|
||||||
Bundle args = new Bundle(1);
|
Bundle args = new Bundle(1);
|
||||||
args.putString(ManageApplications.EXTRA_CLASSNAME,
|
args.putString(ManageApplications.EXTRA_CLASSNAME,
|
||||||
Settings.GamesStorageActivity.class.getName());
|
Settings.GamesStorageActivity.class.getName());
|
||||||
return Utils.onBuildStartFragmentIntent(mContext,
|
return Utils.onBuildStartFragmentIntent(mContext,
|
||||||
ManageApplications.class.getName(), args, null, R.string.game_storage_settings,
|
ManageApplications.class.getName(), args, null, R.string.game_storage_settings,
|
||||||
null, false, mMetricsFeatureProvider.getMetricsCategory(mFragment));
|
null, false, mMetricsFeatureProvider.getMetricsCategory(mFragment));
|
||||||
|
}
|
||||||
|
|
||||||
|
private Intent getMoviesIntent() {
|
||||||
|
Bundle args = new Bundle(1);
|
||||||
|
args.putString(ManageApplications.EXTRA_CLASSNAME,
|
||||||
|
Settings.MoviesStorageActivity.class.getName());
|
||||||
|
return Utils.onBuildStartFragmentIntent(mContext,
|
||||||
|
ManageApplications.class.getName(), args, null, R.string.storage_movies_tv,
|
||||||
|
null, false, mMetricsFeatureProvider.getMetricsCategory(mFragment));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Intent getFilesIntent() {
|
private Intent getFilesIntent() {
|
||||||
|
@@ -44,6 +44,7 @@ public class StorageProfileFragmentTest {
|
|||||||
result.musicAppsSize = 100;
|
result.musicAppsSize = 100;
|
||||||
result.otherAppsSize = 200;
|
result.otherAppsSize = 200;
|
||||||
result.gamesSize = 300;
|
result.gamesSize = 300;
|
||||||
|
result.videoAppsSize = 400;
|
||||||
result.externalStats = new StorageStatsSource.ExternalStorageStats(6, 1, 2, 3);
|
result.externalStats = new StorageStatsSource.ExternalStorageStats(6, 1, 2, 3);
|
||||||
SparseArray<StorageAsyncLoader.AppsStorageResult> resultsArray = new SparseArray<>();
|
SparseArray<StorageAsyncLoader.AppsStorageResult> resultsArray = new SparseArray<>();
|
||||||
resultsArray.put(0, result);
|
resultsArray.put(0, result);
|
||||||
@@ -57,6 +58,7 @@ public class StorageProfileFragmentTest {
|
|||||||
|
|
||||||
StorageAsyncLoader.AppsStorageResult extractedResult = resultCaptor.getValue();
|
StorageAsyncLoader.AppsStorageResult extractedResult = resultCaptor.getValue();
|
||||||
assertThat(extractedResult.musicAppsSize).isEqualTo(0);
|
assertThat(extractedResult.musicAppsSize).isEqualTo(0);
|
||||||
|
assertThat(extractedResult.videoAppsSize).isEqualTo(0);
|
||||||
assertThat(extractedResult.otherAppsSize).isEqualTo(0);
|
assertThat(extractedResult.otherAppsSize).isEqualTo(0);
|
||||||
assertThat(extractedResult.gamesSize).isEqualTo(0);
|
assertThat(extractedResult.gamesSize).isEqualTo(0);
|
||||||
assertThat(extractedResult.externalStats.audioBytes).isEqualTo(1);
|
assertThat(extractedResult.externalStats.audioBytes).isEqualTo(1);
|
||||||
|
@@ -189,6 +189,24 @@ public class StorageItemPreferenceControllerTest {
|
|||||||
.isEqualTo(R.string.game_storage_settings);
|
.isEqualTo(R.string.game_storage_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testClickMovies() {
|
||||||
|
mPreference.setKey("pref_movies");
|
||||||
|
mController.handlePreferenceTreeClick(mPreference);
|
||||||
|
|
||||||
|
final ArgumentCaptor<Intent> 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
|
@Test
|
||||||
public void testClickSystem() {
|
public void testClickSystem() {
|
||||||
mPreference.setKey("pref_system");
|
mPreference.setKey("pref_system");
|
||||||
@@ -203,6 +221,7 @@ public class StorageItemPreferenceControllerTest {
|
|||||||
StorageItemPreference audio = new StorageItemPreference(mContext);
|
StorageItemPreference audio = new StorageItemPreference(mContext);
|
||||||
StorageItemPreference image = new StorageItemPreference(mContext);
|
StorageItemPreference image = new StorageItemPreference(mContext);
|
||||||
StorageItemPreference games = new StorageItemPreference(mContext);
|
StorageItemPreference games = new StorageItemPreference(mContext);
|
||||||
|
StorageItemPreference movies = new StorageItemPreference(mContext);
|
||||||
StorageItemPreference apps = new StorageItemPreference(mContext);
|
StorageItemPreference apps = new StorageItemPreference(mContext);
|
||||||
StorageItemPreference system = new StorageItemPreference(mContext);
|
StorageItemPreference system = new StorageItemPreference(mContext);
|
||||||
StorageItemPreference files = new StorageItemPreference(mContext);
|
StorageItemPreference files = new StorageItemPreference(mContext);
|
||||||
@@ -213,6 +232,8 @@ public class StorageItemPreferenceControllerTest {
|
|||||||
eq(StorageItemPreferenceController.PHOTO_KEY))).thenReturn(image);
|
eq(StorageItemPreferenceController.PHOTO_KEY))).thenReturn(image);
|
||||||
when(screen.findPreference(
|
when(screen.findPreference(
|
||||||
eq(StorageItemPreferenceController.GAME_KEY))).thenReturn(games);
|
eq(StorageItemPreferenceController.GAME_KEY))).thenReturn(games);
|
||||||
|
when(screen.findPreference(
|
||||||
|
eq(StorageItemPreferenceController.MOVIES_KEY))).thenReturn(movies);
|
||||||
when(screen.findPreference(
|
when(screen.findPreference(
|
||||||
eq(StorageItemPreferenceController.OTHER_APPS_KEY))).thenReturn(apps);
|
eq(StorageItemPreferenceController.OTHER_APPS_KEY))).thenReturn(apps);
|
||||||
when(screen.findPreference(
|
when(screen.findPreference(
|
||||||
@@ -224,6 +245,7 @@ public class StorageItemPreferenceControllerTest {
|
|||||||
mController.setSystemSize(KILOBYTE * 6);
|
mController.setSystemSize(KILOBYTE * 6);
|
||||||
StorageAsyncLoader.AppsStorageResult result = new StorageAsyncLoader.AppsStorageResult();
|
StorageAsyncLoader.AppsStorageResult result = new StorageAsyncLoader.AppsStorageResult();
|
||||||
result.gamesSize = KILOBYTE * 8;
|
result.gamesSize = KILOBYTE * 8;
|
||||||
|
result.videoAppsSize = KILOBYTE * 16;
|
||||||
result.musicAppsSize = KILOBYTE * 4;
|
result.musicAppsSize = KILOBYTE * 4;
|
||||||
result.otherAppsSize = KILOBYTE * 9;
|
result.otherAppsSize = KILOBYTE * 9;
|
||||||
result.systemSize = KILOBYTE * 10;
|
result.systemSize = KILOBYTE * 10;
|
||||||
@@ -240,6 +262,7 @@ public class StorageItemPreferenceControllerTest {
|
|||||||
assertThat(audio.getSummary().toString()).isEqualTo("14.00KB"); // 4KB apps + 10KB files
|
assertThat(audio.getSummary().toString()).isEqualTo("14.00KB"); // 4KB apps + 10KB files
|
||||||
assertThat(image.getSummary().toString()).isEqualTo("35.00KB"); // 15KB video + 20KB images
|
assertThat(image.getSummary().toString()).isEqualTo("35.00KB"); // 15KB video + 20KB images
|
||||||
assertThat(games.getSummary().toString()).isEqualTo("8.00KB");
|
assertThat(games.getSummary().toString()).isEqualTo("8.00KB");
|
||||||
|
assertThat(movies.getSummary().toString()).isEqualTo("16.00KB");
|
||||||
assertThat(apps.getSummary().toString()).isEqualTo("9.00KB");
|
assertThat(apps.getSummary().toString()).isEqualTo("9.00KB");
|
||||||
assertThat(system.getSummary().toString()).isEqualTo("16.00KB");
|
assertThat(system.getSummary().toString()).isEqualTo("16.00KB");
|
||||||
assertThat(files.getSummary().toString()).isEqualTo("5.00KB");
|
assertThat(files.getSummary().toString()).isEqualTo("5.00KB");
|
||||||
|
@@ -169,6 +169,17 @@ public class StorageAsyncLoaderTest {
|
|||||||
assertThat(result.get(PRIMARY_USER_ID).otherAppsSize).isEqualTo(11L);
|
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<StorageAsyncLoader.AppsStorageResult> 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(
|
private ApplicationInfo addPackage(
|
||||||
String packageName, long cacheSize, long codeSize, long dataSize, int category) {
|
String packageName, long cacheSize, long codeSize, long dataSize, int category) {
|
||||||
StorageStatsSource.AppStorageStats storageStats =
|
StorageStatsSource.AppStorageStats storageStats =
|
||||||
|
Reference in New Issue
Block a user