Index: chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java |
index 4d2b58b65bbabb7e806b20938a21537101587f58..69f89d37b0aa8b8eae7667d4cea5e8de5e09db8f 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/LocationSettings.java |
@@ -16,12 +16,11 @@ import org.chromium.base.VisibleForTesting; |
import org.chromium.base.annotations.SuppressFBWarnings; |
import org.chromium.chrome.browser.ChromiumApplication; |
-import java.util.concurrent.Callable; |
-import java.util.concurrent.ExecutionException; |
- |
/** |
* Provides methods for querying Android system-wide location settings as well as Chrome's internal |
* location setting. |
+ * |
+ * This class should be used only on the UI thread. |
*/ |
public class LocationSettings { |
@@ -42,6 +41,7 @@ public class LocationSettings { |
*/ |
@SuppressFBWarnings("LI_LAZY_INIT_STATIC") |
public static LocationSettings getInstance() { |
+ ThreadUtils.assertOnUiThread(); |
if (sInstance == null) { |
ChromiumApplication application = |
(ChromiumApplication) ApplicationStatus.getApplicationContext(); |
@@ -55,19 +55,9 @@ public class LocationSettings { |
*/ |
@CalledByNative |
public static boolean areAllLocationSettingsEnabled() { |
- try { |
- return ThreadUtils.runOnUiThreadBlocking(new Callable<Boolean>(){ |
- @Override |
- public Boolean call() throws Exception { |
- LocationSettings settings = LocationSettings.getInstance(); |
- return settings.isChromeLocationSettingEnabled() |
- && settings.isSystemLocationSettingEnabled(); |
- } |
- }); |
- } catch (ExecutionException e) { |
- e.printStackTrace(); |
- return false; |
- } |
+ LocationSettings settings = LocationSettings.getInstance(); |
+ return settings.isChromeLocationSettingEnabled() |
+ && settings.isSystemLocationSettingEnabled(); |
} |
/** |