【アンドロイドP] [ネットワークデータ] [注1.] PhoneSwitcher SUBSCRIPTION_CHANGED

onEvaluateにPhoneSwitcher:
PhoneSwitcher.mDefaultDataChangedReceiver.onReceive-> EVENT_DEFAULT_SUBSCRIPTION_CHANGED-> onEvaluate(REQUESTS_UNCHANGED、 "defaultChanged")
PhoneSwitcher.mSubscriptionsChangedListener.onSubscriptionsChanged-> EVENT_SUBSCRIPTION_CHANGED-> onEvaluate( "subChanged" REQUESTS_UNCHANGED)

(onEvaluate ??に他)

 

onEvaluateに有効化/無効化:
PhoneSwitcher.onEvaluate
    - >一覧<整数> newActivePhones =新しいのArrayList <Integer型>();
    - >(DcRequest dcRequest:mPrioritizedDcRequests)のための
    - > INT phoneIdForRequest = phoneIdForRequest(dcRequest.networkRequest)。
    - > newActivePhones.add(phoneIdForRequest)。
    - >もし(newActivePhones.size()> = mMaxActivePhones)ブレーク。
    - >のための(INT phoneidなど= 0; phoneidなど<mNumPhones; phoneidなど++)
    - > IF(newActivePhones.contains(phoneidなど)==偽)
    - > deactivate-> RIL.setDataAllowed(偽)
    - >のための(INT phoneidなど:newActivePhones)
    - > activate-> RIL.setDataAllowed(真)

 

有効化/無効化DcTracker.requestNetworkへ:
mActivePhoneRegistrants notifyRegistrants:
PhoneSwitcher.activate / deactivate-> mActivePhoneRegistrants [phoneidなど] .notifyRegistrants-> TelephonyNetworkFactory.EVENT_ACTIVE_PHONE_SWITCH-> onActivePhoneSwitch
TelephonyNetworkFactory.onActivePhoneSwitch / onDefaultChange-> applyRequests-> DcTracker.requestNetwork - > ...

 

setDataAllowed:
RIL.setDataAllowed-> RIL_REQUEST_ALLOW_DATA-> IRadio.setDataAllowed - > ...-> ril_service.cpp-> RadioImpl :: setDataAllowed-> dispatchInts(シリアル、mSlotId、RIL_REQUEST_ALLOW_DATA、1、BOOL_TO_INT(許可))
    - >アンドロイド。 :addRequestToList-> Ril.cpp-> addRequestToList
    - > CALL_ONREQUEST-> RIL_RadioFunctions-> onRequest - > ...
- > ...->参照ril.c.onRequest-> RIL_REQUEST_ALLOW_DATA-> RIL_onRequestComplete-> RIL_Env-> OnRequestComplete
構造体RIL_Env RilSapSocket :: uimRilEnv = {
        .OnRequestComplete = RilSapSocket :: sOnRequestComplete、
        .OnUnsolicitedResponse = RilSapSocket :: sOnUnsolicitedResponse、
        .RequestTimedCallback = RIL_requestTimedCallback
}。
- > ...-> RilSapSocket :: sOnRequestComplete-> onRequestComplete

おすすめ

転載: www.cnblogs.com/sxjzhjj/p/12293237.html