O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Indicadores de privacidade

As permissões de tempo de execução no Android 6 e superior fornecem aos usuários controle sobre quando eles permitem que o áudio do microfone de um dispositivo ou o vídeo da câmera de um dispositivo seja gravado. Antes que um aplicativo possa gravar, um usuário deve conceder ou negar permissão por meio de uma caixa de diálogo apresentada pelo sistema.

Android 12 fornece aos usuários com transparência, exibindo indicadores quando um aplicativo usa uma fonte de dados privados através das câmeras e microfones permissões app-op . App-ops registram acessos a APIs protegidas por permissão de tempo de execução.

O App-op rastreia o status da atividade e o número de chamadas API individuais e interage com o microfone e os indicadores da câmera no Android 12 para mostrar aos usuários quando os aplicativos acessaram dados de áudio e câmera em seus dispositivos. Quando os usuários clicam no microfone ou nos indicadores da câmera, eles veem quais aplicativos acessaram seus dados. Este recurso é obrigatório para todos os OEMs.

Requisitos de visibilidade do indicador

Estes são os requisitos para indicadores de microfone e câmera em dispositivos com Android 12 ou superior:

  • Os indicadores devem aparecer na barra de status e manter a prioridade visual mais alta (por exemplo, localizados na posição mais à direita no canto superior direito).
  • Os indicadores devem estar localizados de forma consistente na mesma posição e não devem ser bloqueados por um aplicativo quando ele for iniciado.
  • Ambos os indicadores devem ser verde (ou uma variação de verde) na cor.
  • Clicando em um ou ambos os indicadores devem prestar uma notificação affordance atribuição aplicativo que faz o seguinte:
    • Exibe o nome do aplicativo que está usando o microfone e (ou) câmera
    • Exibe o nome do aplicativo que usou o microfone e (ou) câmera nos últimos 15 segundos
    • Leva os usuários para a página de permissão aplicativo em Configurações

Uso e recursos

No Android 12, a IU distingue entre usos em execução e usos recentes. Os usos são considerados “ativos” se estiverem marcados pelo sistema como “em execução” ou tiverem menos de 5 segundos.

  • Os ícones da barra de status mostram cada vez que um aplicativo tem acesso contínuo a um microfone ou câmera sensível ao usuário.
  • Os usuários podem clicar nesses ícones e ver quais aplicativos estão acessando o microfone, a câmera ou ambos.

Microphone and camera in-use indicators showing that access is active

Figura 1. microfone e câmara em uso indicadores que mostram o acesso activo (canto superior direito)

O acesso é considerado ativo enquanto os indicadores forem exibidos. Um ícone é mostrado primeiro e, em seguida, faz a transição para um ponto que persiste até que o aplicativo seja dispensado ou fechado.

Quando um usuário toca nos indicadores, uma caixa de diálogo se abre, mostrando que um aplicativo está usando a câmera, o microfone ou ambos.

Indicators for both active and recent access, and whether the access was from camera or microphone

Figura 2. Indicadores de acesso activo e recentes

A imagem na Figura 2 mostra os indicadores de acesso activos quando dados foi acedida durante os últimos 5 segundos por uma aplicação em execução.

Indicadores de acesso recentes mostram que os dados foram acessados ​​por um aplicativo durante os 15 segundos anteriores, mas que o aplicativo não está ativo. Todos os aplicativos ativos são exibidos no diálogo, mas apenas um aplicativo é mostrado como a fonte de acesso recente, mesmo quando mais de 1 aplicativo acessou os dados em um período anterior de 15 segundos. A visualização de acesso permanece congelada até que o usuário feche a caixa de diálogo de notificação.

Entregar e habilitar

O PermissionManager classe fornece um método para preencher o diálogo, que reside na UI do sistema.

  • UI sistema reage a um interruptor de configuração do dispositivo: privacy/mic_camera_indicators_enabled .
  • A troca é necessária porque existem dois veículos de entrega separados, nesta ordem:
    1. Entregar.
    2. Permitir.
  • A interface do usuário do sistema não deve falhar se o método em PermissionManager não pode fornecer os dados necessários.

Fluxo de processo

A funcionalidade do Indicador de permissão tem três partes principais:

  • Os aplicativos
  • Os indicadores (gerenciados pelo SystemUI)
  • Uma maneira de determinar quais aplicativos estão usando os dados

O PermissionController fornece o mecanismo para determinar quais as aplicações estão a utilizar os dados. SystemUI escuta aplicativos usando dados privados. O SystemUI mostra um ícone na barra de navegação superior que corresponde às permissões usadas. Os PermissionController exibe dados sobre usos quando um usuário clica em um ícone.

Process flow for Permission Indicator functions

Figura 3. Os componentes do sistema e transições (UI) fluir

As transições numerados na Figura 3 estão descritos abaixo:

1- Um aplicativo solicita dados privados do sistema.

2- As permissões sistema verifica. Se as permissões forem permitidas, o sistema notificará o provedor de dados e anotará o uso em operações de aplicativos

3- O provedor de dados fornece dados para o aplicativo.

05/04 O utilizador clica nos ícones. UI sistema solicita dados do PermissionManager e apresenta a caixa de diálogo para o usuário.

Detalhes do Processo

  1. Os aplicativos usam o microfone e câmera, chamando AppOpsManager.startOp , stopOp , e (ou) noteOp . Isso cria registros de operação de aplicativo no servidor do sistema.
  2. A interface do usuário do sistema escuta para novas app-ops usando os AppOpsManager.OnOpActiveChangedInternalListener e OnOpNotedListener ouvintes. Quando um novo uso vem em (através de uma chamada para qualquer startOp ou noteOp ), as verifica UI do sistema que o uso é por um aplicativo do sistema.
  3. Se a IU do sistema verificar o uso do aplicativo do sistema e se o uso for para o microfone, a IU do sistema verifica se o microfone está mudo.
  4. Se a IU do sistema verificar o uso de aplicativos não pertencentes ao sistema (e, para uso do microfone, se o microfone não está mudo; para uso da câmera, se a câmera está ligada), ele mostra um ícone refletindo tal uso.

Se UI Sistema recebe um noteOp , que não tem duração, mostra o ícone para pelo menos 5 segundos. Caso contrário, o ícone mostra ou até receber uma stopOp , ou por 5 segundos, o que for maior. O usuário clicar em um ícone inicia uma intenção que vai para o PermissionController para iniciar o diálogo.

O PermissionController carrega todo o uso recente para o microfone e câmera. Ele verifica se algum deles está em execução ou dentro do prazo definido pela IU do sistema. Se encontrar uma correspondência, ele exibe o nome do aplicativo que usou a permissão e quais permissões o aplicativo usou.

Por causa dessa mudança no Android 12 e superior, alguns aplicativos devem mudar seu comportamento ou implementar um comportamento especial.

A telefonia deve implementar o uso de permissão (para contabilizar a pilha de microfone separada usada em chamadas telefônicas), enquanto trabalha com o aplicativo Android Google Search (AGSA) e Google Mobile Services (GMS).