Home | History | Annotate | Download | only in mocks
      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 
     17 package com.android.internal.telephony;
     18 
     19 import android.content.Context;
     20 import android.net.LinkProperties;
     21 import android.net.NetworkCapabilities;
     22 import android.os.AsyncResult;
     23 import android.os.Bundle;
     24 import android.os.Handler;
     25 import android.os.Message;
     26 import android.os.Registrant;
     27 import android.os.RegistrantList;
     28 import android.os.ResultReceiver;
     29 import android.os.WorkSource;
     30 import android.service.carrier.CarrierIdentifier;
     31 import android.telephony.CellInfo;
     32 import android.telephony.CellLocation;
     33 import android.telephony.DataConnectionRealTimeInfo;
     34 import android.telephony.NetworkScanRequest;
     35 import android.telephony.ServiceState;
     36 import android.telephony.SignalStrength;
     37 import android.telephony.VoLteServiceState;
     38 
     39 import com.android.internal.annotations.VisibleForTesting;
     40 import com.android.internal.telephony.PhoneConstants.DataState;
     41 import com.android.internal.telephony.test.SimulatedRadioControl;
     42 import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppType;
     43 import com.android.internal.telephony.uicc.IccFileHandler;
     44 import com.android.internal.telephony.uicc.IsimRecords;
     45 import com.android.internal.telephony.uicc.UiccCard;
     46 import com.android.internal.telephony.uicc.UsimServiceTable;
     47 
     48 import java.io.FileDescriptor;
     49 import java.io.PrintWriter;
     50 import java.util.ArrayList;
     51 import java.util.List;
     52 import java.util.Locale;
     53 import 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 
     67 public 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 isDataAllowed() {
    806         throw new RuntimeException("not implemented");
    807     }
    808 
    809     public void notifyNewRingingConnectionP(Connection cn) {
    810         throw new RuntimeException("not implemented");
    811     }
    812 
    813     public void notifyUnknownConnectionP(Connection cn) {
    814         throw new RuntimeException("not implemented");
    815     }
    816 
    817     public void notifyForVideoCapabilityChanged(boolean isVideoCallCapable) {
    818         throw new RuntimeException("not implemented");
    819     }
    820 
    821     public boolean isCspPlmnEnabled() {
    822         throw new RuntimeException("not implemented");
    823     }
    824 
    825     public IsimRecords getIsimRecords() {
    826         throw new RuntimeException("not implemented");
    827     }
    828 
    829     public String getMsisdn() {
    830         throw new RuntimeException("not implemented");
    831     }
    832 
    833     public PhoneConstants.DataState getDataConnectionState() {
    834         throw new RuntimeException("not implemented");
    835     }
    836 
    837     public void notifyCallForwardingIndicator() {
    838         throw new RuntimeException("not implemented");
    839     }
    840 
    841     public void notifyDataConnectionFailed(String reason, String apnType) {
    842         throw new RuntimeException("not implemented");
    843     }
    844 
    845     public void notifyPreciseDataConnectionFailed(String reason, String apnType, String apn,
    846             String failCause) {
    847         throw new RuntimeException("not implemented");
    848     }
    849 
    850     public int getLteOnCdmaMode() {
    851         throw new RuntimeException("not implemented");
    852     }
    853 
    854     public void setVoiceMessageWaiting(int line, int countWaiting) {
    855         throw new RuntimeException("not implemented");
    856     }
    857 
    858     public UsimServiceTable getUsimServiceTable() {
    859         throw new RuntimeException("not implemented");
    860     }
    861 
    862     public UiccCard getUiccCard() {
    863         throw new RuntimeException("not implemented");
    864     }
    865 
    866     public String[] getPcscfAddress(String apnType) {
    867         throw new RuntimeException("not implemented");
    868     }
    869 
    870     public void setImsRegistrationState(boolean registered) {
    871         throw new RuntimeException("not implemented");
    872     }
    873 
    874     public Phone getImsPhone() {
    875         throw new RuntimeException("not implemented");
    876     }
    877 
    878     public boolean isUtEnabled() {
    879         throw new RuntimeException("not implemented");
    880     }
    881 
    882     public void dispose() {
    883         throw new RuntimeException("not implemented");
    884     }
    885 
    886     public int getSubId() {
    887         throw new RuntimeException("not implemented");
    888     }
    889 
    890     public int getPhoneId() {
    891         throw new RuntimeException("not implemented");
    892     }
    893 
    894     public int getVoicePhoneServiceState() {
    895         throw new RuntimeException("not implemented");
    896     }
    897 
    898     public boolean setOperatorBrandOverride(String brand) {
    899         throw new RuntimeException("not implemented");
    900     }
    901 
    902     public boolean setRoamingOverride(List<String> gsmRoamingList,
    903             List<String> gsmNonRoamingList, List<String> cdmaRoamingList,
    904             List<String> cdmaNonRoamingList) {
    905         throw new RuntimeException("not implemented");
    906     }
    907 
    908     public boolean isMccMncMarkedAsRoaming(String mccMnc) {
    909         throw new RuntimeException("not implemented");
    910     }
    911 
    912     public boolean isMccMncMarkedAsNonRoaming(String mccMnc) {
    913         throw new RuntimeException("not implemented");
    914     }
    915 
    916     public boolean isSidMarkedAsRoaming(int SID) {
    917         throw new RuntimeException("not implemented");
    918     }
    919 
    920     public boolean isSidMarkedAsNonRoaming(int SID) {
    921         throw new RuntimeException("not implemented");
    922     }
    923 
    924     public boolean isImsRegistered() {
    925         throw new RuntimeException("not implemented");
    926     }
    927 
    928     public boolean isWifiCallingEnabled() {
    929         throw new RuntimeException("not implemented");
    930     }
    931 
    932     public boolean isVolteEnabled() {
    933         throw new RuntimeException("not implemented");
    934     }
    935 
    936     public boolean isRadioAvailable() {
    937         throw new RuntimeException("not implemented");
    938     }
    939 
    940     public boolean isRadioOn() {
    941         throw new RuntimeException("not implemented");
    942     }
    943 
    944     public void shutdownRadio() {
    945         throw new RuntimeException("not implemented");
    946     }
    947 
    948     public boolean isShuttingDown() {
    949         throw new RuntimeException("not implemented");
    950     }
    951 
    952     public void setRadioCapability(RadioCapability rc, Message response) {
    953         throw new RuntimeException("not implemented");
    954     }
    955 
    956     public int getRadioAccessFamily() {
    957         throw new RuntimeException("not implemented");
    958     }
    959 
    960     public String getModemUuId() {
    961         throw new RuntimeException("not implemented");
    962     }
    963 
    964     public RadioCapability getRadioCapability() {
    965         throw new RuntimeException("not implemented");
    966     }
    967 
    968     public void radioCapabilityUpdated(RadioCapability rc) {
    969         throw new RuntimeException("not implemented");
    970     }
    971 
    972     public void sendSubscriptionSettings(boolean restoreNetworkSelection) {
    973         throw new RuntimeException("not implemented");
    974     }
    975 
    976     public void registerForRadioCapabilityChanged(Handler h, int what, Object obj) {
    977         throw new RuntimeException("not implemented");
    978     }
    979 
    980     public void unregisterForRadioCapabilityChanged(Handler h) {
    981         throw new RuntimeException("not implemented");
    982     }
    983 
    984     public boolean isImsUseEnabled() {
    985         throw new RuntimeException("not implemented");
    986     }
    987 
    988     public boolean isVideoEnabled() {
    989         throw new RuntimeException("not implemented");
    990     }
    991 
    992     public int getLceStatus() {
    993         throw new RuntimeException("not implemented");
    994     }
    995 
    996     public void getModemActivityInfo(Message response)  {
    997         throw new RuntimeException("not implemented");
    998     }
    999 
   1000     public void setAllowedCarriers(List<CarrierIdentifier> carrierList, Message response) {
   1001         throw new RuntimeException("not implemented");
   1002     }
   1003 
   1004     public void getAllowedCarriers(Message response) {
   1005         throw new RuntimeException("not implemented");
   1006     }
   1007 
   1008     public void startLceAfterRadioIsAvailable() {
   1009         throw new RuntimeException("not implemented");
   1010     }
   1011 
   1012     public Locale getLocaleFromSimAndCarrierPrefs() {
   1013         throw new RuntimeException("not implemented");
   1014     }
   1015 
   1016     public void updateDataConnectionTracker() {
   1017         throw new RuntimeException("not implemented");
   1018     }
   1019 
   1020     public void setInternalDataEnabled(boolean enable, Message onCompleteMsg) {
   1021         throw new RuntimeException("not implemented");
   1022     }
   1023 
   1024     public boolean updateCurrentCarrierInProvider() {
   1025         throw new RuntimeException("not implemented");
   1026     }
   1027 
   1028     public void registerForAllDataDisconnected(Handler h, int what, Object obj) {
   1029         throw new RuntimeException("not implemented");
   1030     }
   1031 
   1032     public void unregisterForAllDataDisconnected(Handler h) {
   1033         throw new RuntimeException("not implemented");
   1034     }
   1035 
   1036     public IccSmsInterfaceManager getIccSmsInterfaceManager(){
   1037         throw new RuntimeException("not implemented");
   1038     }
   1039 
   1040     public static void checkWfcWifiOnlyModeBeforeDial(Phone imsPhone, Context context) {
   1041         throw new RuntimeException("not implemented");
   1042     }
   1043 
   1044     public void startRingbackTone() {
   1045         throw new RuntimeException("not implemented");
   1046     }
   1047 
   1048     public void stopRingbackTone() {
   1049         throw new RuntimeException("not implemented");
   1050     }
   1051 
   1052     public void callEndCleanupHandOverCallIfAny() {
   1053         throw new RuntimeException("not implemented");
   1054     }
   1055 
   1056     public void cancelUSSD() {
   1057         throw new RuntimeException("not implemented");
   1058     }
   1059 
   1060     public void setBroadcastEmergencyCallStateChanges(boolean broadcast) {
   1061         throw new RuntimeException("not implemented");
   1062     }
   1063 
   1064     public void sendEmergencyCallStateChange(boolean callActive) {
   1065         throw new RuntimeException("not implemented");
   1066     }
   1067 
   1068     public Phone getDefaultPhone() {
   1069         throw new RuntimeException("not implemented");
   1070     }
   1071 
   1072     /** From PhoneInternalInterface - man this class has alot of functions */
   1073     public ServiceState getServiceState() {
   1074         throw new RuntimeException("not implemented");
   1075     }
   1076 
   1077     public CellLocation getCellLocation(WorkSource workSource) {
   1078         throw new RuntimeException("not implemented");
   1079     }
   1080 
   1081     public DataState getDataConnectionState(String apnType) {
   1082         throw new RuntimeException("not implemented");
   1083     }
   1084 
   1085     public DataActivityState getDataActivityState() {
   1086         throw new RuntimeException("not implemented");
   1087     }
   1088 
   1089     public List<? extends MmiCode> getPendingMmiCodes() {
   1090         throw new RuntimeException("not implemented");
   1091     }
   1092 
   1093     public void sendUssdResponse(String ussdMessge) {
   1094         throw new RuntimeException("not implemented");
   1095     }
   1096 
   1097     public void registerForSuppServiceNotification(Handler h, int what, Object obj) {
   1098         throw new RuntimeException("not implemented");
   1099     }
   1100 
   1101     public void unregisterForSuppServiceNotification(Handler h) {
   1102         throw new RuntimeException("not implemented");
   1103     }
   1104 
   1105     public void acceptCall(int videoState) throws CallStateException {
   1106         throw new RuntimeException("not implemented");
   1107     }
   1108 
   1109     public void rejectCall() throws CallStateException {
   1110         throw new RuntimeException("not implemented");
   1111     }
   1112 
   1113     public void switchHoldingAndActive() throws CallStateException {
   1114         throw new RuntimeException("not implemented");
   1115     }
   1116 
   1117     public boolean canConference() {
   1118         throw new RuntimeException("not implemented");
   1119     }
   1120 
   1121     public void conference() throws CallStateException {
   1122         throw new RuntimeException("not implemented");
   1123     }
   1124 
   1125     public boolean canTransfer() {
   1126         throw new RuntimeException("not implemented");
   1127     }
   1128 
   1129     public void explicitCallTransfer() throws CallStateException {
   1130         throw new RuntimeException("not implemented");
   1131     }
   1132 
   1133     public void clearDisconnected() {
   1134         throw new RuntimeException("not implemented");
   1135     }
   1136 
   1137     public Call getForegroundCall() {
   1138         throw new RuntimeException("not implemented");
   1139     }
   1140 
   1141     public Call getBackgroundCall() {
   1142         throw new RuntimeException("not implemented");
   1143     }
   1144 
   1145     public Call getRingingCall() {
   1146         throw new RuntimeException("not implemented");
   1147     }
   1148 
   1149     @Override
   1150     public Connection dial(String dialString, DialArgs dialArgs) throws CallStateException {
   1151         throw new RuntimeException("not implemented");
   1152     }
   1153 
   1154     public boolean handlePinMmi(String dialString) {
   1155         throw new RuntimeException("not implemented");
   1156     }
   1157 
   1158     public boolean handleUssdServiceCall(String dialString, Callback wrappedCallback) {
   1159         throw new RuntimeException("not implemented");
   1160     }
   1161 
   1162     public boolean handleInCallMmiCommands(String command) throws CallStateException {
   1163         throw new RuntimeException("not implemented");
   1164     }
   1165 
   1166     public void sendDtmf(char c) {
   1167         throw new RuntimeException("not implemented");
   1168     }
   1169 
   1170     public void startDtmf(char c) {
   1171         throw new RuntimeException("not implemented");
   1172     }
   1173 
   1174     public void stopDtmf() {
   1175         throw new RuntimeException("not implemented");
   1176     }
   1177 
   1178     public void setRadioPower(boolean power) {
   1179         throw new RuntimeException("not implemented");
   1180     }
   1181 
   1182     public String getLine1Number() {
   1183         throw new RuntimeException("not implemented");
   1184     }
   1185 
   1186     public String getLine1AlphaTag() {
   1187         throw new RuntimeException("not implemented");
   1188     }
   1189 
   1190     public boolean setLine1Number(String alphaTag, String number, Message onComplete) {
   1191         throw new RuntimeException("not implemented");
   1192     }
   1193 
   1194     public String getVoiceMailNumber() {
   1195         throw new RuntimeException("not implemented");
   1196     }
   1197 
   1198     public String getVoiceMailAlphaTag() {
   1199         throw new RuntimeException("not implemented");
   1200     }
   1201 
   1202     public void setVoiceMailNumber(String alphaTag, String voiceMailNumber, Message onComplete) {
   1203         throw new RuntimeException("not implemented");
   1204     }
   1205 
   1206     public void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete) {
   1207         throw new RuntimeException("not implemented");
   1208     }
   1209 
   1210     public void setCallForwardingOption(int commandInterfaceCFReason, int commandInterfaceCFAction,
   1211             String dialingNumber, int timerSeconds, Message onComplete) {
   1212         throw new RuntimeException("not implemented");
   1213     }
   1214 
   1215     public void getCallBarring(String facility, String password, Message onComplete,
   1216             int serviceClass) {
   1217     }
   1218 
   1219     public void setCallBarring(String facility, boolean lockState, String password,
   1220             Message onComplete, int serviceClass) {
   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 startNetworkScan(NetworkScanRequest nsr, Message response) {
   1244         throw new RuntimeException("not implemented");
   1245     }
   1246 
   1247     public void stopNetworkScan(Message response) {
   1248         throw new RuntimeException("not implemented");
   1249     }
   1250 
   1251     public void getNeighboringCids(Message response) {
   1252         throw new RuntimeException("not implemented");
   1253     }
   1254 
   1255     public void setOnPostDialCharacter(Handler h, int what, Object obj) {
   1256         throw new RuntimeException("not implemented");
   1257     }
   1258 
   1259     public void setMute(boolean muted) {
   1260         throw new RuntimeException("not implemented");
   1261     }
   1262 
   1263     public boolean getMute() {
   1264         throw new RuntimeException("not implemented");
   1265     }
   1266 
   1267     public void getDataCallList(Message response) {
   1268         throw new RuntimeException("not implemented");
   1269     }
   1270 
   1271     public void updateServiceLocation() {
   1272         throw new RuntimeException("not implemented");
   1273     }
   1274 
   1275     public void enableLocationUpdates() {
   1276         throw new RuntimeException("not implemented");
   1277     }
   1278 
   1279     public void disableLocationUpdates() {
   1280         throw new RuntimeException("not implemented");
   1281     }
   1282 
   1283     public boolean getDataRoamingEnabled() {
   1284         throw new RuntimeException("not implemented");
   1285     }
   1286 
   1287     public void setDataRoamingEnabled(boolean enable) {
   1288         throw new RuntimeException("not implemented");
   1289     }
   1290 
   1291     public boolean isUserDataEnabled() {
   1292         throw new RuntimeException("not implemented");
   1293     }
   1294 
   1295     public boolean isDataEnabled() {
   1296         throw new RuntimeException("not implemented");
   1297     }
   1298 
   1299     public void setUserDataEnabled(boolean enable) {
   1300         throw new RuntimeException("not implemented");
   1301     }
   1302 
   1303     public String getDeviceId() {
   1304         throw new RuntimeException("not implemented");
   1305     }
   1306 
   1307     public String getDeviceSvn() {
   1308         throw new RuntimeException("not implemented");
   1309     }
   1310 
   1311     public String getSubscriberId() {
   1312         throw new RuntimeException("not implemented");
   1313     }
   1314 
   1315     public String getGroupIdLevel1() {
   1316         throw new RuntimeException("not implemented");
   1317     }
   1318 
   1319     public String getGroupIdLevel2() {
   1320         throw new RuntimeException("not implemented");
   1321     }
   1322 
   1323     public String getEsn() {
   1324         throw new RuntimeException("not implemented");
   1325     }
   1326 
   1327     public String getMeid() {
   1328         throw new RuntimeException("not implemented");
   1329     }
   1330 
   1331     public String getImei() {
   1332         throw new RuntimeException("not implemented");
   1333     }
   1334 
   1335     public IccPhoneBookInterfaceManager getIccPhoneBookInterfaceManager() {
   1336         throw new RuntimeException("not implemented");
   1337     }
   1338 
   1339     public void activateCellBroadcastSms(int activate, Message response) {
   1340         throw new RuntimeException("not implemented");
   1341     }
   1342 
   1343     public void getCellBroadcastSmsConfig(Message response) {
   1344         throw new RuntimeException("not implemented");
   1345     }
   1346 
   1347     public void setCellBroadcastSmsConfig(int[] configValuesArray, Message response) {
   1348         throw new RuntimeException("not implemented");
   1349     }
   1350 
   1351     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
   1352         throw new RuntimeException("not implemented");
   1353     }
   1354 }
   1355