История уведомлений

История уведомлений — это экран устройства, на котором пользователи могут видеть отложенные уведомления, несколько недавно отклоненных уведомлений и историю уведомлений за последний день. Это дополнительная функция для OEM-производителей, которую можно реализовать. Она не влияет на SoC или операторов.

История уведомлений предназначена для следующих случаев использования:

  • Случайное удаление : вы случайно удалили уведомление и хотите быстро просмотреть, что в нем было.
  • Отложенные уведомления : вы отложили уведомление, но хотите увидеть его до окончания периода отсрочки.
  • Устранение неполадок : Вы считаете, что пропустили уведомление. Вы проверяете историю уведомлений, чтобы увидеть, было ли уведомление и гудело ли оно. Если вы его не нашли, вы проверяете, было ли заблокировано уведомление. Вы можете изменить настройки уведомлений в истории уведомлений.
  • Управление уведомлениями : если вы хотите изменить то, насколько отвлекающими являются уведомления, используйте историю уведомлений, поскольку она обеспечивает реалистичный срез ежедневной нагрузки уведомлений, что позволяет легко понять объем ваших изменений в оповещениях, блокировках и т. д.

Доступны эталонные реализации следующих компонентов истории уведомлений:

  • Настройки : packages/apps/Settings/src/com/android/settings/notification/history
  • Системный сервер : com.android.server.notification.NotificationHistory.*.java

Вот основные шаги по внедрению истории уведомлений:

  • Записывать события уведомлений в журнал.
  • Добавьте точки входа в журнал и настройки для его включения и выключения.
  • Реализуйте экран истории уведомлений.

Пользователи могут отключить историю уведомлений. Когда она выключена, все элементы истории удаляются и никакие элементы не записываются в журнал.

Вы можете задать количество дней, в течение которых уведомления будут отображаться в истории уведомлений, используя константу HISTORY_RETENTION_DAYS в классе NotificationHistoryDatabase . Вы также можете изменить, какие разделы будут отображаться на экране истории уведомлений и как будут представлены данные.

Срок хранения истории уведомлений по умолчанию составляет 24 часа.

Эти модульные тесты предусмотрены для каждого компонента кода:

  • Тесты модулей системного сервера : FrameworksUiServicesTests
  • Настройки модульных тестов : make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"