Merge "Do not check package if package-equivalent components have set"

This commit is contained in:
TreeHugger Robot
2019-09-26 02:48:42 +00:00
committed by Android (Google) Code Review

View File

@@ -10004,13 +10004,25 @@ public class Intent implements Parcelable, Cloneable {
if (!Objects.equals(this.mData, other.mData)) return false;
if (!Objects.equals(this.mType, other.mType)) return false;
if (!Objects.equals(this.mIdentifier, other.mIdentifier)) return false;
if (!Objects.equals(this.mPackage, other.mPackage)) return false;
if (!(this.hasPackageEquivalentComponent() && other.hasPackageEquivalentComponent())
&& !Objects.equals(this.mPackage, other.mPackage)) {
return false;
}
if (!Objects.equals(this.mComponent, other.mComponent)) return false;
if (!Objects.equals(this.mCategories, other.mCategories)) return false;
return true;
}
/**
* Return {@code true} if the component name is not null and is in the same package that this
* intent limited to. otherwise return {@code false}.
*/
private boolean hasPackageEquivalentComponent() {
return mComponent != null
&& (mPackage == null || mPackage.equals(mComponent.getPackageName()));
}
/**
* Generate hash code that matches semantics of filterEquals().
*