diff --git a/core/java/android/speech/RecognitionService.java b/core/java/android/speech/RecognitionService.java index 055e71f0077b6..8b4c0d9e21f5d 100644 --- a/core/java/android/speech/RecognitionService.java +++ b/core/java/android/speech/RecognitionService.java @@ -229,6 +229,7 @@ public abstract class RecognitionService extends Service { protected abstract void onStopListening(Callback listener); @Override + @SuppressLint("MissingNullability") public Context createContext(@NonNull ContextParams contextParams) { if (contextParams.getNextAttributionSource() != null) { if (mHandler.getLooper().equals(Looper.myLooper())) { diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java index d3a7752dc351c..104bc9b2c8d15 100644 --- a/services/core/java/com/android/server/appop/AppOpsService.java +++ b/services/core/java/com/android/server/appop/AppOpsService.java @@ -4558,15 +4558,15 @@ public class AppOpsService extends IAppOpsService.Stub { } try { - if (mPlatformCompat.isChangeEnabledByPackageName( + if (!mPlatformCompat.isChangeEnabledByPackageName( SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE, packageName, - userId) && mPlatformCompat.isChangeEnabledByUid( + userId) || !mPlatformCompat.isChangeEnabledByUid( SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE, - callingUid) && !isAttributionTagValid) { - Slog.e(TAG, msg); - } else { - Slog.e(TAG, msg); + callingUid)) { + // Do not override tags if overriding is not enabled for this package + isAttributionTagValid = true; } + Slog.e(TAG, msg); } catch (RemoteException neverHappens) { } }