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
17package com.android.internal.telephony;
18
19import android.content.Intent;
20import android.net.LinkProperties;
21import android.net.NetworkCapabilities;
22import android.os.Bundle;
23import android.telephony.CellInfo;
24import android.telephony.PhysicalChannelConfig;
25import android.telephony.ServiceState;
26import android.telephony.SignalStrength;
27import android.telephony.VoLteServiceState;
28import com.android.internal.telephony.IPhoneStateListener;
29import com.android.internal.telephony.IOnSubscriptionsChangedListener;
30
31interface ITelephonyRegistry {
32    void addOnSubscriptionsChangedListener(String pkg,
33            IOnSubscriptionsChangedListener callback);
34    void removeOnSubscriptionsChangedListener(String pkg,
35            IOnSubscriptionsChangedListener callback);
36    void listen(String pkg, IPhoneStateListener callback, int events, boolean notifyNow);
37    void listenForSubscriber(in int subId, String pkg, IPhoneStateListener callback, int events,
38            boolean notifyNow);
39    void notifyCallState(int state, String incomingNumber);
40    void notifyCallStateForPhoneId(in int phoneId, in int subId, int state, String incomingNumber);
41    void notifyServiceStateForPhoneId(in int phoneId, in int subId, in ServiceState state);
42    void notifySignalStrengthForPhoneId(in int phoneId, in int subId,
43            in SignalStrength signalStrength);
44    void notifyMessageWaitingChangedForPhoneId(in int phoneId, in int subId, in boolean mwi);
45    void notifyCallForwardingChanged(boolean cfi);
46    void notifyCallForwardingChangedForSubscriber(in int subId, boolean cfi);
47    void notifyDataActivity(int state);
48    void notifyDataActivityForSubscriber(in int subId, int state);
49    void notifyDataConnection(int state, boolean isDataConnectivityPossible,
50            String reason, String apn, String apnType, in LinkProperties linkProperties,
51            in NetworkCapabilities networkCapabilities, int networkType, boolean roaming);
52    void notifyDataConnectionForSubscriber(int subId, int state, boolean isDataConnectivityPossible,
53            String reason, String apn, String apnType, in LinkProperties linkProperties,
54            in NetworkCapabilities networkCapabilities, int networkType, boolean roaming);
55    void notifyDataConnectionFailed(String reason, String apnType);
56    void notifyDataConnectionFailedForSubscriber(int subId, String reason, String apnType);
57    void notifyCellLocation(in Bundle cellLocation);
58    void notifyCellLocationForSubscriber(in int subId, in Bundle cellLocation);
59    void notifyOtaspChanged(in int otaspMode);
60    void notifyCellInfo(in List<CellInfo> cellInfo);
61    void notifyPhysicalChannelConfiguration(in List<PhysicalChannelConfig> configs);
62    void notifyPhysicalChannelConfigurationForSubscriber(in int subId,
63            in List<PhysicalChannelConfig> configs);
64    void notifyPreciseCallState(int ringingCallState, int foregroundCallState,
65            int backgroundCallState);
66    void notifyDisconnectCause(int disconnectCause, int preciseDisconnectCause);
67    void notifyPreciseDataConnectionFailed(String reason, String apnType, String apn,
68            String failCause);
69    void notifyCellInfoForSubscriber(in int subId, in List<CellInfo> cellInfo);
70    void notifyVoLteServiceStateChanged(in VoLteServiceState lteState);
71    void notifySimActivationStateChangedForPhoneId(in int phoneId, in int subId,
72            int activationState, int activationType);
73    void notifyOemHookRawEventForSubscriber(in int subId, in byte[] rawData);
74    void notifySubscriptionInfoChanged();
75    void notifyCarrierNetworkChange(in boolean active);
76    void notifyUserMobileDataStateChangedForPhoneId(in int phoneId, in int subId, in boolean state);
77}
78