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