Merge "Add audio policies classes to SystemMediaRoute2Provider" into udc-dev am: 2610029d56

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21780001

Change-Id: I0311ca6acb7bd76987c512d146ffa6558e529e41
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Alex Dadukin
2023-03-07 13:08:14 +00:00
committed by Automerger Merge Worker
3 changed files with 29 additions and 8 deletions

View File

@@ -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);
}
} }
/** /**

View File

@@ -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);
}
} }
/** /**

View File

@@ -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)
@@ -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();
@@ -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;
} }