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));
        }
        ......
    }
相关推荐
我命由我123458 小时前
Android 开发问题:MlKitException: An internal error occurred during initialization.
android·java·java-ee·android jetpack·android-studio·androidx·android runtime
Meteors.8 小时前
Android自定义 View 三核心方法详解
android
2501_916007478 小时前
前端开发常用软件与工具全面指南
android·ios·小程序·https·uni-app·iphone·webview
赏金术士9 小时前
Android Tinker 热修复集成与使用指南 1.9.15.2
android·热修复·tinker
2603_9541383910 小时前
安卓误删文件先别慌!5个实用小技巧指南教你补救
android·智能手机
波诺波12 小时前
5-SOFA可变形的3D物体 5-elasticity.scn
android
2501_9159090613 小时前
iOS应用性能优化:十大策略提升用户体验与开发效率
android·ios·小程序·https·uni-app·iphone·webview
sun00770014 小时前
打通android全链路,网卡驱动, 内核 , 到上层hal, framework
android
awu的Android笔记14 小时前
Android VpnService:如何把所有流量导入用户态
android
plainGeekDev14 小时前
AlertDialog → DialogFragment
android·java·kotlin