Merge "RESTRICT AUTOMERGE Disable the Trusted Hotword requirement" into tm-dev-plus-aosp

This commit is contained in:
Joanne Chung
2022-08-16 04:44:51 +00:00
committed by Android (Google) Code Review
3 changed files with 10 additions and 12 deletions

View File

@@ -413,8 +413,8 @@ public class LegacyPermissionManagerService extends ILegacyPermissionManager.Stu
return result; return result;
} }
mContext.getSystemService(AppOpsManager.class).noteOpNoThrow( mContext.getSystemService(AppOpsManager.class).noteOpNoThrow(
AppOpsManager.OP_RECEIVE_AMBIENT_TRIGGER_AUDIO, uid, packageName, AppOpsManager.OP_RECORD_AUDIO_HOTWORD, uid, packageName, attributionTag,
attributionTag, reason); reason);
return result; return result;
} }
} }

View File

@@ -202,9 +202,8 @@ public final class AppOpsPolicy implements AppOpsManagerInternal.CheckOpsDelegat
} }
private static boolean isHotwordDetectionServiceRequired(PackageManager pm) { private static boolean isHotwordDetectionServiceRequired(PackageManager pm) {
// The HotwordDetectionService APIs aren't ready yet for Auto or TV. // Usage of the HotwordDetectionService won't be enforced until a later release.
return !(pm.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE) return false;
|| pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK));
} }
@Override @Override

View File

@@ -46,11 +46,9 @@ import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPH
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECTED; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECTED;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECTED_FROM_RESTART; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECTED_FROM_RESTART;
import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECT_UNEXPECTED_CALLBACK; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__REJECT_UNEXPECTED_CALLBACK;
import static com.android.server.voiceinteraction.SoundTriggerSessionPermissionsDecorator.enforcePermissionForPreflight;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.app.AppOpsManager;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.ContentCaptureOptions; import android.content.ContentCaptureOptions;
import android.content.Context; import android.content.Context;
@@ -1162,11 +1160,12 @@ final class HotwordDetectionConnection {
// TODO: Share this code with SoundTriggerMiddlewarePermission. // TODO: Share this code with SoundTriggerMiddlewarePermission.
private void enforcePermissionsForDataDelivery() { private void enforcePermissionsForDataDelivery() {
Binder.withCleanCallingIdentity(() -> { Binder.withCleanCallingIdentity(() -> {
enforcePermissionForPreflight(mContext, mVoiceInteractorIdentity, RECORD_AUDIO); // Hack to make sure we show the mic privacy-indicator since the Trusted Hotword
int hotwordOp = AppOpsManager.strOpToOp(AppOpsManager.OPSTR_RECORD_AUDIO_HOTWORD); // requirement isn't being enforced for now. Normally, we would note the HOTWORD op here
mContext.getSystemService(AppOpsManager.class).noteOpNoThrow(hotwordOp, // instead.
mVoiceInteractorIdentity.uid, mVoiceInteractorIdentity.packageName, enforcePermissionForDataDelivery(mContext, mVoiceInteractorIdentity,
mVoiceInteractorIdentity.attributionTag, OP_MESSAGE); RECORD_AUDIO, OP_MESSAGE);
enforcePermissionForDataDelivery(mContext, mVoiceInteractorIdentity, enforcePermissionForDataDelivery(mContext, mVoiceInteractorIdentity,
CAPTURE_AUDIO_HOTWORD, OP_MESSAGE); CAPTURE_AUDIO_HOTWORD, OP_MESSAGE);
}); });