一、兼容性配置
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
0 评论