diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java index 561d92447c1f6..1f03b51aef9e4 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java @@ -1504,4 +1504,20 @@ public class ApplicationsState { return isMusicApp; } }; + + public static final AppFilter FILTER_OTHER_APPS = new AppFilter() { + @Override + public void init() { + } + + @Override + public boolean filterApp(AppEntry entry) { + boolean isCategorized; + synchronized(entry) { + isCategorized = entry.info.category == ApplicationInfo.CATEGORY_AUDIO || + entry.info.category == ApplicationInfo.CATEGORY_GAME; + } + return !isCategorized; + } + }; } diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/applications/ApplicationsStateTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/applications/ApplicationsStateTest.java index 8a6ae86e4156f..80e1cbf453574 100644 --- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/applications/ApplicationsStateTest.java +++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/applications/ApplicationsStateTest.java @@ -86,4 +86,25 @@ public class ApplicationsStateTest { assertThat(ApplicationsState.FILTER_AUDIO.filterApp(mEntry)).isFalse(); } + + @Test + public void testOtherAppsRejectsAudio() { + mEntry.info.category = ApplicationInfo.CATEGORY_AUDIO; + + assertThat(ApplicationsState.FILTER_OTHER_APPS.filterApp(mEntry)).isFalse(); + } + + @Test + public void testOtherAppsRejectsGame() { + mEntry.info.category = ApplicationInfo.CATEGORY_GAME; + + assertThat(ApplicationsState.FILTER_OTHER_APPS.filterApp(mEntry)).isFalse(); + } + + @Test + public void testOtherAppsAcceptsDefaultCategory() { + mEntry.info.category = ApplicationInfo.CATEGORY_UNDEFINED; + + assertThat(ApplicationsState.FILTER_OTHER_APPS.filterApp(mEntry)).isTrue(); + } }