summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2022-04-27 13:44:02 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-04-27 13:44:02 +0000
commit926db2d6d37b49b0d31fae3de44476a6c2ce3f9c (patch)
treefff267b768ea748d1ad5591e6ae44222ce06378a
parenta3193ed1db1b077635d95d0983bec7685ab8176e (diff)
parentf8a97ab1d87617bf20f55d5d1ec8363072c9a886 (diff)
Merge "Fix "always" option in ResolverActivity" into tm-dev
-rw-r--r--core/java/com/android/internal/app/ResolverListAdapter.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/core/java/com/android/internal/app/ResolverListAdapter.java b/core/java/com/android/internal/app/ResolverListAdapter.java
index 351ac4587def..0a07e0a04a40 100644
--- a/core/java/com/android/internal/app/ResolverListAdapter.java
+++ b/core/java/com/android/internal/app/ResolverListAdapter.java
@@ -233,8 +233,14 @@ public class ResolverListAdapter extends BaseAdapter {
// copied the original unfiltered items to a separate List instance and can now filter
// the remainder in-place without any further bookkeeping.
boolean needsCopyOfUnfiltered = (mUnfilteredResolveList == currentResolveList);
- mUnfilteredResolveList = performSecondaryResolveListFiltering(
+ List<ResolvedComponentInfo> originalList = performSecondaryResolveListFiltering(
currentResolveList, needsCopyOfUnfiltered);
+ if (originalList != null) {
+ // Only need the originalList value if there was a modification (otherwise it's null
+ // and shouldn't overwrite mUnfilteredResolveList).
+ mUnfilteredResolveList = originalList;
+ }
+
return finishRebuildingListWithFilteredResults(currentResolveList, doPostProcessing);
}
@@ -293,7 +299,7 @@ public class ResolverListAdapter extends BaseAdapter {
* appearing in the rebuilt-list results, while still considering those items for the "other
* profile" special-treatment described in {@code rebuildList()}.
*
- * @return the same (possibly null) List reference as {@code currentResolveList}, if the list is
+ * @return the same (possibly null) List reference as {@code currentResolveList} if the list is
* unmodified as a result of filtering; or, if some item(s) were removed, then either a copy of
* the original {@code currentResolveList} (if {@code returnCopyOfOriginalListIfModified} is
* true), or null (otherwise).