summaryrefslogtreecommitdiff
path: root/telephony/java/com
diff options
context:
space:
mode:
authorJordan Liu <jminjie@google.com>2020-04-17 11:35:13 -0700
committerJordan Liu <jminjie@google.com>2020-04-17 19:10:59 +0000
commit00fd9fd017640430f57671cc8251ae0565c84cd7 (patch)
tree47066e7e7b1dd49278af8faea8f501d9b4ba8ba0 /telephony/java/com
parent2b40d3c462b59c18a3b62a813c26b6e483795491 (diff)
Implement equals and hashCode
This keeps SmsHeader in sync with cellbroadcastservice.SmsHeader. Bug: 148482334 Test: builds Change-Id: I2a3188a603595e4c97acf6413036dcddf35c0b87
Diffstat (limited to 'telephony/java/com')
-rw-r--r--telephony/java/com/android/internal/telephony/SmsHeader.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/telephony/java/com/android/internal/telephony/SmsHeader.java b/telephony/java/com/android/internal/telephony/SmsHeader.java
index ab3fdf4ebb41..2f3897b9bac2 100644
--- a/telephony/java/com/android/internal/telephony/SmsHeader.java
+++ b/telephony/java/com/android/internal/telephony/SmsHeader.java
@@ -23,6 +23,8 @@ import com.android.internal.util.HexDump;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Objects;
/**
* SMS user data header, as specified in TS 23.040 9.2.3.24.
@@ -71,6 +73,25 @@ public class SmsHeader {
public static final int PORT_WAP_PUSH = 2948;
public static final int PORT_WAP_WSP = 9200;
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ SmsHeader smsHeader = (SmsHeader) o;
+ return languageTable == smsHeader.languageTable
+ && languageShiftTable == smsHeader.languageShiftTable
+ && Objects.equals(portAddrs, smsHeader.portAddrs)
+ && Objects.equals(concatRef, smsHeader.concatRef)
+ && Objects.equals(specialSmsMsgList, smsHeader.specialSmsMsgList)
+ && Objects.equals(miscEltList, smsHeader.miscEltList);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(portAddrs, concatRef, specialSmsMsgList, miscEltList, languageTable,
+ languageShiftTable);
+ }
+
public static class PortAddrs {
@UnsupportedAppUsage
public PortAddrs() {
@@ -81,6 +102,21 @@ public class SmsHeader {
@UnsupportedAppUsage
public int origPort;
public boolean areEightBits;
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ PortAddrs portAddrs = (PortAddrs) o;
+ return destPort == portAddrs.destPort
+ && origPort == portAddrs.origPort
+ && areEightBits == portAddrs.areEightBits;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(destPort, origPort, areEightBits);
+ }
}
public static class ConcatRef {
@@ -95,11 +131,41 @@ public class SmsHeader {
@UnsupportedAppUsage
public int msgCount;
public boolean isEightBits;
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ ConcatRef concatRef = (ConcatRef) o;
+ return refNumber == concatRef.refNumber
+ && seqNumber == concatRef.seqNumber
+ && msgCount == concatRef.msgCount
+ && isEightBits == concatRef.isEightBits;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(refNumber, seqNumber, msgCount, isEightBits);
+ }
}
public static class SpecialSmsMsg {
public int msgIndType;
public int msgCount;
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ SpecialSmsMsg that = (SpecialSmsMsg) o;
+ return msgIndType == that.msgIndType
+ && msgCount == that.msgCount;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(msgIndType, msgCount);
+ }
}
/**
@@ -109,6 +175,22 @@ public class SmsHeader {
public static class MiscElt {
public int id;
public byte[] data;
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ MiscElt miscElt = (MiscElt) o;
+ return id == miscElt.id
+ && Arrays.equals(data, miscElt.data);
+ }
+
+ @Override
+ public int hashCode() {
+ int result = Objects.hash(id);
+ result = 31 * result + Arrays.hashCode(data);
+ return result;
+ }
}
@UnsupportedAppUsage