配景:
近期有学员反馈在aosp14高版本上有了一个新窗口TaskBar,这个但是有需求就是对这个TaskBar举行隐蔽,以是有一个须要对这个TaskBar举行举行隐蔽需求
隐蔽TaskBar需求做了之后发现有如下bug:
题目复现步骤:
因为要实现一个对TaskBar隐蔽需求功能,以是这里须要先实现这个需求,正因为实现这个需求后才发现可以复现这个冻屏题目。
普通模仿器须要看到TaskBar
这里普通的手机是无法看到TaskBar,须要举行干系density举行设置,变成平板装备才可以
一般aosp14_r15编译lunch sdk_phone_x86_64后起来后须要再执行一下命令才可以变成平板的显示模式。
执行后画面变成如下:
修改隐蔽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详细代码和资料参考如下链接
投屏专题部分:
https://mp.weixin.qq.com/s/IGm6VHMiAOPejC_H3N_SNg
hal+perfetto+surfaceflinger
https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg
其他课程七件套专题:
点击这里
https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw
视频试看:
https://www.bilibili.com/video/BV1wc41117L4/
参考干系链接:
https://blog.csdn.net/zhimokf/article/details/137958615
更多framework假威风耗:androidframework007
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |