Add feature ids to system server services that requset location.
Bug: 129416976 Test: Manual tested on Taimen Change-Id: I90a7ee7bf707e40b089336a7b74d82cf7eca06a5
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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] -->
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user