diff options
| author | 2019-03-01 21:01:22 +0000 | |
|---|---|---|
| committer | 2019-03-01 21:01:22 +0000 | |
| commit | 1c348395f520ac94e5c7b115b0f135a9ab33d3a0 (patch) | |
| tree | 78d1558c479857a9b13e622529a4ea69a0ca9f45 | |
| parent | d71a5db5226516b0f97c00d976e5dba8bb4158fe (diff) | |
| parent | 1bb102e37dce0a847f6201134cdfabc9f313dcb4 (diff) | |
[automerger] DO NOT MERGE - SUPL ES Extension - Safer Init and Not After Boot am: b5e7bbe5b8 am: 1bb102e37d
Change-Id: I0499fab6407457adb226a0fef751e22c9566179f
| -rw-r--r-- | location/java/com/android/internal/location/GpsNetInitiatedHandler.java | 9 | ||||
| -rw-r--r-- | services/core/java/com/android/server/location/GnssLocationProvider.java | 5 |
2 files changed, 7 insertions, 7 deletions
diff --git a/location/java/com/android/internal/location/GpsNetInitiatedHandler.java b/location/java/com/android/internal/location/GpsNetInitiatedHandler.java index 1f9155d9c4ae..aa73bc6e015c 100644 --- a/location/java/com/android/internal/location/GpsNetInitiatedHandler.java +++ b/location/java/com/android/internal/location/GpsNetInitiatedHandler.java @@ -123,8 +123,8 @@ public class GpsNetInitiatedHandler { static private boolean mIsHexInput = true; // End time of emergency call, and extension, if set - private long mCallEndElapsedRealtimeMillis = 0; - private long mEmergencyExtensionMillis = 0; + private volatile long mCallEndElapsedRealtimeMillis = 0; + private volatile long mEmergencyExtensionMillis = 0; public static class GpsNiNotification { @@ -250,8 +250,9 @@ public class GpsNetInitiatedHandler { */ public boolean getInEmergency() { boolean isInEmergencyExtension = - (SystemClock.elapsedRealtime() - mCallEndElapsedRealtimeMillis) < - mEmergencyExtensionMillis; + (mCallEndElapsedRealtimeMillis > 0) + && ((SystemClock.elapsedRealtime() - mCallEndElapsedRealtimeMillis) + < mEmergencyExtensionMillis); boolean isInEmergencyCallback = Boolean.parseBoolean( SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE)); return mIsInEmergencyCall || isInEmergencyCallback || isInEmergencyExtension; diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index e96c5757e22e..d9c282d51671 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -753,12 +753,11 @@ public class GnssLocationProvider implements LocationProviderInterface { // while IO initialization and registration is delegated to our internal handler // this approach is just fine because events are posted to our handler anyway mProperties = new Properties(); - sendMessage(INITIALIZE_HANDLER, 0, null); - - // Create a GPS net-initiated handler. + // Create a GPS net-initiated handler (also needed by handleInitialize) mNIHandler = new GpsNetInitiatedHandler(context, mNetInitiatedListener, mSuplEsEnabled); + sendMessage(INITIALIZE_HANDLER, 0, null); mListenerHelper = new GnssStatusListenerHelper(mHandler) { @Override |