(void *)0x12345677);
}
{
+ const int data[1] = { 1 };
+ testRilRequest(context, RIL_REQUEST_GET_SIM_STATUS, data, sizeof(data),
+ (void *)0x12345677);
+ }
+ {
RilRequestWorkerQueue *rwq = new RilRequestWorkerQueue(context);
if (rwq->Run() == STATUS_OK) {
const int data[1] = { 1 };
rwq->AddRequest(RIL_REQUEST_SCREEN_STATE,
data, sizeof(data), (void *)0x1234567A);
rwq->AddRequest(RIL_REQUEST_SIGNAL_STRENGTH,
- data, sizeof(data), (void *)0x1234567A);
+ data, sizeof(data), (void *)0x1234567A);
// Sleep to let it be processed
v8::Unlocker unlocker;
sleep(3);
list */
var RIL_E_ILLEGAL_SIM_OR_ME = 15; /* network selection failed due to */
+var CARD_MAX_APPS = 8;
+
+/**
+ * Icc card state
+ */
+var CARDSTATE_ABSENT = 0;
+var CARDSTATE_PRESENT = 1;
+var CARDSTATE_ERROR = 2;
+
+/**
+ * RIL_PersoSubState
+ */
+var PERSOSUBSTATE_UNKNOWN = 0; /* initial state */
+var PERSOSUBSTATE_IN_PROGRESS = 1; /* in between each lock transition */
+var PERSOSUBSTATE_READY = 2; /* when either SIM or RUIM Perso is finished
+ since each app can only have 1 active perso
+ involved */
+var PERSOSUBSTATE_SIM_NETWORK = 3;
+var PERSOSUBSTATE_SIM_NETWORK_SUBSET = 4;
+var PERSOSUBSTATE_SIM_CORPORATE = 5;
+var PERSOSUBSTATE_SIM_SERVICE_PROVIDER = 6;
+var PERSOSUBSTATE_SIM_SIM = 7;
+var PERSOSUBSTATE_SIM_NETWORK_PUK = 8; /* The corresponding perso lock is blocked */
+var PERSOSUBSTATE_SIM_NETWORK_SUBSET_PUK = 9;
+var PERSOSUBSTATE_SIM_CORPORATE_PUK = 10;
+var PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK = 11;
+var PERSOSUBSTATE_SIM_SIM_PUK = 12;
+var PERSOSUBSTATE_RUIM_NETWORK1 = 13;
+var PERSOSUBSTATE_RUIM_NETWORK2 = 14;
+var PERSOSUBSTATE_RUIM_HRPD = 15;
+var PERSOSUBSTATE_RUIM_CORPORATE = 16;
+var PERSOSUBSTATE_RUIM_SERVICE_PROVIDER = 17;
+var PERSOSUBSTATE_RUIM_RUIM = 18;
+var PERSOSUBSTATE_RUIM_NETWORK1_PUK = 19; /* The corresponding perso lock is blocked */
+var PERSOSUBSTATE_RUIM_NETWORK2_PUK = 20;
+var PERSOSUBSTATE_RUIM_HRPD_PUK = 21;
+var PERSOSUBSTATE_RUIM_CORPORATE_PUK = 22;
+var PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK = 23;
+var PERSOSUBSTATE_RUIM_RUIM_PUK = 24;
+
+/**
+ * RIL_AppState
+ */
+var APPSTATE_UNKNOWN = 0;
+var APPSTATE_DETECTED = 1;
+var APPSTATE_PIN = 2; /* If PIN1 or UPin is required */
+var APPSTATE_PUK = 3; /* If PUK1 or Puk for UPin is required */
+var APPSTATE_SUBSCRIPTION_PERSO = 4; /* perso_substate should be look at
+ when app_state is assigned to this value */
+var APPSTATE_READY = 5;
+
+/**
+ * RIL_PinState
+ */
+var PINSTATE_UNKNOWN = 0;
+var PINSTATE_ENABLED_NOT_VERIFIED = 1;
+var PINSTATE_ENABLED_VERIFIED = 2;
+var PINSTATE_DISABLED = 3;
+var PINSTATE_ENABLED_BLOCKED = 4;
+var PINSTATE_ENABLED_PERM_BLOCKED = 5;
+
+/**
+ * RIL_AppType
+ */
+var APPTYPE_UNKNOWN = 0;
+var APPTYPE_SIM = 1;
+var APPTYPE_USIM = 2;
+var APPTYPE_RUIM = 3;
+var APPTYPE_CSIM = 4;
+
/**
* RIL_CallState
*/
var IMEI = '123456789012345';
var IMEISV = '00';
+ function RilAppStatus(type, state, persoState, aidPtr, appLabelPtr, pin1R, curPin1, curPin2) {
+ this.appType = type;
+ this.appState = state;
+ this.persoSubstate = persoState;
+ this.aid = aidPtr;
+ this.appLabel = appLabelPtr;
+ this.pin1Replaced = pin1R;
+ this.pin1 = curPin1;
+ this.pint2 = curPin2;
+ }
+
function RilCardStatus() {
- this.cardState = 0;
- this.universalPinState = 0;
+ this.cardState = CARDSTATE_PRESENT;
+ this.universalPinState = PINSTATE_UNKNOWN;
this.gsmUmtsSubscriptionAppIndex = 0;
- this.cdmaSubscriptionAppIndex = 0;
- this.numApplications = 0;
+ this.cdmaSubscriptionAppIndex = CARD_MAX_APPS;
+ this.numApplications = 1;
+ this.applications = new Array(CARD_MAX_APPS);
+
+ // Initialize application status
+ for (i = 0; i < CARD_MAX_APPS; i++) {
+ var app = new RilAppStatus(APPTYPE_UNKNOWN, APPSTATE_UNKNOWN, PERSOSUBSTATE_UNKNOWN,
+ null, null, 0, PINSTATE_UNKNOWN, PINSTATE_UNKNOWN);
+ this.applications[i] = app;
+ }
+
+ // set gsm application status.
+ var gsmApp = new RilAppStatus(APPTYPE_SIM, APPSTATE_READY, PERSOSUBSTATE_READY, null, null,
+ 0, PINSTATE_UNKNOWN, PINSTATE_UNKNOWN);
+ this.applications[this.gsmUmtsSubscriptionAppIndex] = gsmApp;
}
var cardStatus = new RilCardStatus();
var rsp = new Object();
rsp.cardStatus = cardStatus;
+
result.responseProtobuf = rilSchema[packageNameAndSeperator +
'RspGetSimStatus'].serialize(rsp);
return result;
}
this.printCalls(calls);
+ print('after add the call');
// Set call state to dialing
simulatedRadioWorker.add(
{'reqNum' : REQUEST_UNSOL_CALL_STATE_CHANGED,
'callIndex' : newCall.index,
'nextState' : CALLSTATE_DIALING});
// Update call state to alerting after 1 second
- simulatedRadioWorker.add(
+ simulatedRadioWorker.addDelayed(
{'reqNum' : REQUEST_UNSOL_CALL_STATE_CHANGED,
'callType' : OUTGOING,
'callIndex' : newCall.index,
// they have the same scope
result = (this.radioDispatchTable[req.reqNum]).call(this, req);
} catch (err) {
- print('err = ' + err);
+ print('Radio:process err = ' + err);
print('Radio: Unknown reqNum=' + req.reqNum);
result.rilErrCode = RIL_E_REQUEST_NOT_SUPPORTED;
}