Histórico de notificações

O histórico de notificações é uma tela do dispositivo em que os usuários podem ver notificações adiadas, algumas notificações dispensadas recentemente e um histórico do último dia de notificações. É um recurso opcional para os OEMs implementarem. Não há impacto em SoCs ou operadoras.

O histórico de notificações foi criado para atender a estes casos de uso:

  • Descartar por acidente: você descartou uma notificação por acidente e quer saber o que era.
  • Notificações adiadas: você adiou uma notificação, mas quer vê-la antes do fim do período de adiamento.
  • Solução de problemas: você acha que perdeu uma notificação. Você verifica o histórico de notificações para saber se houve uma notificação e se ela tocou. Se você não encontrar, verifique se uma notificação foi bloqueada. É possível mudar as configurações de notificação no histórico de notificações.
  • Gerenciamento de notificações: você quer mudar o nível de interrupção das notificações. Por isso, usa o histórico de notificações, que oferece uma visão realista da carga diária de notificações. Assim, é fácil entender o escopo das mudanças feitas em alertas, bloqueios etc.

Implementações de referência desses componentes do Histórico de notificações estão disponíveis:

  • Configurações: packages/apps/Settings/src/com/android/settings/notification/history
  • Servidor do sistema: com.android.server.notification.NotificationHistory.*.java

Estas são as principais etapas para implementar o histórico de notificações:

  • Grava eventos de notificação no registro.
  • Adicione pontos de entrada ao registro e a configuração para ativar e desativar.
  • Implemente a tela do histórico de notificações.

Os usuários podem desativar o histórico de notificações. Quando ele está desativado, todos os itens do histórico são excluídos, e nenhum item é gravado no registro.

É possível definir o número de dias em que as notificações aparecem no histórico de notificações usando a constante HISTORY_RETENTION_DAYS na classe NotificationHistoryDatabase. Você também pode modificar quais seções aparecem na tela "Histórico de notificações" e como os dados são apresentados.

O período padrão de retenção do histórico de notificações é de 24 horas.

Esses testes de unidade são fornecidos para cada componente do código:

  • Testes de unidade do servidor do sistema: FrameworksUiServicesTests
  • Testes de unidade de configurações: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"