diff options
| author | 2024-12-19 16:24:31 -0700 | |
|---|---|---|
| committer | 2024-12-23 14:27:23 -0700 | |
| commit | 148b92d59125d339481f05c5dff38d54c5345c96 (patch) | |
| tree | fee47d01ceb17e0d6b31c66b681bd32fa67c048d | |
| parent | e6f496179145e2d6fe63d570c04681f6004f5a14 (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.txt | 3 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CellularIdentifierDisclosure.java | 20 |
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; |