2020-07-24 11:28

始终显示功能在旗舰Android设备中变得越来越普遍

在三星Galaxy S7系列中,“始终显示”功能在旗舰Android设备中变得越来越普遍。该功能使您无需浏览手机即可浏览时间,日期和通知。Google凭借Google Pixel 2和Pixel 2 XL,具有从Android 8.1 Oreo开始将功能引入AOSP的额外好处。同时,三星通过添加静态墙纸支持甚至基本的GIF支持,继续调整其AOD版本。现在,看来Google可能会在这方面赶上三星,因为第一个Android P Developer Preview 暗示了Pixel 2的Always on Display中的墙纸支持。

我从运行Android P Developer Preview 1的Google Pixel 2 XL反编译了SystemUI APK,发现了与AOD相关的有趣的新调试参数。大约2个月前,我发现了一组用于自定义AOD 的隐藏命令,这些新的调试参数似乎是同一组命令的一部分。通过搜索对这些名称的其他引用,我进入了一个名为“ DozeWallpaperState” 的类,该类在下面的第二个屏幕截图中已显示。

如您在第一个屏幕截图中所见,“ AlwaysOnDisplayPolicy”类中有几个字段。该字段包括prox_cooldown_period, prox_cooldown_trigger, prox_screen_off_delay,和screen_brightness_array其中存在于的Android 8.1奥利奥。但是,有两个新的字段称为wallpaperFadeOutDuration和wallpaperVisibilityDuration提示调试参数,Google工程师使用这些参数来测试过渡到锁定屏幕时始终显示在墙纸上的墙纸是否平滑地淡入和淡出。

在第二个屏幕截图中,我们看到了DozeWallpaperState该类中的一个方法,该方法定义了当设备转换为环境显示模式(常规或AOD)时该怎么做。有趣的是,当设备支持AOD但当前不在环境显示模式时,会将某些行写入系统日志。日志指出“ AoD壁纸状态已更改为”,并列出了当前环境显示状态以及为该过渡设置动画所需的时间。

此代码的另一个可能的解释是,AOD仅在收到通知时显示墙纸,但我们不太确定。我们与一些与我们一起查看代码的开发人员进行了交谈,但未能达成共识。希望我们可以在下一个Android P开发者预览版中找到,或者在Android P的源代码发布时查找。届时,有人甚至可能会在下一次Android P预览版构建之前就弄清楚如何启用此功能!