diff options
| author | 2022-03-30 15:25:40 +0000 | |
|---|---|---|
| committer | 2022-03-30 15:25:40 +0000 | |
| commit | 761bb05aaa73c2075b9518ff81d44df013024138 (patch) | |
| tree | a68a73a973d970eeec6b80dd532058698c0ff8a3 | |
| parent | b2d49662b80c8094bfeec019de4f4d07e638ec99 (diff) | |
| parent | 616d6100aed1e78b71ed39aef71806e7d0282dc0 (diff) | |
Merge "Fix bugs found during cts test." into tm-dev
2 files changed, 13 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/ambientcontext/AmbientContextManagerPerUserService.java b/services/core/java/com/android/server/ambientcontext/AmbientContextManagerPerUserService.java index 42a7423725a3..766283b92d91 100644 --- a/services/core/java/com/android/server/ambientcontext/AmbientContextManagerPerUserService.java +++ b/services/core/java/com/android/server/ambientcontext/AmbientContextManagerPerUserService.java @@ -217,9 +217,13 @@ final class AmbientContextManagerPerUserService extends RemoteCallback detectionResultCallback, RemoteCallback statusCallback) { Slog.d(TAG, "Requested detection of " + request.getEventTypes()); synchronized (mLock) { - ensureRemoteServiceInitiated(); - mRemoteService.startDetection(request, callingPackage, detectionResultCallback, - statusCallback); + if (setUpServiceIfNeeded()) { + ensureRemoteServiceInitiated(); + mRemoteService.startDetection(request, callingPackage, detectionResultCallback, + statusCallback); + } else { + Slog.w(TAG, "No valid component found for AmbientContextDetectionService"); + } } } @@ -371,8 +375,10 @@ final class AmbientContextManagerPerUserService extends void stopDetection(String packageName) { Slog.d(TAG, "Stop detection for " + packageName); synchronized (mLock) { - ensureRemoteServiceInitiated(); - mRemoteService.stopDetection(packageName); + if (mComponentName != null) { + ensureRemoteServiceInitiated(); + mRemoteService.stopDetection(packageName); + } } } diff --git a/services/core/java/com/android/server/ambientcontext/AmbientContextManagerService.java b/services/core/java/com/android/server/ambientcontext/AmbientContextManagerService.java index 2cdf7e7c7133..774b340206e2 100644 --- a/services/core/java/com/android/server/ambientcontext/AmbientContextManagerService.java +++ b/services/core/java/com/android/server/ambientcontext/AmbientContextManagerService.java @@ -249,6 +249,8 @@ public class AmbientContextManagerService extends Objects.requireNonNull(eventTypes); Objects.requireNonNull(callingPackage); assertCalledByPackageOwner(callingPackage); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT, TAG); mService.onStartConsentActivity(eventTypes, callingPackage); } |