Convert IntentResolver data object to IntentFilter for comparison
An == check will no longer pass because the Pair object used to wrap ParsedComponents and their associated IntentInfos is re-created for each filter. Have to use the actual filter reference by calling getIntentFilter with the left/right sides. Bug: 150112563 Test: manual update Calendar app and try to reproduce bug Change-Id: I0bb1e1d82a1f097b4c0d99a7fabf76789461c888
This commit is contained in:
@@ -687,7 +687,7 @@ public abstract class IntentResolver<F, R extends Object> {
|
||||
}
|
||||
|
||||
private final void remove_all_objects(ArrayMap<String, F[]> map, String name,
|
||||
Object object) {
|
||||
F object) {
|
||||
F[] array = map.get(name);
|
||||
if (array != null) {
|
||||
int LAST = array.length-1;
|
||||
@@ -695,7 +695,8 @@ public abstract class IntentResolver<F, R extends Object> {
|
||||
LAST--;
|
||||
}
|
||||
for (int idx=LAST; idx>=0; idx--) {
|
||||
if (array[idx] == object) {
|
||||
F arrayValue = array[idx];
|
||||
if (arrayValue != null && getIntentFilter(arrayValue) == getIntentFilter(object)) {
|
||||
final int remain = LAST - idx;
|
||||
if (remain > 0) {
|
||||
System.arraycopy(array, idx+1, array, idx, remain);
|
||||
|
||||
Reference in New Issue
Block a user