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