summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@google.com>2010-07-28 11:04:18 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-07-28 11:04:18 -0700
commitff0aff1914f617e9cb24944e9f9608a86992df72 (patch)
tree57f60592adac6acb6504c3cd2ffc528ff42eade3 /core
parent080985458085c77a1a3344c0a02608e8359ed551 (diff)
parenta58a8751b4c2ce457f0082a0baaee61312d56195 (diff)
downloadframeworks_base-ff0aff1914f617e9cb24944e9f9608a86992df72.zip
frameworks_base-ff0aff1914f617e9cb24944e9f9608a86992df72.tar.gz
frameworks_base-ff0aff1914f617e9cb24944e9f9608a86992df72.tar.bz2
Merge "Add new system service CountryDetector"
Diffstat (limited to 'core')
-rw-r--r--core/java/android/app/ContextImpl.java16
-rw-r--r--core/java/android/content/Context.java11
2 files changed, 26 insertions, 1 deletions
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index 8eded3d..10ebd60 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -62,6 +62,8 @@ import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.hardware.SensorManager;
+import android.location.CountryDetector;
+import android.location.ICountryDetector;
import android.location.ILocationManager;
import android.location.LocationManager;
import android.media.AudioManager;
@@ -168,6 +170,7 @@ class ContextImpl extends Context {
private static ThrottleManager sThrottleManager;
private static WifiManager sWifiManager;
private static LocationManager sLocationManager;
+ private static CountryDetector sCountryDetector;
private static final HashMap<File, SharedPreferencesImpl> sSharedPrefs =
new HashMap<File, SharedPreferencesImpl>();
@@ -954,6 +957,8 @@ class ContextImpl extends Context {
return AccessibilityManager.getInstance(this);
} else if (LOCATION_SERVICE.equals(name)) {
return getLocationManager();
+ } else if (COUNTRY_DETECTOR.equals(name)) {
+ return getCountryDetector();
} else if (SEARCH_SERVICE.equals(name)) {
return getSearchManager();
} else if (SENSOR_SERVICE.equals(name)) {
@@ -1120,6 +1125,17 @@ class ContextImpl extends Context {
return sLocationManager;
}
+ private CountryDetector getCountryDetector() {
+ synchronized (sSync) {
+ if (sCountryDetector == null) {
+ IBinder b = ServiceManager.getService(COUNTRY_DETECTOR);
+ ICountryDetector service = ICountryDetector.Stub.asInterface(b);
+ sCountryDetector = new CountryDetector(service);
+ }
+ }
+ return sCountryDetector;
+ }
+
private SearchManager getSearchManager() {
synchronized (mSync) {
if (mSearchManager == null) {
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index b5ec633..879103e 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -1380,7 +1380,16 @@ public abstract class Context {
* @see android.location.LocationManager
*/
public static final String LOCATION_SERVICE = "location";
-
+
+ /**
+ * Use with {@link #getSystemService} to retrieve a
+ * {@link android.location.CountryDetector} for detecting the country that
+ * the user is in.
+ *
+ * @hide
+ */
+ public static final String COUNTRY_DETECTOR = "country_detector";
+
/**
* Use with {@link #getSystemService} to retrieve a {@link
* android.app.SearchManager} for handling searches.