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.content.Context;
20import android.os.AsyncResult;
21import android.os.Bundle;
22import android.os.Handler;
23import android.os.Message;
24import android.os.Messenger;
25import android.os.Registrant;
26import android.os.RegistrantList;
27import android.os.ResultReceiver;
28import android.os.WorkSource;
29import android.net.LinkProperties;
30import android.net.NetworkCapabilities;
31import android.service.carrier.CarrierIdentifier;
32import android.telephony.CellInfo;
33import android.telephony.CellLocation;
34import android.telephony.DataConnectionRealTimeInfo;
35import android.telephony.ServiceState;
36import android.telephony.SignalStrength;
37import android.telephony.VoLteServiceState;
38
39import com.android.internal.annotations.VisibleForTesting;
40import com.android.internal.telephony.PhoneConstants.DataState;
41import com.android.internal.telephony.test.SimulatedRadioControl;
42import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
43import com.android.internal.telephony.uicc.IccFileHandler;
44import com.android.internal.telephony.uicc.IsimRecords;
45import com.android.internal.telephony.uicc.UiccCard;
46import com.android.internal.telephony.uicc.UsimServiceTable;
47
48import java.io.FileDescriptor;
49import java.io.PrintWriter;
50import java.util.ArrayList;
51import java.util.List;
52import java.util.Locale;
53import java.util.concurrent.atomic.AtomicBoolean;
54
55/**
56 * (<em>Not for SDK use</em>)
57 * A base implementation for the com.android.internal.telephony.Phone interface.
58 *
59 * Note that implementations of Phone.java are expected to be used
60 * from a single application thread. This should be the same thread that
61 * originally called PhoneFactory to obtain the interface.
62 *
63 *  {@hide}
64 *
65 */
66
67public class PhoneMock extends Phone {
68    private static final String LOG_TAG = "PhoneMock";
69
70    protected PhoneMock(String name, PhoneNotifier notifier, Context context, CommandsInterface ci,
71            boolean unitTestMode) {
72        super(name, notifier, context, ci, unitTestMode);
73        throw new RuntimeException("not implemented");
74    }
75
76    protected PhoneMock(String name, PhoneNotifier notifier, Context context, CommandsInterface ci,
77            boolean unitTestMode, int phoneId,
78            TelephonyComponentFactory telephonyComponentFactory) {
79        super(name, notifier, context, ci, unitTestMode, phoneId, telephonyComponentFactory);
80        throw new RuntimeException("not implemented");
81    }
82
83    public String getPhoneName() {
84        throw new RuntimeException("not implemented");
85    }
86
87    protected void setPhoneName(String name) {
88        throw new RuntimeException("not implemented");
89    }
90
91    public String getNai(){
92        throw new RuntimeException("not implemented");
93    }
94
95    public String getActionDetached() {
96        return "phonemock.action.detached.not.implemented";
97    }
98
99    public String getActionAttached() {
100        return "phonemock.action.attached.not.implemented";
101    }
102
103    public void setSystemProperty(String property, String value) {
104        throw new RuntimeException("not implemented");
105    }
106
107    public String getSystemProperty(String property, String defValue) {
108        throw new RuntimeException("not implemented");
109    }
110
111    protected final RegistrantList mPreciseCallStateRegistrants
112            = new RegistrantList();
113
114    protected final RegistrantList mHandoverRegistrants
115             = new RegistrantList();
116
117    protected final RegistrantList mNewRingingConnectionRegistrants
118            = new RegistrantList();
119
120    protected final RegistrantList mIncomingRingRegistrants
121            = new RegistrantList();
122
123    protected final RegistrantList mDisconnectRegistrants
124            = new RegistrantList();
125
126    protected final RegistrantList mServiceStateRegistrants
127            = new RegistrantList();
128
129    protected final RegistrantList mMmiCompleteRegistrants
130            = new RegistrantList();
131
132    protected final RegistrantList mMmiRegistrants
133            = new RegistrantList();
134
135    protected final RegistrantList mUnknownConnectionRegistrants
136            = new RegistrantList();
137
138    protected final RegistrantList mSuppServiceFailedRegistrants
139            = new RegistrantList();
140
141    protected final RegistrantList mRadioOffOrNotAvailableRegistrants
142            = new RegistrantList();
143
144    protected final RegistrantList mSimRecordsLoadedRegistrants
145            = new RegistrantList();
146
147    protected final RegistrantList mVideoCapabilityChangedRegistrants
148            = new RegistrantList();
149
150    protected final RegistrantList mEmergencyCallToggledRegistrants
151            = new RegistrantList();
152
153
154    public void startMonitoringImsService() {
155        throw new RuntimeException("not implemented");
156    }
157
158    @Override
159    public void handleMessage(Message msg) {
160        throw new RuntimeException("not implemented");
161    }
162
163    @Override
164    public boolean handleUssdRequest(String ussdRequest, ResultReceiver wrappedCallback) {
165        throw new RuntimeException("not implemented");
166    }
167
168    public ArrayList<Connection> getHandoverConnection() {
169        throw new RuntimeException("not implemented");
170    }
171
172    public void notifySrvccState(Call.SrvccState state) {
173        throw new RuntimeException("not implemented");
174    }
175
176    public void registerForSilentRedial(Handler h, int what, Object obj) {
177        throw new RuntimeException("not implemented");
178    }
179
180    public void unregisterForSilentRedial(Handler h) {
181        throw new RuntimeException("not implemented");
182    }
183
184    public Context getContext() {
185        return mContext;
186    }
187
188    protected void onUpdateIccAvailability() {
189        throw new RuntimeException("not implemented");
190    }
191
192    public void disableDnsCheck(boolean b) {
193        throw new RuntimeException("not implemented");
194    }
195
196    public boolean isDnsCheckDisabled() {
197        throw new RuntimeException("not implemented");
198    }
199
200    public void registerForPreciseCallStateChanged(Handler h, int what, Object obj) {
201        mPreciseCallStateRegistrants.addUnique(h, what, obj);
202    }
203
204    public void unregisterForPreciseCallStateChanged(Handler h) {
205        mPreciseCallStateRegistrants.remove(h);
206    }
207
208    protected void notifyPreciseCallStateChangedP() {
209        AsyncResult ar = new AsyncResult(null, this, null);
210        mPreciseCallStateRegistrants.notifyRegistrants(ar);
211
212        mNotifier.notifyPreciseCallState(this);
213    }
214
215    public void registerForHandoverStateChanged(Handler h, int what, Object obj) {
216        mHandoverRegistrants.addUnique(h, what, obj);
217    }
218
219    public void unregisterForHandoverStateChanged(Handler h) {
220        mHandoverRegistrants.remove(h);
221    }
222
223    public void notifyHandoverStateChanged(Connection cn) {
224       AsyncResult ar = new AsyncResult(null, cn, null);
225       mHandoverRegistrants.notifyRegistrants(ar);
226    }
227
228    public void migrateFrom(Phone from) {
229        throw new RuntimeException("not implemented");
230    }
231
232    public void migrate(RegistrantList to, RegistrantList from) {
233        throw new RuntimeException("not implemented");
234    }
235
236    public void registerForUnknownConnection(Handler h, int what, Object obj) {
237        mUnknownConnectionRegistrants.addUnique(h, what, obj);
238    }
239
240    public void unregisterForUnknownConnection(Handler h) {
241        mUnknownConnectionRegistrants.remove(h);
242    }
243
244    public void registerForNewRingingConnection(
245            Handler h, int what, Object obj) {
246        mNewRingingConnectionRegistrants.addUnique(h, what, obj);
247    }
248
249    public void unregisterForNewRingingConnection(Handler h) {
250        mNewRingingConnectionRegistrants.remove(h);
251    }
252
253    public void registerForVideoCapabilityChanged(
254            Handler h, int what, Object obj) {
255        mVideoCapabilityChangedRegistrants.addUnique(h, what, obj);
256        notifyForVideoCapabilityChanged(mIsVideoCapable);
257    }
258
259    public void unregisterForVideoCapabilityChanged(Handler h) {
260        mVideoCapabilityChangedRegistrants.remove(h);
261    }
262
263    public void registerForInCallVoicePrivacyOn(Handler h, int what, Object obj){
264        throw new RuntimeException("not implemented");
265    }
266
267    public void unregisterForInCallVoicePrivacyOn(Handler h){
268        throw new RuntimeException("not implemented");
269    }
270
271    public void registerForInCallVoicePrivacyOff(Handler h, int what, Object obj){
272        throw new RuntimeException("not implemented");
273    }
274
275    public void unregisterForInCallVoicePrivacyOff(Handler h){
276        throw new RuntimeException("not implemented");
277    }
278
279    public void registerForIncomingRing(
280            Handler h, int what, Object obj) {
281        mIncomingRingRegistrants.addUnique(h, what, obj);
282    }
283
284    public void unregisterForIncomingRing(Handler h) {
285        mIncomingRingRegistrants.remove(h);
286    }
287
288    public void registerForDisconnect(Handler h, int what, Object obj) {
289        mDisconnectRegistrants.addUnique(h, what, obj);
290    }
291
292    public void unregisterForDisconnect(Handler h) {
293        mDisconnectRegistrants.remove(h);
294    }
295
296    public void registerForSuppServiceFailed(Handler h, int what, Object obj) {
297        mSuppServiceFailedRegistrants.addUnique(h, what, obj);
298    }
299
300    public void unregisterForSuppServiceFailed(Handler h) {
301        mSuppServiceFailedRegistrants.remove(h);
302    }
303
304    public void registerForMmiInitiate(Handler h, int what, Object obj) {
305        mMmiRegistrants.addUnique(h, what, obj);
306    }
307
308    public void unregisterForMmiInitiate(Handler h) {
309        mMmiRegistrants.remove(h);
310    }
311
312    public void registerForMmiComplete(Handler h, int what, Object obj) {
313        mMmiCompleteRegistrants.addUnique(h, what, obj);
314    }
315
316    public void unregisterForMmiComplete(Handler h) {
317        mMmiCompleteRegistrants.remove(h);
318    }
319
320    public void registerForSimRecordsLoaded(Handler h, int what, Object obj) {
321        throw new RuntimeException("not implemented");
322    }
323
324    public void unregisterForSimRecordsLoaded(Handler h) {
325        throw new RuntimeException("not implemented");
326    }
327
328    public void registerForTtyModeReceived(Handler h, int what, Object obj) {
329        throw new RuntimeException("not implemented");
330    }
331
332    public void unregisterForTtyModeReceived(Handler h) {
333        throw new RuntimeException("not implemented");
334    }
335
336    public void setNetworkSelectionModeAutomatic(Message response) {
337        throw new RuntimeException("not implemented");
338    }
339
340    public void getNetworkSelectionMode(Message message) {
341        throw new RuntimeException("not implemented");
342    }
343
344    public void selectNetworkManually(OperatorInfo network, boolean persistSelection,
345            Message response) {
346        throw new RuntimeException("not implemented");
347    }
348
349    public void registerForEmergencyCallToggle(Handler h, int what, Object obj) {
350        Registrant r = new Registrant(h, what, obj);
351        mEmergencyCallToggledRegistrants.add(r);
352    }
353
354    public void unregisterForEmergencyCallToggle(Handler h) {
355        mEmergencyCallToggledRegistrants.remove(h);
356    }
357
358    public void restoreSavedNetworkSelection(Message response) {
359        throw new RuntimeException("not implemented");
360    }
361
362    public void saveClirSetting(int commandInterfaceCLIRMode) {
363        throw new RuntimeException("not implemented");
364    }
365
366    public void registerForServiceStateChanged(Handler h, int what, Object obj) {
367        mServiceStateRegistrants.add(h, what, obj);
368        throw new RuntimeException("not implemented");
369    }
370
371    public void unregisterForServiceStateChanged(Handler h) {
372        mServiceStateRegistrants.remove(h);
373        throw new RuntimeException("not implemented");
374    }
375
376    public void registerForRingbackTone(Handler h, int what, Object obj) {
377        throw new RuntimeException("not implemented");
378    }
379
380    public void unregisterForRingbackTone(Handler h) {
381        throw new RuntimeException("not implemented");
382    }
383
384    public void registerForOnHoldTone(Handler h, int what, Object obj) {
385        throw new RuntimeException("not implemented");
386    }
387
388    public void unregisterForOnHoldTone(Handler h) {
389        throw new RuntimeException("not implemented");
390    }
391
392    public void registerForResendIncallMute(Handler h, int what, Object obj) {
393        throw new RuntimeException("not implemented");
394    }
395
396    public void unregisterForResendIncallMute(Handler h) {
397        throw new RuntimeException("not implemented");
398    }
399
400    public void setEchoSuppressionEnabled() {
401        throw new RuntimeException("not implemented");
402    }
403
404    public SimulatedRadioControl getSimulatedRadioControl() {
405        throw new RuntimeException("not implemented");
406    }
407
408    public PhoneConstants.State getState() {
409        throw new RuntimeException("not implemented");
410    }
411
412    public IccFileHandler getIccFileHandler(){
413        throw new RuntimeException("not implemented");
414    }
415
416    public Handler getHandler() {
417        return this;
418    }
419
420    public void updatePhoneObject(int voiceRadioTech) {
421        throw new RuntimeException("not implemented");
422    }
423
424    public ServiceStateTracker getServiceStateTracker() {
425        throw new RuntimeException("not implemented");
426    }
427
428    public CallTracker getCallTracker() {
429        throw new RuntimeException("not implemented");
430    }
431
432    public AppType getCurrentUiccAppType() {
433        throw new RuntimeException("not implemented");
434    }
435
436    public IccCard getIccCard() {
437        throw new RuntimeException("not implemented");
438    }
439
440    public String getIccSerialNumber() {
441        throw new RuntimeException("not implemented");
442    }
443
444    public boolean getIccRecordsLoaded() {
445        throw new RuntimeException("not implemented");
446    }
447
448    public List<CellInfo> getAllCellInfo() {
449        throw new RuntimeException("not implemented");
450    }
451
452    public void setCellInfoListRate(int rateInMillis) {
453        throw new RuntimeException("not implemented");
454    }
455
456    public boolean getMessageWaitingIndicator() {
457        throw new RuntimeException("not implemented");
458    }
459
460    public void setVoiceCallForwardingFlag(int line, boolean enable, String number) {
461        throw new RuntimeException("not implemented");
462    }
463
464    public boolean getCallForwardingIndicator() {
465        throw new RuntimeException("not implemented");
466    }
467
468    public void queryCdmaRoamingPreference(Message response) {
469        throw new RuntimeException("not implemented");
470    }
471
472    public SignalStrength getSignalStrength() {
473        throw new RuntimeException("not implemented");
474    }
475
476    public void setCdmaRoamingPreference(int cdmaRoamingType, Message response) {
477        throw new RuntimeException("not implemented");
478    }
479
480    public void setCdmaSubscription(int cdmaSubscriptionType, Message response) {
481        throw new RuntimeException("not implemented");
482    }
483
484    public void setPreferredNetworkType(int networkType, Message response) {
485        throw new RuntimeException("not implemented");
486    }
487
488    public void getPreferredNetworkType(Message response) {
489        throw new RuntimeException("not implemented");
490    }
491
492    public void getSmscAddress(Message result) {
493        throw new RuntimeException("not implemented");
494    }
495
496    public void setSmscAddress(String address, Message result) {
497        throw new RuntimeException("not implemented");
498    }
499
500    public void setTTYMode(int ttyMode, Message onComplete) {
501        throw new RuntimeException("not implemented");
502    }
503
504    public void setUiTTYMode(int uiTtyMode, Message onComplete) {
505        throw new RuntimeException("not implemented");
506    }
507
508    public void queryTTYMode(Message onComplete) {
509        throw new RuntimeException("not implemented");
510    }
511
512    public void enableEnhancedVoicePrivacy(boolean enable, Message onComplete) {
513        throw new RuntimeException("not implemented");
514    }
515
516    public void getEnhancedVoicePrivacy(Message onComplete) {
517        throw new RuntimeException("not implemented");
518    }
519
520    public void setBandMode(int bandMode, Message response) {
521        throw new RuntimeException("not implemented");
522    }
523
524    public void queryAvailableBandMode(Message response) {
525        throw new RuntimeException("not implemented");
526    }
527
528    public void invokeOemRilRequestRaw(byte[] data, Message response) {
529        throw new RuntimeException("not implemented");
530    }
531
532    public void invokeOemRilRequestStrings(String[] strings, Message response) {
533        throw new RuntimeException("not implemented");
534    }
535
536    public void nvReadItem(int itemID, Message response) {
537        throw new RuntimeException("not implemented");
538    }
539
540    public void nvWriteItem(int itemID, String itemValue, Message response) {
541        throw new RuntimeException("not implemented");
542    }
543
544    public void nvWriteCdmaPrl(byte[] preferredRoamingList, Message response) {
545        throw new RuntimeException("not implemented");
546    }
547
548    public void nvResetConfig(int resetType, Message response) {
549        throw new RuntimeException("not implemented");
550    }
551
552    public void notifyDataActivity() {
553        throw new RuntimeException("not implemented");
554    }
555
556    public void notifyMessageWaitingIndicator() {
557        throw new RuntimeException("not implemented");
558    }
559
560    public void notifyDataConnection(String reason, String apnType,
561            PhoneConstants.DataState state) {
562        throw new RuntimeException("not implemented");
563    }
564
565    public void notifyDataConnection(String reason, String apnType) {
566        throw new RuntimeException("not implemented");
567    }
568
569    public void notifyDataConnection(String reason) {
570        throw new RuntimeException("not implemented");
571    }
572
573    public void notifyOtaspChanged(int otaspMode) {
574        throw new RuntimeException("not implemented");
575    }
576
577    public void notifySignalStrength() {
578        throw new RuntimeException("not implemented");
579    }
580
581    public void notifyCellInfo(List<CellInfo> cellInfo) {
582        throw new RuntimeException("not implemented");
583    }
584
585    public void notifyDataConnectionRealTimeInfo(DataConnectionRealTimeInfo dcRtInfo) {
586        throw new RuntimeException("not implemented");
587    }
588
589    public void notifyVoLteServiceStateChanged(VoLteServiceState lteState) {
590        throw new RuntimeException("not implemented");
591    }
592
593    private final AtomicBoolean mInEmergencyCall = new AtomicBoolean(false);
594
595    public boolean isInEmergencyCall() {
596        return mInEmergencyCall.get();
597    }
598
599    @VisibleForTesting
600    public void setInEmergencyCall(boolean value) {
601        final boolean oldValue = mInEmergencyCall.getAndSet(value);
602        if (oldValue != value) {
603            mEmergencyCallToggledRegistrants.notifyRegistrants();
604        }
605    }
606
607    private final AtomicBoolean mInEcm = new AtomicBoolean(false);
608
609    public boolean isInEcm() {
610        return mInEcm.get();
611    }
612
613    @VisibleForTesting
614    public void setInEcm(boolean value) {
615        final boolean oldValue = mInEcm.getAndSet(value);
616        if (oldValue != value) {
617            mEmergencyCallToggledRegistrants.notifyRegistrants();
618        }
619    }
620
621    public boolean isVideoCallPresent() {
622        throw new RuntimeException("not implemented");
623    }
624
625    public int getPhoneType() {
626        return PhoneConstants.PHONE_TYPE_GSM;
627    }
628
629    public int getPrecisePhoneType() {
630        throw new RuntimeException("not implemented");
631    }
632
633    public int getVoiceMessageCount(){
634        throw new RuntimeException("not implemented");
635    }
636
637    public void setVoiceMessageCount(int countWaiting) {
638        throw new RuntimeException("not implemented");
639    }
640
641    public int getCdmaEriIconIndex() {
642        throw new RuntimeException("not implemented");
643    }
644
645    public int getCdmaEriIconMode() {
646        throw new RuntimeException("not implemented");
647    }
648
649    public String getCdmaEriText() {
650        throw new RuntimeException("not implemented");
651    }
652
653    public String getCdmaMin() {
654        throw new RuntimeException("not implemented");
655    }
656
657    public boolean isMinInfoReady() {
658        throw new RuntimeException("not implemented");
659    }
660
661    public String getCdmaPrlVersion(){
662        throw new RuntimeException("not implemented");
663    }
664
665    public void sendBurstDtmf(String dtmfString, int on, int off, Message onComplete) {
666        throw new RuntimeException("not implemented");
667    }
668
669    public void exitEmergencyCallbackMode() {
670        throw new RuntimeException("not implemented");
671    }
672
673    public void registerForCdmaOtaStatusChange(Handler h, int what, Object obj) {
674        throw new RuntimeException("not implemented");
675    }
676
677    public void unregisterForCdmaOtaStatusChange(Handler h) {
678        throw new RuntimeException("not implemented");
679    }
680
681    public void registerForSubscriptionInfoReady(Handler h, int what, Object obj) {
682        throw new RuntimeException("not implemented");
683    }
684
685    public void unregisterForSubscriptionInfoReady(Handler h) {
686        throw new RuntimeException("not implemented");
687    }
688
689    public boolean needsOtaServiceProvisioning() {
690        throw new RuntimeException("not implemented");
691    }
692
693    public  boolean isOtaSpNumber(String dialStr) {
694        throw new RuntimeException("not implemented");
695    }
696
697    public void registerForCallWaiting(Handler h, int what, Object obj){
698        throw new RuntimeException("not implemented");
699    }
700
701    public void unregisterForCallWaiting(Handler h){
702        throw new RuntimeException("not implemented");
703    }
704
705    public void registerForEcmTimerReset(Handler h, int what, Object obj) {
706        throw new RuntimeException("not implemented");
707    }
708
709    public void unregisterForEcmTimerReset(Handler h) {
710        throw new RuntimeException("not implemented");
711    }
712
713    public void registerForSignalInfo(Handler h, int what, Object obj) {
714        throw new RuntimeException("not implemented");
715    }
716
717    public void unregisterForSignalInfo(Handler h) {
718        throw new RuntimeException("not implemented");
719    }
720
721    public void registerForDisplayInfo(Handler h, int what, Object obj) {
722        throw new RuntimeException("not implemented");
723    }
724
725    public void unregisterForDisplayInfo(Handler h) {
726        throw new RuntimeException("not implemented");
727    }
728
729    public void registerForNumberInfo(Handler h, int what, Object obj) {
730        throw new RuntimeException("not implemented");
731    }
732
733    public void unregisterForNumberInfo(Handler h) {
734        throw new RuntimeException("not implemented");
735    }
736
737    public void registerForRedirectedNumberInfo(Handler h, int what, Object obj) {
738        throw new RuntimeException("not implemented");
739    }
740
741    public void unregisterForRedirectedNumberInfo(Handler h) {
742        throw new RuntimeException("not implemented");
743    }
744
745    public void registerForLineControlInfo(Handler h, int what, Object obj) {
746        throw new RuntimeException("not implemented");
747    }
748
749    public void unregisterForLineControlInfo(Handler h) {
750        throw new RuntimeException("not implemented");
751    }
752
753    public void registerFoT53ClirlInfo(Handler h, int what, Object obj) {
754        throw new RuntimeException("not implemented");
755    }
756
757    public void unregisterForT53ClirInfo(Handler h) {
758        throw new RuntimeException("not implemented");
759    }
760
761    public void registerForT53AudioControlInfo(Handler h, int what, Object obj) {
762        throw new RuntimeException("not implemented");
763    }
764
765    public void unregisterForT53AudioControlInfo(Handler h) {
766        throw new RuntimeException("not implemented");
767    }
768
769    public void setOnEcbModeExitResponse(Handler h, int what, Object obj){
770        throw new RuntimeException("not implemented");
771    }
772
773    public void unsetOnEcbModeExitResponse(Handler h){
774        throw new RuntimeException("not implemented");
775    }
776
777    public void registerForRadioOffOrNotAvailable(Handler h, int what, Object obj) {
778        throw new RuntimeException("not implemented");
779    }
780
781    public void unregisterForRadioOffOrNotAvailable(Handler h) {
782        throw new RuntimeException("not implemented");
783    }
784
785    public String[] getActiveApnTypes() {
786        throw new RuntimeException("not implemented");
787    }
788
789    public boolean hasMatchedTetherApnSetting() {
790        throw new RuntimeException("not implemented");
791    }
792
793    public String getActiveApnHost(String apnType) {
794        throw new RuntimeException("not implemented");
795    }
796
797    public LinkProperties getLinkProperties(String apnType) {
798        throw new RuntimeException("not implemented");
799    }
800
801    public NetworkCapabilities getNetworkCapabilities(String apnType) {
802        throw new RuntimeException("not implemented");
803    }
804
805    public boolean isDataConnectivityPossible() {
806        throw new RuntimeException("not implemented");
807    }
808
809    public boolean isDataConnectivityPossible(String apnType) {
810        throw new RuntimeException("not implemented");
811    }
812
813    public void notifyNewRingingConnectionP(Connection cn) {
814        throw new RuntimeException("not implemented");
815    }
816
817    public void notifyUnknownConnectionP(Connection cn) {
818        throw new RuntimeException("not implemented");
819    }
820
821    public void notifyForVideoCapabilityChanged(boolean isVideoCallCapable) {
822        throw new RuntimeException("not implemented");
823    }
824
825    public boolean isCspPlmnEnabled() {
826        throw new RuntimeException("not implemented");
827    }
828
829    public IsimRecords getIsimRecords() {
830        throw new RuntimeException("not implemented");
831    }
832
833    public String getMsisdn() {
834        throw new RuntimeException("not implemented");
835    }
836
837    public PhoneConstants.DataState getDataConnectionState() {
838        throw new RuntimeException("not implemented");
839    }
840
841    public void notifyCallForwardingIndicator() {
842        throw new RuntimeException("not implemented");
843    }
844
845    public void notifyDataConnectionFailed(String reason, String apnType) {
846        throw new RuntimeException("not implemented");
847    }
848
849    public void notifyPreciseDataConnectionFailed(String reason, String apnType, String apn,
850            String failCause) {
851        throw new RuntimeException("not implemented");
852    }
853
854    public int getLteOnCdmaMode() {
855        throw new RuntimeException("not implemented");
856    }
857
858    public void setVoiceMessageWaiting(int line, int countWaiting) {
859        throw new RuntimeException("not implemented");
860    }
861
862    public UsimServiceTable getUsimServiceTable() {
863        throw new RuntimeException("not implemented");
864    }
865
866    public UiccCard getUiccCard() {
867        throw new RuntimeException("not implemented");
868    }
869
870    public String[] getPcscfAddress(String apnType) {
871        throw new RuntimeException("not implemented");
872    }
873
874    public void setImsRegistrationState(boolean registered) {
875        throw new RuntimeException("not implemented");
876    }
877
878    public Phone getImsPhone() {
879        throw new RuntimeException("not implemented");
880    }
881
882    public boolean isUtEnabled() {
883        throw new RuntimeException("not implemented");
884    }
885
886    public void dispose() {
887        throw new RuntimeException("not implemented");
888    }
889
890    public int getSubId() {
891        throw new RuntimeException("not implemented");
892    }
893
894    public int getPhoneId() {
895        throw new RuntimeException("not implemented");
896    }
897
898    public int getVoicePhoneServiceState() {
899        throw new RuntimeException("not implemented");
900    }
901
902    public boolean setOperatorBrandOverride(String brand) {
903        throw new RuntimeException("not implemented");
904    }
905
906    public boolean setRoamingOverride(List<String> gsmRoamingList,
907            List<String> gsmNonRoamingList, List<String> cdmaRoamingList,
908            List<String> cdmaNonRoamingList) {
909        throw new RuntimeException("not implemented");
910    }
911
912    public boolean isMccMncMarkedAsRoaming(String mccMnc) {
913        throw new RuntimeException("not implemented");
914    }
915
916    public boolean isMccMncMarkedAsNonRoaming(String mccMnc) {
917        throw new RuntimeException("not implemented");
918    }
919
920    public boolean isSidMarkedAsRoaming(int SID) {
921        throw new RuntimeException("not implemented");
922    }
923
924    public boolean isSidMarkedAsNonRoaming(int SID) {
925        throw new RuntimeException("not implemented");
926    }
927
928    public boolean isImsRegistered() {
929        throw new RuntimeException("not implemented");
930    }
931
932    public boolean isWifiCallingEnabled() {
933        throw new RuntimeException("not implemented");
934    }
935
936    public boolean isVolteEnabled() {
937        throw new RuntimeException("not implemented");
938    }
939
940    public boolean isRadioAvailable() {
941        throw new RuntimeException("not implemented");
942    }
943
944    public boolean isRadioOn() {
945        throw new RuntimeException("not implemented");
946    }
947
948    public void shutdownRadio() {
949        throw new RuntimeException("not implemented");
950    }
951
952    public boolean isShuttingDown() {
953        throw new RuntimeException("not implemented");
954    }
955
956    public void setRadioCapability(RadioCapability rc, Message response) {
957        throw new RuntimeException("not implemented");
958    }
959
960    public int getRadioAccessFamily() {
961        throw new RuntimeException("not implemented");
962    }
963
964    public String getModemUuId() {
965        throw new RuntimeException("not implemented");
966    }
967
968    public RadioCapability getRadioCapability() {
969        throw new RuntimeException("not implemented");
970    }
971
972    public void radioCapabilityUpdated(RadioCapability rc) {
973        throw new RuntimeException("not implemented");
974    }
975
976    public void sendSubscriptionSettings(boolean restoreNetworkSelection) {
977        throw new RuntimeException("not implemented");
978    }
979
980    public void registerForRadioCapabilityChanged(Handler h, int what, Object obj) {
981        throw new RuntimeException("not implemented");
982    }
983
984    public void unregisterForRadioCapabilityChanged(Handler h) {
985        throw new RuntimeException("not implemented");
986    }
987
988    public boolean isImsUseEnabled() {
989        throw new RuntimeException("not implemented");
990    }
991
992    public boolean isVideoEnabled() {
993        throw new RuntimeException("not implemented");
994    }
995
996    public int getLceStatus() {
997        throw new RuntimeException("not implemented");
998    }
999
1000    public void getModemActivityInfo(Message response)  {
1001        throw new RuntimeException("not implemented");
1002    }
1003
1004    public void setAllowedCarriers(List<CarrierIdentifier> carrierList, Message response) {
1005        throw new RuntimeException("not implemented");
1006    }
1007
1008    public void getAllowedCarriers(Message response) {
1009        throw new RuntimeException("not implemented");
1010    }
1011
1012    public void startLceAfterRadioIsAvailable() {
1013        throw new RuntimeException("not implemented");
1014    }
1015
1016    public Locale getLocaleFromSimAndCarrierPrefs() {
1017        throw new RuntimeException("not implemented");
1018    }
1019
1020    public void updateDataConnectionTracker() {
1021        throw new RuntimeException("not implemented");
1022    }
1023
1024    public void setInternalDataEnabled(boolean enable, Message onCompleteMsg) {
1025        throw new RuntimeException("not implemented");
1026    }
1027
1028    public boolean updateCurrentCarrierInProvider() {
1029        throw new RuntimeException("not implemented");
1030    }
1031
1032    public void registerForAllDataDisconnected(Handler h, int what, Object obj) {
1033        throw new RuntimeException("not implemented");
1034    }
1035
1036    public void unregisterForAllDataDisconnected(Handler h) {
1037        throw new RuntimeException("not implemented");
1038    }
1039
1040    public IccSmsInterfaceManager getIccSmsInterfaceManager(){
1041        throw new RuntimeException("not implemented");
1042    }
1043
1044    public static void checkWfcWifiOnlyModeBeforeDial(Phone imsPhone, Context context) {
1045        throw new RuntimeException("not implemented");
1046    }
1047
1048    public void startRingbackTone() {
1049        throw new RuntimeException("not implemented");
1050    }
1051
1052    public void stopRingbackTone() {
1053        throw new RuntimeException("not implemented");
1054    }
1055
1056    public void callEndCleanupHandOverCallIfAny() {
1057        throw new RuntimeException("not implemented");
1058    }
1059
1060    public void cancelUSSD() {
1061        throw new RuntimeException("not implemented");
1062    }
1063
1064    public void setBroadcastEmergencyCallStateChanges(boolean broadcast) {
1065        throw new RuntimeException("not implemented");
1066    }
1067
1068    public void sendEmergencyCallStateChange(boolean callActive) {
1069        throw new RuntimeException("not implemented");
1070    }
1071
1072    public Phone getDefaultPhone() {
1073        throw new RuntimeException("not implemented");
1074    }
1075
1076    /** From PhoneInternalInterface - man this class has alot of functions */
1077    public ServiceState getServiceState() {
1078        throw new RuntimeException("not implemented");
1079    }
1080
1081    public CellLocation getCellLocation(WorkSource workSource) {
1082        throw new RuntimeException("not implemented");
1083    }
1084
1085    public DataState getDataConnectionState(String apnType) {
1086        throw new RuntimeException("not implemented");
1087    }
1088
1089    public DataActivityState getDataActivityState() {
1090        throw new RuntimeException("not implemented");
1091    }
1092
1093    public List<? extends MmiCode> getPendingMmiCodes() {
1094        throw new RuntimeException("not implemented");
1095    }
1096
1097    public void sendUssdResponse(String ussdMessge) {
1098        throw new RuntimeException("not implemented");
1099    }
1100
1101    public void registerForSuppServiceNotification(Handler h, int what, Object obj) {
1102        throw new RuntimeException("not implemented");
1103    }
1104
1105    public void unregisterForSuppServiceNotification(Handler h) {
1106        throw new RuntimeException("not implemented");
1107    }
1108
1109    public void acceptCall(int videoState) throws CallStateException {
1110        throw new RuntimeException("not implemented");
1111    }
1112
1113    public void rejectCall() throws CallStateException {
1114        throw new RuntimeException("not implemented");
1115    }
1116
1117    public void switchHoldingAndActive() throws CallStateException {
1118        throw new RuntimeException("not implemented");
1119    }
1120
1121    public boolean canConference() {
1122        throw new RuntimeException("not implemented");
1123    }
1124
1125    public void conference() throws CallStateException {
1126        throw new RuntimeException("not implemented");
1127    }
1128
1129    public boolean canTransfer() {
1130        throw new RuntimeException("not implemented");
1131    }
1132
1133    public void explicitCallTransfer() throws CallStateException {
1134        throw new RuntimeException("not implemented");
1135    }
1136
1137    public void clearDisconnected() {
1138        throw new RuntimeException("not implemented");
1139    }
1140
1141    public Call getForegroundCall() {
1142        throw new RuntimeException("not implemented");
1143    }
1144
1145    public Call getBackgroundCall() {
1146        throw new RuntimeException("not implemented");
1147    }
1148
1149    public Call getRingingCall() {
1150        throw new RuntimeException("not implemented");
1151    }
1152
1153    public Connection dial(String dialString, int videoState) throws CallStateException {
1154        throw new RuntimeException("not implemented");
1155    }
1156
1157    public Connection dial(String dialString, UUSInfo uusInfo, int videoState, Bundle intentExtras)
1158            throws CallStateException {
1159        throw new RuntimeException("not implemented");
1160    }
1161
1162    public boolean handlePinMmi(String dialString) {
1163        throw new RuntimeException("not implemented");
1164    }
1165
1166    public boolean handleUssdServiceCall(String dialString, Callback wrappedCallback) {
1167        throw new RuntimeException("not implemented");
1168    }
1169
1170    public boolean handleInCallMmiCommands(String command) throws CallStateException {
1171        throw new RuntimeException("not implemented");
1172    }
1173
1174    public void sendDtmf(char c) {
1175        throw new RuntimeException("not implemented");
1176    }
1177
1178    public void startDtmf(char c) {
1179        throw new RuntimeException("not implemented");
1180    }
1181
1182    public void stopDtmf() {
1183        throw new RuntimeException("not implemented");
1184    }
1185
1186    public void setRadioPower(boolean power) {
1187        throw new RuntimeException("not implemented");
1188    }
1189
1190    public String getLine1Number() {
1191        throw new RuntimeException("not implemented");
1192    }
1193
1194    public String getLine1AlphaTag() {
1195        throw new RuntimeException("not implemented");
1196    }
1197
1198    public boolean setLine1Number(String alphaTag, String number, Message onComplete) {
1199        throw new RuntimeException("not implemented");
1200    }
1201
1202    public String getVoiceMailNumber() {
1203        throw new RuntimeException("not implemented");
1204    }
1205
1206    public String getVoiceMailAlphaTag() {
1207        throw new RuntimeException("not implemented");
1208    }
1209
1210    public void setVoiceMailNumber(String alphaTag, String voiceMailNumber, Message onComplete) {
1211        throw new RuntimeException("not implemented");
1212    }
1213
1214    public void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete) {
1215        throw new RuntimeException("not implemented");
1216    }
1217
1218    public void setCallForwardingOption(int commandInterfaceCFReason, int commandInterfaceCFAction,
1219            String dialingNumber, int timerSeconds, Message onComplete) {
1220        throw new RuntimeException("not implemented");
1221    }
1222
1223    public void getOutgoingCallerIdDisplay(Message onComplete) {
1224        throw new RuntimeException("not implemented");
1225    }
1226
1227    public void setOutgoingCallerIdDisplay(int commandInterfaceCLIRMode, Message onComplete) {
1228        throw new RuntimeException("not implemented");
1229    }
1230
1231    public void getCallWaiting(Message onComplete) {
1232        throw new RuntimeException("not implemented");
1233    }
1234
1235    public void setCallWaiting(boolean enable, Message onComplete) {
1236        throw new RuntimeException("not implemented");
1237    }
1238
1239    public void getAvailableNetworks(Message response) {
1240        throw new RuntimeException("not implemented");
1241    }
1242
1243    public void getNeighboringCids(Message response) {
1244        throw new RuntimeException("not implemented");
1245    }
1246
1247    public void setOnPostDialCharacter(Handler h, int what, Object obj) {
1248        throw new RuntimeException("not implemented");
1249    }
1250
1251    public void setMute(boolean muted) {
1252        throw new RuntimeException("not implemented");
1253    }
1254
1255    public boolean getMute() {
1256        throw new RuntimeException("not implemented");
1257    }
1258
1259    public void getDataCallList(Message response) {
1260        throw new RuntimeException("not implemented");
1261    }
1262
1263    public void updateServiceLocation() {
1264        throw new RuntimeException("not implemented");
1265    }
1266
1267    public void enableLocationUpdates() {
1268        throw new RuntimeException("not implemented");
1269    }
1270
1271    public void disableLocationUpdates() {
1272        throw new RuntimeException("not implemented");
1273    }
1274
1275    public boolean getDataRoamingEnabled() {
1276        throw new RuntimeException("not implemented");
1277    }
1278
1279    public void setDataRoamingEnabled(boolean enable) {
1280        throw new RuntimeException("not implemented");
1281    }
1282
1283    public boolean getDataEnabled() {
1284        throw new RuntimeException("not implemented");
1285    }
1286
1287    public void setDataEnabled(boolean enable) {
1288        throw new RuntimeException("not implemented");
1289    }
1290
1291    public String getDeviceId() {
1292        throw new RuntimeException("not implemented");
1293    }
1294
1295    public String getDeviceSvn() {
1296        throw new RuntimeException("not implemented");
1297    }
1298
1299    public String getSubscriberId() {
1300        throw new RuntimeException("not implemented");
1301    }
1302
1303    public String getGroupIdLevel1() {
1304        throw new RuntimeException("not implemented");
1305    }
1306
1307    public String getGroupIdLevel2() {
1308        throw new RuntimeException("not implemented");
1309    }
1310
1311    public String getEsn() {
1312        throw new RuntimeException("not implemented");
1313    }
1314
1315    public String getMeid() {
1316        throw new RuntimeException("not implemented");
1317    }
1318
1319    public String getImei() {
1320        throw new RuntimeException("not implemented");
1321    }
1322
1323    public IccPhoneBookInterfaceManager getIccPhoneBookInterfaceManager() {
1324        throw new RuntimeException("not implemented");
1325    }
1326
1327    public void activateCellBroadcastSms(int activate, Message response) {
1328        throw new RuntimeException("not implemented");
1329    }
1330
1331    public void getCellBroadcastSmsConfig(Message response) {
1332        throw new RuntimeException("not implemented");
1333    }
1334
1335    public void setCellBroadcastSmsConfig(int[] configValuesArray, Message response) {
1336        throw new RuntimeException("not implemented");
1337    }
1338
1339    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
1340        throw new RuntimeException("not implemented");
1341    }
1342}
1343