diff --git a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl index 944f1ca981..8a61dca20a 100644 --- a/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl +++ b/radio/aidl/aidl_api/android.hardware.radio.sim/current/android/hardware/radio/sim/CarrierRestrictions.aidl @@ -34,7 +34,15 @@ package android.hardware.radio.sim; @JavaDerive(toString=true) @VintfStability parcelable CarrierRestrictions { - android.hardware.radio.sim.Carrier[] allowedCarriers; - android.hardware.radio.sim.Carrier[] excludedCarriers; - boolean allowedCarriersPrioritized; + @Backing(type="int") @VintfStability + enum CarrierRestrictionStatus { + UNKNOWN = 0, + NOT_RESTRICTED = 1, + RESTRICTED = 2, + } + android.hardware.radio.sim.Carrier[] allowedCarriers; + android.hardware.radio.sim.Carrier[] excludedCarriers; + boolean allowedCarriersPrioritized; + CarrierRestrictionStatus status; + int carrierId; } diff --git a/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl index 3dce9076ea..5a79f0fa63 100644 --- a/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl +++ b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl @@ -21,6 +21,22 @@ import android.hardware.radio.sim.Carrier; @VintfStability @JavaDerive(toString=true) parcelable CarrierRestrictions { + @VintfStability + @Backing(type="int") + /** This enum defines the carrier restriction status values */ + enum CarrierRestrictionStatus { + /** + * Carrier restriction status value is unknown, used in cases where modem is dependent on + * external module to know about the lock status and the module hasn’t yet provided the lock + * status. For example, when the lock status is maintained on a cloud server and device has + * just booted after out of box and not yet connected to the internet. + */ + UNKNOWN = 0, + /** There is no carrier restriction on the device */ + NOT_RESTRICTED = 1, + /** The device is restricted to a carrier */ + RESTRICTED = 2, + } /** * Allowed carriers */ @@ -40,4 +56,11 @@ parcelable CarrierRestrictions { * and not in the allowed list. */ boolean allowedCarriersPrioritized; + /** Current restriction status as defined in CarrierRestrictionStatus enum */ + CarrierRestrictionStatus status; + /** + * Android carrier ID of the locked carrier. + * see https://source.android.com/docs/core/connect/carrierid + */ + int carrierId; }