diff --git a/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java b/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java index aa3e5795b684b..a34d7226136a7 100644 --- a/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java +++ b/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java @@ -72,8 +72,11 @@ public class SystemEmergencyHelper extends EmergencyHelper { @Override public boolean isInEmergency(long extensionTimeMs) { + boolean isInExtensionTime = mEmergencyCallEndRealtimeMs != Long.MIN_VALUE + && (SystemClock.elapsedRealtime() - mEmergencyCallEndRealtimeMs) < extensionTimeMs; + return mIsInEmergencyCall - || ((SystemClock.elapsedRealtime() - mEmergencyCallEndRealtimeMs) < extensionTimeMs) + || isInExtensionTime || mTelephonyManager.getEmergencyCallbackMode() || mTelephonyManager.isInEmergencySmsMode(); }