4.4的开关机动画的服务为bootanimation (全志allwinner平台下)
init.rc里面有下面一行,开机时候会调用此服务 service bootanim /system/bin/bootanimation。surfaceflinger里面用过ctrl_start 调用服务,详细可以搜索代码。
虽然bootanim名称为开机动画,但代码里面其实包含了关机动画和关机音乐相关的内容。
51 property_get("sys.shutdown_animation", cmd, "boot");
52 const char* url = "/system/media/boot.wav";
53 if (!strcmp(cmd, "shutdown")) {
54 url = "/system/media/shutdown.wav";
55 }
sys.shutdown_animation 属性值为shutdown时,播放shuudown.wav
关机音乐在哪里启动bootanimation 并设置属性文件sys.shutdown_animation 为shutdown呢?
./frameworks/base/services/java/com/android/server/power/ShutdownThread.java中的beginShutdownSequence(Context context) 函数