diff options
author | Lifu Tang <lifu@google.com> | 2016-10-25 04:10:44 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-10-25 04:10:47 +0000 |
commit | 14bd8017fafcd8a136759fd14b6e55e3aee6afa4 (patch) | |
tree | 9653eb73f6030d299a6a2a33883d6cec381632a7 | |
parent | d544dc785ba45e4450d02b77c1ef2548a7efc13b (diff) | |
parent | 4e82fe51207bbd8ceaec356b4215e338ec63a31e (diff) | |
download | base-14bd8017fafcd8a136759fd14b6e55e3aee6afa4.tar.gz |
Merge "Fix GNSS status delivery to the callbacks" into nyc-mr1-dev
-rw-r--r-- | location/java/android/location/LocationManager.java | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java index 2b3ed8748a20..da0e515cda4b 100644 --- a/location/java/android/location/LocationManager.java +++ b/location/java/android/location/LocationManager.java @@ -1465,7 +1465,7 @@ public class LocationManager { mGpsNmeaListener = null; mNmeaBuffer = null; mOldGnssCallback = null; - mGnssCallback = new GnssStatus.Callback() { + mGnssCallback = mGpsListener != null ? new GnssStatus.Callback() { @Override public void onStarted() { mGpsListener.onGpsStatusChanged(GpsStatus.GPS_EVENT_STARTED); @@ -1485,7 +1485,7 @@ public class LocationManager { public void onSatelliteStatusChanged(GnssStatus status) { mGpsListener.onGpsStatusChanged(GpsStatus.GPS_EVENT_SATELLITE_STATUS); } - }; + } : null; mOldGnssNmeaListener = null; mGnssNmeaListener = null; } @@ -1502,12 +1502,12 @@ public class LocationManager { mOldGnssCallback = null; mGnssCallback = null; mOldGnssNmeaListener = null; - mGnssNmeaListener = new OnNmeaMessageListener() { + mGnssNmeaListener = mGpsNmeaListener != null ? new OnNmeaMessageListener() { @Override public void onNmeaMessage(String nmea, long timestamp) { mGpsNmeaListener.onNmeaReceived(timestamp, nmea); } - }; + } : null; } GnssStatusListenerTransport(GnssStatusCallback callback) { @@ -1516,7 +1516,7 @@ public class LocationManager { GnssStatusListenerTransport(GnssStatusCallback callback, Handler handler) { mOldGnssCallback = callback; - mGnssCallback = new GnssStatus.Callback() { + mGnssCallback = mOldGnssCallback != null ? new GnssStatus.Callback() { @Override public void onStarted() { mOldGnssCallback.onStarted(); @@ -1536,7 +1536,7 @@ public class LocationManager { public void onSatelliteStatusChanged(GnssStatus status) { mOldGnssCallback.onSatelliteStatusChanged(status); } - }; + } : null; mGnssHandler = new GnssHandler(handler); mOldGnssNmeaListener = null; mGnssNmeaListener = null; @@ -1569,12 +1569,12 @@ public class LocationManager { mOldGnssCallback = null; mGnssHandler = new GnssHandler(handler); mOldGnssNmeaListener = listener; - mGnssNmeaListener = new OnNmeaMessageListener() { + mGnssNmeaListener = mOldGnssNmeaListener != null ? new OnNmeaMessageListener() { @Override public void onNmeaMessage(String message, long timestamp) { mOldGnssNmeaListener.onNmeaReceived(timestamp, message); } - }; + } : null; mGpsListener = null; mGpsNmeaListener = null; mNmeaBuffer = new ArrayList<Nmea>(); @@ -1597,7 +1597,7 @@ public class LocationManager { @Override public void onGnssStarted() { - if (mGpsListener != null) { + if (mGnssCallback != null) { Message msg = Message.obtain(); msg.what = GpsStatus.GPS_EVENT_STARTED; mGnssHandler.sendMessage(msg); @@ -1606,7 +1606,7 @@ public class LocationManager { @Override public void onGnssStopped() { - if (mGpsListener != null) { + if (mGnssCallback != null) { Message msg = Message.obtain(); msg.what = GpsStatus.GPS_EVENT_STOPPED; mGnssHandler.sendMessage(msg); @@ -1615,7 +1615,7 @@ public class LocationManager { @Override public void onFirstFix(int ttff) { - if (mGpsListener != null) { + if (mGnssCallback != null) { mTimeToFirstFix = ttff; Message msg = Message.obtain(); msg.what = GpsStatus.GPS_EVENT_FIRST_FIX; |