版本比较

密钥

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

背景:

有部分应用在运行时,只能在特定的兼容模式下才能正常运行。因此设计一种通用型的兼容性设置框架。方便framework读取用户配置值,从而决定是否启用兼容性配置特性。

使用步骤:

1、在boringdroidsystemui APP的raw目录comp_config.xml新增配置

eg:

...

开发背景

部分应用在运行时,只能在特定的兼容模式下才能正常运行。因此,我们需要设计一种通用型的兼容性设置框架。该框架可以读取用户配置值,并根据这些配置值来决定是否启用兼容性配置特性。本文档用于指导开发者如何开发自己的兼容性框架来加入新的兼容配置项。

开发步骤

1. 新增配置

首先在`openfde/boringdroidsystemui/tree/fde_w/app/main/res/raw/目录下的comp_config.xml配置文件中新增如下配置。

代码块
languagexml
<compatible>
    <keycode>isAllowHideDecorCaption</keycode>
    <keydesc>{
        "en":"Allow to hide the title bar",
        "ch":"允许隐藏标题栏"
        }</keydesc>
    <defaultvalue>false</defaultvalue>
    <inputtype>switch</inputtype>
    <notes>
        {
        "en":"test text",
        "ch":"测试文本"
        }
    </notes>
    <optionjson>[]</optionjson>
</compatible>

各字段说明:keycode 兼容性配置

  • keycode:兼容性配置 KEY

keydesc 兼容性描述用于页面展示 需配置中文和英文

defaultvalue 默认值

inputtype 目前支持三种类型 switch input select

notes 备注,用于指导用户使用文本,需配置中文和英文

optionjson select 需配置的选项

二、framework 接口调用

...

  • keydesc:兼容性描述用于页面展示 ,需配置中文和英文

  • defaultvalue:默认值

  • inputtype:目前支持三种类型 switch、input和 select

  • notes:备注,用于指导用户使用文本,需配置中文和英文

  • optionjson:如果inputtype是select类型,则需要配置optionjson选项。

2. framework 接口调用

异步方法:

代码块
languagejava
CompatibleConfig.queryTrainingData(Context context, String packageName, String keycode)

...

同步方法:

代码块
languagejava
CompatibleConfig.queryValueData(Context context, String packageName, String keycode)

参数说明: context 上下文对象

  • cotext:上下文对象

...

  • packageName:包名

...

  • keycode:兼容性配置的KEY