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

Commit 4ed03067 authored by Greg Kaiser's avatar Greg Kaiser Committed by Android (Google) Code Review
Browse files

Merge "Make new split-screen module optiional"

parents d054c095 884719cd
Loading
Loading
Loading
Loading
+14 −2
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.wmshell;
import static android.os.Process.THREAD_PRIORITY_DISPLAY;
import static android.os.Process.THREAD_PRIORITY_DISPLAY;


import android.animation.AnimationHandler;
import android.animation.AnimationHandler;
import android.app.ActivityTaskManager;
import android.app.IActivityManager;
import android.app.IActivityManager;
import android.content.Context;
import android.content.Context;
import android.content.pm.LauncherApps;
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.PipAppOpsListener;
import com.android.wm.shell.pip.phone.PipTouchHandler;
import com.android.wm.shell.pip.phone.PipTouchHandler;
import com.android.wm.shell.splitscreen.SplitScreen;
import com.android.wm.shell.splitscreen.SplitScreen;
import com.android.wm.shell.splitscreen.SplitScreenController;
import com.android.wm.shell.transition.Transitions;
import com.android.wm.shell.transition.Transitions;


import java.util.Optional;
import java.util.Optional;
@@ -310,8 +312,18 @@ public abstract class WMShellBaseModule {
    @BindsOptionalOf
    @BindsOptionalOf
    abstract LegacySplitScreen optionalLegacySplitScreen();
    abstract LegacySplitScreen optionalLegacySplitScreen();


    @BindsOptionalOf
    @WMSingleton
    abstract SplitScreen optionalSplitScreen();
    @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
    @BindsOptionalOf
    abstract AppPairs optionalAppPairs();
    abstract AppPairs optionalAppPairs();
+1 −9
Original line number Original line Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.systemui.wmshell;
package com.android.systemui.wmshell;


import android.animation.AnimationHandler;
import android.animation.AnimationHandler;
import android.app.ActivityTaskManager;
import android.content.Context;
import android.content.Context;
import android.view.IWindowManager;
import android.view.IWindowManager;


@@ -87,15 +88,6 @@ public class WMShellModule {
                taskStackListener, transitions, mainExecutor, sfVsyncAnimationHandler);
                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
    @WMSingleton
    @Provides
    @Provides
    static AppPairs provideAppPairs(ShellTaskOrganizer shellTaskOrganizer,
    static AppPairs provideAppPairs(ShellTaskOrganizer shellTaskOrganizer,