Make FullscreenTaskListener overridable

Bug: 207005150
Test: Device boots and app launches.
Change-Id: Ic95bb10cb4f2265e0fa21cd867e05975a46373c2
This commit is contained in:
Garfield Tan
2021-11-18 12:11:05 -08:00
parent 821b4cdf55
commit 8386f4365f

View File

@@ -244,15 +244,24 @@ public abstract class WMShellBaseModule {
// Fullscreen
//
// Workaround for dynamic overriding with a default implementation, see {@link DynamicOverride}
@BindsOptionalOf
@DynamicOverride
abstract FullscreenTaskListener optionalFullscreenTaskListener();
@WMSingleton
@Provides
static FullscreenTaskListener provideFullscreenTaskListener(
@DynamicOverride Optional<FullscreenTaskListener> fullscreenTaskListener,
SyncTransactionQueue syncQueue,
Optional<FullscreenUnfoldController> optionalFullscreenUnfoldController,
Optional<RecentTasksController> recentTasksOptional
) {
return new FullscreenTaskListener(syncQueue, optionalFullscreenUnfoldController,
recentTasksOptional);
Optional<RecentTasksController> recentTasksOptional) {
if (fullscreenTaskListener.isPresent()) {
return fullscreenTaskListener.get();
} else {
return new FullscreenTaskListener(syncQueue, optionalFullscreenUnfoldController,
recentTasksOptional);
}
}
//