summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/location/countrydetector/ComprehensiveCountryDetector.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/location/countrydetector/ComprehensiveCountryDetector.java b/services/core/java/com/android/server/location/countrydetector/ComprehensiveCountryDetector.java
index af3907e78432..dda502b2b9aa 100644
--- a/services/core/java/com/android/server/location/countrydetector/ComprehensiveCountryDetector.java
+++ b/services/core/java/com/android/server/location/countrydetector/ComprehensiveCountryDetector.java
@@ -320,13 +320,15 @@ public class ComprehensiveCountryDetector extends CountryDetectorBase {
"(source: " + detectedCountry.getSource()
+ ", countryISO: " + detectedCountry.getCountryIso() + ")")
+ " isAirplaneModeOff()=" + isAirplaneModeOff()
+ + " isWifiOn()=" + isWifiOn()
+ " mListener=" + mListener
+ " isGeoCoderImplemnted()=" + isGeoCoderImplemented());
}
if (startLocationBasedDetection && (detectedCountry == null
|| detectedCountry.getSource() > Country.COUNTRY_SOURCE_LOCATION)
- && isAirplaneModeOff() && mListener != null && isGeoCoderImplemented()) {
+ && (isAirplaneModeOff() || isWifiOn()) && mListener != null
+ && isGeoCoderImplemented()) {
if (DEBUG) Slog.d(TAG, "run startLocationBasedDetector()");
// Start finding location when the source is less reliable than the
// location and the airplane mode is off (as geocoder will not
@@ -387,6 +389,11 @@ public class ComprehensiveCountryDetector extends CountryDetectorBase {
mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) == 0;
}
+ protected boolean isWifiOn() {
+ return Settings.Global.getInt(
+ mContext.getContentResolver(), Settings.Global.WIFI_ON, 0) != 0;
+ }
+
/**
* Notify the country change.
*/