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.satellite.stub.NtnSignalStrength; 20 import android.telephony.satellite.stub.NTRadioTechnology; 21 import android.telephony.satellite.stub.PointingInfo; 22 import android.telephony.satellite.stub.SatelliteCapabilities; 23 import android.telephony.satellite.stub.SatelliteDatagram; 24 import android.telephony.satellite.stub.SatelliteModemState; 25 26 /** 27 * {@hide} 28 */ 29 oneway interface ISatelliteListener { 30 /** 31 * Indicates that new datagrams have been received on the device. 32 * 33 * @param datagram New datagram that was received. 34 * @param pendingCount Number of additional datagrams yet to be received. 35 */ onSatelliteDatagramReceived(in SatelliteDatagram datagram, in int pendingCount)36 void onSatelliteDatagramReceived(in SatelliteDatagram datagram, in int pendingCount); 37 38 /** 39 * Indicates that the satellite has pending datagrams for the device to be pulled. 40 */ onPendingDatagrams()41 void onPendingDatagrams(); 42 43 /** 44 * Indicates that the satellite pointing input has changed. 45 * 46 * @param pointingInfo The current pointing info. 47 */ onSatellitePositionChanged(in PointingInfo pointingInfo)48 void onSatellitePositionChanged(in PointingInfo pointingInfo); 49 50 /** 51 * Indicates that the satellite modem state has changed. 52 * 53 * @param state The current satellite modem state. 54 */ onSatelliteModemStateChanged(in SatelliteModemState state)55 void onSatelliteModemStateChanged(in SatelliteModemState state); 56 57 /** 58 * Called when NTN signal strength changes. 59 * 60 * @param ntnSignalStrength The new NTN signal strength. 61 */ onNtnSignalStrengthChanged(in NtnSignalStrength ntnSignalStrength)62 void onNtnSignalStrengthChanged(in NtnSignalStrength ntnSignalStrength); 63 64 /** 65 * Called when satellite capabilities of the satellite service have changed. 66 * 67 * @param SatelliteCapabilities The current satellite capabilities. 68 */ onSatelliteCapabilitiesChanged(in SatelliteCapabilities capabilities)69 void onSatelliteCapabilitiesChanged(in SatelliteCapabilities capabilities); 70 71 /** 72 * Called when supported state of satellite has changed 73 * 74 * @param supported True means satellite service is supported and false means it is not. 75 */ onSatelliteSupportedStateChanged(in boolean supported)76 void onSatelliteSupportedStateChanged(in boolean supported); 77 78 /** 79 * Indicates that the satellite registration failed with following failure code 80 * 81 * @param causeCode the primary failure cause code of the procedure. 82 * For LTE (EMM), cause codes are TS 24.301 Sec 9.9.3.9 83 */ onRegistrationFailure(in int causeCode)84 void onRegistrationFailure(in int causeCode); 85 86 /** 87 * Modem can send the callback with available for either in service or limited service. 88 * 89 * @param isAvailable True means there's terrestrial network and false means there's not. 90 */ onTerrestrialNetworkAvailableChanged(in boolean isAvailable)91 void onTerrestrialNetworkAvailableChanged(in boolean isAvailable); 92 } 93