Merge "Make new split-screen module optiional"
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.systemui.wmshell;
|
||||
import static android.os.Process.THREAD_PRIORITY_DISPLAY;
|
||||
|
||||
import android.animation.AnimationHandler;
|
||||
import android.app.ActivityTaskManager;
|
||||
import android.app.IActivityManager;
|
||||
import android.content.Context;
|
||||
import android.content.pm.LauncherApps;
|
||||
@@ -71,6 +72,7 @@ import com.android.wm.shell.pip.PipUiEventLogger;
|
||||
import com.android.wm.shell.pip.phone.PipAppOpsListener;
|
||||
import com.android.wm.shell.pip.phone.PipTouchHandler;
|
||||
import com.android.wm.shell.splitscreen.SplitScreen;
|
||||
import com.android.wm.shell.splitscreen.SplitScreenController;
|
||||
import com.android.wm.shell.transition.Transitions;
|
||||
|
||||
import java.util.Optional;
|
||||
@@ -310,8 +312,18 @@ public abstract class WMShellBaseModule {
|
||||
@BindsOptionalOf
|
||||
abstract LegacySplitScreen optionalLegacySplitScreen();
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract SplitScreen optionalSplitScreen();
|
||||
@WMSingleton
|
||||
@Provides
|
||||
static Optional<SplitScreen> provideSplitScreen(ShellTaskOrganizer shellTaskOrganizer,
|
||||
SyncTransactionQueue syncQueue, Context context,
|
||||
RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer) {
|
||||
if (ActivityTaskManager.supportsSplitScreenMultiWindow(context)) {
|
||||
return Optional.of(new SplitScreenController(shellTaskOrganizer, syncQueue, context,
|
||||
rootTaskDisplayAreaOrganizer));
|
||||
} else {
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
|
||||
@BindsOptionalOf
|
||||
abstract AppPairs optionalAppPairs();
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.android.systemui.wmshell;
|
||||
|
||||
import android.animation.AnimationHandler;
|
||||
import android.app.ActivityTaskManager;
|
||||
import android.content.Context;
|
||||
import android.view.IWindowManager;
|
||||
|
||||
@@ -87,15 +88,6 @@ public class WMShellModule {
|
||||
taskStackListener, transitions, mainExecutor, sfVsyncAnimationHandler);
|
||||
}
|
||||
|
||||
@WMSingleton
|
||||
@Provides
|
||||
static SplitScreen provideSplitScreen(ShellTaskOrganizer shellTaskOrganizer,
|
||||
SyncTransactionQueue syncQueue, Context context,
|
||||
RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer) {
|
||||
return new SplitScreenController(shellTaskOrganizer, syncQueue, context,
|
||||
rootTaskDisplayAreaOrganizer);
|
||||
}
|
||||
|
||||
@WMSingleton
|
||||
@Provides
|
||||
static AppPairs provideAppPairs(ShellTaskOrganizer shellTaskOrganizer,
|
||||
|
||||
Reference in New Issue
Block a user