Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4a4a4c8 authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am bf7cccdc: am a5e4db2e: am 91feb107: Merge "Fix ChooserActivity check for...

am bf7cccdc: am a5e4db2e: am 91feb107: Merge "Fix ChooserActivity check for still-alive ChooserTargets" into mnc-dev

* commit 'bf7cccdc':
  Fix ChooserActivity check for still-alive ChooserTargets
parents 0bd20e8f bf7cccdc
Loading
Loading
Loading
Loading
+12 −1
Original line number Original line Diff line number Diff line
@@ -74,6 +74,7 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Iterator;
import java.util.List;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.Set;


import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;
import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;
@@ -867,6 +868,16 @@ public class ResolverActivity extends Activity {
        }
        }
    }
    }


    /**
     * Check a simple match for the component of two ResolveInfos.
     */
    static boolean resolveInfoMatch(ResolveInfo lhs, ResolveInfo rhs) {
        return lhs == null ? rhs == null
                : lhs.activityInfo == null ? rhs.activityInfo == null
                : Objects.equals(lhs.activityInfo.name, rhs.activityInfo.name)
                && Objects.equals(lhs.activityInfo.packageName, rhs.activityInfo.packageName);
    }

    final class DisplayResolveInfo implements TargetInfo {
    final class DisplayResolveInfo implements TargetInfo {
        private final ResolveInfo mResolveInfo;
        private final ResolveInfo mResolveInfo;
        private final CharSequence mDisplayLabel;
        private final CharSequence mDisplayLabel;
@@ -1462,7 +1473,7 @@ public class ResolverActivity extends Activity {


        public boolean hasResolvedTarget(ResolveInfo info) {
        public boolean hasResolvedTarget(ResolveInfo info) {
            for (int i = 0, N = mDisplayList.size(); i < N; i++) {
            for (int i = 0, N = mDisplayList.size(); i < N; i++) {
                if (info.equals(mDisplayList.get(i).getResolveInfo())) {
                if (resolveInfoMatch(info, mDisplayList.get(i).getResolveInfo())) {
                    return true;
                    return true;
                }
                }
            }
            }