Rely only on SecurityException for testGpsStatusListener and add a test
case for GpsStatus.NmeaListener in a similar manner.
Bug: 17759639
Change-Id: I13e39f81c2aa50dda3c9755afbd932a9af188bfd
diff --git a/tests/tests/location2/src/android/location2/cts/LocationManagerTest.java b/tests/tests/location2/src/android/location2/cts/LocationManagerTest.java
index 3765809..b298b97 100644
--- a/tests/tests/location2/src/android/location2/cts/LocationManagerTest.java
+++ b/tests/tests/location2/src/android/location2/cts/LocationManagerTest.java
@@ -26,6 +26,7 @@
import android.location.Criteria;
import android.location.GpsStatus;
import android.location.GpsStatus.Listener;
+import android.location.GpsStatus.NmeaListener;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
@@ -227,18 +228,32 @@
@UiThreadTest
public void testGpsStatusListener() {
try {
- // .addGpsStatusListener returns true if the listener added successfully
- if (mManager.addGpsStatusListener(new MockGpsStatusListener())) {
- fail("Should have failed to add a gps status listener");
- }
+ mManager.addGpsStatusListener(new MockGpsStatusListener());
+ fail("Should have failed to add a gps status listener");
} catch (SecurityException e) {
// expected
}
try {
- if (mManager.addGpsStatusListener(null)) {
- fail("Should have failed to add null as a gps status listener");
- }
+ mManager.addGpsStatusListener(null);
+ fail("Should have failed to add null as a gps status listener");
+ } catch (SecurityException e) {
+ // expected
+ }
+ }
+
+ @UiThreadTest
+ public void testGpsStatusNmeaListener() {
+ try {
+ mManager.addNmeaListener(new MockGpsStatusNmeaListener());
+ fail("Should have failed to add a gps status nmea listener");
+ } catch (SecurityException e) {
+ // expected
+ }
+
+ try {
+ mManager.addNmeaListener(null);
+ fail("Should have failed to add null as a gps status nmea listener");
} catch (SecurityException e) {
// expected
}
@@ -478,4 +493,20 @@
mHasCallOnGpsStatusChanged = true;
}
}
+
+ private static class MockGpsStatusNmeaListener implements NmeaListener {
+ private boolean mHasCallOnNmeaReceived;
+
+ public boolean hasCallOnNmeaReceived() {
+ return mHasCallOnNmeaReceived;
+ }
+
+ public void reset(){
+ mHasCallOnNmeaReceived = false;
+ }
+
+ public void onNmeaReceived(long timestamp, String nmea) {
+ mHasCallOnNmeaReceived = true;
+ }
+ }
}