Loading src/java/com/android/internal/telephony/dataconnection/DcTracker.java +6 −5 Original line number Diff line number Diff line Loading @@ -1354,7 +1354,7 @@ public class DcTracker extends Handler { reasons.add(DataDisallowedReasonType.ON_IWLAN); } if (isEmergency()) { if (shouldRestrictDataForEcbm() || mPhone.isInEmergencyCall()) { reasons.add(DataDisallowedReasonType.IN_ECBM); } Loading Loading @@ -1500,10 +1500,11 @@ public class DcTracker extends Handler { } } boolean isEmergency() { final boolean result = mPhone.isInEcm() || mPhone.isInEmergencyCall(); log("isEmergency: result=" + result); return result; private boolean shouldRestrictDataForEcbm() { boolean isInEcm = mPhone.isInEcm(); boolean isInImsEcm = mPhone.getImsPhone() != null && mPhone.getImsPhone().isInImsEcm(); log("shouldRestrictDataForEcbm: isInEcm=" + isInEcm + " isInImsEcm=" + isInImsEcm); return isInEcm && !isInImsEcm; } private boolean trySetupData(ApnContext apnContext, @RequestNetworkType int requestType) { Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +8 −0 Original line number Diff line number Diff line Loading @@ -445,6 +445,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { private boolean mIsInEmergencyCall = false; private boolean mIsDataEnabled = false; private boolean mIsEcmTimerCanceled = false; private int pendingCallClirMode; private int mPendingCallVideoState; Loading Loading @@ -1377,8 +1378,10 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { mPhone.handleTimerInEmergencyCallbackMode(action); switch (action) { case ImsPhone.CANCEL_ECM_TIMER: mIsEcmTimerCanceled = true; break; case ImsPhone.RESTART_ECM_TIMER: mIsEcmTimerCanceled = false; break; default: log("handleEcmTimer, unsupported action " + action); Loading Loading @@ -2263,6 +2266,9 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { } if (!isEmergencyCallInList) { if (mIsEcmTimerCanceled) { handleEcmTimer(ImsPhone.RESTART_ECM_TIMER); } mIsInEmergencyCall = false; mPhone.sendEmergencyCallStateChange(false); } Loading Loading @@ -3689,6 +3695,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { private void resetState() { mIsInEmergencyCall = false; mIsEcmTimerCanceled = false; } //****** Overridden from Handler Loading Loading @@ -4041,6 +4048,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { pw.increaseIndent(); mOperationLocalLog.dump(pw); pw.decreaseIndent(); pw.println(" mIsEcmTimerCanceled=" + mIsEcmTimerCanceled); pw.flush(); pw.println("++++++++++++++++++++++++++++++++"); Loading Loading
src/java/com/android/internal/telephony/dataconnection/DcTracker.java +6 −5 Original line number Diff line number Diff line Loading @@ -1354,7 +1354,7 @@ public class DcTracker extends Handler { reasons.add(DataDisallowedReasonType.ON_IWLAN); } if (isEmergency()) { if (shouldRestrictDataForEcbm() || mPhone.isInEmergencyCall()) { reasons.add(DataDisallowedReasonType.IN_ECBM); } Loading Loading @@ -1500,10 +1500,11 @@ public class DcTracker extends Handler { } } boolean isEmergency() { final boolean result = mPhone.isInEcm() || mPhone.isInEmergencyCall(); log("isEmergency: result=" + result); return result; private boolean shouldRestrictDataForEcbm() { boolean isInEcm = mPhone.isInEcm(); boolean isInImsEcm = mPhone.getImsPhone() != null && mPhone.getImsPhone().isInImsEcm(); log("shouldRestrictDataForEcbm: isInEcm=" + isInEcm + " isInImsEcm=" + isInImsEcm); return isInEcm && !isInImsEcm; } private boolean trySetupData(ApnContext apnContext, @RequestNetworkType int requestType) { Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneCallTracker.java +8 −0 Original line number Diff line number Diff line Loading @@ -445,6 +445,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { private boolean mIsInEmergencyCall = false; private boolean mIsDataEnabled = false; private boolean mIsEcmTimerCanceled = false; private int pendingCallClirMode; private int mPendingCallVideoState; Loading Loading @@ -1377,8 +1378,10 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { mPhone.handleTimerInEmergencyCallbackMode(action); switch (action) { case ImsPhone.CANCEL_ECM_TIMER: mIsEcmTimerCanceled = true; break; case ImsPhone.RESTART_ECM_TIMER: mIsEcmTimerCanceled = false; break; default: log("handleEcmTimer, unsupported action " + action); Loading Loading @@ -2263,6 +2266,9 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { } if (!isEmergencyCallInList) { if (mIsEcmTimerCanceled) { handleEcmTimer(ImsPhone.RESTART_ECM_TIMER); } mIsInEmergencyCall = false; mPhone.sendEmergencyCallStateChange(false); } Loading Loading @@ -3689,6 +3695,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { private void resetState() { mIsInEmergencyCall = false; mIsEcmTimerCanceled = false; } //****** Overridden from Handler Loading Loading @@ -4041,6 +4048,7 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall { pw.increaseIndent(); mOperationLocalLog.dump(pw); pw.decreaseIndent(); pw.println(" mIsEcmTimerCanceled=" + mIsEcmTimerCanceled); pw.flush(); pw.println("++++++++++++++++++++++++++++++++"); Loading