1 /* 2 * Copyright (C) 2007 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 com.android.internal.telephony; 18 19 import android.content.Intent; 20 import android.net.LinkProperties; 21 import android.net.NetworkCapabilities; 22 import android.telephony.BarringInfo; 23 import android.telephony.CallQuality; 24 import android.telephony.CellIdentity; 25 import android.telephony.CellInfo; 26 import android.telephony.CellularIdentifierDisclosure; 27 import android.telephony.LinkCapacityEstimate; 28 import android.telephony.TelephonyDisplayInfo; 29 import android.telephony.ims.ImsReasonInfo; 30 import android.telephony.PhoneCapability; 31 import android.telephony.PhysicalChannelConfig; 32 import android.telephony.PreciseDataConnectionState; 33 import android.telephony.satellite.NtnSignalStrength; 34 import android.telephony.SecurityAlgorithmUpdate; 35 import android.telephony.ServiceState; 36 import android.telephony.SignalStrength; 37 import android.telephony.emergency.EmergencyNumber; 38 import android.telephony.ims.MediaQualityStatus; 39 40 import com.android.internal.telephony.ICarrierConfigChangeListener; 41 import com.android.internal.telephony.ICarrierPrivilegesCallback; 42 import com.android.internal.telephony.IPhoneStateListener; 43 import com.android.internal.telephony.IOnSubscriptionsChangedListener; 44 import com.android.internal.telephony.ISatelliteStateChangeListener; 45 46 interface ITelephonyRegistry { addOnSubscriptionsChangedListener(String pkg, String featureId, IOnSubscriptionsChangedListener callback)47 void addOnSubscriptionsChangedListener(String pkg, String featureId, 48 IOnSubscriptionsChangedListener callback); addOnOpportunisticSubscriptionsChangedListener(String pkg, String featureId, IOnSubscriptionsChangedListener callback)49 void addOnOpportunisticSubscriptionsChangedListener(String pkg, String featureId, 50 IOnSubscriptionsChangedListener callback); removeOnSubscriptionsChangedListener(String pkg, IOnSubscriptionsChangedListener callback)51 void removeOnSubscriptionsChangedListener(String pkg, 52 IOnSubscriptionsChangedListener callback); 53 listenWithEventList(in boolean renounceFineLocationAccess, in boolean renounceCoarseLocationAccess, in int subId, String pkg, String featureId, IPhoneStateListener callback, in int[] events, boolean notifyNow)54 void listenWithEventList(in boolean renounceFineLocationAccess, 55 in boolean renounceCoarseLocationAccess, in int subId, String pkg, String featureId, 56 IPhoneStateListener callback, in int[] events, boolean notifyNow); 57 @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553) notifyCallStateForAllSubs(int state, String incomingNumber)58 void notifyCallStateForAllSubs(int state, String incomingNumber); notifyCallState(in int phoneId, in int subId, int state, String incomingNumber)59 void notifyCallState(in int phoneId, in int subId, int state, String incomingNumber); notifyServiceStateForPhoneId(in int phoneId, in int subId, in ServiceState state)60 void notifyServiceStateForPhoneId(in int phoneId, in int subId, in ServiceState state); notifySignalStrengthForPhoneId(in int phoneId, in int subId, in SignalStrength signalStrength)61 void notifySignalStrengthForPhoneId(in int phoneId, in int subId, 62 in SignalStrength signalStrength); notifyMessageWaitingChangedForPhoneId(in int phoneId, in int subId, in boolean mwi)63 void notifyMessageWaitingChangedForPhoneId(in int phoneId, in int subId, in boolean mwi); 64 @UnsupportedAppUsage(maxTargetSdk = 28) notifyCallForwardingChanged(boolean cfi)65 void notifyCallForwardingChanged(boolean cfi); notifyCallForwardingChangedForSubscriber(in int subId, boolean cfi)66 void notifyCallForwardingChangedForSubscriber(in int subId, boolean cfi); notifyDataActivityForSubscriber(int subId, int state)67 void notifyDataActivityForSubscriber(int subId, int state); notifyDataActivityForSubscriberWithSlot(int phoneId, int subId, int state)68 void notifyDataActivityForSubscriberWithSlot(int phoneId, int subId, int state); notifyDataConnectionForSubscriber( int phoneId, int subId, in PreciseDataConnectionState preciseState)69 void notifyDataConnectionForSubscriber( 70 int phoneId, int subId, in PreciseDataConnectionState preciseState); 71 // Uses CellIdentity which is Parcelable here; will convert to CellLocation in client. notifyCellLocationForSubscriber(in int subId, in CellIdentity cellLocation)72 void notifyCellLocationForSubscriber(in int subId, in CellIdentity cellLocation); 73 @UnsupportedAppUsage notifyCellInfo(in List<CellInfo> cellInfo)74 void notifyCellInfo(in List<CellInfo> cellInfo); notifyPreciseCallState(int phoneId, int subId, in int[] callStates, in String[] imsCallIds, in int[] imsCallServiceTypes, in int[] imsCallTypes)75 void notifyPreciseCallState(int phoneId, int subId, in int[] callStates, in String[] imsCallIds, 76 in int[] imsCallServiceTypes, in int[] imsCallTypes); notifyDisconnectCause(int phoneId, int subId, int disconnectCause, int preciseDisconnectCause)77 void notifyDisconnectCause(int phoneId, int subId, int disconnectCause, 78 int preciseDisconnectCause); notifyCellInfoForSubscriber(in int subId, in List<CellInfo> cellInfo)79 void notifyCellInfoForSubscriber(in int subId, in List<CellInfo> cellInfo); notifySrvccStateChanged(in int subId, in int lteState)80 void notifySrvccStateChanged(in int subId, in int lteState); notifySimActivationStateChangedForPhoneId(in int phoneId, in int subId, int activationState, int activationType)81 void notifySimActivationStateChangedForPhoneId(in int phoneId, in int subId, 82 int activationState, int activationType); notifyOemHookRawEventForSubscriber(in int phoneId, in int subId, in byte[] rawData)83 void notifyOemHookRawEventForSubscriber(in int phoneId, in int subId, in byte[] rawData); notifySubscriptionInfoChanged()84 void notifySubscriptionInfoChanged(); notifyOpportunisticSubscriptionInfoChanged()85 void notifyOpportunisticSubscriptionInfoChanged(); notifyCarrierNetworkChange(in boolean active)86 void notifyCarrierNetworkChange(in boolean active); notifyCarrierNetworkChangeWithSubId(in int subId, in boolean active)87 void notifyCarrierNetworkChangeWithSubId(in int subId, in boolean active); notifyUserMobileDataStateChangedForPhoneId(in int phoneId, in int subId, in boolean state)88 void notifyUserMobileDataStateChangedForPhoneId(in int phoneId, in int subId, in boolean state); notifyDisplayInfoChanged(int slotIndex, int subId, in TelephonyDisplayInfo telephonyDisplayInfo)89 void notifyDisplayInfoChanged(int slotIndex, int subId, in TelephonyDisplayInfo telephonyDisplayInfo); notifyPhoneCapabilityChanged(in PhoneCapability capability)90 void notifyPhoneCapabilityChanged(in PhoneCapability capability); notifyActiveDataSubIdChanged(int activeDataSubId)91 void notifyActiveDataSubIdChanged(int activeDataSubId); notifyRadioPowerStateChanged(in int phoneId, in int subId, in int state)92 void notifyRadioPowerStateChanged(in int phoneId, in int subId, in int state); notifyEmergencyNumberList(in int phoneId, in int subId)93 void notifyEmergencyNumberList(in int phoneId, in int subId); notifyOutgoingEmergencyCall(in int phoneId, in int subId, in EmergencyNumber emergencyNumber)94 void notifyOutgoingEmergencyCall(in int phoneId, in int subId, 95 in EmergencyNumber emergencyNumber); notifyOutgoingEmergencySms(in int phoneId, in int subId, in EmergencyNumber emergencyNumber)96 void notifyOutgoingEmergencySms(in int phoneId, in int subId, 97 in EmergencyNumber emergencyNumber); notifyCallQualityChanged(in CallQuality callQuality, int phoneId, int subId, int callNetworkType)98 void notifyCallQualityChanged(in CallQuality callQuality, int phoneId, int subId, 99 int callNetworkType); notifyMediaQualityStatusChanged(int phoneId, int subId, in MediaQualityStatus status)100 void notifyMediaQualityStatusChanged(int phoneId, int subId, in MediaQualityStatus status); notifyImsDisconnectCause(int subId, in ImsReasonInfo imsReasonInfo)101 void notifyImsDisconnectCause(int subId, in ImsReasonInfo imsReasonInfo); notifyRegistrationFailed(int slotIndex, int subId, in CellIdentity cellIdentity, String chosenPlmn, int domain, int causeCode, int additionalCauseCode)102 void notifyRegistrationFailed(int slotIndex, int subId, in CellIdentity cellIdentity, 103 String chosenPlmn, int domain, int causeCode, int additionalCauseCode); notifyBarringInfoChanged(int slotIndex, int subId, in BarringInfo barringInfo)104 void notifyBarringInfoChanged(int slotIndex, int subId, in BarringInfo barringInfo); notifyPhysicalChannelConfigForSubscriber(in int phoneId, in int subId, in List<PhysicalChannelConfig> configs)105 void notifyPhysicalChannelConfigForSubscriber(in int phoneId, in int subId, 106 in List<PhysicalChannelConfig> configs); notifyDataEnabled(in int phoneId, int subId, boolean enabled, int reason)107 void notifyDataEnabled(in int phoneId, int subId, boolean enabled, int reason); notifyAllowedNetworkTypesChanged(in int phoneId, in int subId, in int reason, in long allowedNetworkType)108 void notifyAllowedNetworkTypesChanged(in int phoneId, in int subId, in int reason, in long allowedNetworkType); notifyLinkCapacityEstimateChanged(in int phoneId, in int subId, in List<LinkCapacityEstimate> linkCapacityEstimateList)109 void notifyLinkCapacityEstimateChanged(in int phoneId, in int subId, 110 in List<LinkCapacityEstimate> linkCapacityEstimateList); notifySimultaneousCellularCallingSubscriptionsChanged(in int[] subIds)111 void notifySimultaneousCellularCallingSubscriptionsChanged(in int[] subIds); 112 addCarrierPrivilegesCallback( int phoneId, ICarrierPrivilegesCallback callback, String pkg, String featureId)113 void addCarrierPrivilegesCallback( 114 int phoneId, ICarrierPrivilegesCallback callback, String pkg, String featureId); removeCarrierPrivilegesCallback(ICarrierPrivilegesCallback callback, String pkg)115 void removeCarrierPrivilegesCallback(ICarrierPrivilegesCallback callback, String pkg); notifyCarrierPrivilegesChanged( int phoneId, in List<String> privilegedPackageNames, in int[] privilegedUids)116 void notifyCarrierPrivilegesChanged( 117 int phoneId, in List<String> privilegedPackageNames, in int[] privilegedUids); notifyCarrierServiceChanged(int phoneId, in String packageName, int uid)118 void notifyCarrierServiceChanged(int phoneId, in String packageName, int uid); 119 addCarrierConfigChangeListener(ICarrierConfigChangeListener listener, String pkg, String featureId)120 void addCarrierConfigChangeListener(ICarrierConfigChangeListener listener, 121 String pkg, String featureId); removeCarrierConfigChangeListener(ICarrierConfigChangeListener listener, String pkg)122 void removeCarrierConfigChangeListener(ICarrierConfigChangeListener listener, String pkg); notifyCarrierConfigChanged(int phoneId, int subId, int carrierId, int specificCarrierId)123 void notifyCarrierConfigChanged(int phoneId, int subId, int carrierId, int specificCarrierId); 124 notifyCallbackModeStarted(int phoneId, int subId, int type, long durationMillis)125 void notifyCallbackModeStarted(int phoneId, int subId, int type, long durationMillis); notifyCallbackModeRestarted(int phoneId, int subId, int type, long durationMillis)126 void notifyCallbackModeRestarted(int phoneId, int subId, int type, long durationMillis); notifyCallbackModeStopped(int phoneId, int subId, int type, int reason)127 void notifyCallbackModeStopped(int phoneId, int subId, int type, int reason); notifyCarrierRoamingNtnModeChanged(int subId, in boolean active)128 void notifyCarrierRoamingNtnModeChanged(int subId, in boolean active); notifyCarrierRoamingNtnEligibleStateChanged(int subId, in boolean eligible)129 void notifyCarrierRoamingNtnEligibleStateChanged(int subId, in boolean eligible); notifyCarrierRoamingNtnAvailableServicesChanged(int subId, in int[] availableServices)130 void notifyCarrierRoamingNtnAvailableServicesChanged(int subId, in int[] availableServices); notifyCarrierRoamingNtnSignalStrengthChanged(int subId, in NtnSignalStrength ntnSignalStrength)131 void notifyCarrierRoamingNtnSignalStrengthChanged(int subId, in NtnSignalStrength ntnSignalStrength); 132 addSatelliteStateChangeListener(ISatelliteStateChangeListener listener, String pkg, String featureId)133 void addSatelliteStateChangeListener(ISatelliteStateChangeListener listener, String pkg, String featureId); removeSatelliteStateChangeListener(ISatelliteStateChangeListener listener, String pkg)134 void removeSatelliteStateChangeListener(ISatelliteStateChangeListener listener, String pkg); notifySatelliteStateChanged(boolean isEnabled)135 void notifySatelliteStateChanged(boolean isEnabled); 136 notifySecurityAlgorithmsChanged(int phoneId, int subId, in SecurityAlgorithmUpdate update)137 void notifySecurityAlgorithmsChanged(int phoneId, int subId, in SecurityAlgorithmUpdate update); notifyCellularIdentifierDisclosedChanged( int phoneId, int subId, in CellularIdentifierDisclosure disclosure)138 void notifyCellularIdentifierDisclosedChanged( 139 int phoneId, int subId, in CellularIdentifierDisclosure disclosure); 140 } 141