diff options
| author | 2018-09-14 18:07:02 -0700 | |
|---|---|---|
| committer | 2018-09-27 11:59:31 -0700 | |
| commit | 3c758b701ca4f1d40f422212ccf89f3492b544c7 (patch) | |
| tree | 5df1aef06851a2b21f7455a96cc2bbeda443127b | |
| parent | c5a1a5e5432b93efd6f3591bd7b969427bc34c00 (diff) | |
Implement equal method in SubscriptionInfo.
Bug: 115541873 92796390
Test: manual with test app
Change-Id: I217f9d612df5cecac8f0359649f3e79a60a95dde
Merged-In: I217f9d612df5cecac8f0359649f3e79a60a95dde
| -rw-r--r-- | telephony/java/android/telephony/SubscriptionInfo.java | 46 |
1 files changed, 43 insertions, 3 deletions
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java index ec266229b83a..22c1e58449de 100644 --- a/telephony/java/android/telephony/SubscriptionInfo.java +++ b/telephony/java/android/telephony/SubscriptionInfo.java @@ -33,11 +33,13 @@ import android.graphics.Typeface; import android.os.Build; import android.os.Parcel; import android.os.Parcelable; +import android.text.TextUtils; import android.util.DisplayMetrics; import android.util.Log; import java.util.Arrays; import java.util.List; +import java.util.Objects; /** * A Parcelable class for Subscription Information. @@ -552,11 +554,49 @@ public class SubscriptionInfo implements Parcelable { String cardIdToPrint = givePrintableIccid(mCardId); return "{id=" + mId + ", iccId=" + iccIdToPrint + " simSlotIndex=" + mSimSlotIndex + " displayName=" + mDisplayName + " carrierName=" + mCarrierName - + " nameSource=" + mNameSource + " iconTint=" + mIconTint + + " nameSource=" + mNameSource + " iconTint=" + mIconTint + " mNumber=" + mNumber + " dataRoaming=" + mDataRoaming + " iconBitmap=" + mIconBitmap + " mcc " + mMcc - + " mnc " + mMnc + " isEmbedded " + mIsEmbedded + + " mnc " + mMnc + "mCountryIso=" + mCountryIso + " isEmbedded " + mIsEmbedded + " accessRules " + Arrays.toString(mAccessRules) + " cardId=" + cardIdToPrint + " isOpportunistic " + mIsOpportunistic + " parentSubId=" + mParentSubId + "}"; } -} + + @Override + public int hashCode() { + return Objects.hash(mId, mSimSlotIndex, mNameSource, mIconTint, mDataRoaming, mIsEmbedded, + mIsOpportunistic, mParentSubId, mIccId, mNumber, mMcc, mMnc, mCountryIso, + mCardId, mDisplayName, mCarrierName, mAccessRules); + } + + @Override + public boolean equals(Object obj) { + if (obj == null) return false; + if (obj == this) return true; + + SubscriptionInfo toCompare; + try { + toCompare = (SubscriptionInfo) obj; + } catch (ClassCastException ex) { + return false; + } + + return mId == toCompare.mId + && mSimSlotIndex == toCompare.mSimSlotIndex + && mNameSource == toCompare.mNameSource + && mIconTint == toCompare.mIconTint + && mDataRoaming == toCompare.mDataRoaming + && mIsEmbedded == toCompare.mIsEmbedded + && mIsOpportunistic == toCompare.mIsOpportunistic + && mParentSubId == toCompare.mParentSubId + && Objects.equals(mIccId, toCompare.mIccId) + && Objects.equals(mNumber, toCompare.mNumber) + && Objects.equals(mMcc, toCompare.mMcc) + && Objects.equals(mMnc, toCompare.mMnc) + && Objects.equals(mCountryIso, toCompare.mCountryIso) + && Objects.equals(mCardId, toCompare.mCardId) + && TextUtils.equals(mDisplayName, toCompare.mDisplayName) + && TextUtils.equals(mCarrierName, toCompare.mCarrierName) + && Arrays.equals(mAccessRules, toCompare.mAccessRules); + } +}
\ No newline at end of file |