a. 兼容性配置使用说明

一、兼容性配置

1、包含两张表
COMPATIBLE_LIST 存储所有配置表,数据从xml中读取
CREATE TABLE COMPATIBLE_LIST ( _ID INTEGER PRIMARY KEY AUTOINCREMENT," + "KEY_CODE TEXT ,KEY_DESC TEXT ,DEFAULT_VALUE TEXT ,OPTION_JSON TEXT, NOTES TEXT,INPUT_TYPE TEXT,CREATE_DATE TEXT, UNIQUE( KEY_CODE));

COMPATIBLE_VALUE 存储各个包名对应的配置项
CREATE TABLE COMPATIBLE_VALUE ( _ID INTEGER PRIMARY KEY AUTOINCREMENT," + "PACKAGE_NAME TEXT ,KEY_CODE TEXT ,VALUE TEXT , NOTES TEXT,EDIT_DATE TEXT,FIELDS1 TEXT,FIELDS2 TEXT, UNIQUE(PACKAGE_NAME, KEY_CODE));

 

2、 xml 存放地址 assets/comp_config.xml
格式:

<compatible> <keycode>size</keycode> <keydesc>分辨率</keydesc> <defaultvalue>1</defaultvalue> <inputtype>select</inputtype> <optionjson>[{ "width": "1920", "height": "1080" }, { "width": "800", "height": "600" }, { "width": "400", "height": "320" } ]</optionjson> </compatible>

其中inputtype 目前支持两种方式 input 和 select 具体可参考demo   (可参考com.boringdroid.systemui.ui.CompatibleListActivity)

 

3、编译 首先编译项目
https://gitee.com/openfde/boringdroidsystemui.git 分支xudq
然后拉取framework代码 fde_w 分支
工具类 com.android.internal.util.CompatibleConfig 提供 CURD COMPATIBLE_LIST 和 COMPATIBLE_VALUE 方法

4、运行 通过开机广播会自动读取xml到database

image-20240219-030423.png
image-20240307-072517.png