summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shawn Willden <swillden@google.com> 2024-12-19 16:24:31 -0700
committer Shawn Willden <swillden@google.com> 2024-12-23 14:27:23 -0700
commit148b92d59125d339481f05c5dff38d54c5345c96 (patch)
treefee47d01ceb17e0d6b31c66b681bd32fa67c048d
parente6f496179145e2d6fe63d570c04681f6004f5a14 (diff)
Add support for vendor indication that disclosures are benign.
Bug: 355062720 Test: atest CellularIdentifierDisclosureNotifierTest Flag: com.android.internal.telephony.flags.cellular_identifier_disclosure_indications Change-Id: Ifcd971403cd06e0e2e23b7c1890aca3bead4333f
-rw-r--r--core/api/system-current.txt3
-rw-r--r--telephony/java/android/telephony/CellularIdentifierDisclosure.java20
2 files changed, 22 insertions, 1 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index a60fd117fd17..8337ac601ac6 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -15143,6 +15143,7 @@ package android.telephony {
method public int getCellularIdentifier();
method public int getNasProtocolMessage();
method @NonNull public String getPlmn();
+ method @FlaggedApi("com.android.internal.telephony.flags.vendor_specific_cellular_identifier_disclosure_indications") public boolean isBenign();
method public boolean isEmergency();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field public static final int CELLULAR_IDENTIFIER_IMEI = 2; // 0x2
@@ -15160,6 +15161,8 @@ package android.telephony {
field public static final int NAS_PROTOCOL_MESSAGE_IMSI_DETACH_INDICATION = 11; // 0xb
field public static final int NAS_PROTOCOL_MESSAGE_LOCATION_UPDATE_REQUEST = 5; // 0x5
field public static final int NAS_PROTOCOL_MESSAGE_REGISTRATION_REQUEST = 7; // 0x7
+ field @FlaggedApi("com.android.internal.telephony.flags.vendor_specific_cellular_identifier_disclosure_indications") public static final int NAS_PROTOCOL_MESSAGE_THREAT_IDENTIFIER_FALSE = 12; // 0xc
+ field @FlaggedApi("com.android.internal.telephony.flags.vendor_specific_cellular_identifier_disclosure_indications") public static final int NAS_PROTOCOL_MESSAGE_THREAT_IDENTIFIER_TRUE = 13; // 0xd
field public static final int NAS_PROTOCOL_MESSAGE_TRACKING_AREA_UPDATE_REQUEST = 4; // 0x4
field public static final int NAS_PROTOCOL_MESSAGE_UNKNOWN = 0; // 0x0
}
diff --git a/telephony/java/android/telephony/CellularIdentifierDisclosure.java b/telephony/java/android/telephony/CellularIdentifierDisclosure.java
index 0b6a70feac9d..92c51ec9e84f 100644
--- a/telephony/java/android/telephony/CellularIdentifierDisclosure.java
+++ b/telephony/java/android/telephony/CellularIdentifierDisclosure.java
@@ -74,6 +74,14 @@ public final class CellularIdentifierDisclosure implements Parcelable {
/** IMEI DETATCH INDICATION. Reference: 3GPP TS 24.008 9.2.14.
* Applies to 2g and 3g networks. Used for circuit-switched detach. */
public static final int NAS_PROTOCOL_MESSAGE_IMSI_DETACH_INDICATION = 11;
+ /** Vendor-specific enumeration to identify a disclosure as potentially benign.
+ * Enables vendors to semantically classify disclosures based on their own logic. */
+ @FlaggedApi(Flags.FLAG_VENDOR_SPECIFIC_CELLULAR_IDENTIFIER_DISCLOSURE_INDICATIONS)
+ public static final int NAS_PROTOCOL_MESSAGE_THREAT_IDENTIFIER_FALSE = 12;
+ /** Vendor-specific enumeration to identify a disclosure as potentially harmful.
+ * Enables vendors to semantically classify disclosures based on their own logic. */
+ @FlaggedApi(Flags.FLAG_VENDOR_SPECIFIC_CELLULAR_IDENTIFIER_DISCLOSURE_INDICATIONS)
+ public static final int NAS_PROTOCOL_MESSAGE_THREAT_IDENTIFIER_TRUE = 13;
/** @hide */
@Retention(RetentionPolicy.SOURCE)
@@ -84,7 +92,9 @@ public final class CellularIdentifierDisclosure implements Parcelable {
NAS_PROTOCOL_MESSAGE_AUTHENTICATION_AND_CIPHERING_RESPONSE,
NAS_PROTOCOL_MESSAGE_REGISTRATION_REQUEST, NAS_PROTOCOL_MESSAGE_DEREGISTRATION_REQUEST,
NAS_PROTOCOL_MESSAGE_CM_REESTABLISHMENT_REQUEST,
- NAS_PROTOCOL_MESSAGE_CM_SERVICE_REQUEST, NAS_PROTOCOL_MESSAGE_IMSI_DETACH_INDICATION})
+ NAS_PROTOCOL_MESSAGE_CM_SERVICE_REQUEST, NAS_PROTOCOL_MESSAGE_IMSI_DETACH_INDICATION,
+ NAS_PROTOCOL_MESSAGE_THREAT_IDENTIFIER_FALSE,
+ NAS_PROTOCOL_MESSAGE_THREAT_IDENTIFIER_TRUE})
public @interface NasProtocolMessage {
}
@@ -156,6 +166,14 @@ public final class CellularIdentifierDisclosure implements Parcelable {
return mIsEmergency;
}
+ /**
+ * @return if the modem vendor classifies the disclosure as benign.
+ */
+ @FlaggedApi(Flags.FLAG_VENDOR_SPECIFIC_CELLULAR_IDENTIFIER_DISCLOSURE_INDICATIONS)
+ public boolean isBenign() {
+ return mNasProtocolMessage == NAS_PROTOCOL_MESSAGE_THREAT_IDENTIFIER_FALSE;
+ }
+
@Override
public int describeContents() {
return 0;