Loading services/core/java/com/android/server/location/LocationManagerService.java +17 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ import android.location.provider.IProviderRequestListener; import android.location.provider.ProviderProperties; import android.location.util.identity.CallerIdentity; import android.os.Binder; import android.os.Build; import android.os.Bundle; import android.os.ICancellationSignal; import android.os.ParcelFileDescriptor; Loading Loading @@ -350,6 +351,22 @@ public class LocationManagerService extends ILocationManager.Stub { void onSystemReady() { mInjector.getSettingsHelper().addOnLocationEnabledChangedListener( this::onLocationModeChanged); if (Build.IS_DEBUGGABLE) { // on debug builds, watch for location noteOps while location is off. there are some // scenarios (emergency location) where this is expected, but generally this should // rarely occur, and may indicate bugs. dump occurrences to logs for further evaluation AppOpsManager appOps = Objects.requireNonNull( mContext.getSystemService(AppOpsManager.class)); appOps.startWatchingNoted( new int[]{AppOpsManager.OP_FINE_LOCATION, AppOpsManager.OP_COARSE_LOCATION}, (code, uid, packageName, attributionTag, flags, result) -> { if (!isLocationEnabledForUser(UserHandle.getUserId(uid))) { Log.w(TAG, "location noteOp with location off - " + CallerIdentity.forTest(uid, 0, packageName, attributionTag)); } }); } } void onSystemThirdPartyAppsCanStart() { Loading Loading
services/core/java/com/android/server/location/LocationManagerService.java +17 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ import android.location.provider.IProviderRequestListener; import android.location.provider.ProviderProperties; import android.location.util.identity.CallerIdentity; import android.os.Binder; import android.os.Build; import android.os.Bundle; import android.os.ICancellationSignal; import android.os.ParcelFileDescriptor; Loading Loading @@ -350,6 +351,22 @@ public class LocationManagerService extends ILocationManager.Stub { void onSystemReady() { mInjector.getSettingsHelper().addOnLocationEnabledChangedListener( this::onLocationModeChanged); if (Build.IS_DEBUGGABLE) { // on debug builds, watch for location noteOps while location is off. there are some // scenarios (emergency location) where this is expected, but generally this should // rarely occur, and may indicate bugs. dump occurrences to logs for further evaluation AppOpsManager appOps = Objects.requireNonNull( mContext.getSystemService(AppOpsManager.class)); appOps.startWatchingNoted( new int[]{AppOpsManager.OP_FINE_LOCATION, AppOpsManager.OP_COARSE_LOCATION}, (code, uid, packageName, attributionTag, flags, result) -> { if (!isLocationEnabledForUser(UserHandle.getUserId(uid))) { Log.w(TAG, "location noteOp with location off - " + CallerIdentity.forTest(uid, 0, packageName, attributionTag)); } }); } } void onSystemThirdPartyAppsCanStart() { Loading