diff options
author | Sarah Kim <sarahchin@google.com> | 2023-06-02 21:03:01 +0000 |
---|---|---|
committer | Sarah Chin <sarahchin@google.com> | 2023-06-02 14:10:18 -0700 |
commit | 1f515af2b9a187b8d86976a6af8dc95fead907b2 (patch) | |
tree | f7aa8846b620f0b51ae7055676f49de1f21d9a07 | |
parent | c689b1f4114bd5c625f952913c7a8ee3cb7177ec (diff) | |
download | telephony-android14-dev.tar.gz |
Revert "RIL handle AIDL binder died for all services at the same time"android14-dev
This reverts commit c588593f75620018cffd26f29a01ac42a32f0fd9.
Reason for revert: b/260768727
Change-Id: I8043a9d6e63e1c3c6df34a3fd11ded8932de8d51
Merged-In: I6c2cbc9e6b51109cf0050a32cfc691fbd9cb61e3
-rw-r--r-- | src/java/com/android/internal/telephony/RIL.java | 50 |
1 files changed, 14 insertions, 36 deletions
diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java index c6820c146c..5ecdfcbbd4 100644 --- a/src/java/com/android/internal/telephony/RIL.java +++ b/src/java/com/android/internal/telephony/RIL.java @@ -385,15 +385,12 @@ public class RIL extends BaseCommands implements CommandsInterface { case EVENT_AIDL_PROXY_DEAD: int aidlService = msg.arg1; long msgCookie = (long) msg.obj; + riljLog("handleMessage: EVENT_AIDL_PROXY_DEAD cookie = " + msgCookie + + ", service = " + serviceToString(aidlService) + ", cookie = " + + mServiceCookies.get(aidlService)); if (msgCookie == mServiceCookies.get(aidlService).get()) { - riljLog("handleMessage: EVENT_AIDL_PROXY_DEAD cookie = " + msgCookie - + ", service = " + serviceToString(aidlService) + ", cookie = " - + mServiceCookies.get(aidlService)); mIsRadioProxyInitialized = false; resetProxyAndRequestList(aidlService); - } else { - riljLog("Ignore stale EVENT_AIDL_PROXY_DEAD for service " - + serviceToString(aidlService)); } break; } @@ -438,7 +435,7 @@ public class RIL extends BaseCommands implements CommandsInterface { public void serviceDied(long cookie) { // Deal with service going away riljLog("serviceDied"); - mRilHandler.sendMessageAtFrontOfQueue(mRilHandler.obtainMessage(EVENT_RADIO_PROXY_DEAD, + mRilHandler.sendMessage(mRilHandler.obtainMessage(EVENT_RADIO_PROXY_DEAD, HAL_SERVICE_RADIO, 0 /* ignored arg2 */, cookie)); } } @@ -471,14 +468,8 @@ public class RIL extends BaseCommands implements CommandsInterface { @Override public void binderDied() { riljLog("Service " + serviceToString(mService) + " has died."); - if (!mRilHandler.hasMessages(EVENT_AIDL_PROXY_DEAD)) { - mRilHandler.sendMessageAtFrontOfQueue(mRilHandler.obtainMessage( - EVENT_AIDL_PROXY_DEAD, mService, 0 /* ignored arg2 */, - mServiceCookies.get(mService).get())); - } else { - riljLog("Not sending redundant EVENT_AIDL_PROXY_DEAD for service " - + serviceToString(mService)); - } + mRilHandler.sendMessage(mRilHandler.obtainMessage(EVENT_AIDL_PROXY_DEAD, mService, + 0 /* ignored arg2 */, mServiceCookies.get(mService).get())); unlinkToDeath(); } } @@ -487,19 +478,14 @@ public class RIL extends BaseCommands implements CommandsInterface { if (service == HAL_SERVICE_RADIO) { mRadioProxy = null; } else { - for (int i = MIN_SERVICE_IDX; i <= MAX_SERVICE_IDX; i++) { - if (i == HAL_SERVICE_RADIO) continue; - if (mServiceProxies.get(i) == null) { - // This should only happen in tests - riljLoge("Null service proxy for service " + serviceToString(i)); - continue; - } - mServiceProxies.get(i).clear(); - // Increment the cookie so that death notification can be ignored - mServiceCookies.get(i).incrementAndGet(); - } + mServiceProxies.get(service).clear(); } + // Increment the cookie so that death notification can be ignored + mServiceCookies.get(service).incrementAndGet(); + + // TODO: If a service doesn't exist or is unimplemented, it shouldn't cause the radio to + // become unavailable for all other services setRadioState(TelephonyManager.RADIO_POWER_UNAVAILABLE, true /* forceNotifyRegistrants */); RILRequest.resetSerial(); @@ -509,15 +495,7 @@ public class RIL extends BaseCommands implements CommandsInterface { if (service == HAL_SERVICE_RADIO) { getRadioProxy(null); } else { - for (int i = MIN_SERVICE_IDX; i <= MAX_SERVICE_IDX; i++) { - if (i == HAL_SERVICE_RADIO) continue; - if (mServiceProxies.get(i) == null) { - // This should only happen in tests - riljLoge("Null service proxy for service " + serviceToString(i)); - continue; - } - getRadioServiceProxy(i, null); - } + getRadioServiceProxy(service, null); } } @@ -1804,7 +1782,7 @@ public class RIL extends BaseCommands implements CommandsInterface { RILRequest rr = obtainRequest(RIL_REQUEST_GET_IMSI, result, mRILDefaultWorkSource); if (RILJ_LOGD) { - riljLog(rr.serialString() + ">" + RILUtils.requestToString(rr.mRequest) + riljLog(rr.serialString() + "> " + RILUtils.requestToString(rr.mRequest) + " aid = " + aid); } try { |