char* getStkQueuedEventNotify(RIL_Token t) { #if (SIM_COUNT >= 2) #if (SIM_COUNT >= 4) /* Gemini plus 4 SIM*/ if (RIL_CHANNEL_SET4_OFFSET <= RIL_queryMyChannelId(t)) return pEvent_notify[3]; else #endif #if (SIM_COUNT >= 3) /* Gemini plus 3 SIM*/ if (RIL_CHANNEL_SET3_OFFSET <= RIL_queryMyChannelId(t)) return pEvent_notify[2]; else #endif if (RIL_CHANNEL_OFFSET <= RIL_queryMyChannelId(t)) return pEvent_notify[1]; else return pEvent_notify[0]; #else return pEvent_notify[0]; #endif }
bool getStkEventNotifyQueuedFlag(RIL_Token t) { LOGD("getStkEventNotifyQueuedFlag[%d][%d][%d][%d].", aIs_event_notify_queued[0], aIs_event_notify_queued[1], aIs_event_notify_queued[2], aIs_event_notify_queued[3]); #if (SIM_COUNT >= 2) #if (SIM_COUNT >= 4) /* Gemini plus 4 SIM*/ if (RIL_CHANNEL_SET4_OFFSET <= RIL_queryMyChannelId(t)) return aIs_event_notify_queued[3]; else #endif #if (SIM_COUNT >= 3) /* Gemini plus 3 SIM*/ if (RIL_CHANNEL_SET3_OFFSET <= RIL_queryMyChannelId(t)) return aIs_event_notify_queued[2]; else #endif if (RIL_CHANNEL_OFFSET <= RIL_queryMyChannelId(t)) return aIs_event_notify_queued[1]; else return aIs_event_notify_queued[0]; #else return aIs_event_notify_queued[0]; #endif }
void setStkEventNotifyQueuedFlagByTk(RIL_Token t, bool flag) { #if (SIM_COUNT >= 2) #if (SIM_COUNT >= 4) /* Gemini plus 4 SIM*/ if (RIL_CHANNEL_SET4_OFFSET <= RIL_queryMyChannelId(t)) aIs_event_notify_queued[3] = flag; else #endif #if (SIM_COUNT >= 3) /* Gemini plus 3 SIM*/ if (RIL_CHANNEL_SET3_OFFSET <= RIL_queryMyChannelId(t)) aIs_event_notify_queued[2] = flag; else #endif if (RIL_CHANNEL_OFFSET <= RIL_queryMyChannelId(t)) aIs_event_notify_queued[1] = flag; else aIs_event_notify_queued[0] = flag; #else aIs_event_notify_queued[0] = flag; #endif LOGD("setStkEventNotifyQueuedFlagByTk[%d][%d][%d][%d].", aIs_event_notify_queued[0], aIs_event_notify_queued[1], aIs_event_notify_queued[2], aIs_event_notify_queued[3]); }
char* getStkQueuedProactivCmd(RIL_Token t) { LOGD("getStkQueuedProactivCmd [simcount: %d][chId: %d].", SIM_COUNT, RIL_queryMyChannelId(t)); #if (SIM_COUNT >= 2) #if (SIM_COUNT >= 4) /* Gemini plus 4 SIM*/ if (RIL_CHANNEL_SET4_OFFSET <= RIL_queryMyChannelId(t)) return pProactive_cmd[3]; else #endif #if (SIM_COUNT >= 3) /* Gemini plus 3 SIM*/ if (RIL_CHANNEL_SET3_OFFSET <= RIL_queryMyChannelId(t)) return pProactive_cmd[2]; else #endif if (RIL_CHANNEL_OFFSET <= RIL_queryMyChannelId(t)) return pProactive_cmd[1]; else return pProactive_cmd[0]; #else return pProactive_cmd[0]; #endif }
void setStkServiceRunningFlagByTk(RIL_Token t, bool flag) { #if (SIM_COUNT >= 2) #if (SIM_COUNT >= 4) /* Gemini plus 4 SIM*/ if (RIL_CHANNEL_SET4_OFFSET <= RIL_queryMyChannelId(t)) aIs_stk_service_running[3] = flag; else #endif #if (SIM_COUNT >= 3) /* Gemini plus 3 SIM*/ if (RIL_CHANNEL_SET3_OFFSET <= RIL_queryMyChannelId(t)) aIs_stk_service_running[2] = flag; else #endif if (RIL_CHANNEL_OFFSET <= RIL_queryMyChannelId(t)) aIs_stk_service_running[1] = flag; else aIs_stk_service_running[0] = flag; #else aIs_stk_service_running[0] = flag; #endif LOGD("setStkServiceRunningFlagByTk[%d][%d][%d][%d].", aIs_stk_service_running[0], aIs_stk_service_running[1], aIs_stk_service_running[2], aIs_stk_service_running[3]); }
RILChannelCtx *getRILChannelCtxFromToken(RIL_Token t) { assert(RIL_queryMyChannelId(t) < RIL_SUPPORT_CHANNELS); return &(s_RILChannel[RIL_queryMyChannelId(t)]); }
/** * Call from RIL to us to make a RIL_REQUEST * * Must be completed with a call to RIL_onRequestComplete() * * RIL_onRequestComplete() may be called from any thread, before or after * this function returns. * * Will always be called from the same thread, so returning here implies * that the radio is ready to process another command (whether or not * the previous command has completed). */ static void onRequest (int request, void *data, size_t datalen, RIL_Token t) { RIL_RadioState radioState = sState; RLOGD("onRequest: %s", requestToString(request)); #ifdef MTK_GEMINI #if (MTK_GEMINI_SIM_NUM >= 4) /* Gemini plus 4 SIM*/ if (RIL_CHANNEL_SET4_OFFSET <= RIL_queryMyChannelId(t)) { radioState = sState4; } else #endif #if (MTK_GEMINI_SIM_NUM >= 3) /* Gemini plus 3 SIM*/ if (RIL_CHANNEL_SET3_OFFSET <= RIL_queryMyChannelId(t)) { radioState = sState3; } else #endif if (RIL_CHANNEL_OFFSET <= RIL_queryMyChannelId(t)) { radioState = sState2; } #endif /* Ignore all requests except RIL_REQUEST_GET_SIM_STATUS * when RADIO_STATE_UNAVAILABLE. */ if (radioState == RADIO_STATE_UNAVAILABLE && request != RIL_REQUEST_GET_SIM_STATUS ) { RIL_onRequestComplete(t, RIL_E_RADIO_NOT_AVAILABLE, NULL, 0); return; } /* Ignore all non-power requests when RADIO_STATE_OFF * (except RIL_REQUEST_GET_SIM_STATUS) */ if (radioState == RADIO_STATE_OFF && !(request == RIL_REQUEST_RADIO_POWER || request == RIL_REQUEST_RADIO_POWERON || request == RIL_REQUEST_DUAL_SIM_MODE_SWITCH || request == RIL_REQUEST_SET_GPRS_CONNECT_TYPE || request == RIL_REQUEST_SET_GPRS_TRANSFER_TYPE || request == RIL_REQUEST_GET_SIM_STATUS || request == RIL_REQUEST_GET_IMEI || request == RIL_REQUEST_GET_IMEISV || request == RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE || request == RIL_REQUEST_BASEBAND_VERSION || request == RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE || request == RIL_REQUEST_GET_PREFERRED_NETWORK_TYPE || request == RIL_REQUEST_SET_LOCATION_UPDATES || request == RIL_REQUEST_WRITE_SMS_TO_SIM || request == RIL_REQUEST_DELETE_SMS_ON_SIM || request == RIL_REQUEST_GSM_GET_BROADCAST_SMS_CONFIG || request == RIL_REQUEST_GSM_SET_BROADCAST_SMS_CONFIG || request == RIL_REQUEST_GSM_SMS_BROADCAST_ACTIVATION || request == RIL_REQUEST_GET_SMSC_ADDRESS || request == RIL_REQUEST_SET_SMSC_ADDRESS || request == RIL_REQUEST_REPORT_SMS_MEMORY_STATUS || request == RIL_REQUEST_SCREEN_STATE || request == RIL_REQUEST_RESET_RADIO || request == RIL_REQUEST_STK_SEND_TERMINAL_RESPONSE || request == RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND || request == RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM || request == RIL_REQUEST_QUERY_PHB_STORAGE_INFO || request == RIL_REQUEST_WRITE_PHB_ENTRY || request == RIL_REQUEST_READ_PHB_ENTRY || request == RIL_REQUEST_SET_TTY_MODE || request == RIL_REQUEST_MOBILEREVISION_AND_IMEI || request == RIL_REQUEST_QUERY_ICCID || request == RIL_REQUEST_GET_SMS_SIM_MEM_STATUS) ) { RIL_onRequestComplete(t, RIL_E_RADIO_NOT_AVAILABLE, NULL, 0); return; } /* set pending RIL request */ setRequest(request); if (!(rilSimMain(request, data, datalen, t) || rilNwMain(request, data, datalen, t) || rilCcMain(request, data, datalen, t) || rilSsMain(request, data, datalen, t) || rilSmsMain(request, data, datalen, t) || rilStkMain(request, data, datalen, t) || rilOemMain(request, data, datalen, t) || rilDataMain(request, data, datalen, t)) ) { RIL_onRequestComplete(t, RIL_E_REQUEST_NOT_SUPPORTED, NULL, 0); } /* Reset pending RIL request */ resetRequest(request); }