summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Android Build Merger (Role) <noreply-android-build-merger@google.com> 2019-03-01 21:01:22 +0000
committer Android Build Merger (Role) <noreply-android-build-merger@google.com> 2019-03-01 21:01:22 +0000
commit1c348395f520ac94e5c7b115b0f135a9ab33d3a0 (patch)
tree78d1558c479857a9b13e622529a4ea69a0ca9f45
parentd71a5db5226516b0f97c00d976e5dba8bb4158fe (diff)
parent1bb102e37dce0a847f6201134cdfabc9f313dcb4 (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.java9
-rw-r--r--services/core/java/com/android/server/location/GnssLocationProvider.java5
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