Loading core/res/res/values/config_telephony.xml +4 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,10 @@ <string name="config_qualified_networks_service_class" translatable="false"></string> <java-symbol type="string" name="config_qualified_networks_service_class" /> <!-- Telephony satellite service package name to bind to by default. --> <string name="config_satellite_service_package" translatable="false"></string> <java-symbol type="string" name="config_satellite_service_package" /> <!-- Whether enhanced IWLAN handover check is enabled. If enabled, telephony frameworks will not perform handover if the target transport is out of service, or VoPS not supported. The network will be torn down on the source transport, and will be Loading telephony/java/android/telephony/satellite/SatelliteManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -321,7 +321,7 @@ public class SatelliteManager { * @param callback The callback object to which the result will be delivered. * If the request is successful, {@link OutcomeReceiver#onResult(Object)} * will return a {@code boolean} with value {@code true} if the satellite modem * is powered on and {@code false} otherwise. * is enabled and {@code false} otherwise. * If the request is not successful, {@link OutcomeReceiver#onError(Throwable)} * will return a {@link SatelliteException} with the {@link SatelliteError}. * Loading Loading @@ -526,7 +526,7 @@ public class SatelliteManager { /* Satellite modem is sending and/or receiving messages. */ public static final int SATELLITE_MODEM_STATE_MESSAGE_TRANSFERRING = 2; /* Satellite modem is powered off */ /* Satellite modem is powered off. */ public static final int SATELLITE_MODEM_STATE_OFF = 3; /** @hide */ Loading Loading @@ -1204,14 +1204,14 @@ public class SatelliteManager { } /** * Request to get the time after which the satellite will next be visible. This is an * Request to get the time after which the satellite will be visible. This is an * {@code int} representing the duration in seconds after which the satellite will be visible. * This will return {@code 0} if the satellite is currently visible. * * @param executor The executor on which the callback will be called. * @param callback The callback object to which the result will be delivered. * If the request is successful, {@link OutcomeReceiver#onResult(Object)} * will return the time after which the satellite will next be visible. * will return the time after which the satellite will be visible. * If the request is not successful, {@link OutcomeReceiver#onError(Throwable)} * will return a {@link SatelliteException} with the {@link SatelliteError}. * Loading telephony/java/android/telephony/satellite/stub/ISatellite.aidl 0 → 100644 +370 −0 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony.satellite.stub; import android.telephony.satellite.stub.ISatelliteCapabilitiesConsumer; import android.telephony.satellite.stub.ISatelliteListener; import android.telephony.satellite.stub.ISatelliteModemStateConsumer; import android.telephony.satellite.stub.SatelliteDatagram; import com.android.internal.telephony.IBooleanConsumer; import com.android.internal.telephony.IIntegerConsumer; /** * {@hide} */ oneway interface ISatellite { /** * Register the callback interface with satellite service. * * @param listener The callback interface to handle satellite service indications. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void setSatelliteListener(in ISatelliteListener listener, in IIntegerConsumer errorCallback); /** * Enable or disable the satellite service listening mode. * Listening mode allows the satellite service to listen for incoming pages. * * @param enable True to enable satellite listening mode and false to disable. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void setSatelliteListeningEnabled(in boolean enable, in IIntegerConsumer errorCallback); /** * Enable or disable the satellite modem. If the satellite modem is enabled, this will also * disable the cellular modem, and if the satellite modem is disabled, this will also re-enable * the cellular modem. * * @param enable True to enable the satellite modem and false to disable. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void setSatelliteEnabled(in boolean enabled, in IIntegerConsumer errorCallback); /** * Request to get whether the satellite modem is enabled. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * whether the satellite modem is enabled. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestIsSatelliteEnabled(in IIntegerConsumer errorCallback, in IBooleanConsumer callback); /** * Request to get whether the satellite service is supported on the device. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * whether the satellite service is supported on the device. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestIsSatelliteSupported(in IIntegerConsumer errorCallback, in IBooleanConsumer callback); /** * Request to get the SatelliteCapabilities of the satellite service. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * the SatelliteCapabilities of the satellite service. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestSatelliteCapabilities(in IIntegerConsumer errorCallback, in ISatelliteCapabilitiesConsumer callback); /** * User started pointing to the satellite. * The satellite service should report the satellite pointing info via * ISatelliteListener#onSatellitePointingInfoChanged as the user device/satellite moves. * * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void startSendingSatellitePointingInfo(in IIntegerConsumer errorCallback); /** * User stopped pointing to the satellite. * The satellite service should stop reporting satellite pointing info to the framework. * * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void stopSendingSatellitePointingInfo(in IIntegerConsumer errorCallback); /** * Request to get the maximum number of characters per MO text message on satellite. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * the maximum number of characters per MO text message on satellite. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestMaxCharactersPerMOTextMessage(in IIntegerConsumer errorCallback, in IIntegerConsumer callback); /** * Provision the device with a satellite provider. * This is needed if the provider allows dynamic registration. * Once provisioned, ISatelliteListener#onSatelliteProvisionStateChanged should report true. * * @param token The token to be used as a unique identifier for provisioning with satellite * gateway. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:NETWORK_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES * SatelliteError:REQUEST_ABORTED * SatelliteError:NETWORK_TIMEOUT */ void provisionSatelliteService(in String token, in IIntegerConsumer errorCallback); /** * Deprovision the device with the satellite provider. * This is needed if the provider allows dynamic registration. * Once deprovisioned, ISatelliteListener#onSatelliteProvisionStateChanged should report false. * * @param token The token of the device/subscription to be deprovisioned. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:NETWORK_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES * SatelliteError:REQUEST_ABORTED * SatelliteError:NETWORK_TIMEOUT */ void deprovisionSatelliteService(in String token, in IIntegerConsumer errorCallback); /** * Request to get whether this device is provisioned with a satellite provider. * * @param token The token of the device/subscription to be deprovisioned. * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * whether this device is provisioned with a satellite provider. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestIsSatelliteProvisioned(in String token, in IIntegerConsumer errorCallback, in IBooleanConsumer callback); /** * Poll the pending datagrams to be received over satellite. * The satellite service should check if there are any pending datagrams to be received over * satellitea and report them via ISatelliteListener#onNewDatagrams. * * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:NETWORK_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES * SatelliteError:SATELLITE_ACCESS_BARRED * SatelliteError:NETWORK_TIMEOUT * SatelliteError:SATELLITE_NOT_REACHABLE * SatelliteError:NOT_AUTHORIZED */ void pollPendingSatelliteDatagrams(in IIntegerConsumer errorCallback); /** * Send datagram over satellite. * Once sent, the satellite service should report whether the operation was successful via * SatelliteListener#onDatagramsDelivered. * * @param datagram Datagram to send in byte format. * @param isEmergency Whether this is an emergency datagram. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:NETWORK_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES * SatelliteError:REQUEST_ABORTED * SatelliteError:SATELLITE_ACCESS_BARRED * SatelliteError:NETWORK_TIMEOUT * SatelliteError:SATELLITE_NOT_REACHABLE * SatelliteError:NOT_AUTHORIZED */ void sendSatelliteDatagram(in SatelliteDatagram datagram, in boolean isEmergency, in IIntegerConsumer errorCallback); /** * Request the current satellite modem state. * The satellite service should report the current satellite modem state via * ISatelliteListener#onSatelliteModemStateChanged. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * the current satellite modem state. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestSatelliteModemState(in IIntegerConsumer errorCallback, in ISatelliteModemStateConsumer callback); /** * Request to get whether satellite communication is allowed for the current location. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * whether satellite communication is allowed for the current location. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestIsSatelliteCommunicationAllowedForCurrentLocation( in IIntegerConsumer errorCallback, in IBooleanConsumer callback); /** * Request to get the time after which the satellite will be visible. This is an int * representing the duration in seconds after which the satellite will be visible. * This will return 0 if the satellite is currently visible. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * the time after which the satellite will be visible. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestTimeForNextSatelliteVisibility(in IIntegerConsumer errorCallback, in IIntegerConsumer callback); } telephony/java/android/telephony/satellite/stub/ISatelliteCapabilitiesConsumer.aidl 0 → 100644 +27 −0 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony.satellite.stub; import android.telephony.satellite.stub.SatelliteCapabilities; /** * Consumer pattern for a request that receives a SatelliteCapabilities from the SatelliteService. * @hide */ oneway interface ISatelliteCapabilitiesConsumer { void accept(in SatelliteCapabilities result); } telephony/java/android/telephony/satellite/stub/ISatelliteListener.aidl 0 → 100644 +78 −0 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony.satellite.stub; import android.telephony.satellite.stub.NTRadioTechnology; import android.telephony.satellite.stub.PointingInfo; import android.telephony.satellite.stub.SatelliteDatagram; import android.telephony.satellite.stub.SatelliteModemState; /** * {@hide} */ oneway interface ISatelliteListener { /** * Indicates that the satellite provision state has changed. * * @param provisioned True means the service is provisioned and false means it is not. */ void onSatelliteProvisionStateChanged(in boolean provisioned); /** * Indicates that new datagrams have been received on the device. * * @param datagrams New datagrams received. * @param pendingCount The number of datagrams that are pending. */ void onNewDatagrams(in SatelliteDatagram[] datagrams, in int pendingCount); /** * Indicates that the satellite has pending datagrams for the device to be pulled. * * @param count Number of pending datagrams. */ void onPendingDatagramCount(in int count); /** * Indicates that the satellite pointing input has changed. * * @param pointingInfo The current pointing info. */ void onSatellitePointingInfoChanged(in PointingInfo pointingInfo); /** * Indicates that the satellite modem state has changed. * * @param mode The current satellite modem state. */ void onSatelliteModemStateChanged(in SatelliteModemState mode); /** * Indicates that the satellite radio technology has changed. * * @param technology The current satellite service mode. */ void onSatelliteRadioTechnologyChanged(in NTRadioTechnology technology); /** * Indicates that datagram transfer is complete and all datagrams have been delivered. * * @param delivered True means all datagrams have been delivered and false means there was an * error in delivering all datagrams. */ void onDatagramsDelivered(in boolean delivered); } Loading
core/res/res/values/config_telephony.xml +4 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,10 @@ <string name="config_qualified_networks_service_class" translatable="false"></string> <java-symbol type="string" name="config_qualified_networks_service_class" /> <!-- Telephony satellite service package name to bind to by default. --> <string name="config_satellite_service_package" translatable="false"></string> <java-symbol type="string" name="config_satellite_service_package" /> <!-- Whether enhanced IWLAN handover check is enabled. If enabled, telephony frameworks will not perform handover if the target transport is out of service, or VoPS not supported. The network will be torn down on the source transport, and will be Loading
telephony/java/android/telephony/satellite/SatelliteManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -321,7 +321,7 @@ public class SatelliteManager { * @param callback The callback object to which the result will be delivered. * If the request is successful, {@link OutcomeReceiver#onResult(Object)} * will return a {@code boolean} with value {@code true} if the satellite modem * is powered on and {@code false} otherwise. * is enabled and {@code false} otherwise. * If the request is not successful, {@link OutcomeReceiver#onError(Throwable)} * will return a {@link SatelliteException} with the {@link SatelliteError}. * Loading Loading @@ -526,7 +526,7 @@ public class SatelliteManager { /* Satellite modem is sending and/or receiving messages. */ public static final int SATELLITE_MODEM_STATE_MESSAGE_TRANSFERRING = 2; /* Satellite modem is powered off */ /* Satellite modem is powered off. */ public static final int SATELLITE_MODEM_STATE_OFF = 3; /** @hide */ Loading Loading @@ -1204,14 +1204,14 @@ public class SatelliteManager { } /** * Request to get the time after which the satellite will next be visible. This is an * Request to get the time after which the satellite will be visible. This is an * {@code int} representing the duration in seconds after which the satellite will be visible. * This will return {@code 0} if the satellite is currently visible. * * @param executor The executor on which the callback will be called. * @param callback The callback object to which the result will be delivered. * If the request is successful, {@link OutcomeReceiver#onResult(Object)} * will return the time after which the satellite will next be visible. * will return the time after which the satellite will be visible. * If the request is not successful, {@link OutcomeReceiver#onError(Throwable)} * will return a {@link SatelliteException} with the {@link SatelliteError}. * Loading
telephony/java/android/telephony/satellite/stub/ISatellite.aidl 0 → 100644 +370 −0 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony.satellite.stub; import android.telephony.satellite.stub.ISatelliteCapabilitiesConsumer; import android.telephony.satellite.stub.ISatelliteListener; import android.telephony.satellite.stub.ISatelliteModemStateConsumer; import android.telephony.satellite.stub.SatelliteDatagram; import com.android.internal.telephony.IBooleanConsumer; import com.android.internal.telephony.IIntegerConsumer; /** * {@hide} */ oneway interface ISatellite { /** * Register the callback interface with satellite service. * * @param listener The callback interface to handle satellite service indications. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void setSatelliteListener(in ISatelliteListener listener, in IIntegerConsumer errorCallback); /** * Enable or disable the satellite service listening mode. * Listening mode allows the satellite service to listen for incoming pages. * * @param enable True to enable satellite listening mode and false to disable. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void setSatelliteListeningEnabled(in boolean enable, in IIntegerConsumer errorCallback); /** * Enable or disable the satellite modem. If the satellite modem is enabled, this will also * disable the cellular modem, and if the satellite modem is disabled, this will also re-enable * the cellular modem. * * @param enable True to enable the satellite modem and false to disable. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void setSatelliteEnabled(in boolean enabled, in IIntegerConsumer errorCallback); /** * Request to get whether the satellite modem is enabled. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * whether the satellite modem is enabled. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestIsSatelliteEnabled(in IIntegerConsumer errorCallback, in IBooleanConsumer callback); /** * Request to get whether the satellite service is supported on the device. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * whether the satellite service is supported on the device. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestIsSatelliteSupported(in IIntegerConsumer errorCallback, in IBooleanConsumer callback); /** * Request to get the SatelliteCapabilities of the satellite service. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * the SatelliteCapabilities of the satellite service. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestSatelliteCapabilities(in IIntegerConsumer errorCallback, in ISatelliteCapabilitiesConsumer callback); /** * User started pointing to the satellite. * The satellite service should report the satellite pointing info via * ISatelliteListener#onSatellitePointingInfoChanged as the user device/satellite moves. * * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void startSendingSatellitePointingInfo(in IIntegerConsumer errorCallback); /** * User stopped pointing to the satellite. * The satellite service should stop reporting satellite pointing info to the framework. * * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void stopSendingSatellitePointingInfo(in IIntegerConsumer errorCallback); /** * Request to get the maximum number of characters per MO text message on satellite. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * the maximum number of characters per MO text message on satellite. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestMaxCharactersPerMOTextMessage(in IIntegerConsumer errorCallback, in IIntegerConsumer callback); /** * Provision the device with a satellite provider. * This is needed if the provider allows dynamic registration. * Once provisioned, ISatelliteListener#onSatelliteProvisionStateChanged should report true. * * @param token The token to be used as a unique identifier for provisioning with satellite * gateway. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:NETWORK_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES * SatelliteError:REQUEST_ABORTED * SatelliteError:NETWORK_TIMEOUT */ void provisionSatelliteService(in String token, in IIntegerConsumer errorCallback); /** * Deprovision the device with the satellite provider. * This is needed if the provider allows dynamic registration. * Once deprovisioned, ISatelliteListener#onSatelliteProvisionStateChanged should report false. * * @param token The token of the device/subscription to be deprovisioned. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:NETWORK_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES * SatelliteError:REQUEST_ABORTED * SatelliteError:NETWORK_TIMEOUT */ void deprovisionSatelliteService(in String token, in IIntegerConsumer errorCallback); /** * Request to get whether this device is provisioned with a satellite provider. * * @param token The token of the device/subscription to be deprovisioned. * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * whether this device is provisioned with a satellite provider. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestIsSatelliteProvisioned(in String token, in IIntegerConsumer errorCallback, in IBooleanConsumer callback); /** * Poll the pending datagrams to be received over satellite. * The satellite service should check if there are any pending datagrams to be received over * satellitea and report them via ISatelliteListener#onNewDatagrams. * * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:NETWORK_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES * SatelliteError:SATELLITE_ACCESS_BARRED * SatelliteError:NETWORK_TIMEOUT * SatelliteError:SATELLITE_NOT_REACHABLE * SatelliteError:NOT_AUTHORIZED */ void pollPendingSatelliteDatagrams(in IIntegerConsumer errorCallback); /** * Send datagram over satellite. * Once sent, the satellite service should report whether the operation was successful via * SatelliteListener#onDatagramsDelivered. * * @param datagram Datagram to send in byte format. * @param isEmergency Whether this is an emergency datagram. * @param errorCallback The callback to receive the error code result of the operation. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:NETWORK_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES * SatelliteError:REQUEST_ABORTED * SatelliteError:SATELLITE_ACCESS_BARRED * SatelliteError:NETWORK_TIMEOUT * SatelliteError:SATELLITE_NOT_REACHABLE * SatelliteError:NOT_AUTHORIZED */ void sendSatelliteDatagram(in SatelliteDatagram datagram, in boolean isEmergency, in IIntegerConsumer errorCallback); /** * Request the current satellite modem state. * The satellite service should report the current satellite modem state via * ISatelliteListener#onSatelliteModemStateChanged. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * the current satellite modem state. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestSatelliteModemState(in IIntegerConsumer errorCallback, in ISatelliteModemStateConsumer callback); /** * Request to get whether satellite communication is allowed for the current location. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * whether satellite communication is allowed for the current location. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestIsSatelliteCommunicationAllowedForCurrentLocation( in IIntegerConsumer errorCallback, in IBooleanConsumer callback); /** * Request to get the time after which the satellite will be visible. This is an int * representing the duration in seconds after which the satellite will be visible. * This will return 0 if the satellite is currently visible. * * @param errorCallback The callback to receive the error code result of the operation. * @param callback If the result is SatelliteError#ERROR_NONE, the callback to receive * the time after which the satellite will be visible. * * Valid error codes returned: * SatelliteError:ERROR_NONE * SatelliteError:MODEM_ERROR * SatelliteError:INVALID_MODEM_STATE * SatelliteError:INVALID_ARGUMENTS * SatelliteError:RADIO_NOT_AVAILABLE * SatelliteError:REQUEST_NOT_SUPPORTED * SatelliteError:NO_RESOURCES */ void requestTimeForNextSatelliteVisibility(in IIntegerConsumer errorCallback, in IIntegerConsumer callback); }
telephony/java/android/telephony/satellite/stub/ISatelliteCapabilitiesConsumer.aidl 0 → 100644 +27 −0 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony.satellite.stub; import android.telephony.satellite.stub.SatelliteCapabilities; /** * Consumer pattern for a request that receives a SatelliteCapabilities from the SatelliteService. * @hide */ oneway interface ISatelliteCapabilitiesConsumer { void accept(in SatelliteCapabilities result); }
telephony/java/android/telephony/satellite/stub/ISatelliteListener.aidl 0 → 100644 +78 −0 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony.satellite.stub; import android.telephony.satellite.stub.NTRadioTechnology; import android.telephony.satellite.stub.PointingInfo; import android.telephony.satellite.stub.SatelliteDatagram; import android.telephony.satellite.stub.SatelliteModemState; /** * {@hide} */ oneway interface ISatelliteListener { /** * Indicates that the satellite provision state has changed. * * @param provisioned True means the service is provisioned and false means it is not. */ void onSatelliteProvisionStateChanged(in boolean provisioned); /** * Indicates that new datagrams have been received on the device. * * @param datagrams New datagrams received. * @param pendingCount The number of datagrams that are pending. */ void onNewDatagrams(in SatelliteDatagram[] datagrams, in int pendingCount); /** * Indicates that the satellite has pending datagrams for the device to be pulled. * * @param count Number of pending datagrams. */ void onPendingDatagramCount(in int count); /** * Indicates that the satellite pointing input has changed. * * @param pointingInfo The current pointing info. */ void onSatellitePointingInfoChanged(in PointingInfo pointingInfo); /** * Indicates that the satellite modem state has changed. * * @param mode The current satellite modem state. */ void onSatelliteModemStateChanged(in SatelliteModemState mode); /** * Indicates that the satellite radio technology has changed. * * @param technology The current satellite service mode. */ void onSatelliteRadioTechnologyChanged(in NTRadioTechnology technology); /** * Indicates that datagram transfer is complete and all datagrams have been delivered. * * @param delivered True means all datagrams have been delivered and false means there was an * error in delivering all datagrams. */ void onDatagramsDelivered(in boolean delivered); }