am 91feb107: Merge "Fix ChooserActivity check for still-alive ChooserTargets" into mnc-dev
* commit '91feb107f2c7b51bf3cbdef43bea2fb61b56a8ee': Fix ChooserActivity check for still-alive ChooserTargets
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user