Loading src/java/com/android/internal/telephony/emergency/EmergencyStateTracker.java +11 −5 Original line number Original line Diff line number Diff line Loading @@ -498,17 +498,23 @@ public class EmergencyStateTracker { exitEmergencySmsCallbackMode(); exitEmergencySmsCallbackMode(); mOngoingConnection = c; mOngoingConnection = c; mIsTestEmergencyNumber = isTestEmergencyNumber; mIsTestEmergencyNumber = isTestEmergencyNumber; // Ensure that domain selector requests scan. mLastEmergencyRegistrationResult = new EmergencyRegistrationResult( AccessNetworkConstants.AccessNetworkType.UNKNOWN, NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN, NetworkRegistrationInfo.DOMAIN_UNKNOWN, false, false, 0, 0, "", "", ""); if (isInEcm()) { if (isInEcm()) { // Remove pending exit ECM runnable. // Remove pending exit ECM runnable. mHandler.removeCallbacks(mExitEcmRunnable); mHandler.removeCallbacks(mExitEcmRunnable); releaseWakeLock(); releaseWakeLock(); ((GsmCdmaPhone) mPhone).notifyEcbmTimerReset(Boolean.TRUE); ((GsmCdmaPhone) mPhone).notifyEcbmTimerReset(Boolean.TRUE); mOngoingCallProperties = 0; mCallEmergencyModeFuture = new CompletableFuture<>(); setEmergencyMode(mPhone, EMERGENCY_TYPE_CALL, MODE_EMERGENCY_WWAN, MSG_SET_EMERGENCY_MODE_DONE); return mCallEmergencyModeFuture; } } // Ensure that domain selector requests scan. mLastEmergencyRegistrationResult = new EmergencyRegistrationResult( AccessNetworkConstants.AccessNetworkType.UNKNOWN, NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN, NetworkRegistrationInfo.DOMAIN_UNKNOWN, false, false, 0, 0, "", "", ""); return CompletableFuture.completedFuture(DisconnectCause.NOT_DISCONNECTED); return CompletableFuture.completedFuture(DisconnectCause.NOT_DISCONNECTED); } } Loading tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyStateTrackerTest.java +6 −6 Original line number Original line Diff line number Diff line Loading @@ -951,14 +951,16 @@ public class EmergencyStateTrackerTest extends TelephonyTest { processAllMessages(); processAllMessages(); assertTrue(emergencyStateTracker.isInEcm()); assertTrue(emergencyStateTracker.isInEcm()); verify(phone0, times(1)).setEmergencyMode(eq(MODE_EMERGENCY_WWAN), any(Message.class)); verify(phone0, times(1)).setEmergencyMode(eq(MODE_EMERGENCY_CALLBACK), any(Message.class)); // Second emergency call started. // Second emergency call started. CompletableFuture<Integer> future = emergencyStateTracker.startEmergencyCall(phone0, CompletableFuture<Integer> future = emergencyStateTracker.startEmergencyCall(phone0, mTestConnection2, false); mTestConnection2, false); // Returns DisconnectCause#NOT_DISCONNECTED immediately. assertFalse(future.isDone()); assertEquals(future.getNow(DisconnectCause.ERROR_UNSPECIFIED), verify(phone0, times(2)).setEmergencyMode(eq(MODE_EMERGENCY_WWAN), any(Message.class)); Integer.valueOf(DisconnectCause.NOT_DISCONNECTED)); verify(phone0, times(1)).setEmergencyMode(eq(MODE_EMERGENCY_CALLBACK), any(Message.class)); } } @Test @Test Loading Loading @@ -1021,9 +1023,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest { future = emergencyStateTracker.startEmergencyCall(phone0, mTestConnection2, false); future = emergencyStateTracker.startEmergencyCall(phone0, mTestConnection2, false); assertTrue(emergencyStateTracker.isInEmergencyMode()); assertTrue(emergencyStateTracker.isInEmergencyMode()); // Returns DisconnectCause#NOT_DISCONNECTED immediately. assertFalse(future.isDone()); assertEquals(future.getNow(DisconnectCause.ERROR_UNSPECIFIED), Integer.valueOf(DisconnectCause.NOT_DISCONNECTED)); emergencyStateTracker.onEmergencyTransportChanged( emergencyStateTracker.onEmergencyTransportChanged( EmergencyStateTracker.EMERGENCY_TYPE_CALL, MODE_EMERGENCY_WLAN); EmergencyStateTracker.EMERGENCY_TYPE_CALL, MODE_EMERGENCY_WLAN); Loading Loading
src/java/com/android/internal/telephony/emergency/EmergencyStateTracker.java +11 −5 Original line number Original line Diff line number Diff line Loading @@ -498,17 +498,23 @@ public class EmergencyStateTracker { exitEmergencySmsCallbackMode(); exitEmergencySmsCallbackMode(); mOngoingConnection = c; mOngoingConnection = c; mIsTestEmergencyNumber = isTestEmergencyNumber; mIsTestEmergencyNumber = isTestEmergencyNumber; // Ensure that domain selector requests scan. mLastEmergencyRegistrationResult = new EmergencyRegistrationResult( AccessNetworkConstants.AccessNetworkType.UNKNOWN, NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN, NetworkRegistrationInfo.DOMAIN_UNKNOWN, false, false, 0, 0, "", "", ""); if (isInEcm()) { if (isInEcm()) { // Remove pending exit ECM runnable. // Remove pending exit ECM runnable. mHandler.removeCallbacks(mExitEcmRunnable); mHandler.removeCallbacks(mExitEcmRunnable); releaseWakeLock(); releaseWakeLock(); ((GsmCdmaPhone) mPhone).notifyEcbmTimerReset(Boolean.TRUE); ((GsmCdmaPhone) mPhone).notifyEcbmTimerReset(Boolean.TRUE); mOngoingCallProperties = 0; mCallEmergencyModeFuture = new CompletableFuture<>(); setEmergencyMode(mPhone, EMERGENCY_TYPE_CALL, MODE_EMERGENCY_WWAN, MSG_SET_EMERGENCY_MODE_DONE); return mCallEmergencyModeFuture; } } // Ensure that domain selector requests scan. mLastEmergencyRegistrationResult = new EmergencyRegistrationResult( AccessNetworkConstants.AccessNetworkType.UNKNOWN, NetworkRegistrationInfo.REGISTRATION_STATE_UNKNOWN, NetworkRegistrationInfo.DOMAIN_UNKNOWN, false, false, 0, 0, "", "", ""); return CompletableFuture.completedFuture(DisconnectCause.NOT_DISCONNECTED); return CompletableFuture.completedFuture(DisconnectCause.NOT_DISCONNECTED); } } Loading
tests/telephonytests/src/com/android/internal/telephony/emergency/EmergencyStateTrackerTest.java +6 −6 Original line number Original line Diff line number Diff line Loading @@ -951,14 +951,16 @@ public class EmergencyStateTrackerTest extends TelephonyTest { processAllMessages(); processAllMessages(); assertTrue(emergencyStateTracker.isInEcm()); assertTrue(emergencyStateTracker.isInEcm()); verify(phone0, times(1)).setEmergencyMode(eq(MODE_EMERGENCY_WWAN), any(Message.class)); verify(phone0, times(1)).setEmergencyMode(eq(MODE_EMERGENCY_CALLBACK), any(Message.class)); // Second emergency call started. // Second emergency call started. CompletableFuture<Integer> future = emergencyStateTracker.startEmergencyCall(phone0, CompletableFuture<Integer> future = emergencyStateTracker.startEmergencyCall(phone0, mTestConnection2, false); mTestConnection2, false); // Returns DisconnectCause#NOT_DISCONNECTED immediately. assertFalse(future.isDone()); assertEquals(future.getNow(DisconnectCause.ERROR_UNSPECIFIED), verify(phone0, times(2)).setEmergencyMode(eq(MODE_EMERGENCY_WWAN), any(Message.class)); Integer.valueOf(DisconnectCause.NOT_DISCONNECTED)); verify(phone0, times(1)).setEmergencyMode(eq(MODE_EMERGENCY_CALLBACK), any(Message.class)); } } @Test @Test Loading Loading @@ -1021,9 +1023,7 @@ public class EmergencyStateTrackerTest extends TelephonyTest { future = emergencyStateTracker.startEmergencyCall(phone0, mTestConnection2, false); future = emergencyStateTracker.startEmergencyCall(phone0, mTestConnection2, false); assertTrue(emergencyStateTracker.isInEmergencyMode()); assertTrue(emergencyStateTracker.isInEmergencyMode()); // Returns DisconnectCause#NOT_DISCONNECTED immediately. assertFalse(future.isDone()); assertEquals(future.getNow(DisconnectCause.ERROR_UNSPECIFIED), Integer.valueOf(DisconnectCause.NOT_DISCONNECTED)); emergencyStateTracker.onEmergencyTransportChanged( emergencyStateTracker.onEmergencyTransportChanged( EmergencyStateTracker.EMERGENCY_TYPE_CALL, MODE_EMERGENCY_WLAN); EmergencyStateTracker.EMERGENCY_TYPE_CALL, MODE_EMERGENCY_WLAN); Loading