目录

一、兼容性配置

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
格式:

1<compatible> 2 <keycode>size</keycode> 3 <keydesc>分辨率</keydesc> 4 <defaultvalue>1</defaultvalue> 5 <inputtype>select</inputtype> 6 <optionjson>[{ 7 "width": "1920", 8 "height": "1080" 9 }, 10 { 11 "width": "800", 12 "height": "600" 13 }, { 14 "width": "400", 15 "height": "320" 16 } 17 ]</optionjson> 18</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