Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be8d179d authored by Aishwarya Mallampati's avatar Aishwarya Mallampati
Browse files

Add new satellite APIs for cellular modem.

The following APIs are added to IRadioNetwork.aidl:
- setSatellitePlmn
- setSatelliteEnabledForCarrier
- isSatelliteEnabledForCarrier

Bug: 380319841
Test: Manually tested SMS/MMS/CALLS/DATA
Test: atest VtsHalRadioTargetTest:PerInstance/RadioNetworkTest on cuttlefish
FLAG: EXEMPT HAL interface change

Change-Id: I99ede8f07d7e35be7d3055e8173ca626e49a3e50
parent ea1a2a18
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -92,4 +92,7 @@ interface IRadioNetwork {
  oneway void setCellularIdentifierTransparencyEnabled(in int serial, in boolean enabled);
  oneway void setSecurityAlgorithmsUpdatedEnabled(in int serial, boolean enable);
  oneway void isSecurityAlgorithmsUpdatedEnabled(in int serial);
  oneway void setSatellitePlmn(in int serial, in int simSlot, in String[] carrierPlmnArray, in String[] allSatellitePlmnArray);
  oneway void setSatelliteEnabledForCarrier(in int serial, in int simSlot, boolean satelliteEnabled);
  oneway void isSatelliteEnabledForCarrier(in int serial, in int simSlot);
}
+3 −0
Original line number Diff line number Diff line
@@ -91,4 +91,7 @@ interface IRadioNetworkResponse {
  oneway void setCellularIdentifierTransparencyEnabledResponse(in android.hardware.radio.RadioResponseInfo info);
  oneway void setSecurityAlgorithmsUpdatedEnabledResponse(in android.hardware.radio.RadioResponseInfo info);
  oneway void isSecurityAlgorithmsUpdatedEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled);
  oneway void setSatellitePlmnResponse(in android.hardware.radio.RadioResponseInfo info);
  oneway void setSatelliteEnabledForCarrierResponse(in android.hardware.radio.RadioResponseInfo info);
  oneway void isSatelliteEnabledForCarrierResponse(in android.hardware.radio.RadioResponseInfo info, boolean isEnabled);
}
+56 −0
Original line number Diff line number Diff line
@@ -717,4 +717,60 @@ oneway interface IRadioNetwork {
     * This is available when android.hardware.telephony.access is defined.
     */
    void isSecurityAlgorithmsUpdatedEnabled(in int serial);

    /**
     * Set the non-terrestrial PLMN with lower priority than terrestrial networks.
     * MCC/MNC broadcast by the non-terrestrial networks may not be included in OPLMNwACT file on
     * SIM profile. Acquisition of satellite based system is lower priority to terrestrial
     * networks. UE shall make all attempts to acquire terrestrial service prior to camping on
     * satellite LTE service.
     *
     * @param serial Serial number of request
     * @param simSlot Indicates the SIM slot to which this API will be applied. The modem will use
     *                this information to determine the relevant carrier.
     * @param carrierPlmnArray Array of roaming PLMN used for connecting to satellite networks
     *                         supported by user subscription.
     * @param allSatellitePlmnArray allSatellitePlmnArray contains all the PLMNs present in
     *                              carrierPlmnArray and also list of satellite PLMNs that are not
     *                              supported by the carrier.
     *                              Modem should use the allSatellitePlmnArray to identify satellite
     *                              PLMNs that are not supported by the carrier and make sure not to
     *                              attach to them.
     *
     * Response function is IRadioNetworkResponse.setSatellitePlmnResponse()
     *
     * This is available when android.hardware.telephony.radio.access is defined.
     */
    void setSatellitePlmn(in int serial, in int simSlot, in String[] carrierPlmnArray,
            in String[] allSatellitePlmnArray);

    /**
     * Enable or disable satellite in the cellular modem associated with a carrier.
     *
     * Refer setSatellitePlmn for the details of satellite PLMN scanning process. Once modem is
     * disabled, modem should not attach to any of the PLMNs present in allSatellitePlmnArray.
     * If modem is enabled, modem should attach to only PLMNs present in carrierPlmnArray.
     *
     * @param serial Serial number of request
     * @param simSlot Indicates the SIM slot to which this API will be applied. The modem will use
     *                this information to determine the relevant carrier.
     * @param satelliteEnabled {@code true} to enable satellite, {@code false} to disable satellite.
     *
     * Response function is IRadioNetworkResponse.setSatelliteEnabledForCarrier()
     *
     * This is available when android.hardware.telephony.radio.access is defined.
     */
    void setSatelliteEnabledForCarrier(in int serial, in int simSlot, boolean satelliteEnabled);

    /**
     * Check whether satellite is enabled in the cellular modem associated with a carrier.
     *
     * @param serial Serial number of request
     * @param simSlot Indicates the SIM slot to which this API will be applied.
     *
     * Response function is IRadioNetworkResponse.isSatelliteEnabledForCarrier()
     *
     * This is available when android.hardware.telephony.radio.access is defined.
     */
    void isSatelliteEnabledForCarrier(in int serial, in int simSlot);
}
+49 −0
Original line number Diff line number Diff line
@@ -816,4 +816,53 @@ oneway interface IRadioNetworkResponse {
     */
    void isSecurityAlgorithmsUpdatedEnabledResponse(
            in RadioResponseInfo info, in boolean isEnabled);

    /**
     * Response of setSatellitePlmn.
     * This is an optional API.
     *
     * @param info Response info struct containing response type, serial no. and error.
     *
     * Valid errors returned:
     *   RadioError:REQUEST_NOT_SUPPORTED
     *   RadioError:NONE
     *   RadioError:RADIO_NOT_AVAILABLE
     *   RadioError:INTERNAL_ERR
     *   RadioError:REQUEST_NOT_SUPPORTED
     *   RadioError:INVALID_STATE
     */
    void setSatellitePlmnResponse(in RadioResponseInfo info);

    /**
     * Response of setSatelliteEnabledForCarrier.
     * This is an optional API.
     *
     * @param info Response info struct containing response type, serial no. and error.
     *
     * Valid errors returned:
     *   RadioError:REQUEST_NOT_SUPPORTED
     *   RadioError:NONE
     *   RadioError:RADIO_NOT_AVAILABLE
     *   RadioError:INTERNAL_ERR
     *   RadioError:REQUEST_NOT_SUPPORTED
     *   RadioError:INVALID_STATE
     */
    void setSatelliteEnabledForCarrierResponse(in RadioResponseInfo info);

    /**
     * Response of isSatelliteEnabledForCarrier.
     * This is an optional API.
     *
     * @param info Response info struct containing response type, serial no. and error.
     * @param isEnabled Indicates whether satellite is enabled for carrier or not.
     *
     * Valid errors returned:
     *   RadioError:REQUEST_NOT_SUPPORTED
     *   RadioError:NONE
     *   RadioError:RADIO_NOT_AVAILABLE
     *   RadioError:INTERNAL_ERR
     *   RadioError:REQUEST_NOT_SUPPORTED
     *   RadioError:INVALID_STATE
     */
    void isSatelliteEnabledForCarrierResponse(in RadioResponseInfo info, boolean isEnabled);
}
+7 −0
Original line number Diff line number Diff line
@@ -114,6 +114,13 @@ class RadioNetwork : public RadioCompatBase,
    ::ndk::ScopedAStatus setSecurityAlgorithmsUpdatedEnabled(int32_t serial, bool enabled) override;
    ::ndk::ScopedAStatus isSecurityAlgorithmsUpdatedEnabled(int32_t serial) override;

    ::ndk::ScopedAStatus setSatellitePlmn(
            int32_t serial, int32_t simSlot, const std::vector<std::string>& carrierPlmnArray,
            const std::vector<std::string>& allSatellitePlmnArray) override;
    ::ndk::ScopedAStatus setSatelliteEnabledForCarrier(int32_t serial, int32_t simSlot,
                                                       bool satelliteEnabled) override;
    ::ndk::ScopedAStatus isSatelliteEnabledForCarrier(int32_t serial, int32_t simSlot) override;

  protected:
    std::shared_ptr<::aidl::android::hardware::radio::network::IRadioNetworkResponse> respond();

Loading