当前位置: 首页 > news >正文

去除恢复出厂设置中UI文字显示

文章目录

  • 需求
    • 场景
  • 一、代码跟踪与分析
    • 在线文字搜索
    • RK平台本地源码搜索
    • 实际测试验证
    • 代码推理
  • 二、实现方案
  • 三、延伸知识
  • 四、知识总结


需求

需求:去除恢复出厂设置中UI文字显示

场景

Android 相关产品各种方向旋转、强制横竖屏等需求,导致在恢复出厂设置中,部分文字没有显示正常,方向显示异常了。 比如如下图所示:
在这里插入图片描述

一、代码跟踪与分析

既然文字显示出来了,那我们根据文字显示找出具体位置然后屏蔽不就完了呀。

在线文字搜索

Android12在线源码搜索关键字 清除中
在这里插入图片描述

RK平台本地源码搜索

在这里插入图片描述

实际测试验证

无论在线还是本地源码搜索,关键字位置是同一个问题,其中可以看出来 app 位置的肯定不是,因为恢复出厂设置情况下,理论上不会有app 还在运行的,最大可能是 “清除中”

实际测试验证,上面三个地方 通过添加tag,比如111清除中 、222清除中 编译烧录固件发现都不是,并没有按照添加的tag 显示,还是显示 清除中。

代码推理

恢复出厂设置过程中,系统流程肯定在 /bootable/recovery/ 中,在线源码如下:
recovery
在这里插入图片描述

继续看看这个目录相关代码,文件结构,资源文件,如下:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这个不就是动画和资源文件吗? 难道在recovery 中,通过图片里面取文字???

继续反推通过图片找具体位置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

思路其实就是通过反向不断推理,在源码里面找,通过文件名、方法名和注释找到核心代码,最终实现功能。

二、实现方案

通过上面反向推理,最终实现方案,通过屏蔽即可:


修改点:draw_background_locked 方法,绘制Surface 时候,屏蔽掉绘制DrawTextIcon 相关内容//const auto& text_surface = GetCurrentText();//int text_x = (ScreenWidth() - gr_get_width(text_surface)) / 2;//int text_y = GetTextBaseline();//gr_color(255, 255, 255, 255);//DrawTextIcon(text_x, text_y, text_surface);

三、延伸知识

当前场景下需要去除文字显示,对于部分产品可能需要更改文字,这个时候可以参考网上介绍内容处理,更新图片等。

四、知识总结

  • /bootable/recovery 模块资源加载方式,映射到小系统对当前界面实现方式
  • 替换、隐藏文案是实现方式
http://www.lryc.cn/news/434142.html

相关文章:

  • 《高校教育管理》
  • 全国计算机二级考试C语言篇4——选择题
  • 数据结构————哈希表
  • element select + tree
  • LeetCode之矩阵
  • Windows文件系统介绍与基本概念解析
  • 使用 Apache POI 实现 Java Word 模板占位符替换功能
  • 第三届人工智能与智能信息处理国际学术会议(AIIIP 2024)
  • 【动手学深度学习】04 数据操作 + 数据预处理(个人向笔记)
  • 本地搭建 Whisper 语音识别模型
  • 数据集成-缝合一套数据仓库Infra的臆想
  • 运营有哪几种?
  • Android视频编辑:利用FFmpeg实现高级功能
  • 图片无损缩放PhotoZoom Pro 9.0.2绿色版 +免费赠送PhotoZoom激活优惠代码
  • tekton pipelineresources
  • OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度
  • 常见概念 -- 光回波损耗
  • uni-app环境搭建
  • 数据结构 栈 队列
  • 嵌入式学习路线+嵌入式校招建议 嵌入式学习面试规划
  • 服务器深度学习环境配置
  • 使用 Parallel 类进行多线程编码(下)
  • 基于微信小程序+Java+SSM+Vue+MySQL的药店管理系统
  • C#使用MQTT(一):MQTT服务端
  • AD原理图update为pcb
  • 应用海外仓系统后,可以改善哪些海外仓的核心业务流程?
  • SQL进阶技巧:截止当前批次前的批次量与订单量 | 移动窗口问题
  • C#中的Graphics类和SetQuality()自定义方法
  • 圣诞节:白酒与西式料理的异国风情
  • 2.ChatGPT的发展历程:从GPT-1到GPT-4(2/10)