wms学习之二

1 APP端建立一个surface空的容器
2 APP通过binder将surface给到WMS,请求填充
3 wms为了填充surface 向SF申请真正的图层
4 sf收到请求后向wms请求分配真正的图层。
5将图层信息handler传递给WMS,回传给app层。
6 APP控制surface利用surfacecontrol与sf通讯。

    @Override
    public void setAppVisibility(IBinder token, boolean visible) {
        if (!checkCallingPermission(android.Manifest.permission.MANAGE_APP_TOKENS,
                "setAppVisibility()")) {
            throw new SecurityException("Requires MANAGE_APP_TOKENS permission");
        }

        AppWindowToken wtoken;

        synchronized(mWindowMap) {
            wtoken = findAppWindowToken(token);//通过ActivityRecord:Token找到AppWindowToken,即找到这个token对应的Activity窗口
            if (wtoken == null) {
                Slog.w(TAG_WM, "Attempted to set visibility of non-existing app token: " + token);
                return;
            }

            if (DEBUG_APP_TRANSITIONS || DEBUG_ORIENTATIO

你可能感兴趣的:(android,系统源码学习)