Merge changes from topic 'cp-movies' into oc-dev

* changes:
  Use the real filters when determining Other Apps.
  Add support for movies & tv apps querying.
This commit is contained in:
Daniel Nishi
2017-04-13 18:39:53 +00:00
committed by Android (Google) Code Review
3 changed files with 48 additions and 5 deletions

View File

@@ -1601,19 +1601,36 @@ public class ApplicationsState {
}
};
public static final AppFilter FILTER_OTHER_APPS = new AppFilter() {
public static final AppFilter FILTER_MOVIES = new AppFilter() {
@Override
public void init() {
}
@Override
public boolean filterApp(AppEntry entry) {
boolean isCategorized;
boolean isMovieApp;
synchronized(entry) {
isCategorized = entry.info.category == ApplicationInfo.CATEGORY_AUDIO ||
entry.info.category == ApplicationInfo.CATEGORY_GAME;
isMovieApp = entry.info.category == ApplicationInfo.CATEGORY_VIDEO;
}
return !isCategorized;
return isMovieApp;
}
};
public static final AppFilter FILTER_OTHER_APPS =
new AppFilter() {
@Override
public void init() {}
@Override
public boolean filterApp(AppEntry entry) {
boolean isCategorized;
synchronized (entry) {
isCategorized =
FILTER_AUDIO.filterApp(entry)
|| FILTER_GAMES.filterApp(entry)
|| FILTER_MOVIES.filterApp(entry);
}
return !isCategorized;
}
};
}

View File

@@ -173,6 +173,13 @@ public class ApplicationsStateTest {
.isTrue();
}
@Test
public void testOtherAppsRejectsLegacyGame() {
mEntry.info.flags = ApplicationInfo.FLAG_IS_GAME;
assertThat(ApplicationsState.FILTER_OTHER_APPS.filterApp(mEntry)).isFalse();
}
@Test
public void testInstantFilterAcceptsInstantApp() {
when(mEntry.info.isInstantApp()).thenReturn(true);
@@ -200,4 +207,18 @@ public class ApplicationsStateTest {
when(mEntry.info.isInstantApp()).thenReturn(true);
assertThat(ApplicationsState.FILTER_DISABLED.filterApp(mEntry)).isFalse();
}
@Test
public void testVideoFilterAcceptsCategorizedVideo() {
mEntry.info.category = ApplicationInfo.CATEGORY_VIDEO;
assertThat(ApplicationsState.FILTER_MOVIES.filterApp(mEntry)).isTrue();
}
@Test
public void testVideosFilterRejectsNotVideo() {
mEntry.info.category = ApplicationInfo.CATEGORY_GAME;
assertThat(ApplicationsState.FILTER_MOVIES.filterApp(mEntry)).isFalse();
}
}

View File

@@ -3906,6 +3906,11 @@ message MetricsEvent {
// OS: O
FINGERPRINT_REMOVE_SIDECAR = 934;
// OPEN: Settings > Storage > Movies & TV
// CATEGORY: SETTINGS
// OS: O
APPLICATIONS_STORAGE_MOVIES = 935;
// ---- End O Constants, all O constants go above this line ----
// Add new aosp constants above this line.