1 /* 2 * Copyright (C) 2023 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.telephony.satellite.stub; 18 19 import android.telephony.IBooleanConsumer; 20 import android.telephony.IIntegerConsumer; 21 22 import android.telephony.satellite.stub.INtnSignalStrengthConsumer; 23 import android.telephony.satellite.stub.ISatelliteCapabilitiesConsumer; 24 import android.telephony.satellite.stub.ISatelliteListener; 25 import android.telephony.satellite.stub.SatelliteDatagram; 26 import android.telephony.satellite.stub.SystemSelectionSpecifier; 27 import android.telephony.satellite.stub.SatelliteModemEnableRequestAttributes; 28 29 /** 30 * {@hide} 31 */ 32 oneway interface ISatellite { 33 /** 34 * Register the callback interface with satellite service. 35 * 36 * @param listener The callback interface to handle satellite service indications. 37 * 38 * Valid result codes returned: 39 * SatelliteResult:SATELLITE_RESULT_SUCCESS 40 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 41 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 42 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 43 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 44 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 45 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 46 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 47 */ setSatelliteListener(in ISatelliteListener listener)48 void setSatelliteListener(in ISatelliteListener listener); 49 50 /** 51 * Request to enable or disable the satellite service listening mode. 52 * Listening mode allows the satellite service to listen for incoming pages. 53 * 54 * @param enable True to enable satellite listening mode and false to disable. 55 * @param timeout How long the satellite modem should wait for the next incoming page before 56 * disabling listening mode. 57 * @param resultCallback The callback to receive the error code result of the operation. 58 * 59 * Valid result codes returned: 60 * SatelliteResult:SATELLITE_RESULT_SUCCESS 61 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 62 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 63 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 64 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 65 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 66 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 67 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 68 */ requestSatelliteListeningEnabled(in boolean enable, in int timeout, in IIntegerConsumer resultCallback)69 void requestSatelliteListeningEnabled(in boolean enable, in int timeout, 70 in IIntegerConsumer resultCallback); 71 72 /** 73 * Framework will call this API to determine if there are any TN networks available. 74 * This API will be called if framework identifies that user is inactive i.e. no 75 * data transfer or no pointing to satellite. 76 * Modem can send the callback with available for either in service or limited service. 77 78 * @param enabled {@code true} to enable cellular modem while satellite mode is on 79 * and {@code false} to disable 80 * @param errorCallback The callback to receive the error code result of the operation. 81 */ enableTerrestrialNetworkScanWhileSatelliteModeIsOn(in boolean enabled, in IIntegerConsumer errorCallback)82 void enableTerrestrialNetworkScanWhileSatelliteModeIsOn(in boolean enabled, 83 in IIntegerConsumer errorCallback); 84 85 /** 86 * Request to enable or disable the satellite modem and demo mode. If the satellite modem 87 * is enabled, this may also disable the cellular modem, and if the satellite modem is disabled, 88 * this may also re-enable the cellular modem. 89 * 90 * Framework might send an enable request to update the enable attributes of an already-started 91 * satellite session. In such cases, modem needs to apply the new enable attrbitues to the 92 * satellite session. Moreover, modem needs to report its current state and signal strength 93 * level to framework right after receiving this request from framework. 94 * 95 * Framework might send a disable request when an enable request is being processed. In such 96 * cases, modem needs to abort the enable request and process the disable request. 97 * 98 * @param enableAttributes The enable parameters that will be applied to the satellite session 99 * @param resultCallback The callback to receive the error code result of the operation. 100 * 101 * Valid result codes returned: 102 * SatelliteResult:SATELLITE_RESULT_SUCCESS 103 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 104 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 105 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 106 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 107 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 108 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 109 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 110 */ requestSatelliteEnabled(in SatelliteModemEnableRequestAttributes enableAttributes, in IIntegerConsumer resultCallback)111 void requestSatelliteEnabled(in SatelliteModemEnableRequestAttributes enableAttributes, 112 in IIntegerConsumer resultCallback); 113 114 /** 115 * Request to get whether the satellite modem is enabled. 116 * 117 * @param resultCallback The callback to receive the error code result of the operation. 118 * This must only be sent when the result is not 119 * SatelliteResult#SATELLITE_RESULT_SUCCESS. 120 * @param callback If the result is SatelliteResult#SATELLITE_RESULT_SUCCESS, the callback to 121 * receive whether the satellite modem is enabled. 122 * 123 * Valid result codes returned: 124 * SatelliteResult:SATELLITE_RESULT_SUCCESS 125 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 126 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 127 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 128 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 129 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 130 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 131 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 132 */ requestIsSatelliteEnabled(in IIntegerConsumer resultCallback, in IBooleanConsumer callback)133 void requestIsSatelliteEnabled(in IIntegerConsumer resultCallback, 134 in IBooleanConsumer callback); 135 136 /** 137 * Request to get whether the satellite service is supported on the device. 138 * 139 * @param resultCallback The callback to receive the error code result of the operation. 140 * This must only be sent when the result is not 141 * SatelliteResult#SATELLITE_RESULT_SUCCESS. 142 * @param callback If the result is SatelliteResult#SATELLITE_RESULT_SUCCESS, the callback to 143 * receive whether the satellite service is supported on the device. 144 * 145 * Valid result codes returned: 146 * SatelliteResult:SATELLITE_RESULT_SUCCESS 147 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 148 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 149 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 150 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 151 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 152 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 153 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 154 */ requestIsSatelliteSupported(in IIntegerConsumer resultCallback, in IBooleanConsumer callback)155 void requestIsSatelliteSupported(in IIntegerConsumer resultCallback, 156 in IBooleanConsumer callback); 157 158 /** 159 * Request to get the SatelliteCapabilities of the satellite service. 160 * 161 * @param resultCallback The callback to receive the error code result of the operation. 162 * This must only be sent when the result is not 163 * SatelliteResult#SATELLITE_RESULT_SUCCESS. 164 * @param callback If the result is SatelliteResult#SATELLITE_RESULT_SUCCESS, the callback to 165 * receive the SatelliteCapabilities of the satellite service. 166 * 167 * Valid result codes returned: 168 * SatelliteResult:SATELLITE_RESULT_SUCCESS 169 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 170 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 171 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 172 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 173 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 174 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 175 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 176 */ requestSatelliteCapabilities(in IIntegerConsumer resultCallback, in ISatelliteCapabilitiesConsumer callback)177 void requestSatelliteCapabilities(in IIntegerConsumer resultCallback, 178 in ISatelliteCapabilitiesConsumer callback); 179 180 /** 181 * User started pointing to the satellite. 182 * The satellite service should report the satellite pointing info via 183 * ISatelliteListener#onSatellitePositionChanged as the user device/satellite moves. 184 * 185 * @param resultCallback The callback to receive the error code result of the operation. 186 * 187 * Valid result codes returned: 188 * SatelliteResult:SATELLITE_RESULT_SUCCESS 189 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 190 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 191 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 192 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 193 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 194 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 195 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 196 */ startSendingSatellitePointingInfo(in IIntegerConsumer resultCallback)197 void startSendingSatellitePointingInfo(in IIntegerConsumer resultCallback); 198 199 /** 200 * User stopped pointing to the satellite. 201 * The satellite service should stop reporting satellite pointing info to the framework. 202 * 203 * @param resultCallback The callback to receive the error code result of the operation. 204 * 205 * Valid result codes returned: 206 * SatelliteResult:SATELLITE_RESULT_SUCCESS 207 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 208 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 209 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 210 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 211 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 212 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 213 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 214 */ stopSendingSatellitePointingInfo(in IIntegerConsumer resultCallback)215 void stopSendingSatellitePointingInfo(in IIntegerConsumer resultCallback); 216 217 /** 218 * Poll the pending datagrams to be received over satellite. 219 * The satellite service should check if there are any pending datagrams to be received over 220 * satellite and report them via ISatelliteListener#onSatelliteDatagramsReceived. 221 * 222 * @param resultCallback The callback to receive the error code result of the operation. 223 * 224 * Valid result codes returned: 225 * SatelliteResult:SATELLITE_RESULT_SUCCESS 226 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 227 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 228 * SatelliteResult:SATELLITE_RESULT_NETWORK_ERROR 229 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 230 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 231 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 232 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 233 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 234 * SatelliteResult:SATELLITE_RESULT_ACCESS_BARRED 235 * SatelliteResult:SATELLITE_RESULT_NETWORK_TIMEOUT 236 * SatelliteResult:SATELLITE_RESULT_NOT_REACHABLE 237 * SatelliteResult:SATELLITE_RESULT_NOT_AUTHORIZED 238 */ pollPendingSatelliteDatagrams(in IIntegerConsumer resultCallback)239 void pollPendingSatelliteDatagrams(in IIntegerConsumer resultCallback); 240 241 /** 242 * Send datagram over satellite. 243 * 244 * @param datagram Datagram to send in byte format. 245 * @param isEmergency Whether this is an emergency datagram. 246 * @param resultCallback The callback to receive the error code result of the operation. 247 * 248 * Valid result codes returned: 249 * SatelliteResult:SATELLITE_RESULT_SUCCESS 250 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 251 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 252 * SatelliteResult:SATELLITE_RESULT_NETWORK_ERROR 253 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 254 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 255 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 256 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 257 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 258 * SatelliteResult:SATELLITE_RESULT_REQUEST_ABORTED 259 * SatelliteResult:SATELLITE_RESULT_ACCESS_BARRED 260 * SatelliteResult:SATELLITE_RESULT_NETWORK_TIMEOUT 261 * SatelliteResult:SATELLITE_RESULT_NOT_REACHABLE 262 * SatelliteResult:SATELLITE_RESULT_NOT_AUTHORIZED 263 */ sendSatelliteDatagram(in SatelliteDatagram datagram, in boolean isEmergency, in IIntegerConsumer resultCallback)264 void sendSatelliteDatagram(in SatelliteDatagram datagram, in boolean isEmergency, 265 in IIntegerConsumer resultCallback); 266 267 /** 268 * Request the current satellite modem state. 269 * The satellite service should report the current satellite modem state via 270 * ISatelliteListener#onSatelliteModemStateChanged. 271 * 272 * @param resultCallback The callback to receive the error code result of the operation. 273 * This must only be sent when the result is not 274 * SatelliteResult#SATELLITE_RESULT_SUCCESS. 275 * @param callback If the result is SatelliteResult#SATELLITE_RESULT_SUCCESS, the callback to 276 * receive the current satellite modem state. 277 * 278 * Valid result codes returned: 279 * SatelliteResult:SATELLITE_RESULT_SUCCESS 280 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 281 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 282 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 283 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 284 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 285 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 286 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 287 */ requestSatelliteModemState(in IIntegerConsumer resultCallback, in IIntegerConsumer callback)288 void requestSatelliteModemState(in IIntegerConsumer resultCallback, 289 in IIntegerConsumer callback); 290 291 /** 292 * Request to get the time after which the satellite will be visible. This is an int 293 * representing the duration in seconds after which the satellite will be visible. 294 * This will return 0 if the satellite is currently visible. 295 * 296 * @param resultCallback The callback to receive the error code result of the operation. 297 * This must only be sent when the result is not 298 * SatelliteResult#SATELLITE_RESULT_SUCCESS. 299 * @param callback If the result is SatelliteResult#SATELLITE_RESULT_SUCCESS, the callback to 300 * receive the time after which the satellite will be visible. 301 * 302 * Valid result codes returned: 303 * SatelliteResult:SATELLITE_RESULT_SUCCESS 304 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 305 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 306 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 307 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 308 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 309 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 310 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 311 */ requestTimeForNextSatelliteVisibility(in IIntegerConsumer resultCallback, in IIntegerConsumer callback)312 void requestTimeForNextSatelliteVisibility(in IIntegerConsumer resultCallback, 313 in IIntegerConsumer callback); 314 315 /** 316 * Set the non-terrestrial PLMN with lower priority than terrestrial networks. 317 * MCC/MNC broadcast by the non-terrestrial networks may not be included in OPLMNwACT file on 318 * SIM profile. Acquisition of satellite based system is lower priority to terrestrial 319 * networks. UE shall make all attempts to acquire terrestrial service prior to camping on 320 * satellite LTE service. 321 * 322 * @param simSlot Indicates the SIM slot to which this API will be applied. The modem will use 323 * this information to determine the relevant carrier. 324 * @param carrierPlmnList The list of roaming PLMN used for connecting to satellite networks 325 * supported by user subscription. 326 * @param allSatellitePlmnList Modem should use the allSatellitePlmnList to identify satellite 327 * PLMNs that are not supported by the carrier and make sure not to 328 * attach to them. 329 * @param resultCallback The callback to receive the error code result of the operation. 330 * 331 * Valid result codes returned: 332 * SatelliteResult:NONE 333 * SatelliteResult:SATELLITE_RESULT_INVALID_ARGUMENTS 334 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 335 * SatelliteResult:MODEM_ERR 336 * SatelliteResult:SATELLITE_RESULT_NO_RESOURCES 337 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 338 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 339 */ setSatellitePlmn(int simSlot, in List<String> carrierPlmnList, in List<String> allSatellitePlmnList, in IIntegerConsumer resultCallback)340 void setSatellitePlmn(int simSlot, in List<String> carrierPlmnList, 341 in List<String> allSatellitePlmnList, in IIntegerConsumer resultCallback); 342 343 /** 344 * Enable or disable satellite in the cellular modem associated with a carrier. 345 * Refer setSatellitePlmn for the details of satellite PLMN scanning process. 346 * 347 * @param simSlot Indicates the SIM slot to which this API will be applied. The modem will use 348 * this information to determine the relevant carrier. 349 * @param serial Serial number of request. 350 * @param enable {@code true} to enable satellite, {@code false} to disable satellite. 351 * 352 * Valid result codes returned: 353 * SatelliteResult:SATELLITE_RESULT_SUCCESS 354 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 355 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 356 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 357 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 358 */ setSatelliteEnabledForCarrier(int simSlot, boolean satelliteEnabled, in IIntegerConsumer callback)359 void setSatelliteEnabledForCarrier(int simSlot, boolean satelliteEnabled, 360 in IIntegerConsumer callback); 361 362 /** 363 * Check whether satellite is enabled in the cellular modem associated with a carrier. 364 * 365 * @param simSlot Indicates the SIM slot to which this API will be applied. The modem will use 366 * this information to determine the relevant carrier. 367 * @param serial Serial number of request. 368 * 369 * Valid result codes returned: 370 * SatelliteResult:SATELLITE_RESULT_SUCCESS 371 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 372 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 373 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 374 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 375 */ requestIsSatelliteEnabledForCarrier(int simSlot, in IIntegerConsumer resultCallback, in IBooleanConsumer callback)376 void requestIsSatelliteEnabledForCarrier(int simSlot, in IIntegerConsumer resultCallback, 377 in IBooleanConsumer callback); 378 379 /** 380 * Request to get the signal strength of the satellite connection. 381 * 382 * @param resultCallback The {@link SatelliteError} result of the operation. 383 * @param callback The callback to handle the NTN signal strength changed event. 384 */ requestSignalStrength(in IIntegerConsumer resultCallback, in INtnSignalStrengthConsumer callback)385 void requestSignalStrength(in IIntegerConsumer resultCallback, 386 in INtnSignalStrengthConsumer callback); 387 388 /** 389 * The satellite service should report the NTN signal strength via 390 * ISatelliteListener#onNtnSignalStrengthChanged when the NTN signal strength changes. 391 * 392 * Note: This API can be invoked multiple times. If the modem is already in the expected 393 * state from a previous request, subsequent invocations may be ignored. 394 * 395 * @param resultCallback The callback to receive the error code result of the operation. 396 * 397 * Valid result codes returned: 398 * SatelliteResult:SATELLITE_RESULT_SUCCESS 399 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 400 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 401 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 402 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 403 */ startSendingNtnSignalStrength(in IIntegerConsumer resultCallback)404 void startSendingNtnSignalStrength(in IIntegerConsumer resultCallback); 405 406 /** 407 * The satellite service should stop reporting NTN signal strength to the framework. This will 408 * be called when device is screen off to save power by not letting signal strength updates to 409 * wake up application processor. 410 * 411 * Note: This API can be invoked multiple times. If the modem is already in the expected 412 * state from a previous request, subsequent invocations may be ignored. 413 * 414 * @param resultCallback The callback to receive the error code result of the operation. 415 * 416 * Valid result codes returned: 417 * SatelliteResult:SATELLITE_RESULT_SUCCESS 418 * SatelliteResult:SATELLITE_RESULT_SERVICE_ERROR 419 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 420 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 421 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 422 */ stopSendingNtnSignalStrength(in IIntegerConsumer resultCallback)423 void stopSendingNtnSignalStrength(in IIntegerConsumer resultCallback); 424 425 /** 426 * Abort all outgoing satellite datagrams which vendor service has received from Telephony 427 * framework. 428 * 429 * This API helps modem to be in sync with framework when framework times out on sending 430 * datagrams. 431 * 432 * @param resultCallback The callback to receive the error code result of the operation. 433 * 434 * Valid result codes returned: 435 * SatelliteResult:SATELLITE_RESULT_SUCCESS 436 * SatelliteResult:SATELLITE_RESULT_INVALID_MODEM_STATE 437 * SatelliteResult:SATELLITE_RESULT_MODEM_ERROR 438 * SatelliteResult:SATELLITE_RESULT_RADIO_NOT_AVAILABLE 439 * SatelliteResult:SATELLITE_RESULT_REQUEST_NOT_SUPPORTED 440 */ abortSendingSatelliteDatagrams(in IIntegerConsumer resultCallback)441 void abortSendingSatelliteDatagrams(in IIntegerConsumer resultCallback); 442 443 /** 444 * Request to update the satellite subscription to be used for Non-Terrestrial network. 445 * 446 * @param iccId The ICCID of the subscription 447 * @param resultCallback The callback to receive the error code result of the operation. 448 */ updateSatelliteSubscription(in String iccId, in IIntegerConsumer resultCallback)449 void updateSatelliteSubscription(in String iccId, in IIntegerConsumer resultCallback); 450 451 /** 452 * Request to update system selection channels 453 * 454 * @param systemSelectionSpecifiers list of system selection specifiers 455 * @param resultCallback The callback to receive the error code result of the operation. 456 */ updateSystemSelectionChannels(in List<SystemSelectionSpecifier> systemSelectionSpecifiers, in IIntegerConsumer resultCallback)457 void updateSystemSelectionChannels(in List<SystemSelectionSpecifier> systemSelectionSpecifiers, 458 in IIntegerConsumer resultCallback); 459 } 460