Android U 多任务启动分屏——SystemUI流程(更新中)

前文

Android U 多任务启动分屏------Launcher流程(下分屏)

前文说到通过ISplitScreen接口跨进程调用到了SystemUI进程,我们继续分析分屏在systemui中的实现。

wmshell实现分屏

实现ISplitScreen接口

代码路径:frameworks/base/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java

java 复制代码
    /**
     * The interface for calls from outside the host process.
     */
    @BinderThread
    private static class ISplitScreenImpl extends ISplitScreen.Stub
            implements ExternalInterfaceBinder {
        ......
        @Override
        public void startTasks(int taskId1, @Nullable Bundle options1, int taskId2,
                @Nullable Bundle options2, @SplitPosition int splitPosition, float splitRatio,
                @Nullable RemoteTransition remoteTransition, InstanceId instanceId) {
            executeRemoteCallWithTaskPermission(mController, "startTasks",
                    (controller) -> controller.mStageCoordinator.startTasks(taskId1, options1,
                            taskId2, options2, splitPosition, splitRatio, remoteTransition,
                            instanceId));
        }
        ......
    }
相关推荐
恋猫de小郭1 小时前
你是不是觉得 R8 很讨厌,但 Android 为什么选择 R8 ?也许你对 R8 还不够了解
android·前端·flutter
城东米粉儿3 小时前
Android Glide 笔记
android
城东米粉儿3 小时前
Android TheRouter 笔记
android
城东米粉儿9 小时前
Android AIDL 笔记
android
城东米粉儿9 小时前
Android 进程间传递大数据 笔记
android
城东米粉儿10 小时前
Android KMP 笔记
android
冬奇Lab11 小时前
WMS核心机制:窗口管理与层级控制深度解析
android·源码阅读
松仔log12 小时前
JetPack——Paging
android·rxjava
城东米粉儿12 小时前
Android Kotlin DSL 笔记
android