LatestItemView.java 对应的一个View文件。
StatusBarService.java 主要函数:addNotificationViews,makeNotificationView,Launcher(作为View的相应处理函数)。
status_bar_latest_event.xml
status_bar_latest_event_content.xml 默认通知的布局文件。
status_bar_scrollview_expanded.xml 下拉通知栏布局文件
StatusBarNotification.java 包装 Notification.java 数据
Notification.java 通知相关属性的包装。主要函数:setLatestEventInfo;主要的属性值:public RemoteViews contentView; public PendingIntent contentIntent;主要用于自定义通知显示布局。
NotificationManagerService.java 主要函数:enqueueNotificationInternal(在这里播放声音文件,和震动模式);内部类:NotificationRecord 主要记录并包装notification。主要变量:private final ArrayList<NotificationRecord> mNotificationList =
new ArrayList<NotificationRecord>();
通知事件流程:
NotificationManager.java -> notify(String tag, int id, Notification notification) ->
NotificationManagerService.java中enqueueNotification,enqueueNotificationWithTag,enqueueNotificationInternal ->
StatusBarManagerService.java 中addNotification。->
StatusBarService.java 中addNotification,addNotificationViews,makeNotificationView。