<div dir="ltr">Hi Daniel<div><br></div><div>Thank you for reply my question about 'SPURV'.</div><div><br></div><div>If 'SPURV' only support one active application on one display, does it consider to support multiple displays?</div><div>can I ask if there is any plan to update 'SPURV' to match hwc2 or the latest Android version?</div><div><br></div><div>Thank you!</div><div><br></div><div>Best Regards</div><div>Nancy</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Daniel Stone <<a href="mailto:daniel@fooishbar.org">daniel@fooishbar.org</a>> 于2020年4月29日周三 下午5:11写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
On Mon, 27 Apr 2020 at 10:02, Pekka Paalanen <<a href="mailto:ppaalanen@gmail.com" target="_blank">ppaalanen@gmail.com</a>> wrote:<br>
> On Mon, 27 Apr 2020 15:07:20 +0800 zou lan <<a href="mailto:nancy.lan.zou@gmail.com" target="_blank">nancy.lan.zou@gmail.com</a>> wrote:<br>
> > I read some documents about chrome OS run Android Apks such as<br>
> > <a href="https://qiangbo-workspace.oss-cn-shanghai.aliyuncs.com/2019-09-10-chromeos-with-android-app/Arcpp_Graphics.pdf" rel="noreferrer" target="_blank">https://qiangbo-workspace.oss-cn-shanghai.aliyuncs.com/2019-09-10-chromeos-with-android-app/Arcpp_Graphics.pdf</a><br>
> >  As far as I known, chrominum could run upon wayland,  I just wondering how<br>
> > it handle Android windows on wayland.<br>
> > I think the surface of Android apks could be wayland surface in linux, the<br>
> > window could be the shell surface.<br>
> >  Since all the android apks are still running on android container, android<br>
> > window manager will manage these windows, in wayland, the relationship of<br>
> > these surfaces should be parent-       subsurface that map to android<br>
> > windows. That's a little of problem, as you are confirmed, one wl surface<br>
> > can't be both subsurface and shell surface.<br>
> > If each android apks are not subsurfaces, I am confused how Android to<br>
> > handle the input events from wayland.<br>
><br>
> you'll have to ask or wait for someone who knows ARC++ to answer. I<br>
> don't dare extrapolate details based on that one simple PDF alone.<br>
><br>
> Android window management is very different from desktop window<br>
> management, and I don't even know if CrOS window management is close<br>
> to either. Using custom Wayland extensions is always a possibility, it<br>
> happens even on the desktops, e.g. GNOME/GTK.<br>
><br>
> Look at the slide titled "Chromium Wayland Interfaces", for instance.<br>
<br>
ARC++ is proprietary, and I haven't seen its source code either.<br>
<br>
But looking at <a href="https://github.com/chromium/chromium/blob/master/components/exo/wayland/protocol/aura-shell.xml" rel="noreferrer" target="_blank">https://github.com/chromium/chromium/blob/master/components/exo/wayland/protocol/aura-shell.xml</a><br>
I would very much expect that the ARC++ client implementation uses<br>
this as an extra to support Android applications running under<br>
Chromium - for example, the titlebar-colour request is certainly<br>
fulfilling an Android need.<br>
<br>
Integrating Android into a desktop system is non-trivial. You will<br>
have to make quite a lot of changes along the way: Android assumes<br>
that you have one, or maybe two, applications open, and a status bar,<br>
and maybe a button bar, and that's it. If you want to make Android<br>
behave more like a desktop, then you're going to have to change<br>
Android to fit your desktop, and you're going to have to change your<br>
desktop to accommodate Android.<br>
<br>
I believe the ARC++ solution of using multiple top-level windows, and<br>
having the window management be primarily done by the host compositor,<br>
is a better option than trying to use subsurfaces to invert<br>
responsibility and effectively control the window management from<br>
Android.<br>
<br>
However, there is no out-of-the-box solution. Whatever you do is going<br>
to require custom development and experimentation. 'SPURV' is a<br>
periodically-refreshed effort from Collabora to see what this<br>
integration would look like, however we never addressed the idea of<br>
having multiple active applications, as it requires too many changes<br>
in Android, such as deep changes to the Android activity manager to<br>
deal with more than one application being current at one time.<br>
<br>
Cheers,<br>
Daniel<br>
</blockquote></div>