summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jack Yu <jackyu@google.com> 2020-08-01 19:15:44 -0700
committer Jack Yu <jackyu@google.com> 2020-09-24 15:26:59 -0700
commit152e11a13d04c5feb9620f58cda295bab0d17522 (patch)
tree1d4bfc088d3b9b9828fb74bee88834425706ee4c
parent4f2a849e254eea87d4796a6eea983d00e9f2f86c (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.java2
-rw-r--r--telephony/java/android/telephony/data/ApnSetting.java14
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;