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));
        }
        ......
    }
相关推荐
怪兽20141 小时前
IntentService 的应用场景和使用方式?
android·面试
Jeled2 小时前
云信im在Android中的使用2
android
Jerry3 小时前
Compose 自定义布局和图形
android
杨筱毅3 小时前
【Android】【底层机制】组件生命周期以及背后的状态管理
android·底层机制
Jeled5 小时前
Kotlin 实现社交 App 音视频模块:语音录制、播放、暂停与进度控制全流程封装
android·kotlin·android studio·音视频
沐怡旸5 小时前
【底层机制】【Android】Binder架构与原理
android·面试
Jeled5 小时前
Jetpack —> Media3的分析和使用
android
木易士心7 小时前
Android setContentView源码与原理分析
android
00后程序员张8 小时前
iOS混淆与IPA文件加固全流程实战 防止苹果应用被反编译的工程级方案
android·ios·小程序·https·uni-app·iphone·webview
用户41659673693558 小时前
Jetpack Compose 进阶:实现列表嵌套悬停(LazyColumn & HorizontalPager)
android