Como adicionar mais etapas ao controle deslizante de volume [Root]

Aqui está um ajuste bacana do build.prop que descobrimos que permite adicionar facilmente mais granularidade à sua mídia ou ao controle deslizante de volume da chamada.

Na minha busca para descobrir ajustes interessantes para compartilhar com a comunidade XDA-Developers, frequentemente me deparei com uma solicitação em muitos fóruns diferentes:

"Como adiciono mais etapas ao controle deslizante de volume?" - Ninguém em particular

Ao procurar métodos para adicionar mais granularidade de volume de maneira confiável, descobri que a maioria dos aplicativos na Google Play Store simplesmente não funciona na maioria dos dispositivos modernos. Outra solução que encontrei envolveu o uso do módulo Xposed Passos de volume +, o que infelizmente significa que o método está restrito a dispositivos com acesso root que suportam o Xposed Framework (ou seja, sem suporte para Android Nougat). Finalmente, o último método que muitos de vocês conhecem é atualizar uma ROM personalizada, mas para aqueles de nós que não têm muitas opções nisso em relação (o Huawei Mate 9 carece de amor pelo desenvolvimento no momento) ou deseja permanecer com uma construção enraizada em estoque, essa opção é difícil de estômago.

Felizmente, existe uma maneira simples de adicionar mais etapas à sua chamada ou volume de mídia que não requer o Xposed Frameworkfunciona no Android 6.0+ também. O melhor de tudo é que você pode manter sua configuração com raiz de estoque, se quiser! Tudo que você precisa fazer é aproveitar um simples, mas totalmente não divulgado ajuste build.prop.

Observação: os dispositivos em que testei são dois telefones Google Nexus 6 com Android 6.0 Marshmallow e 7.1 Nougat. Não tenho como testar esse ajuste em todos os dispositivos com todas as variações de software. Esse ajuste é derivado da análise do AOSP, mas sem testar outros dispositivos ou observar sua fonte, não posso dizer exatamente em quais dispositivos ele funcionará.


Controle de volume granular com construção. Ajuste de adereços

A documentação de código aberto do Android descreve exatamente como o serviço de áudio do software é implementado em AudioService.java. Dentro do código, há uma determinada seção que define como os níveis de volume são inicializados na inicialização.

// Initialize volume
int maxVolume = SystemProperties.getInt("ro.config.vc_call_vol_steps",
MAX_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL]);
if (maxVolume != MAX_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL]) {
MAX_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL] = maxVolume;
AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_VOICE_CALL] = (maxVolume * 3) / 4;
}
maxVolume = SystemProperties.getInt("<strong>ro.config.media_vol_stepsstrong>",
MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC]);
if (maxVolume != MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC]) {
MAX_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] = maxVolume;
AudioSystem.DEFAULT_STREAM_VOLUME[AudioSystem.STREAM_MUSIC] = (maxVolume * 3) / 4;
}

Os dois termos que coloquei em negrito acima são muito semelhantes às linhas do arquivo build.prop localizado em /system, não é? Isso ocorre porque eles são, embora por padrão você não veja essas propriedades no arquivo build.prop. Felizmente, se você mesmo definir essas propriedades, poderá definir manualmente o número de etapas de volume.

Se você está familiarizado com como editar e adicionar linhas ao seu build.prop, vá em frente e comece a trabalhar! Caso contrário, aqui está um método simples para você começar.

Download Editor BuildProp por JRummy na Google Play Store e abra-o. Toque no ícone “lápis” no canto superior direito para abrir o modo de edição manual. Role até o final e adicione uma das linhas build.prop mencionadas acima e defina-a igual ao número de etapas de volume que você deseja ter. Por exemplo, inserir esses dois comandos no final dobrará o número de etapas de volume de chamada e de volume de mídia, respectivamente.

ro.config.vc_call_vol_steps=14

ro.config.media_vol_steps=30

Depois de inserir esses comandos, reinicie o telefone. Se funcionou, agora você deve ter tantas etapas de volume especificadas em build.prop.

Aproveite este ajuste bacana! Deixe-nos saber nos comentários abaixo se funcionou para o seu dispositivo e versão de compilação.