From 1c9b6092eeb4a6eea7ba0d1db5fbe01c73adff37 Mon Sep 17 00:00:00 2001 From: Jesse Evans Date: Thu, 30 Mar 2017 17:09:12 -0700 Subject: [PATCH] Removes instant apps from certain screens Removes instant apps from the Special Access screens, as well as notifications. Test: make RunSettingsRoboTests Bug: 36515324 Change-Id: I5b2f0ee3219acd89e2cbdcefed4d9608450395c0 --- .../applications/ManageApplications.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index 3499df66b6e..21bb13bf728 100644 --- a/src/com/android/settings/applications/ManageApplications.java +++ b/src/com/android/settings/applications/ManageApplications.java @@ -34,6 +34,7 @@ import android.os.UserManager; import android.preference.PreferenceFrameLayout; import android.support.annotation.VisibleForTesting; import android.text.TextUtils; +import android.util.ArraySet; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -88,10 +89,12 @@ import com.android.settingslib.applications.ApplicationsState.VolumeFilter; import com.android.settingslib.applications.StorageStatsSource; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Locale; +import java.util.Set; /** * Activity to pick an application that will be used to display installation information and @@ -256,6 +259,12 @@ public class ManageApplications extends InstrumentedPreferenceFragment public static final int LIST_TYPE_GAMES = 9; public static final int LIST_TYPE_MOVIES = 10; + + // List types that should show instant apps. + public static final Set LIST_TYPES_WITH_INSTANT = new ArraySet<>(Arrays.asList( + LIST_TYPE_MAIN, + LIST_TYPE_STORAGE)); + private View mRootView; private View mSpinnerHeader; @@ -715,7 +724,9 @@ public class ManageApplications extends InstrumentedPreferenceFragment } public void setHasInstant(boolean haveInstantApps) { - mFilterAdapter.setFilterEnabled(FILTER_APPS_INSTANT, haveInstantApps); + if (LIST_TYPES_WITH_INSTANT.contains(mListType)) { + mFilterAdapter.setFilterEnabled(FILTER_APPS_INSTANT, haveInstantApps); + } } static class FilterSpinnerAdapter extends ArrayAdapter { @@ -970,8 +981,13 @@ public class ManageApplications extends InstrumentedPreferenceFragment filterObj = mOverrideFilter; } if (!mManageApplications.mShowSystem) { - filterObj = new CompoundFilter(filterObj, - ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER); + if (LIST_TYPES_WITH_INSTANT.contains(mManageApplications.mListType)) { + filterObj = new CompoundFilter(filterObj, + ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER_AND_INSTANT); + } else { + filterObj = new CompoundFilter(filterObj, + ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER); + } } switch (mLastSortMode) { case R.id.sort_order_size: