diff options
| author | 2020-08-01 19:15:44 -0700 | |
|---|---|---|
| committer | 2020-09-24 15:26:59 -0700 | |
| commit | 152e11a13d04c5feb9620f58cda295bab0d17522 (patch) | |
| tree | 1d4bfc088d3b9b9828fb74bee88834425706ee4c | |
| parent | 4f2a849e254eea87d4796a6eea983d00e9f2f86c (diff) | |
Added hashcode for ApnSetting class
Without hashCode, ApnSetting can't be used as a key in the
map.
Fix: 162663245
Test: Manual
Merged-In: I9445ec854709996c80830e4c8c498e664f1e4f9c
Change-Id: I9445ec854709996c80830e4c8c498e664f1e4f9c
(cherry picked from commit fe59b7268fc838121515ffbb01302a045e57a022)
| -rw-r--r-- | services/core/java/com/android/server/TelephonyRegistry.java | 2 | ||||
| -rw-r--r-- | telephony/java/android/telephony/data/ApnSetting.java | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java index 865392e8e0b9..df23da650a6f 100644 --- a/services/core/java/com/android/server/TelephonyRegistry.java +++ b/services/core/java/com/android/server/TelephonyRegistry.java @@ -1743,6 +1743,8 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { preciseState.getApnSetting()); PreciseDataConnectionState oldState = mPreciseDataConnectionStates.get(phoneId) .remove(key); + log("Jack: oldState=" + oldState); + log("Jack: newState=" + preciseState); if (!Objects.equals(oldState, preciseState)) { for (Record r : mRecords) { if (r.matchPhoneStateListenerEvent( diff --git a/telephony/java/android/telephony/data/ApnSetting.java b/telephony/java/android/telephony/data/ApnSetting.java index e60ae896f9f8..ff9329ef9742 100644 --- a/telephony/java/android/telephony/data/ApnSetting.java +++ b/telephony/java/android/telephony/data/ApnSetting.java @@ -1214,12 +1214,16 @@ public class ApnSetting implements Parcelable { return false; } - // TODO - if we have this function we should also have hashCode. - // Also should handle changes in type order and perhaps case-insensitivity. + @Override + public int hashCode() { + return Objects.hash(mApnName, mProxyAddress, mProxyPort, mMmsc, mMmsProxyAddress, + mMmsProxyPort, mUser, mPassword, mAuthType, mApnTypeBitmask, mId, mOperatorNumeric, + mProtocol, mRoamingProtocol, mMtu, mCarrierEnabled, mNetworkTypeBitmask, mProfileId, + mPersistent, mMaxConns, mWaitTime, mMaxConnsTime, mMvnoType, mMvnoMatchData, + mApnSetId, mCarrierId, mSkip464Xlat); + } - /** - * @hide - */ + @Override public boolean equals(Object o) { if (o instanceof ApnSetting == false) { return false; |