1 /* 2 * Copyright (C) 2013 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.imsphone; 18 19 import android.content.Context; 20 import android.net.KeepalivePacketData; 21 import android.net.LinkProperties; 22 import android.os.Handler; 23 import android.os.Message; 24 import android.telephony.ImsiEncryptionInfo; 25 import android.telephony.NetworkScanRequest; 26 import android.telephony.SignalThresholdInfo; 27 import android.telephony.TelephonyManager; 28 import android.telephony.data.DataProfile; 29 import android.telephony.data.NetworkSliceInfo; 30 import android.telephony.data.TrafficDescriptor; 31 import android.telephony.emergency.EmergencyNumber; 32 33 import com.android.internal.telephony.BaseCommands; 34 import com.android.internal.telephony.CommandsInterface; 35 import com.android.internal.telephony.RadioCapability; 36 import com.android.internal.telephony.UUSInfo; 37 import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo; 38 import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo; 39 import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState; 40 41 import java.util.List; 42 43 /** 44 * Volte doesn't need CommandsInterface. The class does nothing but made to work 45 * with Phone's constructor. 46 */ 47 class ImsPhoneCommandInterface extends BaseCommands implements CommandsInterface { ImsPhoneCommandInterface(Context context)48 ImsPhoneCommandInterface(Context context) { 49 super(context); 50 } 51 setOnNITZTime(Handler h, int what, Object obj)52 @Override public void setOnNITZTime(Handler h, int what, Object obj) { 53 } 54 55 @Override getIccCardStatus(Message result)56 public void getIccCardStatus(Message result) { 57 } 58 59 @Override supplyIccPin(String pin, Message result)60 public void supplyIccPin(String pin, Message result) { 61 } 62 63 @Override supplyIccPuk(String puk, String newPin, Message result)64 public void supplyIccPuk(String puk, String newPin, Message result) { 65 } 66 67 @Override supplyIccPin2(String pin, Message result)68 public void supplyIccPin2(String pin, Message result) { 69 } 70 71 @Override supplyIccPuk2(String puk, String newPin2, Message result)72 public void supplyIccPuk2(String puk, String newPin2, Message result) { 73 } 74 75 @Override changeIccPin(String oldPin, String newPin, Message result)76 public void changeIccPin(String oldPin, String newPin, Message result) { 77 } 78 79 @Override changeIccPin2(String oldPin2, String newPin2, Message result)80 public void changeIccPin2(String oldPin2, String newPin2, Message result) { 81 } 82 83 @Override changeBarringPassword(String facility, String oldPwd, String newPwd, Message result)84 public void changeBarringPassword(String facility, String oldPwd, 85 String newPwd, Message result) { 86 } 87 88 @Override supplyNetworkDepersonalization(String netpin, Message result)89 public void supplyNetworkDepersonalization(String netpin, Message result) { 90 } 91 92 @Override supplySimDepersonalization(PersoSubState persoType, String controlKey, Message result)93 public void supplySimDepersonalization(PersoSubState persoType, 94 String controlKey, Message result) { 95 } 96 97 @Override getCurrentCalls(Message result)98 public void getCurrentCalls(Message result) { 99 } 100 101 @Override getDataCallList(Message result)102 public void getDataCallList(Message result) { 103 } 104 105 @Override dial(String address, boolean isEmergencyCall, EmergencyNumber emergencyNumberInfo, boolean hasKnownUserIntentEmergency, int clirMode, Message result)106 public void dial(String address, boolean isEmergencyCall, EmergencyNumber emergencyNumberInfo, 107 boolean hasKnownUserIntentEmergency, int clirMode, Message result) { 108 } 109 110 @Override dial(String address, boolean isEmergencyCall, EmergencyNumber emergencyNumberInfo, boolean hasKnownUserIntentEmergency, int clirMode, UUSInfo uusInfo, Message result)111 public void dial(String address, boolean isEmergencyCall, EmergencyNumber emergencyNumberInfo, 112 boolean hasKnownUserIntentEmergency, int clirMode, UUSInfo uusInfo, 113 Message result) { 114 } 115 116 @Override getIMSI(Message result)117 public void getIMSI(Message result) { 118 } 119 120 @Override getIMSIForApp(String aid, Message result)121 public void getIMSIForApp(String aid, Message result) { 122 } 123 124 @Override hangupConnection(int gsmIndex, Message result)125 public void hangupConnection (int gsmIndex, Message result) { 126 } 127 128 @Override hangupWaitingOrBackground(Message result)129 public void hangupWaitingOrBackground (Message result) { 130 } 131 132 @Override hangupForegroundResumeBackground(Message result)133 public void hangupForegroundResumeBackground (Message result) { 134 } 135 136 @Override switchWaitingOrHoldingAndActive(Message result)137 public void switchWaitingOrHoldingAndActive (Message result) { 138 } 139 140 @Override conference(Message result)141 public void conference (Message result) { 142 } 143 144 @Override setPreferredVoicePrivacy(boolean enable, Message result)145 public void setPreferredVoicePrivacy(boolean enable, Message result) { 146 } 147 148 @Override getPreferredVoicePrivacy(Message result)149 public void getPreferredVoicePrivacy(Message result) { 150 } 151 152 @Override separateConnection(int gsmIndex, Message result)153 public void separateConnection (int gsmIndex, Message result) { 154 } 155 156 @Override acceptCall(Message result)157 public void acceptCall (Message result) { 158 } 159 160 @Override rejectCall(Message result)161 public void rejectCall (Message result) { 162 } 163 164 @Override explicitCallTransfer(Message result)165 public void explicitCallTransfer (Message result) { 166 } 167 168 @Override getLastCallFailCause(Message result)169 public void getLastCallFailCause (Message result) { 170 } 171 172 @Override setMute(boolean enableMute, Message response)173 public void setMute (boolean enableMute, Message response) { 174 } 175 176 @Override getMute(Message response)177 public void getMute (Message response) { 178 } 179 180 @Override getSignalStrength(Message result)181 public void getSignalStrength (Message result) { 182 } 183 184 @Override getVoiceRegistrationState(Message result)185 public void getVoiceRegistrationState (Message result) { 186 } 187 188 @Override getDataRegistrationState(Message result)189 public void getDataRegistrationState (Message result) { 190 } 191 192 @Override getOperator(Message result)193 public void getOperator(Message result) { 194 } 195 196 @Override sendDtmf(char c, Message result)197 public void sendDtmf(char c, Message result) { 198 } 199 200 @Override startDtmf(char c, Message result)201 public void startDtmf(char c, Message result) { 202 } 203 204 @Override stopDtmf(Message result)205 public void stopDtmf(Message result) { 206 } 207 208 @Override sendBurstDtmf(String dtmfString, int on, int off, Message result)209 public void sendBurstDtmf(String dtmfString, int on, int off, 210 Message result) { 211 } 212 213 @Override sendSMS(String smscPDU, String pdu, Message result)214 public void sendSMS (String smscPDU, String pdu, Message result) { 215 } 216 217 @Override sendSMSExpectMore(String smscPDU, String pdu, Message result)218 public void sendSMSExpectMore (String smscPDU, String pdu, Message result) { 219 } 220 221 @Override sendCdmaSms(byte[] pdu, Message result)222 public void sendCdmaSms(byte[] pdu, Message result) { 223 } 224 225 @Override sendCdmaSMSExpectMore(byte[] pdu, Message result)226 public void sendCdmaSMSExpectMore(byte[] pdu, Message result) { 227 } 228 229 @Override sendImsGsmSms(String smscPDU, String pdu, int retry, int messageRef, Message response)230 public void sendImsGsmSms (String smscPDU, String pdu, 231 int retry, int messageRef, Message response) { 232 } 233 234 @Override sendImsCdmaSms(byte[] pdu, int retry, int messageRef, Message response)235 public void sendImsCdmaSms(byte[] pdu, int retry, int messageRef, 236 Message response) { 237 } 238 239 @Override getImsRegistrationState(Message result)240 public void getImsRegistrationState (Message result) { 241 } 242 243 @Override deleteSmsOnSim(int index, Message response)244 public void deleteSmsOnSim(int index, Message response) { 245 } 246 247 @Override deleteSmsOnRuim(int index, Message response)248 public void deleteSmsOnRuim(int index, Message response) { 249 } 250 251 @Override writeSmsToSim(int status, String smsc, String pdu, Message response)252 public void writeSmsToSim(int status, String smsc, String pdu, Message response) { 253 } 254 255 @Override writeSmsToRuim(int status, byte[] pdu, Message response)256 public void writeSmsToRuim(int status, byte[] pdu, Message response) { 257 } 258 259 @Override setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean allowRoaming, int reason, LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, TrafficDescriptor trafficDescriptor, boolean matchAllRuleAllowed, Message result)260 public void setupDataCall(int accessNetworkType, DataProfile dataProfile, boolean allowRoaming, 261 int reason, LinkProperties linkProperties, int pduSessionId, NetworkSliceInfo sliceInfo, 262 TrafficDescriptor trafficDescriptor, boolean matchAllRuleAllowed, Message result) { 263 } 264 265 @Override deactivateDataCall(int cid, int reason, Message result)266 public void deactivateDataCall(int cid, int reason, Message result) { 267 } 268 269 @Override setRadioPower(boolean on, Message result)270 public void setRadioPower(boolean on, Message result) { 271 } 272 273 @Override setSuppServiceNotifications(boolean enable, Message result)274 public void setSuppServiceNotifications(boolean enable, Message result) { 275 } 276 277 @Override acknowledgeLastIncomingGsmSms(boolean success, int cause, Message result)278 public void acknowledgeLastIncomingGsmSms(boolean success, int cause, 279 Message result) { 280 } 281 282 @Override acknowledgeLastIncomingCdmaSms(boolean success, int cause, Message result)283 public void acknowledgeLastIncomingCdmaSms(boolean success, int cause, 284 Message result) { 285 } 286 287 @Override acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu, Message result)288 public void acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu, 289 Message result) { 290 } 291 292 @Override iccIO(int command, int fileid, String path, int p1, int p2, int p3, String data, String pin2, Message result)293 public void iccIO (int command, int fileid, String path, int p1, int p2, 294 int p3, String data, String pin2, Message result) { 295 } 296 @Override iccIOForApp(int command, int fileid, String path, int p1, int p2, int p3, String data, String pin2, String aid, Message result)297 public void iccIOForApp (int command, int fileid, String path, int p1, int p2, 298 int p3, String data, String pin2, String aid, Message result) { 299 } 300 301 @Override getCLIR(Message result)302 public void getCLIR(Message result) { 303 } 304 305 @Override setCLIR(int clirMode, Message result)306 public void setCLIR(int clirMode, Message result) { 307 } 308 309 @Override queryCallWaiting(int serviceClass, Message response)310 public void queryCallWaiting(int serviceClass, Message response) { 311 } 312 313 @Override setCallWaiting(boolean enable, int serviceClass, Message response)314 public void setCallWaiting(boolean enable, int serviceClass, 315 Message response) { 316 } 317 318 @Override setNetworkSelectionModeAutomatic(Message response)319 public void setNetworkSelectionModeAutomatic(Message response) { 320 } 321 322 @Override setNetworkSelectionModeManual(String operatorNumeric, int ran, Message response)323 public void setNetworkSelectionModeManual(String operatorNumeric, int ran, Message response) { 324 } 325 326 @Override getNetworkSelectionMode(Message response)327 public void getNetworkSelectionMode(Message response) { 328 } 329 330 @Override getAvailableNetworks(Message response)331 public void getAvailableNetworks(Message response) { 332 } 333 334 @Override startNetworkScan(NetworkScanRequest nsr, Message response)335 public void startNetworkScan(NetworkScanRequest nsr, Message response) { 336 } 337 338 @Override stopNetworkScan(Message response)339 public void stopNetworkScan(Message response) { 340 } 341 342 @Override setCallForward(int action, int cfReason, int serviceClass, String number, int timeSeconds, Message response)343 public void setCallForward(int action, int cfReason, int serviceClass, 344 String number, int timeSeconds, Message response) { 345 } 346 347 @Override queryCallForwardStatus(int cfReason, int serviceClass, String number, Message response)348 public void queryCallForwardStatus(int cfReason, int serviceClass, 349 String number, Message response) { 350 } 351 352 @Override queryCLIP(Message response)353 public void queryCLIP(Message response) { 354 } 355 356 @Override getBasebandVersion(Message response)357 public void getBasebandVersion (Message response) { 358 } 359 360 @Override queryFacilityLock(String facility, String password, int serviceClass, Message response)361 public void queryFacilityLock(String facility, String password, 362 int serviceClass, Message response) { 363 } 364 365 @Override queryFacilityLockForApp(String facility, String password, int serviceClass, String appId, Message response)366 public void queryFacilityLockForApp(String facility, String password, 367 int serviceClass, String appId, Message response) { 368 } 369 370 @Override setFacilityLock(String facility, boolean lockState, String password, int serviceClass, Message response)371 public void setFacilityLock(String facility, boolean lockState, 372 String password, int serviceClass, Message response) { 373 } 374 375 @Override setFacilityLockForApp(String facility, boolean lockState, String password, int serviceClass, String appId, Message response)376 public void setFacilityLockForApp(String facility, boolean lockState, 377 String password, int serviceClass, String appId, Message response) { 378 } 379 380 @Override sendUSSD(String ussdString, Message response)381 public void sendUSSD (String ussdString, Message response) { 382 } 383 384 @Override cancelPendingUssd(Message response)385 public void cancelPendingUssd (Message response) { 386 } 387 388 @Override setBandMode(int bandMode, Message response)389 public void setBandMode (int bandMode, Message response) { 390 } 391 392 @Override queryAvailableBandMode(Message response)393 public void queryAvailableBandMode (Message response) { 394 } 395 396 @Override sendTerminalResponse(String contents, Message response)397 public void sendTerminalResponse(String contents, Message response) { 398 } 399 400 @Override sendEnvelope(String contents, Message response)401 public void sendEnvelope(String contents, Message response) { 402 } 403 404 @Override sendEnvelopeWithStatus(String contents, Message response)405 public void sendEnvelopeWithStatus(String contents, Message response) { 406 } 407 408 @Override handleCallSetupRequestFromSim( boolean accept, Message response)409 public void handleCallSetupRequestFromSim( 410 boolean accept, Message response) { 411 } 412 413 @Override setPreferredNetworkType(int networkType , Message response)414 public void setPreferredNetworkType(int networkType , Message response) { 415 } 416 417 @Override getPreferredNetworkType(Message response)418 public void getPreferredNetworkType(Message response) { 419 } 420 421 @Override setAllowedNetworkTypesBitmap( @elephonyManager.NetworkTypeBitMask int networkTypeBitmask, Message response)422 public void setAllowedNetworkTypesBitmap( 423 @TelephonyManager.NetworkTypeBitMask int networkTypeBitmask, Message response) { 424 } 425 426 @Override getAllowedNetworkTypesBitmap(Message response)427 public void getAllowedNetworkTypesBitmap(Message response) { 428 } 429 430 @Override setLocationUpdates(boolean enable, Message response)431 public void setLocationUpdates(boolean enable, Message response) { 432 } 433 434 @Override getSmscAddress(Message result)435 public void getSmscAddress(Message result) { 436 } 437 438 @Override setSmscAddress(String address, Message result)439 public void setSmscAddress(String address, Message result) { 440 } 441 442 @Override reportSmsMemoryStatus(boolean available, Message result)443 public void reportSmsMemoryStatus(boolean available, Message result) { 444 } 445 446 @Override reportStkServiceIsRunning(Message result)447 public void reportStkServiceIsRunning(Message result) { 448 } 449 450 @Override getCdmaSubscriptionSource(Message response)451 public void getCdmaSubscriptionSource(Message response) { 452 } 453 454 @Override getGsmBroadcastConfig(Message response)455 public void getGsmBroadcastConfig(Message response) { 456 } 457 458 @Override setGsmBroadcastConfig(SmsBroadcastConfigInfo[] config, Message response)459 public void setGsmBroadcastConfig(SmsBroadcastConfigInfo[] config, Message response) { 460 } 461 462 @Override setGsmBroadcastActivation(boolean activate, Message response)463 public void setGsmBroadcastActivation(boolean activate, Message response) { 464 } 465 466 // ***** Methods for CDMA support 467 @Override getDeviceIdentity(Message response)468 public void getDeviceIdentity(Message response) { 469 } 470 471 @Override getImei(Message response)472 public void getImei(Message response) { 473 } 474 475 @Override getCDMASubscription(Message response)476 public void getCDMASubscription(Message response) { 477 } 478 479 @Override setPhoneType(int phoneType)480 public void setPhoneType(int phoneType) { //Set by CDMAPhone and GSMPhone constructor 481 } 482 483 @Override queryCdmaRoamingPreference(Message response)484 public void queryCdmaRoamingPreference(Message response) { 485 } 486 487 @Override setCdmaRoamingPreference(int cdmaRoamingType, Message response)488 public void setCdmaRoamingPreference(int cdmaRoamingType, Message response) { 489 } 490 491 @Override setCdmaSubscriptionSource(int cdmaSubscription , Message response)492 public void setCdmaSubscriptionSource(int cdmaSubscription , Message response) { 493 } 494 495 @Override queryTTYMode(Message response)496 public void queryTTYMode(Message response) { 497 } 498 499 @Override setTTYMode(int ttyMode, Message response)500 public void setTTYMode(int ttyMode, Message response) { 501 } 502 503 @Override sendCDMAFeatureCode(String FeatureCode, Message response)504 public void sendCDMAFeatureCode(String FeatureCode, Message response) { 505 } 506 507 @Override getCdmaBroadcastConfig(Message response)508 public void getCdmaBroadcastConfig(Message response) { 509 } 510 511 @Override setCdmaBroadcastConfig(CdmaSmsBroadcastConfigInfo[] configs, Message response)512 public void setCdmaBroadcastConfig(CdmaSmsBroadcastConfigInfo[] configs, Message response) { 513 } 514 515 @Override setCdmaBroadcastActivation(boolean activate, Message response)516 public void setCdmaBroadcastActivation(boolean activate, Message response) { 517 } 518 519 @Override exitEmergencyCallbackMode(Message response)520 public void exitEmergencyCallbackMode(Message response) { 521 } 522 523 @Override supplyIccPinForApp(String pin, String aid, Message response)524 public void supplyIccPinForApp(String pin, String aid, Message response) { 525 } 526 527 @Override supplyIccPukForApp(String puk, String newPin, String aid, Message response)528 public void supplyIccPukForApp(String puk, String newPin, String aid, Message response) { 529 } 530 531 @Override supplyIccPin2ForApp(String pin2, String aid, Message response)532 public void supplyIccPin2ForApp(String pin2, String aid, Message response) { 533 } 534 535 @Override supplyIccPuk2ForApp(String puk2, String newPin2, String aid, Message response)536 public void supplyIccPuk2ForApp(String puk2, String newPin2, String aid, Message response) { 537 } 538 539 @Override changeIccPinForApp(String oldPin, String newPin, String aidPtr, Message response)540 public void changeIccPinForApp(String oldPin, String newPin, String aidPtr, Message response) { 541 } 542 543 @Override changeIccPin2ForApp(String oldPin2, String newPin2, String aidPtr, Message response)544 public void changeIccPin2ForApp(String oldPin2, String newPin2, String aidPtr, 545 Message response) { 546 } 547 548 @Override requestIccSimAuthentication(int authContext, String data, String aid, Message response)549 public void requestIccSimAuthentication(int authContext, String data, String aid, Message response) { 550 } 551 552 @Override getVoiceRadioTechnology(Message result)553 public void getVoiceRadioTechnology(Message result) { 554 } 555 556 @Override setInitialAttachApn(DataProfile dataProfile, Message result)557 public void setInitialAttachApn(DataProfile dataProfile, Message result) { 558 } 559 560 @Override setDataProfile(DataProfile[] dps, Message result)561 public void setDataProfile(DataProfile[] dps, Message result) { 562 } 563 564 @Override iccOpenLogicalChannel(String AID, int p2, Message response)565 public void iccOpenLogicalChannel(String AID, int p2, Message response) {} 566 567 @Override iccCloseLogicalChannel(int channel, boolean isEs10, Message response)568 public void iccCloseLogicalChannel(int channel, boolean isEs10, Message response) {} 569 570 @Override iccTransmitApduLogicalChannel(int channel, int cla, int instruction, int p1, int p2, int p3, String data, boolean isEs10Command, Message response)571 public void iccTransmitApduLogicalChannel(int channel, int cla, int instruction, 572 int p1, int p2, int p3, String data, 573 boolean isEs10Command, Message response) {} 574 575 @Override iccTransmitApduBasicChannel(int cla, int instruction, int p1, int p2, int p3, String data, Message response)576 public void iccTransmitApduBasicChannel(int cla, int instruction, int p1, int p2, 577 int p3, String data, Message response) {} 578 579 @Override nvWriteCdmaPrl(byte[] preferredRoamingList, Message response)580 public void nvWriteCdmaPrl(byte[] preferredRoamingList, Message response) {} 581 582 @Override nvResetConfig(int resetType, Message response)583 public void nvResetConfig(int resetType, Message response) {} 584 585 @Override getHardwareConfig(Message result)586 public void getHardwareConfig(Message result) {} 587 588 @Override requestShutdown(Message result)589 public void requestShutdown(Message result) { 590 } 591 592 @Override setRadioCapability(RadioCapability rc, Message response)593 public void setRadioCapability(RadioCapability rc, Message response) { 594 } 595 596 @Override getRadioCapability(Message response)597 public void getRadioCapability(Message response) { 598 } 599 600 @Override setCarrierInfoForImsiEncryption(ImsiEncryptionInfo imsiEncryptionInfo, Message result)601 public void setCarrierInfoForImsiEncryption(ImsiEncryptionInfo imsiEncryptionInfo, 602 Message result) { 603 } 604 605 @Override sendDeviceState(int stateType, boolean state, Message result)606 public void sendDeviceState(int stateType, boolean state, Message result) { 607 } 608 609 @Override setUnsolResponseFilter(int filter, Message result)610 public void setUnsolResponseFilter(int filter, Message result){ 611 } 612 613 @Override setSignalStrengthReportingCriteria( List<SignalThresholdInfo> signalThresholdInfo, Message result)614 public void setSignalStrengthReportingCriteria( 615 List<SignalThresholdInfo> signalThresholdInfo, Message result) { 616 } 617 618 @Override setLinkCapacityReportingCriteria(int hysteresisMs, int hysteresisDlKbps, int hysteresisUlKbps, int[] thresholdsDlKbps, int[] thresholdsUlKbps, int ran, Message result)619 public void setLinkCapacityReportingCriteria(int hysteresisMs, int hysteresisDlKbps, 620 int hysteresisUlKbps, int[] thresholdsDlKbps, int[] thresholdsUlKbps, int ran, 621 Message result) { 622 } 623 624 @Override startNattKeepalive( int contextId, KeepalivePacketData packetData, int intervalMillis, Message result)625 public void startNattKeepalive( 626 int contextId, KeepalivePacketData packetData, int intervalMillis, Message result) { 627 } 628 629 @Override stopNattKeepalive(int sessionHandle, Message result)630 public void stopNattKeepalive(int sessionHandle, Message result) { 631 } 632 633 @Override allocatePduSessionId(Message result)634 public void allocatePduSessionId(Message result) { 635 } 636 637 @Override releasePduSessionId(Message result, int pduSessionId)638 public void releasePduSessionId(Message result, int pduSessionId) { 639 } 640 641 @Override startHandover(Message result, int callId)642 public void startHandover(Message result, int callId) { 643 } 644 645 @Override cancelHandover(Message result, int callId)646 public void cancelHandover(Message result, int callId) { 647 } 648 } 649