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

Commit 640bd198 authored by Aishwarya Mallampati's avatar Aishwarya Mallampati Committed by Android (Google) Code Review
Browse files

Merge "Add new satellite APIs for cellular modem." into main

parents 1eb8290c be8d179d
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