RadioIndication.java revision d60a877c59822d2157b8af86f2c3834b04011051
1/*
2 * Copyright (C) 2016 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.hardware.radio.V1_0.CdmaCallWaiting;
20import android.hardware.radio.V1_0.CdmaSignalInfoRecord;
21import android.hardware.radio.V1_0.CdmaSmsMessage;
22import android.hardware.radio.V1_0.IRadioIndication;
23import android.hardware.radio.V1_0.LceDataInfo;
24import android.hardware.radio.V1_0.PcoDataInfo;
25import android.hardware.radio.V1_0.SetupDataCallResult;
26import android.hardware.radio.V1_0.SimRefreshResult;
27import android.hardware.radio.V1_0.StkCcUnsolSsResult;
28import android.hardware.radio.V1_0.SuppSvcNotification;
29
30import static com.android.internal.telephony.RILConstants.RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED;
31
32import java.util.ArrayList;
33
34public class RadioIndication extends IRadioIndication.Stub {
35    RIL mRil;
36
37    RadioIndication(RIL ril) {
38        mRil = ril;
39    }
40
41    /**
42     * Indicates when radio state changes.
43     * @param indicationType RadioIndicationType
44     * @param radioState android.hardware.radio.V1_0.RadioState
45     */
46    public void radioStateChanged(int indicationType, int radioState) {
47        mRil.processIndication(indicationType);
48        CommandsInterface.RadioState newState = getRadioStateFromInt(radioState);
49        mRil.unsljLogMore(RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED, "radioStateChanged: "
50                + newState.toString());
51        mRil.setRadioState(newState);
52    }
53
54    public void callStateChanged(int var1) {}
55
56    public void voiceNetworkStateChanged(int var1) {}
57
58    public void newSms(int var1, ArrayList<Byte> var2) {}
59
60    public void newSmsStatusReport(int var1, ArrayList<Byte> var2) {}
61
62    public void newSmsOnSim(int var1, int var2) {}
63
64    public void onUssd(int var1, int var2, String var3) {}
65
66    public void nitzTimeReceived(int var1, String var2, long var3) {}
67
68    public void currentSignalStrength(int var1,
69                                      android.hardware.radio.V1_0.SignalStrength var2) {}
70
71    public void dataCallListChanged(int var1, ArrayList<SetupDataCallResult> var2) {}
72
73    public void suppSvcNotify(int var1, SuppSvcNotification var2) {}
74
75    public void stkSessionEnd(int var1) {}
76
77    public void stkProactiveCommand(int var1, String var2) {}
78
79    public void stkEventNotify(int var1, String var2) {}
80
81    public void stkCallSetup(int var1, long var2) {}
82
83    public void simSmsStorageFull(int var1) {}
84
85    public void simRefresh(int var1, SimRefreshResult var2) {}
86
87    public void callRing(int var1, boolean var2, CdmaSignalInfoRecord var3) {}
88
89    public void simStatusChanged(int var1) {}
90
91    public void cdmaNewSms(int var1, CdmaSmsMessage var2) {}
92
93    public void newBroadcastSms(int var1, ArrayList<Byte> var2) {}
94
95    public void cdmaRuimSmsStorageFull(int var1) {}
96
97    public void restrictedStateChanged(int var1, int var2) {}
98
99    public void enterEmergencyCallbackMode(int var1) {}
100
101    public void cdmaCallWaiting(int var1, CdmaCallWaiting var2) {}
102
103    public void cdmaOtaProvisionStatus(int var1, int var2) {}
104
105    public void cdmaInfoRec(int var1,
106                            android.hardware.radio.V1_0.CdmaInformationRecords var2) {}
107
108    public void oemHookRaw(int var1, ArrayList<Byte> var2) {}
109
110    public void indicateRingbackTone(int var1, boolean var2) {}
111
112    public void resendIncallMute(int var1) {}
113
114    public void cdmaSubscriptionSourceChanged(int var1, int var2) {}
115
116    public void cdmaPrlChanged(int var1, int var2) {}
117
118    public void exitEmergencyCallbackMode(int var1) {}
119
120    public void rilConnected(int var1) {}
121
122    public void voiceRadioTechChanged(int var1, int var2) {}
123
124    public void cellInfoList(int var1, ArrayList<android.hardware.radio.V1_0.CellInfo> var2) {}
125
126    public void imsNetworkStateChanged(int var1) {}
127
128    public void subscriptionStatusChanged(int var1, boolean var2) {}
129
130    public void srvccStateNotify(int var1, int var2) {}
131
132    public void hardwareConfigChanged(
133            int var1,
134            ArrayList<android.hardware.radio.V1_0.HardwareConfig> var2) {}
135
136    public void radioCapabilityIndication(int var1,
137                                          android.hardware.radio.V1_0.RadioCapability var2) {}
138
139    public void onSupplementaryServiceIndication(int var1, StkCcUnsolSsResult var2) {}
140
141    public void stkCallControlAlphaNotify(int var1, String var2) {}
142
143    public void lceData(int var1, LceDataInfo var2) {}
144
145    public void pcoData(int var1, PcoDataInfo var2) {}
146
147    public void modemReset(int var1, String var2) {}
148
149    private CommandsInterface.RadioState getRadioStateFromInt(int stateInt) {
150        CommandsInterface.RadioState state;
151
152        switch(stateInt) {
153            case android.hardware.radio.V1_0.RadioState.OFF:
154                state = CommandsInterface.RadioState.RADIO_OFF;
155                break;
156            case android.hardware.radio.V1_0.RadioState.UNAVAILABLE:
157                state = CommandsInterface.RadioState.RADIO_UNAVAILABLE;
158                break;
159            case android.hardware.radio.V1_0.RadioState.ON:
160                state = CommandsInterface.RadioState.RADIO_ON;
161                break;
162            default:
163                throw new RuntimeException("Unrecognized RadioState: " + stateInt);
164        }
165        return state;
166    }
167}
168