- DisplayManagerService.CallbackRecord: DMS内部类,内部持有IDisplayManagerCallback对象,负责执行IDisplayManagerCallback的回调;
- DisplayManager: 暴露给App层的接口,内部持有DisplayManagerGlobal对象引用,利用DisplayManagerGlobal和DMS进行交互;
- IDisplayManagerCallback:一个IBinder接口,DMS中发生display相关动作后,会通过该接口回调通知给DisplayManagerGlobal;
- DisplayManagerGlobal:内部持有IDisplayManager对象引用,App层通过该对象和DMS进行跨IPC交互;
- DisplayManagerGlobal.DisplayManagerCallback: 继承于IDisplayManagerCallback接口,负责接收来自DMS中display事件的回调;
数据封装类:
- DisplayDevice: 代表physical display;
- LocalDisplayDevice:DisplayDevice的子类,代表内置物理屏幕,DMS启动后会通过SurfaceControl去读取内置屏幕数据,并创建该类对象;
- WifiDisplayDevice:DisplayDevice的子类,代表通过Wifi连接显示的物理屏幕;
- OverlayDisplayDevice:DisplayDevice的子类,开发者选项->模拟辅助显示开启后,创建的就是该类对象;
- VirtualDisplayDevice:DisplayDevice的子类,表示虚拟显示屏幕,用于屏幕录制等;
- LogicalDisplay:代表逻辑显示屏,每一个physical display都会对应一个logical display;
- DisplayDeviceInfo: DisplayDevice信息封装类,在创建DisplayDevice时会进行创建,与之对应的是Logical display 的DisplayInfo;
- DisplayInfo:LogicalDisplay信息的封装类,基本数据由DisplayDeviceInfo中获得,app可以通过WMS来修改自己的参数;
- DisplayAdapter: 各物理屏和DMS进行连接的适配器;
- LocalDisplayAdapter: 继承于DisplayAdapter, 用于LocalDisplayDevice和DMS的连接;
- WifiDisplayAdapter: 继承于DisplayAdapter,用于WifiDisplayDevice的和DMS的连接;
- OverlayDisplayAdapter:继承于DisplayAdap