RIL changes for supporting generic SIM communication.
[android/platform/frameworks/opt/telephony.git] / src / java / com / android / internal / telephony / test / SimulatedCommands.java
index 4f61509..28e4d64 100644 (file)
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2006 The Android Open Source Project
+ * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,12 +21,13 @@ import android.os.AsyncResult;
 import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.Message;
-import android.util.Log;
+import android.telephony.Rlog;
 
 import com.android.internal.telephony.BaseCommands;
 import com.android.internal.telephony.CommandException;
 import com.android.internal.telephony.CommandsInterface;
-import com.android.internal.telephony.DataCallState;
+import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo;
+import com.android.internal.telephony.dataconnection.DataCallResponse;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.UUSInfo;
 import com.android.internal.telephony.gsm.CallFailCause;
@@ -36,7 +38,7 @@ import java.util.ArrayList;
 
 public final class SimulatedCommands extends BaseCommands
         implements CommandsInterface, SimulatedRadioControl {
-    private final static String LOG_TAG = "SIM";
+    private final static String LOG_TAG = "SimulatedCommands";
 
     private enum SimLockState {
         NONE,
@@ -76,10 +78,10 @@ public final class SimulatedCommands extends BaseCommands
     String mPin2Code;
     boolean mSsnNotifyOn = false;
 
-    int pausedResponseCount;
-    ArrayList<Message> pausedResponses = new ArrayList<Message>();
+    int mPausedResponseCount;
+    ArrayList<Message> mPausedResponses = new ArrayList<Message>();
 
-    int nextCallFailCause = CallFailCause.NORMAL_CLEARING;
+    int mNextCallFailCause = CallFailCause.NORMAL_CLEARING;
 
     //***** Constructor
 
@@ -103,13 +105,15 @@ public final class SimulatedCommands extends BaseCommands
 
     //***** CommandsInterface implementation
 
+    @Override
     public void getIccCardStatus(Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void supplyIccPin(String pin, Message result)  {
         if (mSimLockedState != SimLockState.REQUIRE_PIN) {
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPin: wrong state, state=" +
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPin: wrong state, state=" +
                     mSimLockedState);
             CommandException ex = new CommandException(
                     CommandException.Error.PASSWORD_INCORRECT);
@@ -119,7 +123,7 @@ public final class SimulatedCommands extends BaseCommands
         }
 
         if (pin != null && pin.equals(mPinCode)) {
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPin: success!");
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPin: success!");
             mPinUnlockAttempts = 0;
             mSimLockedState = SimLockState.NONE;
             mIccStatusChangedRegistrants.notifyRegistrants();
@@ -135,10 +139,10 @@ public final class SimulatedCommands extends BaseCommands
         if (result != null) {
             mPinUnlockAttempts ++;
 
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPin: failed! attempt=" +
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPin: failed! attempt=" +
                     mPinUnlockAttempts);
             if (mPinUnlockAttempts >= 3) {
-                Log.i(LOG_TAG, "[SimCmd] supplyIccPin: set state to REQUIRE_PUK");
+                Rlog.i(LOG_TAG, "[SimCmd] supplyIccPin: set state to REQUIRE_PUK");
                 mSimLockedState = SimLockState.REQUIRE_PUK;
             }
 
@@ -149,9 +153,10 @@ public final class SimulatedCommands extends BaseCommands
         }
     }
 
+    @Override
     public void supplyIccPuk(String puk, String newPin, Message result)  {
         if (mSimLockedState != SimLockState.REQUIRE_PUK) {
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPuk: wrong state, state=" +
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPuk: wrong state, state=" +
                     mSimLockedState);
             CommandException ex = new CommandException(
                     CommandException.Error.PASSWORD_INCORRECT);
@@ -161,7 +166,7 @@ public final class SimulatedCommands extends BaseCommands
         }
 
         if (puk != null && puk.equals(SIM_PUK_CODE)) {
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPuk: success!");
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPuk: success!");
             mSimLockedState = SimLockState.NONE;
             mPukUnlockAttempts = 0;
             mIccStatusChangedRegistrants.notifyRegistrants();
@@ -177,10 +182,10 @@ public final class SimulatedCommands extends BaseCommands
         if (result != null) {
             mPukUnlockAttempts ++;
 
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPuk: failed! attempt=" +
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPuk: failed! attempt=" +
                     mPukUnlockAttempts);
             if (mPukUnlockAttempts >= 10) {
-                Log.i(LOG_TAG, "[SimCmd] supplyIccPuk: set state to SIM_PERM_LOCKED");
+                Rlog.i(LOG_TAG, "[SimCmd] supplyIccPuk: set state to SIM_PERM_LOCKED");
                 mSimLockedState = SimLockState.SIM_PERM_LOCKED;
             }
 
@@ -191,9 +196,10 @@ public final class SimulatedCommands extends BaseCommands
         }
     }
 
+    @Override
     public void supplyIccPin2(String pin2, Message result)  {
         if (mSimFdnEnabledState != SimFdnState.REQUIRE_PIN2) {
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPin2: wrong state, state=" +
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPin2: wrong state, state=" +
                     mSimFdnEnabledState);
             CommandException ex = new CommandException(
                     CommandException.Error.PASSWORD_INCORRECT);
@@ -203,7 +209,7 @@ public final class SimulatedCommands extends BaseCommands
         }
 
         if (pin2 != null && pin2.equals(mPin2Code)) {
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPin2: success!");
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPin2: success!");
             mPin2UnlockAttempts = 0;
             mSimFdnEnabledState = SimFdnState.NONE;
 
@@ -218,10 +224,10 @@ public final class SimulatedCommands extends BaseCommands
         if (result != null) {
             mPin2UnlockAttempts ++;
 
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPin2: failed! attempt=" +
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPin2: failed! attempt=" +
                     mPin2UnlockAttempts);
             if (mPin2UnlockAttempts >= 3) {
-                Log.i(LOG_TAG, "[SimCmd] supplyIccPin2: set state to REQUIRE_PUK2");
+                Rlog.i(LOG_TAG, "[SimCmd] supplyIccPin2: set state to REQUIRE_PUK2");
                 mSimFdnEnabledState = SimFdnState.REQUIRE_PUK2;
             }
 
@@ -232,9 +238,10 @@ public final class SimulatedCommands extends BaseCommands
         }
     }
 
+    @Override
     public void supplyIccPuk2(String puk2, String newPin2, Message result)  {
         if (mSimFdnEnabledState != SimFdnState.REQUIRE_PUK2) {
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPuk2: wrong state, state=" +
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPuk2: wrong state, state=" +
                     mSimLockedState);
             CommandException ex = new CommandException(
                     CommandException.Error.PASSWORD_INCORRECT);
@@ -244,7 +251,7 @@ public final class SimulatedCommands extends BaseCommands
         }
 
         if (puk2 != null && puk2.equals(SIM_PUK2_CODE)) {
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPuk2: success!");
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPuk2: success!");
             mSimFdnEnabledState = SimFdnState.NONE;
             mPuk2UnlockAttempts = 0;
 
@@ -259,10 +266,10 @@ public final class SimulatedCommands extends BaseCommands
         if (result != null) {
             mPuk2UnlockAttempts ++;
 
-            Log.i(LOG_TAG, "[SimCmd] supplyIccPuk2: failed! attempt=" +
+            Rlog.i(LOG_TAG, "[SimCmd] supplyIccPuk2: failed! attempt=" +
                     mPuk2UnlockAttempts);
             if (mPuk2UnlockAttempts >= 10) {
-                Log.i(LOG_TAG, "[SimCmd] supplyIccPuk2: set state to SIM_PERM_LOCKED");
+                Rlog.i(LOG_TAG, "[SimCmd] supplyIccPuk2: set state to SIM_PERM_LOCKED");
                 mSimFdnEnabledState = SimFdnState.SIM_PERM_LOCKED;
             }
 
@@ -273,6 +280,7 @@ public final class SimulatedCommands extends BaseCommands
         }
     }
 
+    @Override
     public void changeIccPin(String oldPin, String newPin, Message result)  {
         if (oldPin != null && oldPin.equals(mPinCode)) {
             mPinCode = newPin;
@@ -285,7 +293,7 @@ public final class SimulatedCommands extends BaseCommands
         }
 
         if (result != null) {
-            Log.i(LOG_TAG, "[SimCmd] changeIccPin: pin failed!");
+            Rlog.i(LOG_TAG, "[SimCmd] changeIccPin: pin failed!");
 
             CommandException ex = new CommandException(
                     CommandException.Error.PASSWORD_INCORRECT);
@@ -294,6 +302,7 @@ public final class SimulatedCommands extends BaseCommands
         }
     }
 
+    @Override
     public void changeIccPin2(String oldPin2, String newPin2, Message result)  {
         if (oldPin2 != null && oldPin2.equals(mPin2Code)) {
             mPin2Code = newPin2;
@@ -306,7 +315,7 @@ public final class SimulatedCommands extends BaseCommands
         }
 
         if (result != null) {
-            Log.i(LOG_TAG, "[SimCmd] changeIccPin2: pin2 failed!");
+            Rlog.i(LOG_TAG, "[SimCmd] changeIccPin2: pin2 failed!");
 
             CommandException ex = new CommandException(
                     CommandException.Error.PASSWORD_INCORRECT);
@@ -315,17 +324,19 @@ public final class SimulatedCommands extends BaseCommands
         }
     }
 
+    @Override
     public void
     changeBarringPassword(String facility, String oldPwd, String newPwd, Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void
     setSuppServiceNotifications(boolean enable, Message result) {
         resultSuccess(result, null);
 
         if (enable && mSsnNotifyOn) {
-            Log.w(LOG_TAG, "Supp Service Notifications already enabled!");
+            Rlog.w(LOG_TAG, "Supp Service Notifications already enabled!");
         }
 
         mSsnNotifyOn = enable;
@@ -344,7 +355,7 @@ public final class SimulatedCommands extends BaseCommands
             if (result != null) {
                 int[] r = new int[1];
                 r[0] = (mSimLockEnabled ? 1 : 0);
-                Log.i(LOG_TAG, "[SimCmd] queryFacilityLock: SIM is "
+                Rlog.i(LOG_TAG, "[SimCmd] queryFacilityLock: SIM is "
                         + (r[0] == 0 ? "unlocked" : "locked"));
                 AsyncResult.forMessage(result, r, null);
                 result.sendToTarget();
@@ -354,7 +365,7 @@ public final class SimulatedCommands extends BaseCommands
             if (result != null) {
                 int[] r = new int[1];
                 r[0] = (mSimFdnEnabled ? 1 : 0);
-                Log.i(LOG_TAG, "[SimCmd] queryFacilityLock: FDN is "
+                Rlog.i(LOG_TAG, "[SimCmd] queryFacilityLock: FDN is "
                         + (r[0] == 0 ? "disabled" : "enabled"));
                 AsyncResult.forMessage(result, r, null);
                 result.sendToTarget();
@@ -378,7 +389,7 @@ public final class SimulatedCommands extends BaseCommands
         if (facility != null &&
                 facility.equals(CommandsInterface.CB_FACILITY_BA_SIM)) {
             if (pin != null && pin.equals(mPinCode)) {
-                Log.i(LOG_TAG, "[SimCmd] setFacilityLock: pin is valid");
+                Rlog.i(LOG_TAG, "[SimCmd] setFacilityLock: pin is valid");
                 mSimLockEnabled = lockEnabled;
 
                 if (result != null) {
@@ -390,7 +401,7 @@ public final class SimulatedCommands extends BaseCommands
             }
 
             if (result != null) {
-                Log.i(LOG_TAG, "[SimCmd] setFacilityLock: pin failed!");
+                Rlog.i(LOG_TAG, "[SimCmd] setFacilityLock: pin failed!");
 
                 CommandException ex = new CommandException(
                         CommandException.Error.GENERIC_FAILURE);
@@ -402,7 +413,7 @@ public final class SimulatedCommands extends BaseCommands
         }  else if (facility != null &&
                 facility.equals(CommandsInterface.CB_FACILITY_BA_FD)) {
             if (pin != null && pin.equals(mPin2Code)) {
-                Log.i(LOG_TAG, "[SimCmd] setFacilityLock: pin2 is valid");
+                Rlog.i(LOG_TAG, "[SimCmd] setFacilityLock: pin2 is valid");
                 mSimFdnEnabled = lockEnabled;
 
                 if (result != null) {
@@ -414,7 +425,7 @@ public final class SimulatedCommands extends BaseCommands
             }
 
             if (result != null) {
-                Log.i(LOG_TAG, "[SimCmd] setFacilityLock: pin2 failed!");
+                Rlog.i(LOG_TAG, "[SimCmd] setFacilityLock: pin2 failed!");
 
                 CommandException ex = new CommandException(
                         CommandException.Error.GENERIC_FAILURE);
@@ -428,6 +439,7 @@ public final class SimulatedCommands extends BaseCommands
         unimplemented(result);
     }
 
+    @Override
     public void supplyNetworkDepersonalization(String netpin, Message result)  {
         unimplemented(result);
     }
@@ -440,12 +452,13 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.result contains a List of DriverCall
      *      The ar.result List is sorted by DriverCall.index
      */
+    @Override
     public void getCurrentCalls (Message result) {
         if ((mState == RadioState.RADIO_ON) && !isSimLocked()) {
-            //Log.i("GSM", "[SimCmds] getCurrentCalls");
+            //Rlog.i("GSM", "[SimCmds] getCurrentCalls");
             resultSuccess(result, simulatedCallState.getDriverCalls());
         } else {
-            //Log.i("GSM", "[SimCmds] getCurrentCalls: RADIO_OFF or SIM not ready!");
+            //Rlog.i("GSM", "[SimCmds] getCurrentCalls: RADIO_OFF or SIM not ready!");
             resultFail(result,
                 new CommandException(
                     CommandException.Error.RADIO_NOT_AVAILABLE));
@@ -455,6 +468,8 @@ public final class SimulatedCommands extends BaseCommands
     /**
      *  @deprecated
      */
+    @Deprecated
+    @Override
     public void getPDPContextList(Message result) {
         getDataCallList(result);
     }
@@ -464,10 +479,11 @@ public final class SimulatedCommands extends BaseCommands
      *  retMsg.obj = AsyncResult ar
      *  ar.exception carries exception on failure
      *  ar.userObject contains the original value of result.obj
-     *  ar.result contains a List of DataCallState
+     *  ar.result contains a List of DataCallResponse
      */
+    @Override
     public void getDataCallList(Message result) {
-        resultSuccess(result, new ArrayList<DataCallState>(0));
+        resultSuccess(result, new ArrayList<DataCallResponse>(0));
     }
 
     /**
@@ -481,6 +497,7 @@ public final class SimulatedCommands extends BaseCommands
      * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation)
      * CLIR_INVOCATION  == on "CLIR invocation" (restrict CLI presentation)
      */
+    @Override
     public void dial (String address, int clirMode, Message result) {
         simulatedCallState.onDial(address);
 
@@ -498,12 +515,14 @@ public final class SimulatedCommands extends BaseCommands
      * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation)
      * CLIR_INVOCATION  == on "CLIR invocation" (restrict CLI presentation)
      */
+    @Override
     public void dial(String address, int clirMode, UUSInfo uusInfo, Message result) {
         simulatedCallState.onDial(address);
 
         resultSuccess(result, null);
     }
 
+    @Override
     public void getIMSI(Message result) {
         getIMSIForApp(null, result);
     }
@@ -514,6 +533,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is String containing IMSI on success
      */
+    @Override
     public void getIMSIForApp(String aid, Message result) {
         resultSuccess(result, "012345678901234");
     }
@@ -525,6 +545,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is String containing IMEI on success
      */
+    @Override
     public void getIMEI(Message result) {
         resultSuccess(result, "012345678901234");
     }
@@ -536,6 +557,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is String containing IMEISV on success
      */
+    @Override
     public void getIMEISV(Message result) {
         resultSuccess(result, "99");
     }
@@ -551,16 +573,17 @@ public final class SimulatedCommands extends BaseCommands
      *  3GPP 22.030 6.5.5
      *  "Releases a specific active call X"
      */
+    @Override
     public void hangupConnection (int gsmIndex, Message result) {
         boolean success;
 
         success = simulatedCallState.onChld('1', (char)('0'+gsmIndex));
 
         if (!success){
-            Log.i("GSM", "[SimCmd] hangupConnection: resultFail");
+            Rlog.i("GSM", "[SimCmd] hangupConnection: resultFail");
             resultFail(result, new RuntimeException("Hangup Error"));
         } else {
-            Log.i("GSM", "[SimCmd] hangupConnection: resultSuccess");
+            Rlog.i("GSM", "[SimCmd] hangupConnection: resultSuccess");
             resultSuccess(result, null);
         }
     }
@@ -573,6 +596,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void hangupWaitingOrBackground (Message result) {
         boolean success;
 
@@ -594,6 +618,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void hangupForegroundResumeBackground (Message result) {
         boolean success;
 
@@ -615,6 +640,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void switchWaitingOrHoldingAndActive (Message result) {
         boolean success;
 
@@ -635,6 +661,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void conference (Message result) {
         boolean success;
 
@@ -655,6 +682,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void explicitCallTransfer (Message result) {
         boolean success;
 
@@ -672,6 +700,7 @@ public final class SimulatedCommands extends BaseCommands
      * "Places all active calls on hold except call X with which
      *  communication shall be supported."
      */
+    @Override
     public void separateConnection (int gsmIndex, Message result) {
         boolean success;
 
@@ -691,6 +720,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void acceptCall (Message result) {
         boolean success;
 
@@ -709,6 +739,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void rejectCall (Message result) {
         boolean success;
 
@@ -729,27 +760,33 @@ public final class SimulatedCommands extends BaseCommands
      * - Any defined in 22.001 F.4 (for generating busy/congestion)
      * - Cause 68: ACM >= ACMMax
      */
+    @Override
     public void getLastCallFailCause (Message result) {
         int[] ret = new int[1];
 
-        ret[0] = nextCallFailCause;
+        ret[0] = mNextCallFailCause;
         resultSuccess(result, ret);
     }
 
     /**
      * @deprecated
      */
+    @Deprecated
+    @Override
     public void getLastPdpFailCause (Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void getLastDataCallFailCause(Message result) {
         //
         unimplemented(result);
     }
 
+    @Override
     public void setMute (boolean enableMute, Message result) {unimplemented(result);}
 
+    @Override
     public void getMute (Message result) {unimplemented(result);}
 
     /**
@@ -759,6 +796,7 @@ public final class SimulatedCommands extends BaseCommands
      * response.obj.result[1] is  bit error rate (0-7, 99)
      * as defined in TS 27.007 8.5
      */
+    @Override
     public void getSignalStrength (Message result) {
         int ret[] = new int[2];
 
@@ -774,6 +812,7 @@ public final class SimulatedCommands extends BaseCommands
      * @param bandMode one of BM_*_BAND
      * @param result is callback message
      */
+    @Override
     public void setBandMode (int bandMode, Message result) {
         resultSuccess(result, null);
     }
@@ -785,6 +824,7 @@ public final class SimulatedCommands extends BaseCommands
      *        ((AsyncResult)response.obj).result  is an int[] with every
      *        element representing one available BM_*_BAND
      */
+    @Override
     public void queryAvailableBandMode (Message result) {
         int ret[] = new int [4];
 
@@ -799,6 +839,7 @@ public final class SimulatedCommands extends BaseCommands
     /**
      * {@inheritDoc}
      */
+    @Override
     public void sendTerminalResponse(String contents, Message response) {
         resultSuccess(response, null);
     }
@@ -806,6 +847,7 @@ public final class SimulatedCommands extends BaseCommands
     /**
      * {@inheritDoc}
      */
+    @Override
     public void sendEnvelope(String contents, Message response) {
         resultSuccess(response, null);
     }
@@ -813,6 +855,7 @@ public final class SimulatedCommands extends BaseCommands
     /**
      * {@inheritDoc}
      */
+    @Override
     public void sendEnvelopeWithStatus(String contents, Message response) {
         resultSuccess(response, null);
     }
@@ -820,6 +863,7 @@ public final class SimulatedCommands extends BaseCommands
     /**
      * {@inheritDoc}
      */
+    @Override
     public void handleCallSetupRequestFromSim(
             boolean accept, Message response) {
         resultSuccess(response, null);
@@ -832,6 +876,7 @@ public final class SimulatedCommands extends BaseCommands
      * Please note that registration state 4 ("unknown") is treated
      * as "out of service" above
      */
+    @Override
     public void getVoiceRegistrationState (Message result) {
         String ret[] = new String[14];
 
@@ -870,6 +915,7 @@ public final class SimulatedCommands extends BaseCommands
      * Please note that registration state 4 ("unknown") is treated
      * as "out of service" in the Android telephony system
      */
+    @Override
     public void getDataRegistrationState (Message result) {
         String ret[] = new String[4];
 
@@ -887,6 +933,7 @@ public final class SimulatedCommands extends BaseCommands
      * response.obj.result[1] is short alpha or null if unregistered
      * response.obj.result[2] is numeric or null if unregistered
      */
+    @Override
     public void getOperator(Message result) {
         String[] ret = new String[3];
 
@@ -902,6 +949,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void sendDtmf(char c, Message result) {
         resultSuccess(result, null);
     }
@@ -911,6 +959,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void startDtmf(char c, Message result) {
         resultSuccess(result, null);
     }
@@ -920,6 +969,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void stopDtmf(Message result) {
         resultSuccess(result, null);
     }
@@ -929,6 +979,7 @@ public final class SimulatedCommands extends BaseCommands
      *  ar.userObject contains the original value of result.obj
      *  ar.result is null on success and failure
      */
+    @Override
     public void sendBurstDtmf(String dtmfString, int on, int off, Message result) {
         resultSuccess(result, null);
     }
@@ -939,41 +990,50 @@ public final class SimulatedCommands extends BaseCommands
      * pdu is SMS in PDU format as an ASCII hex string
      *      less the SMSC address
      */
+    @Override
     public void sendSMS (String smscPDU, String pdu, Message result) {unimplemented(result);}
 
+    @Override
     public void deleteSmsOnSim(int index, Message response) {
-        Log.d(LOG_TAG, "Delete message at index " + index);
+        Rlog.d(LOG_TAG, "Delete message at index " + index);
         unimplemented(response);
     }
 
+    @Override
     public void deleteSmsOnRuim(int index, Message response) {
-        Log.d(LOG_TAG, "Delete RUIM message at index " + index);
+        Rlog.d(LOG_TAG, "Delete RUIM message at index " + index);
         unimplemented(response);
     }
 
+    @Override
     public void writeSmsToSim(int status, String smsc, String pdu, Message response) {
-        Log.d(LOG_TAG, "Write SMS to SIM with status " + status);
+        Rlog.d(LOG_TAG, "Write SMS to SIM with status " + status);
         unimplemented(response);
     }
 
+    @Override
     public void writeSmsToRuim(int status, String pdu, Message response) {
-        Log.d(LOG_TAG, "Write SMS to RUIM with status " + status);
+        Rlog.d(LOG_TAG, "Write SMS to RUIM with status " + status);
         unimplemented(response);
     }
 
+    @Override
     public void setupDataCall(String radioTechnology, String profile,
             String apn, String user, String password, String authType,
             String protocol, Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void deactivateDataCall(int cid, int reason, Message result) {unimplemented(result);}
 
+    @Override
     public void setPreferredNetworkType(int networkType , Message result) {
         mNetworkType = networkType;
         resultSuccess(result, null);
     }
 
+    @Override
     public void getPreferredNetworkType(Message result) {
         int ret[] = new int[1];
 
@@ -981,6 +1041,7 @@ public final class SimulatedCommands extends BaseCommands
         resultSuccess(result, ret);
     }
 
+    @Override
     public void getNeighboringCids(Message result) {
         int ret[] = new int[7];
 
@@ -991,22 +1052,27 @@ public final class SimulatedCommands extends BaseCommands
         resultSuccess(result, ret);
     }
 
+    @Override
     public void setLocationUpdates(boolean enable, Message response) {
         unimplemented(response);
     }
 
+    @Override
     public void getSmscAddress(Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void setSmscAddress(String address, Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void reportSmsMemoryStatus(boolean available, Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void reportStkServiceIsRunning(Message result) {
         resultSuccess(result, null);
     }
@@ -1023,6 +1089,7 @@ public final class SimulatedCommands extends BaseCommands
         return false;
     }
 
+    @Override
     public void setRadioPower(boolean on, Message result) {
         if(on) {
             setRadioState(RadioState.RADIO_ON);
@@ -1032,19 +1099,23 @@ public final class SimulatedCommands extends BaseCommands
     }
 
 
+    @Override
     public void acknowledgeLastIncomingGsmSms(boolean success, int cause, Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void acknowledgeLastIncomingCdmaSms(boolean success, int cause, Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu,
             Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void iccIO(int command, int fileid, String path, int p1, int p2, int p3, String data,
             String pin2, Message response) {
         iccIOForApp(command, fileid, path, p1, p2, p3, data,pin2, null, response);
@@ -1055,6 +1126,7 @@ public final class SimulatedCommands extends BaseCommands
      * response.obj will be an AsyncResult
      * response.obj.userObj will be a SimIoResult on success
      */
+    @Override
     public void iccIOForApp (int command, int fileid, String path, int p1, int p2,
                        int p3, String data, String pin2, String aid, Message result) {
         unimplemented(result);
@@ -1066,6 +1138,7 @@ public final class SimulatedCommands extends BaseCommands
      *
      * @param response is callback message
      */
+    @Override
     public void queryCLIP(Message response) { unimplemented(response); }
 
 
@@ -1085,6 +1158,7 @@ public final class SimulatedCommands extends BaseCommands
      *  4 CLIR temporary mode presentation allowed
      */
 
+    @Override
     public void getCLIR(Message result) {unimplemented(result);}
 
     /**
@@ -1093,6 +1167,7 @@ public final class SimulatedCommands extends BaseCommands
      * response.obj is null
      */
 
+    @Override
     public void setCLIR(int clirMode, Message result) {unimplemented(result);}
 
     /**
@@ -1103,6 +1178,7 @@ public final class SimulatedCommands extends BaseCommands
      * @param response is callback message
      */
 
+    @Override
     public void queryCallWaiting(int serviceClass, Message response) {
         unimplemented(response);
     }
@@ -1113,6 +1189,7 @@ public final class SimulatedCommands extends BaseCommands
      * @param response is callback message
      */
 
+    @Override
     public void setCallWaiting(boolean enable, int serviceClass,
             Message response) {
         unimplemented(response);
@@ -1123,6 +1200,7 @@ public final class SimulatedCommands extends BaseCommands
      * @param cfReason is one of CF_REASON_*
      * @param serviceClass is a sum of SERVICE_CLASSS_*
      */
+    @Override
     public void setCallForward(int action, int cfReason, int serviceClass,
             String number, int timeSeconds, Message result) {unimplemented(result);}
 
@@ -1134,11 +1212,15 @@ public final class SimulatedCommands extends BaseCommands
      *
      * An array of length 0 means "disabled for all codes"
      */
+    @Override
     public void queryCallForwardStatus(int cfReason, int serviceClass,
             String number, Message result) {unimplemented(result);}
 
+    @Override
     public void setNetworkSelectionModeAutomatic(Message result) {unimplemented(result);}
+    @Override
     public void exitEmergencyCallbackMode(Message result) {unimplemented(result);}
+    @Override
     public void setNetworkSelectionModeManual(
             String operatorNumeric, Message result) {unimplemented(result);}
 
@@ -1150,6 +1232,7 @@ public final class SimulatedCommands extends BaseCommands
      * a 0 for automatic selection and a 1 for manual selection
      */
 
+    @Override
     public void getNetworkSelectionMode(Message result) {
         int ret[] = new int[1];
 
@@ -1162,8 +1245,10 @@ public final class SimulatedCommands extends BaseCommands
      *
      * ((AsyncResult)response.obj).result  is a List of NetworkInfo objects
      */
+    @Override
     public void getAvailableNetworks(Message result) {unimplemented(result);}
 
+    @Override
     public void getBasebandVersion (Message result) {
         resultSuccess(result, "SimulatedCommands");
     }
@@ -1174,6 +1259,7 @@ public final class SimulatedCommands extends BaseCommands
      * in CommandsInterface.java
      * @param message Message text to send or null if none
      */
+    @Override
     public void triggerIncomingUssd(String statusCode, String message) {
         if (mUSSDRegistrant != null) {
             String[] result = {statusCode, message};
@@ -1182,6 +1268,7 @@ public final class SimulatedCommands extends BaseCommands
     }
 
 
+    @Override
     public void sendUSSD (String ussdString, Message result) {
 
         // We simulate this particular sequence
@@ -1198,15 +1285,18 @@ public final class SimulatedCommands extends BaseCommands
     }
 
     // inherited javadoc suffices
+    @Override
     public void cancelPendingUssd (Message response) {
         resultSuccess(response, null);
     }
 
 
+    @Override
     public void resetRadio(Message result) {
         unimplemented(result);
     }
 
+    @Override
     public void invokeOemRilRequestRaw(byte[] data, Message response) {
         // Just echo back data
         if (response != null) {
@@ -1215,6 +1305,7 @@ public final class SimulatedCommands extends BaseCommands
         }
     }
 
+    @Override
     public void invokeOemRilRequestStrings(String[] strings, Message response) {
         // Just echo back data
         if (response != null) {
@@ -1227,12 +1318,14 @@ public final class SimulatedCommands extends BaseCommands
 
 
     /** Start the simulated phone ringing */
+    @Override
     public void
     triggerRing(String number) {
         simulatedCallState.triggerRing(number);
         mCallStateRegistrants.notifyRegistrants();
     }
 
+    @Override
     public void
     progressConnectingCallState() {
         simulatedCallState.progressConnectingCallState();
@@ -1240,6 +1333,7 @@ public final class SimulatedCommands extends BaseCommands
     }
 
     /** If a call is DIALING or ALERTING, progress it all the way to ACTIVE */
+    @Override
     public void
     progressConnectingToActive() {
         simulatedCallState.progressConnectingToActive();
@@ -1249,21 +1343,25 @@ public final class SimulatedCommands extends BaseCommands
     /** automatically progress mobile originated calls to ACTIVE.
      *  default to true
      */
+    @Override
     public void
     setAutoProgressConnectingCall(boolean b) {
         simulatedCallState.setAutoProgressConnectingCall(b);
     }
 
+    @Override
     public void
     setNextDialFailImmediately(boolean b) {
         simulatedCallState.setNextDialFailImmediately(b);
     }
 
+    @Override
     public void
     setNextCallFailCause(int gsmCause) {
-        nextCallFailCause = gsmCause;
+        mNextCallFailCause = gsmCause;
     }
 
+    @Override
     public void
     triggerHangupForeground() {
         simulatedCallState.triggerHangupForeground();
@@ -1271,12 +1369,14 @@ public final class SimulatedCommands extends BaseCommands
     }
 
     /** hangup holding calls */
+    @Override
     public void
     triggerHangupBackground() {
         simulatedCallState.triggerHangupBackground();
         mCallStateRegistrants.notifyRegistrants();
     }
 
+    @Override
     public void triggerSsn(int type, int code) {
         SuppServiceNotification not = new SuppServiceNotification();
         not.notificationType = type;
@@ -1284,6 +1384,7 @@ public final class SimulatedCommands extends BaseCommands
         mSsnRegistrant.notifyRegistrant(new AsyncResult(null, not, null));
     }
 
+    @Override
     public void
     shutdown() {
         setRadioState(RadioState.RADIO_UNAVAILABLE);
@@ -1295,33 +1396,37 @@ public final class SimulatedCommands extends BaseCommands
 
     /** hangup all */
 
+    @Override
     public void
     triggerHangupAll() {
         simulatedCallState.triggerHangupAll();
         mCallStateRegistrants.notifyRegistrants();
     }
 
+    @Override
     public void
     triggerIncomingSMS(String message) {
         //TODO
     }
 
+    @Override
     public void
     pauseResponses() {
-        pausedResponseCount++;
+        mPausedResponseCount++;
     }
 
+    @Override
     public void
     resumeResponses() {
-        pausedResponseCount--;
+        mPausedResponseCount--;
 
-        if (pausedResponseCount == 0) {
-            for (int i = 0, s = pausedResponses.size(); i < s ; i++) {
-                pausedResponses.get(i).sendToTarget();
+        if (mPausedResponseCount == 0) {
+            for (int i = 0, s = mPausedResponses.size(); i < s ; i++) {
+                mPausedResponses.get(i).sendToTarget();
             }
-            pausedResponses.clear();
+            mPausedResponses.clear();
         } else {
-            Log.e("GSM", "SimulatedCommands.resumeResponses < 0");
+            Rlog.e("GSM", "SimulatedCommands.resumeResponses < 0");
         }
     }
 
@@ -1332,8 +1437,8 @@ public final class SimulatedCommands extends BaseCommands
             AsyncResult.forMessage(result).exception
                 = new RuntimeException("Unimplemented");
 
-            if (pausedResponseCount > 0) {
-                pausedResponses.add(result);
+            if (mPausedResponseCount > 0) {
+                mPausedResponses.add(result);
             } else {
                 result.sendToTarget();
             }
@@ -1343,8 +1448,8 @@ public final class SimulatedCommands extends BaseCommands
     private void resultSuccess(Message result, Object ret) {
         if (result != null) {
             AsyncResult.forMessage(result).result = ret;
-            if (pausedResponseCount > 0) {
-                pausedResponses.add(result);
+            if (mPausedResponseCount > 0) {
+                mPausedResponses.add(result);
             } else {
                 result.sendToTarget();
             }
@@ -1354,8 +1459,8 @@ public final class SimulatedCommands extends BaseCommands
     private void resultFail(Message result, Throwable tr) {
         if (result != null) {
             AsyncResult.forMessage(result).exception = tr;
-            if (pausedResponseCount > 0) {
-                pausedResponses.add(result);
+            if (mPausedResponseCount > 0) {
+                mPausedResponses.add(result);
             } else {
                 result.sendToTarget();
             }
@@ -1363,46 +1468,54 @@ public final class SimulatedCommands extends BaseCommands
     }
 
     // ***** Methods for CDMA support
+    @Override
     public void
     getDeviceIdentity(Message response) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
         unimplemented(response);
     }
 
+    @Override
     public void
     getCDMASubscription(Message response) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
         unimplemented(response);
     }
 
+    @Override
     public void
     setCdmaSubscriptionSource(int cdmaSubscriptionType, Message response) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
         unimplemented(response);
     }
 
+    @Override
     public void queryCdmaRoamingPreference(Message response) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
         unimplemented(response);
     }
 
+    @Override
     public void setCdmaRoamingPreference(int cdmaRoamingType, Message response) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
         unimplemented(response);
     }
 
+    @Override
     public void
     setPhoneType(int phoneType) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
     }
 
+    @Override
     public void getPreferredVoicePrivacy(Message result) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
         unimplemented(result);
     }
 
+    @Override
     public void setPreferredVoicePrivacy(boolean enable, Message result) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
         unimplemented(result);
     }
 
@@ -1416,8 +1529,9 @@ public final class SimulatedCommands extends BaseCommands
      * - {@link com.android.internal.telephony.Phone#TTY_MODE_VCO}
      * @param response is callback message
      */
+    @Override
     public void setTTYMode(int ttyMode, Message response) {
-        Log.w(LOG_TAG, "Not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "Not implemented in SimulatedCommands");
         unimplemented(response);
     }
 
@@ -1431,39 +1545,44 @@ public final class SimulatedCommands extends BaseCommands
      * - {@link com.android.internal.telephony.Phone#TTY_MODE_VCO}
      * @param response is callback message
      */
+    @Override
     public void queryTTYMode(Message response) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
         unimplemented(response);
     }
 
     /**
      * {@inheritDoc}
      */
+    @Override
     public void sendCDMAFeatureCode(String FeatureCode, Message response) {
-        Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+        Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
         unimplemented(response);
     }
 
     /**
      * {@inheritDoc}
      */
+    @Override
     public void sendCdmaSms(byte[] pdu, Message response){
-       Log.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
+       Rlog.w(LOG_TAG, "CDMA not implemented in SimulatedCommands");
     }
 
+    @Override
     public void setCdmaBroadcastActivation(boolean activate, Message response) {
         unimplemented(response);
 
     }
 
+    @Override
     public void getCdmaBroadcastConfig(Message response) {
         unimplemented(response);
 
     }
 
-    public void setCdmaBroadcastConfig(int[] configValuesArray, Message response) {
+    @Override
+    public void setCdmaBroadcastConfig(CdmaSmsBroadcastConfigInfo[] configs, Message response) {
         unimplemented(response);
-
     }
 
     public void forceDataDormancy(Message response) {
@@ -1471,15 +1590,18 @@ public final class SimulatedCommands extends BaseCommands
     }
 
 
+    @Override
     public void setGsmBroadcastActivation(boolean activate, Message response) {
         unimplemented(response);
     }
 
 
+    @Override
     public void setGsmBroadcastConfig(SmsBroadcastConfigInfo[] config, Message response) {
         unimplemented(response);
     }
 
+    @Override
     public void getGsmBroadcastConfig(Message response) {
         unimplemented(response);
     }
@@ -1515,11 +1637,67 @@ public final class SimulatedCommands extends BaseCommands
         unimplemented(response);
     }
 
+    @Override
     public void requestIsimAuthentication(String nonce, Message response) {
         unimplemented(response);
     }
 
+    @Override
     public void getVoiceRadioTechnology(Message response) {
         unimplemented(response);
     }
+
+    @Override
+    public void getCellInfoList(Message response) {
+        unimplemented(response);
+    }
+
+    @Override
+    public void setCellInfoListRate(int rateInMillis, Message response) {
+        unimplemented(response);
+    }
+
+    @Override
+    public void setInitialAttachApn(String apn, String protocol, int authType, String username,
+            String password, Message result) {
+    }
+
+    @Override
+    public void getImsRegistrationState(Message response) {
+        unimplemented(response);
+    }
+
+    @Override
+    public void sendImsCdmaSms(byte[] pdu, int retry, int messageRef,
+            Message response){
+        unimplemented(response);
+    }
+
+    @Override
+    public void sendImsGsmSms(String smscPDU, String pdu,
+            int retry, int messageRef, Message response){
+        unimplemented(response);
+    }
+
+    @Override
+    public void iccOpenLogicalChannel(String AID, Message response) {
+        unimplemented(response);
+    }
+
+    @Override
+    public void iccCloseLogicalChannel(int channel, Message response) {
+        unimplemented(response);
+    }
+
+    @Override
+    public void iccTransmitApduLogicalChannel(int channel, int cla, int instruction,
+            int p1, int p2, int p3, String data, Message response) {
+        unimplemented(response);
+    }
+
+    @Override
+    public void iccTransmitApduBasicChannel(int cla, int instruction, int p1, int p2,
+            int p3, String data, Message response) {
+        unimplemented(response);
+    }
 }