summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordestradaa <destradaa@google.com>2015-04-29 23:09:52 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-29 23:09:53 +0000
commitdb2af23408a5b92011f9384bfb320ac8843f22b3 (patch)
tree5b290bab15f2ac70b39f4e4f4e21de26ac47206d
parentb351db7239ee1c0cb9561f92efc19d4e95eba367 (diff)
parentbfb3bdb918e93cfe24517319541cf40ba53148aa (diff)
downloadframeworks_base-db2af23408a5b92011f9384bfb320ac8843f22b3.zip
frameworks_base-db2af23408a5b92011f9384bfb320ac8843f22b3.tar.gz
frameworks_base-db2af23408a5b92011f9384bfb320ac8843f22b3.tar.bz2
Merge "Update use of A-GPS modes in GpsLocationProvider b/20664846" into mnc-dev
-rw-r--r--services/core/java/com/android/server/location/GpsLocationProvider.java11
1 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/location/GpsLocationProvider.java b/services/core/java/com/android/server/location/GpsLocationProvider.java
index d3240ec..6bd646d 100644
--- a/services/core/java/com/android/server/location/GpsLocationProvider.java
+++ b/services/core/java/com/android/server/location/GpsLocationProvider.java
@@ -952,13 +952,18 @@ public class GpsLocationProvider implements LocationProviderInterface {
return GPS_POSITION_MODE_STANDALONE;
}
}
+ // MS-Based is the preferred mode for Assisted-GPS position computation, so we favor
+ // such mode when it is available
+ if (hasCapability(GPS_CAPABILITY_MSB) && (suplMode & AGPS_SUPL_MODE_MSB) != 0) {
+ return GPS_POSITION_MODE_MS_BASED;
+ }
+ // for now, just as the legacy code did, we fallback to MS-Assisted if it is available,
+ // do fallback only for single-shot requests, because it is too expensive to do for
+ // periodic requests as well
if (singleShot
&& hasCapability(GPS_CAPABILITY_MSA)
&& (suplMode & AGPS_SUPL_MODE_MSA) != 0) {
return GPS_POSITION_MODE_MS_ASSISTED;
- } else if (hasCapability(GPS_CAPABILITY_MSB)
- && (suplMode & AGPS_SUPL_MODE_MSB) != 0) {
- return GPS_POSITION_MODE_MS_BASED;
}
}
return GPS_POSITION_MODE_STANDALONE;