<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[忘冻鱼的博客]]></title><description><![CDATA[水滴穿石，金石可镂。]]></description><link>https://blog.csdn.net/WDYShowTime</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; WDYShowTime]]></copyright><item><title><![CDATA[SystemUI 勿扰模式下来电通知栏不显示通知]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/107558499</link><guid>https://blog.csdn.net/WDYShowTime/article/details/107558499</guid><author>WDYShowTime</author><pubDate>Fri, 24 Jul 2020 12:32:26 +0800</pubDate><description><![CDATA[不积跬步无以至千里



一.前摘

    当你开启勿扰模式的时候，此刻你肯定不想被打扰，无论是声音还是显示上，那此时的来电通知会怎样呢？毕竟来电通知是一个非常重要的通知，那它是在勿扰模式中怎么被处理的呢？

二.正文

    其实SystemUI的通知是有一个专门管理通知数据的类NotificationData，这里有对通知是否需要在通知栏中是否显示出来会有过滤的操作。

代码路径：

app/src/com/android/systemui/statusbar/Notificat...]]></description><category></category></item><item><title><![CDATA[SystemUI 如何判断当前界面显示的为全屏界面？]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/107389676</link><guid>https://blog.csdn.net/WDYShowTime/article/details/107389676</guid><author>WDYShowTime</author><pubDate>Thu, 16 Jul 2020 18:18:52 +0800</pubDate><description><![CDATA[不积跬步无以至千里



一.前摘

    怎么判断当前的用户处于全屏模式呢？处于全屏模式当中即是状态栏处于沉浸状态，而往往此时用户其实是不想被打扰的。因此可以针对当前如果用户处于全屏模式下，我们做一些勿扰模式的一种行为，类似于当处于全屏模式我们就不再弹出全屏通知等等。

二.正文

现在我们判断全屏模式肯定是因为状态栏的沉浸式出现的，因此我们就以此为突破口，查看SystemUI的源码中怎么控制状态栏的消失的？

代码路径：

app/src/com/android/systemui/statu...]]></description><category></category></item><item><title><![CDATA[SystemUI 解锁界面新增返回按钮]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/107367025</link><guid>https://blog.csdn.net/WDYShowTime/article/details/107367025</guid><author>WDYShowTime</author><pubDate>Wed, 15 Jul 2020 17:52:39 +0800</pubDate><description><![CDATA[不积跬步无以至千里



一.前摘

查看现在最新的竞品手机你就会发现解锁界面一般不会再显示虚拟按键了，我感觉是感觉此界面更想是全屏界面，不想把布局给到虚拟按钮的布局上，因此这里去掉虚拟按键这个布局显示，自然就需要添加一个返回按钮来代替此功能。

二.正文

关于这个button怎么布局，以及什么样式我就不说了，因设计而异，这里说一下如果实现这个和虚拟按键一样作用的back键的处理。

1.让我们看一下SystemUI本身是怎么处理的，其实就明白了，因为解锁界面属于statusbar，因此我们看一下stat]]></description><category></category></item><item><title><![CDATA[SystemUI 锁屏界面显示的充电“还需几小时充满”提示语]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/107001441</link><guid>https://blog.csdn.net/WDYShowTime/article/details/107001441</guid><author>WDYShowTime</author><pubDate>Sun, 28 Jun 2020 18:01:20 +0800</pubDate><description><![CDATA[不积跬步无以至千里



一.前摘

 项目说客户有个需求就是把这个充电还有多长时间才能充满的提示语去掉，因为这个多长时间才能充满的时间从底层获取的时候受此时充电的电流的大小会有影响，然后会出现充电剩余时间忽大忽小的现象，因此这里建议去掉。

二.正文

 这里的锁屏的充电提示语利用的是锁屏第一界面的控件KeyguardIndicationTextView，通过这个控件进行消息的提示，让我们直接上才艺。

代码路径如下：

app/src/com/android/syste...]]></description><category></category></item><item><title><![CDATA[SystemUI 关于闹钟、来电通知在锁屏与非锁屏状态以及全屏界面的修改]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106987059</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106987059</guid><author>WDYShowTime</author><pubDate>Sun, 28 Jun 2020 12:18:36 +0800</pubDate><description><![CDATA[不积跬步无以至千里



一.前摘

 来电的通知在谷歌原生机器中的逻辑处理是锁屏界面显示来电全屏通知，非锁屏界面显示的是悬浮通知，
]]></description><category></category></item><item><title><![CDATA[SystemUI 解密通知如何显示为普通通知，悬浮通知还是全屏通知]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106957048</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106957048</guid><author>WDYShowTime</author><pubDate>Thu, 25 Jun 2020 17:32:39 +0800</pubDate><description><![CDATA[不积跬步无以至千里



一.前摘

 系统来了一条通知，此时通知会有三种方式呈现：普通通知，悬浮通知，全屏通知。

普通通知：就会显示在通知栏中，只有通知栏显示的时候才会显示出来。

悬浮通知：会直接显示再屏幕的顶部中间通知View。

全屏通知：直接显示一个全屏的界面。

二.正文

我们就从代码逻辑中讲解吧。

代码路径如下：

/app/src/com/android/systemui/statusbar/NotificationEntryManager.java

1.新增通知

...]]></description><category></category></item><item><title><![CDATA[SystemUI 解密悬浮通知上滑后不显示悬浮通知的原因]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106950746</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106950746</guid><author>WDYShowTime</author><pubDate>Wed, 24 Jun 2020 23:40:08 +0800</pubDate><description><![CDATA[不积跬步无以至千里



一.前摘

 在使用手机时，你会发现来了一条悬浮通知，然后上滑此悬浮通知消失，当你再接收到此悬浮通知时，但是并没有显示悬浮通知，其实细心的能发现过一会就能恢复了。

二.正文




...]]></description><category></category></item><item><title><![CDATA[SystemUI 新增功能“通知亮屏”]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106945087</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106945087</guid><author>WDYShowTime</author><pubDate>Wed, 24 Jun 2020 16:37:33 +0800</pubDate><description><![CDATA[不积跬步无以至千里



一.前摘

 最新项目来了个新需求就是当来新通知的时候需要亮屏，方便直接看到最新的通知，也算合理。

二.思考

 这里来新通知的情形从逻辑上来说，一是新来了一条通知，二是更新通知。

三.修改

代码路径：

app/src/com/android/systemui/statusbar/NotificationEntryManager.java


    public NotificationEntryManager(Context context)...]]></description><category></category></item><item><title><![CDATA[SystemUI QuickSettings之手电筒低电量禁止开启]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106938606</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106938606</guid><author>WDYShowTime</author><pubDate>Wed, 24 Jun 2020 11:50:24 +0800</pubDate><description><![CDATA[不积跬步无以至千里



一.前摘

 近期项目有个需求，就是当手机电量低于15%时候，此时QuickSettings中的手电筒功能是不能开启手电筒的，因为此时电量已不够用了，继续使用手电筒就加速了电池电量的消耗，因此这个需求也是合理的。

二.修改

代码路径：

app/src/com/android/systemui/qs/tiles/FlashlightTile.java


import static android.os.BatteryManager.EXTRA_LEVEL;
p...]]></description><category></category></item><item><title><![CDATA[SystemUI 锁屏解锁界面提示语在触碰指纹后消失]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/105891402</link><guid>https://blog.csdn.net/WDYShowTime/article/details/105891402</guid><author>WDYShowTime</author><pubDate>Thu, 11 Jun 2020 16:02:55 +0800</pubDate><description><![CDATA[不积跬步无以至千里

一.前摘




]]></description><category></category></item><item><title><![CDATA[Android源码中添加高斯模糊背景-毛玻璃]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/87697411</link><guid>https://blog.csdn.net/WDYShowTime/article/details/87697411</guid><author>WDYShowTime</author><pubDate>Tue, 09 Jun 2020 16:11:41 +0800</pubDate><description><![CDATA[不积跬步无以至千里 

  由于系统中多处使用了高斯模糊处理的背景效果,这里感觉也算一个有b格的设计,因此把实现记录下来,而且多数的处理是基于上层的添加方式,这里说一下源码下的整个流程.

1.配置Android.mk

配置其中所需要的库,以及RenderScript所依赖的环境



LOCAL_STATIC_JAVA_LIBRARIES += androi...]]></description><category></category></item><item><title><![CDATA[SystemUI 双击Power键启动相机]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106477133</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106477133</guid><author>WDYShowTime</author><pubDate>Mon, 01 Jun 2020 17:13:03 +0800</pubDate><description><![CDATA[不积跬步无以至千里

一.前摘

 有个同事问我双击启动相机的逻辑SystemUI的入口在哪？我因为之前搞过启动相机与人脸识别的冲突问题，所以对这块还是比较了解的。因此记录一下，来告诉对这块比较发闷的童鞋。

二.分析

 分析就不分析了，直接把我上次的写的文章拿过来，其中的分析在这篇文章有体现，否则再重新写一遍也没有什么意思，你说是不是？

 双击power键启动相机的逻辑：https://blog.csdn.net/WDYShowTime/article/...]]></description><category></category></item><item><title><![CDATA[SystemUI 解决密码输入界面与锁屏界面重复（原生系统同样存在）]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106443040</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106443040</guid><author>WDYShowTime</author><pubDate>Sat, 30 May 2020 18:05:03 +0800</pubDate><description><![CDATA[不积跬步无以至千里

一.前摘



 层叠效果如上图，其实我们前边已经写过优化类似的场景文章：优化锁屏解锁界面层叠问题 ，这里是对这种场景的补充。这种场景是点击自定义通知里面的控件有会启动一些Activity这种场景，因为此时在锁屏的状态下，所以需要先去解锁才能启动某些界面，然后这里会导致界面重叠的情形。

二.分析与解决

 通过在Bouncer界面的show方法中打印调用栈，查到了此调用的逻辑，调用的逻辑如下：

app/src/com/android/systemui...]]></description><category></category></item><item><title><![CDATA[SystemUI 密码解锁界面点击屏幕不亮屏]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106340606</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106340606</guid><author>WDYShowTime</author><pubDate>Mon, 25 May 2020 20:14:32 +0800</pubDate><description><![CDATA[不积跬步无以至千里

一.前摘 熟悉SystemUI模块的童鞋应该知道，SystemUI大部分都是window窗口的各大布局，然后出现不同的场景，而这里做的亮屏操作也是自己做的处理，这里测试就提出了一个bug。

bug描述如下：

在密码解锁界面当屏幕处于半亮屏状态，你去点击非输入密码区域，并不能重新点亮屏幕。

二.分析

1.怎么点亮屏幕？

 通过观察发现SystemUI中各大对应的功能布局都是自己进行处理进行的亮屏操作，SystemUI经常通过如下逻辑实现亮屏。

...]]></description><category></category></item><item><title><![CDATA[SystemUI 长按POWER键弹出关机等图标，有时候会抖一下]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106340287</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106340287</guid><author>WDYShowTime</author><pubDate>Mon, 25 May 2020 19:30:13 +0800</pubDate><description><![CDATA[不积跬步无以至千里

如果同样存在此问题，可以参考如下修改，这里废话不多说，直接上才艺。

修改如下两处：

1.app/res/layout/global_actions_column.xml


&lt;!--modify start--&gt;
&lt;!--android:paddingTop="@dimen/global_actions_top_padding"--&gt;
&lt;!--android:gravity="top | right"--&gt;
&lt;!--modify end--]]></description><category></category></item><item><title><![CDATA[SystemUI 应用的通知设置了悬浮通知几秒后消失]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/106338015</link><guid>https://blog.csdn.net/WDYShowTime/article/details/106338015</guid><author>WDYShowTime</author><pubDate>Mon, 25 May 2020 19:00:31 +0800</pubDate><description><![CDATA[不积跬步无以至千里

一.前摘

 测试这两天提了一个闹钟通知的bug，描述是：闹钟响铃，出现小卡片，等待5S左右，隐藏。而闹钟的同事说它已经设置了闹钟一直显示的属性，以及设置闹钟的fullscreenIntent，让我们SystemUI模块查看是否有问题？

二.分析

悬浮通知的显示流程简介

app/src/com/android/systemui/statusbar/AlertingNotificationManager.java

1.显示悬浮通知


/**
     * Cal...]]></description><category></category></item><item><title><![CDATA[SystemUI 锁屏下拉状态栏困难的分析与解决方案]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/105537094</link><guid>https://blog.csdn.net/WDYShowTime/article/details/105537094</guid><author>WDYShowTime</author><pubDate>Wed, 22 Apr 2020 23:35:39 +0800</pubDate><description><![CDATA[不积跬步无以至千里

一.前摘

 最新的手机项目上锁屏状态中下拉状态栏虽然已经下拉了很大距离但是状态栏还是会收回去，而且频繁的下拉还是收回去，所以这里是个很不好的体验
...]]></description><category></category></item><item><title><![CDATA[SystemUI 灭屏没有声音或者说上锁没有声音]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/105660942</link><guid>https://blog.csdn.net/WDYShowTime/article/details/105660942</guid><author>WDYShowTime</author><pubDate>Tue, 21 Apr 2020 16:50:25 +0800</pubDate><description><![CDATA[不积跬步无以至千里

一.前摘

在我们平时使用手机时，在你灭屏上锁或者解锁的时候都会有一个声音提示你当前的上锁状态。

但是此时出现了此时的bug：屏幕解锁可以听见解锁的声音，而屏幕灭屏的时候听不见灭屏的声音。

二.分析

锁屏上锁的声音以及解锁后的解锁声音都是在SystemUI里的功能逻辑，我们看一下代码逻辑。

路径如下：

app/src/com/android/systemui/key...]]></description><category></category></item><item><title><![CDATA[SystemUI android10.0禁止状态栏下拉]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/105602864</link><guid>https://blog.csdn.net/WDYShowTime/article/details/105602864</guid><author>WDYShowTime</author><pubDate>Sat, 18 Apr 2020 20:16:07 +0800</pubDate><description><![CDATA[不积跬步无以至千里

一.前摘

 其实这里禁止状态栏的下拉是我们经常遇到的一些功能需求场景，其实前边的场景我们也有写过一篇文章 SystemUI Android7.1禁止锁屏下拉状态栏，而这种修改是处理当处于锁屏第一界面时的禁止状态栏的下拉或者弹出，而其中还有一篇文章说明了怎么平台提供的接口如何禁止状态栏的下拉：https://blog.csdn.net/WDYShowTime...]]></description><category></category></item><item><title><![CDATA[SystemUI 修改电量低于多少出现低电量通知弹框]]></title><link>https://blog.csdn.net/WDYShowTime/article/details/105457474</link><guid>https://blog.csdn.net/WDYShowTime/article/details/105457474</guid><author>WDYShowTime</author><pubDate>Sat, 11 Apr 2020 19:33:07 +0800</pubDate><description><![CDATA[不积跬步无以至千里

一.前摘

 咱们使用手机电量比较低的时候，都会通过在手机顶部上显示一条低电量的悬浮通知来提醒你此时的电池电量不足请注意用电或者及时充电，如下图，原生的系统是电量低于15%则会弹出此弹框，如果你想修改到18%就去提醒用户，那么接下里我们说一下。



二.分析

这里类也是继承了基础抽象类SystemUI，这里通过广播监听电量变化，然后相当于电量从16变成15...]]></description><category></category></item></channel></rss>