Loading services/core/java/com/android/server/media/BluetoothRouteController.java +10 −1 Original line number Original line Diff line number Diff line Loading @@ -53,7 +53,16 @@ import java.util.Objects; return new NoOpBluetoothRouteController(); return new NoOpBluetoothRouteController(); } } MediaFeatureFlagManager flagManager = MediaFeatureFlagManager.getInstance(); boolean isUsingLegacyController = flagManager.getBoolean( MediaFeatureFlagManager.FEATURE_AUDIO_STRATEGIES_IS_USING_LEGACY_CONTROLLER, true); if (isUsingLegacyController) { return new LegacyBluetoothRouteController(context, btAdapter, listener); return new LegacyBluetoothRouteController(context, btAdapter, listener); } else { return new AudioPoliciesBluetoothRouteController(context, btAdapter, listener); } } } /** /** Loading services/core/java/com/android/server/media/DeviceRouteController.java +16 −4 Original line number Original line Diff line number Diff line Loading @@ -44,10 +44,22 @@ import android.os.ServiceManager; IAudioService audioService = IAudioService.Stub.asInterface( IAudioService audioService = IAudioService.Stub.asInterface( ServiceManager.getService(Context.AUDIO_SERVICE)); ServiceManager.getService(Context.AUDIO_SERVICE)); MediaFeatureFlagManager flagManager = MediaFeatureFlagManager.getInstance(); boolean isUsingLegacyController = flagManager.getBoolean( MediaFeatureFlagManager.FEATURE_AUDIO_STRATEGIES_IS_USING_LEGACY_CONTROLLER, true); if (isUsingLegacyController) { return new LegacyDeviceRouteController(context, return new LegacyDeviceRouteController(context, audioManager, audioManager, audioService, audioService, onDeviceRouteChangedListener); onDeviceRouteChangedListener); } else { return new AudioPoliciesDeviceRouteController(context, audioManager, audioService, onDeviceRouteChangedListener); } } } /** /** Loading services/core/java/com/android/server/media/MediaFeatureFlagManager.java +3 −3 Original line number Original line Diff line number Diff line Loading @@ -32,7 +32,7 @@ import java.lang.annotation.Target; private static final String NAMESPACE_MEDIA_BETTER_TOGETHER = "media_better_together"; private static final String NAMESPACE_MEDIA_BETTER_TOGETHER = "media_better_together"; @StringDef(prefix = "FEATURE_", value = { @StringDef(prefix = "FEATURE_", value = { FEATURE_IS_USING_LEGACY_BLUETOOTH_CONTROLLER FEATURE_AUDIO_STRATEGIES_IS_USING_LEGACY_CONTROLLER }) }) @Target({ ElementType.TYPE_USE, ElementType.TYPE_PARAMETER }) @Target({ ElementType.TYPE_USE, ElementType.TYPE_PARAMETER }) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) Loading @@ -43,7 +43,7 @@ import java.lang.annotation.Target; * 'Audio Strategies'-aware controller. * 'Audio Strategies'-aware controller. */ */ /* package */ static final @MediaFeatureFlag String /* package */ static final @MediaFeatureFlag String FEATURE_IS_USING_LEGACY_BLUETOOTH_CONTROLLER = FEATURE_AUDIO_STRATEGIES_IS_USING_LEGACY_CONTROLLER = "BluetoothRouteController__enable_legacy_bluetooth_routes_controller"; "BluetoothRouteController__enable_legacy_bluetooth_routes_controller"; private static final MediaFeatureFlagManager sInstance = new MediaFeatureFlagManager(); private static final MediaFeatureFlagManager sInstance = new MediaFeatureFlagManager(); Loading @@ -52,7 +52,7 @@ import java.lang.annotation.Target; // Empty to prevent instantiation. // Empty to prevent instantiation. } } /* package */ MediaFeatureFlagManager getInstance() { /* package */ static MediaFeatureFlagManager getInstance() { return sInstance; return sInstance; } } Loading Loading
services/core/java/com/android/server/media/BluetoothRouteController.java +10 −1 Original line number Original line Diff line number Diff line Loading @@ -53,7 +53,16 @@ import java.util.Objects; return new NoOpBluetoothRouteController(); return new NoOpBluetoothRouteController(); } } MediaFeatureFlagManager flagManager = MediaFeatureFlagManager.getInstance(); boolean isUsingLegacyController = flagManager.getBoolean( MediaFeatureFlagManager.FEATURE_AUDIO_STRATEGIES_IS_USING_LEGACY_CONTROLLER, true); if (isUsingLegacyController) { return new LegacyBluetoothRouteController(context, btAdapter, listener); return new LegacyBluetoothRouteController(context, btAdapter, listener); } else { return new AudioPoliciesBluetoothRouteController(context, btAdapter, listener); } } } /** /** Loading
services/core/java/com/android/server/media/DeviceRouteController.java +16 −4 Original line number Original line Diff line number Diff line Loading @@ -44,10 +44,22 @@ import android.os.ServiceManager; IAudioService audioService = IAudioService.Stub.asInterface( IAudioService audioService = IAudioService.Stub.asInterface( ServiceManager.getService(Context.AUDIO_SERVICE)); ServiceManager.getService(Context.AUDIO_SERVICE)); MediaFeatureFlagManager flagManager = MediaFeatureFlagManager.getInstance(); boolean isUsingLegacyController = flagManager.getBoolean( MediaFeatureFlagManager.FEATURE_AUDIO_STRATEGIES_IS_USING_LEGACY_CONTROLLER, true); if (isUsingLegacyController) { return new LegacyDeviceRouteController(context, return new LegacyDeviceRouteController(context, audioManager, audioManager, audioService, audioService, onDeviceRouteChangedListener); onDeviceRouteChangedListener); } else { return new AudioPoliciesDeviceRouteController(context, audioManager, audioService, onDeviceRouteChangedListener); } } } /** /** Loading
services/core/java/com/android/server/media/MediaFeatureFlagManager.java +3 −3 Original line number Original line Diff line number Diff line Loading @@ -32,7 +32,7 @@ import java.lang.annotation.Target; private static final String NAMESPACE_MEDIA_BETTER_TOGETHER = "media_better_together"; private static final String NAMESPACE_MEDIA_BETTER_TOGETHER = "media_better_together"; @StringDef(prefix = "FEATURE_", value = { @StringDef(prefix = "FEATURE_", value = { FEATURE_IS_USING_LEGACY_BLUETOOTH_CONTROLLER FEATURE_AUDIO_STRATEGIES_IS_USING_LEGACY_CONTROLLER }) }) @Target({ ElementType.TYPE_USE, ElementType.TYPE_PARAMETER }) @Target({ ElementType.TYPE_USE, ElementType.TYPE_PARAMETER }) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) Loading @@ -43,7 +43,7 @@ import java.lang.annotation.Target; * 'Audio Strategies'-aware controller. * 'Audio Strategies'-aware controller. */ */ /* package */ static final @MediaFeatureFlag String /* package */ static final @MediaFeatureFlag String FEATURE_IS_USING_LEGACY_BLUETOOTH_CONTROLLER = FEATURE_AUDIO_STRATEGIES_IS_USING_LEGACY_CONTROLLER = "BluetoothRouteController__enable_legacy_bluetooth_routes_controller"; "BluetoothRouteController__enable_legacy_bluetooth_routes_controller"; private static final MediaFeatureFlagManager sInstance = new MediaFeatureFlagManager(); private static final MediaFeatureFlagManager sInstance = new MediaFeatureFlagManager(); Loading @@ -52,7 +52,7 @@ import java.lang.annotation.Target; // Empty to prevent instantiation. // Empty to prevent instantiation. } } /* package */ MediaFeatureFlagManager getInstance() { /* package */ static MediaFeatureFlagManager getInstance() { return sInstance; return sInstance; } } Loading