diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java index dfa162743436e..8a86c13abb7d5 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java @@ -1502,7 +1502,8 @@ public class ApplicationsState { @Override public boolean filterApp(AppEntry entry) { - return (entry.info.privateFlags & ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS) != 0; + return !AppUtils.isInstant(entry.info) + && (entry.info.privateFlags & ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS) != 0; } }; 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 c680b2a2ce4b0..fed18fa1bcb03 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 @@ -200,6 +200,22 @@ public class ApplicationsStateTest { assertThat(ApplicationsState.FILTER_ALL_ENABLED.filterApp(mEntry)).isFalse(); } + @Test + public void testFilterWithDomainUrls() { + mEntry.info.privateFlags |= ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS; + // should included updated system apps + when(mEntry.info.isInstantApp()).thenReturn(false); + assertThat(ApplicationsState.FILTER_WITH_DOMAIN_URLS.filterApp(mEntry)) + .isTrue(); + mEntry.info.privateFlags &= ~ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS; + assertThat(ApplicationsState.FILTER_WITH_DOMAIN_URLS.filterApp(mEntry)) + .isFalse(); + mEntry.info.privateFlags |= ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS; + when(mEntry.info.isInstantApp()).thenReturn(true); + assertThat(ApplicationsState.FILTER_WITH_DOMAIN_URLS.filterApp(mEntry)) + .isFalse(); + } + @Test public void testDisabledFilterRejectsInstantApp() { mEntry.info.enabled = false;