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;
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
public static final int LIST_TYPE_MANAGE_SOURCES = 8;
public static final int LIST_TYPE_GAMES = 9;
+
+ // List types that should show instant apps.
+ public static final Set<Integer> LIST_TYPES_WITH_INSTANT = new ArraySet<>(Arrays.asList(
+ LIST_TYPE_MAIN,
+ LIST_TYPE_STORAGE));
+
private View mRootView;
private View mSpinnerHeader;
}
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<CharSequence> {
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: