安卓冻屏bug案例作业分享-千里马学员wms+input实战作业

背景:

近期有学员反馈在aosp14高版本上有了一个新窗口TaskBar,这个但是有需求就是对这个TaskBar进行隐藏,所以有一个需要对这个TaskBar进行进行隐藏需求
在这里插入图片描述

隐藏TaskBar需求做了之后发现有如下bug:
冻屏问题复现图

问题复现步骤:

因为要实现一个对TaskBar隐藏需求功能,所以这里需要先实现这个需求,正因为实现这个需求后才发现可以复现这个冻屏问题。
普通模拟器需要看到TaskBar
这里普通的手机是无法看到TaskBar,需要进行相关density进行设置,变成平板设备才可以
一般aosp14_r15编译lunch sdk_phone_x86_64后起来后需要再执行一下命令才可以变成平板的显示模式。

adb shell wm density 240

执行后画面变成如下:
在这里插入图片描述

修改隐藏TaskBar
只需要TaskbarActivityContext中对mDragLayer进行隐藏,patch如下

test:~/disk2/aosp14/packages/apps/Launcher3$ git diff quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
index a1390aeabb..b3bf3dc283 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java
@@ -17,6 +17,7 @@ package com.android.launcher3.taskbar;
 
 import static android.content.pm.PackageManager.FEATURE_PC;
 import static android.os.Trace.TRACE_TAG_APP;
+import static android.view.View.GONE;
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
 import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
@@ -294,6 +295,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
         } else {
             mWindowManager.updateViewLayout(mDragLayer, mWindowLayoutParams);
         }
+       mDragLayer.setVisibility(GONE);
     }
 
     /**

问题复现步骤
1、设备切换成导航手势模式
2、打开一个短信应用
3、导航手势慢慢上滑一点点距离,然后松开手势不上滑,就可以复现冻屏问题

作业要求

整个作业要求完成以下几个部分,可以按照实现部分得分

1、要求分析出冻屏的原因是什么,为什么画面变得无法触摸

2、分析出来了冻屏原因,再考虑怎么屏蔽TaskBar就会用法该bug,为啥TaskBar存在就不会有该bug

3、给出修改方案,实现屏蔽TaskBar依旧不会产生冻屏问题

更多framework技术干货,请关注“千里马学框架”

### WMS与MES系统的集成案例 在多个行业实践中,WMS(仓库管理系统)和MES(制造执行系统)的集成已成为提高生产效率的关键举措之一。通过这种集成,企业能够实现物料流、信息流的一体化管理,从而优化整个生产和物流过程。 #### 集成目标 为了确保生产的连续性和高效运作,WMS与MES之间需建立紧密联系,使两者能够在原材料入库到成品出库的过程中协同工作。这不仅有助于减少库存积压,还能加快响应速度并降低运营成本[^3]。 #### 技术架构设计 采用服务导向架构(SOA),利用Web Services技术来构建接口层,使得两个异构系统间的数据交换变得简单而安全。具体来说: - **消息传递机制**:基于XML的消息格式定义了双方交互的标准; - **事务处理能力**:保证跨系统操作的一致性; - **安全性考量**:通过SSL/TLS加密通信渠道保护敏感资料的安全传输; ```xml <!-- XML 示例 --> <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mess="http://example.com/messages"> <soapenv:Header/> <soapenv:Body> <mess:GetInventoryStatusRequest soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <!-- 请求参数 --> </mess:GetInventoryStatusRequest> </soapenv:Body> </soapenv:Envelope> ``` #### 关键功能模块 ##### 物料需求计划同步 当MES接收到新的生产任务时,会自动向WMS发送物料请求指令,后者据此调整仓储策略并准备相应物资。此过程中涉及到的信息包括但不限于产品BOM表、预计消耗量以及紧急程度等属性[^4]。 ##### 生产进度跟踪反馈 随着生产线上的活动进展,实时更新至WMS数据库内,以便于管理人员掌握当前状态并对可能出现的问题做出及时反应。例如,在遇到缺件情况时迅速启动应急补货流程[^2]。 ##### 质量控制协作 对于每批次投入使用的原辅材料都应经过严格检验检疫程序确认合格后方能投入使用。因此,两套体系间的质检记录互通至关重要,它可以帮助追溯源头责任单位,并为后续改进提供依据[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值