Loading services/core/java/com/android/server/TelephonyRegistry.java +13 −5 Original line number Diff line number Diff line Loading @@ -846,7 +846,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { mCallForwarding[i] = false; mCellIdentity[i] = null; mCellInfo.add(i, Collections.EMPTY_LIST); mImsReasonInfo.add(i, null); mImsReasonInfo.add(i, new ImsReasonInfo()); mSrvccState[i] = TelephonyManager.SRVCC_STATE_HANDOVER_NONE; mCallDisconnectCause[i] = DisconnectCause.NOT_VALID; mCallPreciseDisconnectCause[i] = PreciseDisconnectCause.NOT_VALID; Loading Loading @@ -1265,12 +1265,15 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { } } if (events.contains(TelephonyCallback.EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED)) { ImsReasonInfo imsReasonInfo = mImsReasonInfo.get(r.phoneId); if (imsReasonInfo != null) { try { r.callback.onImsCallDisconnectCauseChanged(mImsReasonInfo.get(r.phoneId)); r.callback.onImsCallDisconnectCauseChanged(imsReasonInfo); } catch (RemoteException ex) { remove(r.binder); } } } if (events.contains( TelephonyCallback.EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED)) { try { Loading Loading @@ -2418,6 +2421,11 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { int phoneId = getPhoneIdFromSubId(subId); synchronized (mRecords) { if (validatePhoneId(phoneId)) { if (imsReasonInfo == null) { loge("ImsReasonInfo is null, subId=" + subId + ", phoneId=" + phoneId); mImsReasonInfo.set(phoneId, new ImsReasonInfo()); return; } mImsReasonInfo.set(phoneId, imsReasonInfo); for (Record r : mRecords) { if (r.matchTelephonyCallbackEvent( Loading Loading
services/core/java/com/android/server/TelephonyRegistry.java +13 −5 Original line number Diff line number Diff line Loading @@ -846,7 +846,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { mCallForwarding[i] = false; mCellIdentity[i] = null; mCellInfo.add(i, Collections.EMPTY_LIST); mImsReasonInfo.add(i, null); mImsReasonInfo.add(i, new ImsReasonInfo()); mSrvccState[i] = TelephonyManager.SRVCC_STATE_HANDOVER_NONE; mCallDisconnectCause[i] = DisconnectCause.NOT_VALID; mCallPreciseDisconnectCause[i] = PreciseDisconnectCause.NOT_VALID; Loading Loading @@ -1265,12 +1265,15 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { } } if (events.contains(TelephonyCallback.EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED)) { ImsReasonInfo imsReasonInfo = mImsReasonInfo.get(r.phoneId); if (imsReasonInfo != null) { try { r.callback.onImsCallDisconnectCauseChanged(mImsReasonInfo.get(r.phoneId)); r.callback.onImsCallDisconnectCauseChanged(imsReasonInfo); } catch (RemoteException ex) { remove(r.binder); } } } if (events.contains( TelephonyCallback.EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED)) { try { Loading Loading @@ -2418,6 +2421,11 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub { int phoneId = getPhoneIdFromSubId(subId); synchronized (mRecords) { if (validatePhoneId(phoneId)) { if (imsReasonInfo == null) { loge("ImsReasonInfo is null, subId=" + subId + ", phoneId=" + phoneId); mImsReasonInfo.set(phoneId, new ImsReasonInfo()); return; } mImsReasonInfo.set(phoneId, imsReasonInfo); for (Record r : mRecords) { if (r.matchTelephonyCallbackEvent( Loading