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.