From edd19814009e009d6120b521b5369fcf6853f9cc Mon Sep 17 00:00:00 2001 From: Wei Wang Date: Fri, 14 Feb 2020 15:59:33 -0800 Subject: [PATCH] Add feature ids to system server services that requset location. Bug: 129416976 Test: Manual tested on Taimen Change-Id: I90a7ee7bf707e40b089336a7b74d82cf7eca06a5 --- core/res/AndroidManifest.xml | 10 ++++++++++ core/res/res/values/strings.xml | 8 ++++++++ .../com/android/server/LocationManagerService.java | 4 +++- .../com/android/server/SensorNotificationService.java | 10 ++++------ .../android/server/location/CountryDetectorBase.java | 8 +++++--- .../com/android/server/twilight/TwilightService.java | 3 ++- 6 files changed, 32 insertions(+), 11 deletions(-) diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 60b3a19c4cf3c..f1abe23f9b1b8 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -4947,6 +4947,16 @@ + + + + + + + + + Tap to see your location settings. + + Country Detector + + Location Service + + Sensor Notification Service + + Twilight Service diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java index 7aa466146ddd3..1e09d0b9e6772 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 7f5befabc576c..9082dca1022cf 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 8326ef9498585..b158388281d86 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 e72ba8d9f01b6..761fbf8a06229 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); }