Loading telecomm/java/android/telecom/PhoneAccount.java +55 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import java.lang.String; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; /** * Represents a distinct method to place or receive a phone call. Apps which can place calls and Loading Loading @@ -360,6 +361,33 @@ public final class PhoneAccount implements Parcelable { private boolean mIsEnabled; private String mGroupId; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PhoneAccount that = (PhoneAccount) o; return mCapabilities == that.mCapabilities && mHighlightColor == that.mHighlightColor && mSupportedAudioRoutes == that.mSupportedAudioRoutes && mIsEnabled == that.mIsEnabled && Objects.equals(mAccountHandle, that.mAccountHandle) && Objects.equals(mAddress, that.mAddress) && Objects.equals(mSubscriptionAddress, that.mSubscriptionAddress) && Objects.equals(mLabel, that.mLabel) && Objects.equals(mShortDescription, that.mShortDescription) && Objects.equals(mSupportedUriSchemes, that.mSupportedUriSchemes) && areBundlesEqual(mExtras, that.mExtras) && Objects.equals(mGroupId, that.mGroupId); } @Override public int hashCode() { return Objects.hash(mAccountHandle, mAddress, mSubscriptionAddress, mCapabilities, mHighlightColor, mLabel, mShortDescription, mSupportedUriSchemes, mSupportedAudioRoutes, mExtras, mIsEnabled, mGroupId); } /** * Helper class for creating a {@link PhoneAccount}. */ Loading Loading @@ -1022,4 +1050,31 @@ public final class PhoneAccount implements Parcelable { return sb.toString(); } /** * Determines if two {@link Bundle}s are equal. * @param extras First {@link Bundle} to check. * @param newExtras {@link Bundle} to compare against. * @return {@code true} if the {@link Bundle}s are equal, {@code false} otherwise. */ private static boolean areBundlesEqual(Bundle extras, Bundle newExtras) { if (extras == null || newExtras == null) { return extras == newExtras; } if (extras.size() != newExtras.size()) { return false; } for(String key : extras.keySet()) { if (key != null) { final Object value = extras.get(key); final Object newValue = newExtras.get(key); if (!Objects.equals(value, newValue)) { return false; } } } return true; } } Loading
telecomm/java/android/telecom/PhoneAccount.java +55 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import java.lang.String; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; /** * Represents a distinct method to place or receive a phone call. Apps which can place calls and Loading Loading @@ -360,6 +361,33 @@ public final class PhoneAccount implements Parcelable { private boolean mIsEnabled; private String mGroupId; @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PhoneAccount that = (PhoneAccount) o; return mCapabilities == that.mCapabilities && mHighlightColor == that.mHighlightColor && mSupportedAudioRoutes == that.mSupportedAudioRoutes && mIsEnabled == that.mIsEnabled && Objects.equals(mAccountHandle, that.mAccountHandle) && Objects.equals(mAddress, that.mAddress) && Objects.equals(mSubscriptionAddress, that.mSubscriptionAddress) && Objects.equals(mLabel, that.mLabel) && Objects.equals(mShortDescription, that.mShortDescription) && Objects.equals(mSupportedUriSchemes, that.mSupportedUriSchemes) && areBundlesEqual(mExtras, that.mExtras) && Objects.equals(mGroupId, that.mGroupId); } @Override public int hashCode() { return Objects.hash(mAccountHandle, mAddress, mSubscriptionAddress, mCapabilities, mHighlightColor, mLabel, mShortDescription, mSupportedUriSchemes, mSupportedAudioRoutes, mExtras, mIsEnabled, mGroupId); } /** * Helper class for creating a {@link PhoneAccount}. */ Loading Loading @@ -1022,4 +1050,31 @@ public final class PhoneAccount implements Parcelable { return sb.toString(); } /** * Determines if two {@link Bundle}s are equal. * @param extras First {@link Bundle} to check. * @param newExtras {@link Bundle} to compare against. * @return {@code true} if the {@link Bundle}s are equal, {@code false} otherwise. */ private static boolean areBundlesEqual(Bundle extras, Bundle newExtras) { if (extras == null || newExtras == null) { return extras == newExtras; } if (extras.size() != newExtras.size()) { return false; } for(String key : extras.keySet()) { if (key != null) { final Object value = extras.get(key); final Object newValue = newExtras.get(key); if (!Objects.equals(value, newValue)) { return false; } } } return true; } }