Mudanças no framework de compatibilidade (Android 15)

Figura 1. A tela "Mudanças na compatibilidade do app" nas opções do desenvolvedor lista as mudanças que podem ser ativadas ou desativadas.

Esta página descreve as mudanças alternáveis que fazem parte do framework de compatibilidade do Android 15 (nível 35 da API). Use esta lista em conjunto com as opções do desenvolvedor e os comandos ADB para testar e depurar seu app enquanto você se prepara para oferecer suporte e direcionar para o Android 15.

Veja alguns exemplos do que você pode fazer usando as ferramentas do framework de compatibilidade:

  • Teste as mudanças esperadas sem realmente mudar a targetSdkVersion do app. Você pode usar as alternâncias para forçar a ativação de mudanças específicas de comportamento esperado e avaliar o impacto no app existente.
  • Concentre seus testes somente em mudanças específicas. Em vez de ter que resolver todas as mudanças esperadas de uma só vez, as alternâncias permitem as desativar, exceto as que você quer testar.
  • Gerencie alternâncias por meio do adb. Você pode usar comandos adb para ativar e desativar as mudanças alternáveis no seu ambiente de teste automatizado.
  • Depure mais rapidamente usando códigos de mudança padrão. Cada uma delas tem um código e um nome exclusivos que podem ser usados para depurar rapidamente a causa raiz na saída do registro.

Para ver informações completas sobre o uso das ferramentas em cada um desses casos, consulte Ferramentas do framework de compatibilidade.

Mudanças de comportamento incluídas no framework de compatibilidade

A lista nesta seção descreve mudanças alternáveis incluídas no framework de compatibilidade para mudanças relacionadas ao Android 15 e mudanças alternáveis que podem ajudar no teste geral de apps.

É possível filtrar a lista de mudanças por Estado padrão.

Mudanças alternáveis no framework de compatibilidade do Android 15

CAMERA_MIC_INDICATORS_NOT_PRESENT

ID da mudança:162547999
Estado padrão: desativada para todos os apps.

Indica que o dispositivo oferece suporte a indicadores de câmera e microfone. Se presente, o valor será false, porque o método CompatChanges#isChangeEnabled retornará true se o ID da mudança não estiver presente.

CHECK_PARAMS_IN_IS_SESSION_CONFIGURATION_SUPPORTED

ID da mudança:320741775
Estado padrão: ativada para apps direcionados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativado, o isSessionConfigurationSupported também verifica a compatibilidade dos parâmetros de sessão quando compatível com o HAL.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_CREATOR

ID da mudança:296478951
Estado padrão: ativada para apps direcionados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativada, a pessoa que criou um PendingIntent bloqueia inícios de atividade em segundo plano por padrão.

Para saber mais sobre essa mudança, consulte a seção na página de mudanças de comportamento do Android 15 sobre Inícios de atividades em segundo plano seguros.

DEPRECATE_UI_FONT

ID da mudança:279646685
Estado padrão: ativada para apps destinados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativado, o atributo elegantTextHeight TextView se torna true por padrão quando o app é executado em um dispositivo com Android 15 ou versões mais recentes. Isso substitui a fonte compacta usada por padrão com alguns scripts que têm métricas verticais grandes por uma muito mais legível.

Para saber mais sobre essa mudança, consulte a seção na página de mudanças de comportamento do Android 15 sobre o atributo elegantTextHeight tem o valor padrão "true".

DOWNSCALED

ID da mudança:168419799
Estado padrão: desativada para todos os apps.

Essa mudança é a responsável por todas as alterações de redução de escalonamento por buffer em cada app. A ativação dessa mudança permite que os seguintes fatores de escalonamento sejam aplicados:

Quando essa mudança é ativada para um pacote de apps, o app é forçado a ser redimensionado para o fator de escalonamento mais alto ativado. Por exemplo, 80% será usado se 80% e 70% (DOWNSCALE_80 e DOWNSCALE_70) estiverem ativados. Quando essa mudança e DOWNSCALED_INVERSE estão ativadas, DOWNSCALED_INVERSE tem precedência, e o fator de escalonamento é aplicado de forma inversa.

DOWNSCALED_INVERSE

ID da mudança:273564678
Estado padrão: desativada para todos os apps.

Essa mudança é a responsável por todas as alterações de redução de escalonamento inverso por buffer em cada app. Ao ativar essa mudança, os seguintes fatores de escalonamento podem ser aplicados de forma inversa (ou seja, a resolução é aumentada):

Quando essa mudança é ativada para um pacote de apps, o app é forçado a ser redimensionado para o menor fator de escalonamento ativado. Por exemplo, 80% será usado se 80% e 70% (DOWNSCALE_80 e DOWNSCALE_70) estiverem ativados, porque, quando aplicado inversamente, um fator de escalonamento de 80% é igual a 125%, que é menor do que o escalonamento de 142,86% aplicado inversamente com um fator de 70%. Quando essa mudança e DOWNSCALED estão ativadas, DOWNSCALED_INVERSE tem precedência, e o fator de escalonamento é aplicado de forma inversa.

DOWNSCALE_30

ID da mudança:189970040
Estado padrão: desativada para todos os apps.

Se DOWNSCALED também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 30% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 333,33% da resolução vertical e horizontal da tela real.

DOWNSCALE_35

ID da mudança:189969749
Estado padrão: desativada para todos os apps.

Se DOWNSCALED também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 35% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 285,71% da resolução vertical e horizontal da tela real.

DOWNSCALE_40

ID da mudança:189970038
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 40% da resolução vertical e horizontal da tela real. Se a opção DOWNSCALED_INVERSE também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 250% da resolução vertical e horizontal da tela real.

DOWNSCALE_45

ID da mudança:189969782
Estado padrão: desativada para todos os apps.

Se DOWNSCALED também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 45% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 222,22% da resolução vertical e horizontal da tela real.

DOWNSCALE_50

ID da mudança:176926741
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 50% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 200% da resolução vertical e horizontal da tela real.

DOWNSCALE_55

ID da mudança:189970036
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 55% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 181,82% da resolução vertical e horizontal da tela real.

DOWNSCALE_60

ID da mudança:176926771
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 60% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 166,67% da resolução vertical e horizontal da tela real.

DOWNSCALE_65

ID da mudança:189969744
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 65% da resolução vertical e horizontal da tela real. Se a opção DOWNSCALED_INVERSE também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 153,85% da resolução vertical e horizontal da tela real.

DOWNSCALE_70

ID da mudança:176926829
Estado padrão: desativada para todos os apps.

Se DOWNSCALED também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 70% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 142,86% da resolução vertical e horizontal da tela real.

DOWNSCALE_75

ID da mudança:189969779
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 75% da resolução vertical e horizontal da tela real. Se a propriedade DOWNSCALED_INVERSE também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 133,33% da resolução vertical e horizontal da tela real.

DOWNSCALE_80

ID da mudança:176926753
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 80% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 125% da resolução vertical e horizontal da tela real.

DOWNSCALE_85

ID da mudança:189969734
Estado padrão: desativada para todos os apps.

Se DOWNSCALED também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 85% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativada, ativar esta mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 117,65% da resolução vertical e horizontal da tela real.

DOWNSCALE_90

ID da mudança:182811243
Estado padrão: desativada para todos os apps.

Se DOWNSCALED também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 90% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 111,11% da resolução vertical e horizontal da tela real.

DO_NOT_CLONE_IN_ARRAYS_AS_LIST

ID da mudança:202956589
Estado padrão: ativada para apps destinados ao Android 15 (nível 35 da API) ou mais recentes.

Quando ativado, ao usar Arrays.asList(...).toArray(), o tipo de componente da matriz resultante agora é um Object, não o tipo dos elementos da matriz subjacente. Portanto, o código a seguir gera um ClassCastException:

String[] elements = (String[]) Arrays.asList("one", "two").toArray();

Nesse caso, para preservar String como o tipo de componente na matriz resultante, use Collection.toArray(Object[]):

String[] elements = Arrays.asList("two", "one").toArray(new String[0]);

Para saber mais sobre essa mudança, consulte a seção na página Mudanças de comportamento do Android 15 sobre Mudanças na API OpenJDK.

ENABLE_BUNDLE_LAUNCH_ACTIVITY_ITEM

ID da mudança:324203798
Estado padrão: ativada para apps direcionados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativada, para evitar que apps tenham problemas de compatibilidade com usos não relacionados ao SDK de ClientTransaction#getActivityToken(), permita apenas o agrupamento LaunchActivityItem.

ENABLE_MATCH_LOCAL_NETWORK

ID da mudança:319212206
Estado padrão: ativada para apps direcionados ao Android 15 (API de nível 35) ou versões mais recentes.

Quando ativado, os apps recebem callbacks de rede de redes locais por padrão. Os apps destinados ao Android 14 (nível 34 da API) ou versões anteriores ainda precisam adicionar NetworkCapabilities.NET_CAPABILITY_LOCAL_NETWORK ao NetworkCapabilities do NetworkRequest para receber ConnectivityManager.NetworkCallback de redes locais.

ENABLE_STRICT_FORMATTER_VALIDATION

ID da mudança:270674727
Estado padrão: ativada para apps destinados ao Android 15 (nível 35 da API) ou mais recentes.

Quando ativada, a validação do índice de argumento, das flags, da largura e da precisão fica mais rigorosa ao usar as APIs String.format() e Formatter.format().

Para saber mais sobre essa mudança, consulte a seção na página Mudanças de comportamento do Android 15 sobre Mudanças na API OpenJDK.

ENFORCE_EDGE_TO_EDGE

ID da mudança:309578419
Estado padrão: ativada para apps direcionados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativado, os apps vão ser exibidos de ponta a ponta por padrão em dispositivos com o Android 15 ou mais recente.

Para saber mais sobre essa mudança, consulte a seção na página de mudanças de comportamento do Android 15 sobre aplicação de ponta a ponta.

ENFORCE_STRICT_QUERY_BUILDER

ID da mudança:143231523
Estado padrão: desativada para todos os apps.

Quando ativada, o SQLiteQueryBuilderCalendarProvider2 verifica todas as seleções de consulta para saber se há argumentos maliciosos.

FGS_BOOT_COMPLETED_RESTRICTIONS

ID da mudança:296558535
Estado padrão: ativada para apps destinados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativada, desativa as inicializações em segundo plano de serviços em primeiro plano de transmissões BOOT_COMPLETED para todos os tipos, exceto:

Para saber mais sobre essa mudança, consulte a seção na página de mudanças de comportamento do Android 15 sobre Restrições para broadcast receivers BOOT_COMPLETED que iniciam serviços em primeiro plano.

FGS_INTRODUCE_TIME_LIMITS

ID da mudança:317799821
Estado padrão: ativada para apps direcionados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativados, os serviços em primeiro plano de determinados tipos têm um limite de tempo. Se o serviço em primeiro plano do tipo ofensivo não for interrompido dentro do limite de tempo alocado, ele vai receber um callback usando Service.onTimeout(int, int) e precisará ser interrompido em alguns segundos. Se um app não fizer isso, ele será declarado um ANR.

Para saber mais sobre essa mudança, consulte as seções na página de mudanças de comportamento do Android 15 sobre o comportamento de tempo limite para os tipos de serviço em primeiro plano de sincronização de dados e processamento de mídia.

FGS_SAW_RESTRICTIONS

ID da mudança:319471980
Estado padrão: ativada para apps direcionados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativada, desativa as inicializações em segundo plano do serviço em primeiro plano na janela de alerta do sistema para todos os tipos, a menos que já tenha uma janela de sobreposição do sistema.

Para saber mais sobre essa mudança, consulte a seção na página de mudanças de comportamento do Android 15 sobre Restrições para iniciar serviços em primeiro plano enquanto um app tem a permissão SYSTEM_ALERT_WINDOW.

FORCE_DISABLE_HEVC_SUPPORT

ID da mudança:174227820
Estado padrão: desativada para todos os apps.

Força um app a deixar de ser compatível com o recurso de mídia HEVC. Os apps precisam declarar no manifesto os recursos de mídia a que oferecem suporte, mas essa flag pode ser usada para forçar um app a não oferecer suporte a HEVC, forçando a transcodificação ao acessar mídias codificadas em HEVC. Definir essa flag substitui todos os padrões no nível do SO para apps. Esse recurso fica desativado por padrão, o que significa que os padrões do SO têm prioridade. Se essa flag e FORCE_ENABLE_HEVC_SUPPORT estiverem ativadas, o SO vai ignorar as duas flags.

FORCE_ENABLE_HEVC_SUPPORT

ID da mudança:174228127
Estado padrão: desativada para todos os apps.

Força o app a oferecer suporte ao recurso de mídia HEVC. Os apps precisam declarar no manifesto os recursos de mídia a que oferecem suporte. mas essa flag pode ser usada para forçar um app a oferecer suporte a HEVC, evitando a transcodificação ao acessar mídias codificadas em HEVC. Definir essa flag substitui todos os padrões no nível do SO para apps. Esse recurso fica desativado por padrão, o que significa que os padrões do SO têm prioridade. Se essa flag e FORCE_DISABLE_HEVC_SUPPORT estiverem ativadas, o SO vai ignorar as duas.

FORCE_NON_RESIZE_APP

ID da mudança:181146395
Estado padrão: desativada para todos os apps.

Força os pacotes em que é aplicada a não serem redimensionáveis.

FORCE_RESIZE_APP

ID da mudança:174042936
Estado padrão: desativada para todos os apps.

Força os pacotes em que é aplicada a serem redimensionáveis. Só é permitido redimensionar janelas no modo de tela cheia. Não é possível forçar o app a entrar no modo de várias janelas redimensionáveis.

GWP_ASAN

ID da mudança:145634846
Estado padrão: desativada para todos os apps.

Ativa a detecção de bugs de memória nativa de amostra em apps.

Para saber mais sobre o uso do GWP-ASan, consulte o Guia do GWP-ASan.

IS_DEVICE_OWNER_USER_AWARE

ID da mudança:307233716
Estado padrão: ativada para apps direcionados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativado, o método isDeviceOwnerApp(String) usa o usuário contido no contexto. Em apps direcionados ao Android 14 (nível 34 da API) ou versões anteriores, o usuário do processo de chamada será usado (Process.myUserHandle()).

MANAGE_GLOBAL_ZEN_VIA_IMPLICIT_RULES

ID da mudança:308670109
Estado padrão: ativada para apps direcionados ao Android 15 (API de nível 35) ou versões mais recentes.

Quando ativados, os apps não podem mais mudar o estado ou a política global do Não perturbe (NP) em um dispositivo, seja modificando as configurações do usuário ou desativando o modo NP. Em vez disso, os apps precisam contribuir com um AutomaticZenRule, que o sistema combina em uma política global com o esquema de vitória da política mais restritiva atual.

Para saber mais sobre essa mudança, consulte a seção na página Mudanças de comportamento do Android 15 sobre Mudanças em quando os apps podem modificar o estado global do modo Não perturbe.

NATIVE_HEAP_ZERO_INIT

ID da mudança:178038272
Estado padrão: desativada para todos os apps.

Ative a inicialização em zero automática para alocações de memória de heap nativas.

NATIVE_MEMTAG_ASYNC

ID da mudança:145772972
Estado padrão: desativada para todos os apps.

Ative a verificação assíncrona (ASYNC) de tags de memória nesse processo. Essa flag afeta apenas o hardware com suporte à extensão ARM Memory Tagging (MTE).

NATIVE_MEMTAG_SYNC

ID da mudança:177438394
Estado padrão: desativada para todos os apps.

Ativa a verificação síncrona (SYNC) de tags de memória nesse processo. Essa flag afeta apenas o hardware com suporte à extensão ARM Memory Tagging (MTE). Se NATIVE_MEMTAG_ASYNC e essa opção estiverem ativadas, essa opção terá preferência e a MTE será ativada no modo SYNC.

OVERRIDE_ANY_ORIENTATION

ID da mudança:265464455
Estado padrão: desativada para todos os apps.

Quando ativada, essa mudança permite que as seguintes substituições de orientação sejam aplicadas, independente da orientação solicitada pela atividade:

OVERRIDE_ANY_ORIENTATION_TO_USER

ID da mudança:310816437
Estado padrão: desativada para todos os apps.

Quando ativada, permite SCREEN_ORIENTATION_USER, que substitui qualquer orientação solicitada pela atividade. Os apps de orientação fixa podem ser substituídos para tela cheia em dispositivos de tela grande com o ignoreOrientationRequest ativado com essa substituição.

OVERRIDE_CAMERA_COMPAT_DISABLE_FREEFORM_WINDOWING_TREATMENT

ID da mudança:314961188
Estado padrão: desativada para todos os apps.

Quando ativada, exclui os pacotes a que a substituição é aplicada do tratamento de compatibilidade da câmera no modo de janela livre para apps de orientação fixa.

No modo de janela livre, o tratamento de compatibilidade emula a execução em um dispositivo retrato ao colocar barras pretas na janela do app e mudar as características da câmera para o que os apps geralmente esperam em um dispositivo retrato: rotação do sensor de 90 e 270 graus para câmeras traseira e frontal, respectivamente, e configuração da rotação da tela para 0.

Use essa flag para desativar o tratamento de compatibilidade em apps que não respondem bem a ele.

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

ID da mudança:191514214
Estado padrão: desativada para todos os apps.

Quando ativada, essa mudança força os pacotes aplicados a ignorar o valor atual de android:resizeableActivity, bem como o SDK de destino igual ou menor que o Android 6.0 (API nível 23) e considerar a atividade como não redimensionável. Nesse caso, o valor de rotação e corte da câmera depende apenas da compensação necessária, considerando a rotação atual da tela.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

ID da mudança:189229956
Estado padrão: desativada para todos os apps.

Quando ativada, essa mudança força os pacotes aplicados a modificar o comportamento padrão de rotação e corte da câmera e sempre retornar CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_DISABLE_MEDIA_PROJECTION_SINGLE_APP_OPTION

ID da mudança:316897322
Estado padrão: desativada para todos os apps.

Quando ativada, garante que os usuários tenham a opção de capturar um único app ou a tela inteira ao iniciar uma sessão do MediaProjection, substituindo o uso de MediaProjectionConfig#createConfigForDefaultDisplay.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

ID da mudança:266124927
Estado padrão: desativada para todos os apps.

Ativa o SCREEN_ORIENTATION_REVERSE_LANDSCAPE para o app em que ele é aplicado. A menos que OVERRIDE_ANY_ORIENTATION também esteja ativado, SCREEN_ORIENTATION_REVERSE_LANDSCAPE será usado somente quando a atividade especificar a orientação paisagem. Ativar essa mudança pode ajudar você a testar o comportamento do app em relação às diferenças entre dispositivos em que a orientação paisagem corresponde a Surface.ROTATION_90 e dispositivos em que ela corresponde a Surface.ROTATION_270.

OVERRIDE_LAYOUT_IN_DISPLAY_CUTOUT_MODE

ID da mudança:332679525
Estado padrão: desativada para todos os apps.

Quando ativada, substitui o layout no comportamento do modo de corte da tela. Isso só vai acontecer se a exibição de ponta a ponta não for obrigatória.

OVERRIDE_MIN_ASPECT_RATIO

ID da mudança:174042980
Estado padrão: desativada para todos os apps.

Essa mudança é a responsável por todas as mudanças que forçam uma determinada proporção mínima. A ativação dela possibilita que as proporções mínimas a seguir sejam aplicadas:

Quando essa mudança é ativada para um pacote de apps, a proporção mínima fornecida no manifesto do app é substituída pela maior proporção ativada, a menos que o valor do manifesto seja maior.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

ID da mudança:218959984
Estado padrão: desativada para todos os apps.

Quando ativada, substitui a restrição de proporção mínima em tela cheia com orientação retrato para usar todo o espaço disponível na tela.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

ID da mudança:180326787
Estado padrão: desativada para todos os apps.

Quando OVERRIDE_MIN_ASPECT_RATIO também estiver ativado, ativar essa mudança para um pacote vai definir a proporção mínima da atividade como um valor alto, conforme definido por OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

ID da mudança:180326845
Estado padrão: desativada para todos os apps.

Quando OVERRIDE_MIN_ASPECT_RATIO também estiver ativado, ativar essa mudança para um pacote vai definir a proporção mínima da atividade como um valor médio, conforme definido por OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA

ID da mudança:325586858
Estado padrão: desativada para todos os apps.

Quando ativada, restringe tratamentos que forçam uma determinada proporção mínima para que eles só sejam aplicados quando um app estiver conectado à câmera.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

ID da mudança:203647190
Estado padrão: ativada para todos os apps.

Quando OVERRIDE_MIN_ASPECT_RATIO também está ativado, essa mudança limita outras mudanças que forçam a proporção mínima de uma atividade a um determinado valor, como OVERRIDE_MIN_ASPECT_RATIO_LARGE e OVERRIDE_MIN_ASPECT_RATIO_MEDIUM, para atividades que também têm orientação de retrato.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

ID da mudança:236283604
Estado padrão: desativada para todos os apps.

Quando ativada, essa mudança exclui pacotes aplicados a das restrições de orientação ignoradas que os fabricantes de dispositivos podem definir.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

ID da mudança:265451093
Estado padrão: desativada para todos os apps.

Ativa o SCREEN_ORIENTATION_NOSENSOR para o app em que ele é aplicado. A menos que OVERRIDE_ANY_ORIENTATION também esteja ativada, SCREEN_ORIENTATION_NOSENSOR será usada somente quando a atividade não especificar nenhuma outra orientação fixa.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

ID da mudança:265452344
Estado padrão: desativada para todos os apps.

Ativa o SCREEN_ORIENTATION_PORTRAIT para o app em que ele é aplicado. A menos que OVERRIDE_ANY_ORIENTATION também esteja ativada, SCREEN_ORIENTATION_PORTRAIT será usada somente quando a atividade não especificar nenhuma outra orientação fixa.

PARSE_CONTENT_DISPOSITION_USING_RFC_6266

ID da mudança:319400769
Estado padrão: ativada para apps direcionados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativada, permite a análise de cabeçalhos Content-Disposition em conformidade com a RFC 6266. Em particular, isso permite a análise de valores filename* que podem usar uma codificação de caracteres diferente.

RATE_LIMIT_TOASTS

ID da mudança:174840628
Estado padrão: essa mudança não pode ser alternada. Ela só é registrada pelo framework de compatibilidade.

Ativa a limitação de taxa para o número de chamadas Toast.show() a fim de evitar sobrecarregar o usuário com muitos avisos em um período limitado. Qualquer tentativa de mostrar mais avisos do que o permitido em um determinado período resulta no descarte do aviso.

STREAM_INT_DIFFERS_FROM_NEXT_INT

ID da mudança:308103782
Estado padrão: ativada para apps destinados ao Android 15 (nível 35 da API) ou mais recente.

Quando ativados, os métodos Random.ints() agora retornam uma sequência de números diferente dos métodos Random.nextInt(). Isso segue as mudanças em https://bugs.openjdk.org/browse/JDK-8301574.

Para saber mais sobre essa mudança, consulte a seção na página Mudanças de comportamento do Android 15 sobre Mudanças na API OpenJDK.

USE_EXPERIMENTAL_COMPONENT_ALIAS

ID da mudança:196254758
Estado padrão: desativada para todos os apps.

Quando ativada, o sistema permite que o pacote "android" use alias de componentes.

USE_NEW_ISO_LOCALE_CODES

ID da mudança:291868760
Estado padrão: ativada para apps direcionados ao Android 15 (nível 35 da API) ou versões mais recentes.

Quando ativados, os códigos de idioma para hebraico, iídiche e indonésio não são mais convertidos para as formas obsoletas (hebraico: iw, iídiche: ji e indonésio: in).

Para saber mais sobre essa mudança, consulte a seção na página Mudanças de comportamento do Android 15 sobre Mudanças na API OpenJDK.