Talk with chazhuo - mehome/openthos GitHub Wiki
Talk with chaozhuo
谢仲天的理解:
- 建立应用白名单---应用支持窗口化起动的话,将会对其进行window frame的包含;也就是说 decor view 上包了自己设计的window-frame
- 会有一个Token 标记应用程序打开的记录,下一次打开时判断其所处的状态(包含位置、大小)
- 新创建一个自己的Decor-container 挂原生安卓的content(也就是app的整个内容),这样基于decor-container来实现对窗口大小的调整;
- 1.确认了之前对超卓View视图架构的分析。
- 2.确认了窗口拖动的事件响应为鼠标位置判断,需要JNI通道
- 限制应用的最小窗口大小;
罗浩的理解:
-
第一,明确了所以为的开始菜单是在systemUI中实现,这和我们之前想的不同,及时纠正了方向的错误。并将了解systemUI作为下一步的目标。
-
第二,对launcher的修改都很基础,launcher可以当做普通的apk来对待。并且更欢launcher一样可以显示。
-
第三,view的实现方式是在顶层增加自己的view这一思路,之前没有想到。我认为这三点都是很好的思路和方法,值的继续研究和考察。
阮工(阮俊杰)的理解
-
1.android Activity的窗口缩放基本原理是将其DecorView放在launcher的一个Frame中。在放入之前,
-
1)要使Activity的getDisplayMetrics()获取的是这个frame的contentview的size,而不是显示器的大小;
-
2)缩放时利用事件通知activity改变布局。
-
2.多窗口利用java stack进行管理,最后进栈的是活动窗口,是键盘输入焦点。
-
3.android具备获取鼠标焦点事件的能力,但android API不提供编程接口,需要改写虚拟机底层程序。
-
4.屏幕低端的工具栏是android的system view替换home键等按钮。
陈工的理解:
-
Split view is implemented in App itself, maybe it be related with stackbox in aosp-4.4. aosp-5.0 drops stackbox, but it must still support splitting view. So we need not care about much for stackbox.
-
We need care about System UI, individually, it does not belongs to any Apps (e.g. luncher), neither belongs to multiwindow.
-
Some features which are related with multiwindow (e.g. Dock window, cursor translating, windows position ...), should not be quite complex for implementation.