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