diff options
author | Philip P. Moltmann <moltmann@google.com> | 2020-02-19 21:49:15 +0000 |
---|---|---|
committer | Philip P. Moltmann <moltmann@google.com> | 2020-02-19 21:49:15 +0000 |
commit | 41ace3ba2459b3b26ed5cd5666ddb336dd1a3ea5 (patch) | |
tree | 743234f9fdfccee2a67c5a8d6e9e959f6b21428c | |
parent | 8fe72a21f1eb5c24487c8c93bda1f83e2e493683 (diff) |
Revert "Revert "Add feature ids to system server services that requset location.""
This reverts commit 8fe72a21f1eb5c24487c8c93bda1f83e2e493683.
Reason for revert: Fixed issue that caused the revert, now fine for re-submit
Change-Id: Iaaeb9e937e336f4d08d761bf4ce343de0f8acf27
6 files changed, 32 insertions, 11 deletions
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 60b3a19c4cf3..f1abe23f9b1b 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -4947,6 +4947,16 @@ <permission android:name="android.permission.ACCESS_LOCUS_ID_USAGE_STATS" android:protectionLevel="signature|appPredictor" /> + <!-- Feature Id for Country Detector. --> + <feature android:featureId="CountryDetector" android:label="@string/country_detector"/> + <!-- Feature Id for Location service. --> + <feature android:featureId="LocationService" android:label="@string/location_service"/> + <!-- Feature Id for Sensor Notification service. --> + <feature android:featureId="SensorNotificationService" + android:label="@string/sensor_notification_service"/> + <!-- Feature Id for Twilight service. --> + <feature android:featureId="TwilightService" android:label="@string/twilight_service"/> + <application android:process="system" android:persistent="true" android:hasCode="false" diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index e6a93e550a5f..e7ad8eba3188 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -421,6 +421,14 @@ [CHAR LIMIT=NONE] --> <string name="location_changed_notification_text">Tap to see your location settings.</string> + <!-- Feature Id for Country Detector. [CHAR LIMIT=NONE]--> + <string name="country_detector">Country Detector</string> + <!-- Feature Id for Location service. [CHAR LIMIT=NONE]--> + <string name="location_service">Location Service</string> + <!-- Feature Id for Sensor Notification service. [CHAR LIMIT=NONE]--> + <string name="sensor_notification_service">Sensor Notification Service</string> + <!-- Feature Id for Twilight service. [CHAR LIMIT=NONE]--> + <string name="twilight_service">Twilight Service</string> <!-- Factory reset warning dialog strings--> <skip /> <!-- Shows up in the dialog's title to warn about an impeding factory reset. [CHAR LIMIT=NONE] --> diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java index 7aa466146ddd..1e09d0b9e677 100644 --- a/services/core/java/com/android/server/LocationManagerService.java +++ b/services/core/java/com/android/server/LocationManagerService.java @@ -194,6 +194,8 @@ public class LocationManagerService extends ILocationManager.Stub { // time private static final int MAX_PROVIDER_SCHEDULING_JITTER_MS = 100; + private static final String FEATURE_ID = "LocationService"; + private static final LocationRequest DEFAULT_LOCATION_REQUEST = new LocationRequest(); private final Object mLock = new Object(); @@ -243,7 +245,7 @@ public class LocationManagerService extends ILocationManager.Stub { private int mBatterySaverMode; private LocationManagerService(Context context) { - mContext = context; + mContext = context.createFeatureContext(FEATURE_ID); mHandler = FgThread.getHandler(); mLocalService = new LocalService(); diff --git a/services/core/java/com/android/server/SensorNotificationService.java b/services/core/java/com/android/server/SensorNotificationService.java index 7f5befabc576..9082dca1022c 100644 --- a/services/core/java/com/android/server/SensorNotificationService.java +++ b/services/core/java/com/android/server/SensorNotificationService.java @@ -16,10 +16,8 @@ package com.android.server; -import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; import android.hardware.GeomagneticField; import android.hardware.Sensor; import android.hardware.SensorAdditionalInfo; @@ -31,9 +29,7 @@ import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.os.SystemClock; -import android.os.SystemProperties; import android.os.UserHandle; -import android.provider.Settings; import android.util.Slog; public class SensorNotificationService extends SystemService @@ -52,6 +48,8 @@ public class SensorNotificationService extends SystemService private static final long MILLIS_2010_1_1 = 1262358000000l; + private static final String FEATURE_ID = "SensorNotificationService"; + private Context mContext; private SensorManager mSensorManager; private LocationManager mLocationManager; @@ -61,8 +59,8 @@ public class SensorNotificationService extends SystemService private long mLocalGeomagneticFieldUpdateTime = -LOCATION_MIN_TIME; public SensorNotificationService(Context context) { - super(context); - mContext = context; + super(context.createFeatureContext(FEATURE_ID)); + mContext = getContext(); } public void onStart() { diff --git a/services/core/java/com/android/server/location/CountryDetectorBase.java b/services/core/java/com/android/server/location/CountryDetectorBase.java index 8326ef949858..b158388281d8 100644 --- a/services/core/java/com/android/server/location/CountryDetectorBase.java +++ b/services/core/java/com/android/server/location/CountryDetectorBase.java @@ -31,13 +31,15 @@ import android.os.Handler; * @hide */ public abstract class CountryDetectorBase { + private static final String FEATURE_ID = "CountryDetector"; + protected final Handler mHandler; protected final Context mContext; protected CountryListener mListener; protected Country mDetectedCountry; - public CountryDetectorBase(Context ctx) { - mContext = ctx; + public CountryDetectorBase(Context context) { + mContext = context.createFeatureContext(FEATURE_ID); mHandler = new Handler(); } @@ -45,7 +47,7 @@ public abstract class CountryDetectorBase { * Start detecting the country that the user is in. * * @return the country if it is available immediately, otherwise null should - * be returned. + * be returned. */ public abstract Country detectCountry(); diff --git a/services/core/java/com/android/server/twilight/TwilightService.java b/services/core/java/com/android/server/twilight/TwilightService.java index e72ba8d9f01b..761fbf8a0622 100644 --- a/services/core/java/com/android/server/twilight/TwilightService.java +++ b/services/core/java/com/android/server/twilight/TwilightService.java @@ -50,6 +50,7 @@ public final class TwilightService extends SystemService implements AlarmManager.OnAlarmListener, Handler.Callback, LocationListener { private static final String TAG = "TwilightService"; + private static final String FEATURE_ID = "TwilightService"; private static final boolean DEBUG = false; private static final int MSG_START_LISTENING = 1; @@ -73,7 +74,7 @@ public final class TwilightService extends SystemService protected TwilightState mLastTwilightState; public TwilightService(Context context) { - super(context); + super(context.createFeatureContext(FEATURE_ID)); mHandler = new Handler(Looper.getMainLooper(), this); } |