Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit efa3d09f authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by Android (Google) Code Review
Browse files

Merge "Define FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY" into main

parents 8b5f4c7e 8eb1c333
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13043,6 +13043,7 @@ package android.content.pm {
    field public static final String FEATURE_AUDIO_LOW_LATENCY = "android.hardware.audio.low_latency";
    field public static final String FEATURE_AUDIO_OUTPUT = "android.hardware.audio.output";
    field public static final String FEATURE_AUDIO_PRO = "android.hardware.audio.pro";
    field @FlaggedApi("android.media.audio.feature_spatial_audio_headtracking_low_latency") public static final String FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY = "android.hardware.audio.spatial.headtracking.low_latency";
    field public static final String FEATURE_AUTOFILL = "android.software.autofill";
    field public static final String FEATURE_AUTOMOTIVE = "android.hardware.type.automotive";
    field public static final String FEATURE_BACKUP = "android.software.backup";
+13 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.content.pm;

import static android.media.audio.Flags.FLAG_FEATURE_SPATIAL_AUDIO_HEADTRACKING_LOW_LATENCY;

import static com.android.internal.pm.pkg.parsing.ParsingPackageUtils.PARSE_COLLECT_CERTIFICATES;

import android.Manifest;
@@ -3064,6 +3066,17 @@ public abstract class PackageManager {
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_AUDIO_PRO = "android.hardware.audio.pro";

    /**
     * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}
     * which indicates whether head tracking for spatial audio operates with low-latency,
     * as defined by the CDD criteria for the feature.
     *
     */
    @SdkConstant(SdkConstantType.FEATURE)
    @FlaggedApi(FLAG_FEATURE_SPATIAL_AUDIO_HEADTRACKING_LOW_LATENCY)
    public static final String FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY =
            "android.hardware.audio.spatial.headtracking.low_latency";

    /**
     * Feature for {@link #getSystemAvailableFeatures} and
     * {@link #hasSystemFeature}: The device is capable of communicating with
+5 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import static android.media.AudioManager.RINGER_MODE_VIBRATE;
import static android.media.AudioManager.STREAM_SYSTEM;
import static android.media.audio.Flags.autoPublicVolumeApiHardening;
import static android.media.audio.Flags.automaticBtDeviceType;
import static android.media.audio.Flags.featureSpatialAudioHeadtrackingLowLatency;
import static android.media.audio.Flags.focusFreezeTestApi;
import static android.media.audiopolicy.Flags.enableFadeManagerConfiguration;
import static android.os.Process.FIRST_APPLICATION_UID;
@@ -4519,6 +4520,10 @@ public class AudioService extends IAudioService.Stub
        pw.println("\nFun with Flags: ");
        pw.println("\tandroid.media.audio.autoPublicVolumeApiHardening:"
                + autoPublicVolumeApiHardening());
        pw.println("\tandroid.media.audio.Flags.automaticBtDeviceType:"
                + automaticBtDeviceType());
        pw.println("\tandroid.media.audio.featureSpatialAudioHeadtrackingLowLatency:"
                + featureSpatialAudioHeadtrackingLowLatency());
        pw.println("\tandroid.media.audio.focusFreezeTestApi:"
                + focusFreezeTestApi());
        pw.println("\tcom.android.media.audio.disablePrescaleAbsoluteVolume:"
+4 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import static com.android.media.audio.Flags.dsaOverBtLeAudio;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.content.pm.PackageManager;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.media.AudioAttributes;
@@ -1611,6 +1612,9 @@ public class SpatializerHelper {
        pw.println("\tsupports binaural:" + mBinauralSupported + " / transaural:"
                + mTransauralSupported);
        pw.println("\tmSpatOutput:" + mSpatOutput);
        pw.println("\thas FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY:"
                + mAudioService.mContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_AUDIO_SPATIAL_HEADTRACKING_LOW_LATENCY));
    }

    private static String spatStateString(int state) {