Ok .. Entendi :)
A primeira coisa a observar é no Honor 6, meu dispositivo anterior, havia um único arquivo com o qual eu poderia brincar para parar de carregar automaticamente
No Moto X play, existem dois arquivos distintos - um para desconectar o carregador e outro para remover o símbolo de carregamento (em outras palavras, você pode parar de carregar e ainda exibir o símbolo conectado ao carregador). Até que eu percebi isso, eu estava correndo em círculos, desde que peguei o símbolo de cobrança para mostrar que a cobrança estava acontecendo (e assumindo que estava lidando com o arquivo errado). Ao experimentar, quando notei queda de carga apesar da exibição do símbolo de carga, verifiquei com o aplicativo Ampere e a sabedoria apareceu!
Quais são os arquivos?
( Edit: 30 Mar 20 Jackpot! Encontrei este incrível repositório
de arquivos para vários dispositivos pelo desenvolvedor do Advanced Charging Controller
Magisk Module. É melhor você usar esse módulo versátil, mas caso queira fazer DIY, é um ótimo começo).
Pode haver outros arquivos, mas os arquivos que eu abri também são:
Para ícone de carregamento: /sys/devices/soc.0/78d9000.usb/power_supply/usb/online
(Para desativar o ícone, altere o valor do arquivo 0 to 1
)
Para cobrança: /sys/devices/soc.0/78b5000.i2c/i2c-1/1-001c/power_supply/battery/charging_enabled
(Para desativar a cobrança, altere o valor do arquivo 1 to 0
)
Para automatizar isso, a abordagem foi semelhante à minha resposta aqui, usando o Emulador de Terminal e o Macrodroid, conforme explicado aqui - Como automatizar a linha de comando quando um aplicativo específico é iniciado?
Como eu encontrei os arquivos?
Deselegantemente , e espero que alguém poste um bom caminho. Aqui está uma maneira que pode funcionar para você na identificação do arquivo e caminho
Premissas
As longas horas na rede e algumas codificações no GitHub (que eu não entendo nada) me levaram a procurar i2c
e usb
arquivos relacionados com nomes como charger_enabled
ou enable_charger
. Isso parece ser verdade para o Honor 6, Moto X e alguns dispositivos Nexus. Não faço ideia se é dependente de chipset ou dispositivo
O verdadeiro caminho desse arquivo está /sys
. Novamente, pode variar
Próximos passos
Faça uma pesquisa por charger enabled
ou enable_charger
ou um curinga com palavras semelhantes em/sys
Alterar rw
permissões para permitir alterar o conteúdo de 1
a 0
ou vice-versa
Conecte seu carregador e veja o valor no arquivo, desconecte e repita. Se o valor mudar, parece o arquivo certo. Enquanto o carregador estiver conectado, altere o valor no arquivo e, se o carregamento parar, você o atingiu (mais ainda, se o caminho estiver no i2c
diretório). Verifique com o aplicativo Ampere para confirmar o status da cobrança
Enquanto você está nisso, também pode copiar arquivos originais e modificados para um diretório separado em seu armazenamento. Necessário para automação
Se o seu dispositivo for como o meu, onde o carregamento pode ser interrompido, mas o ícone de carregamento é exibido, é mais fácil identificar esse arquivo por palavras-chave como online
ou connected
ou ???
Se você tiver sorte, acima deve funcionar para você
Assim como informações adicionais para a posteridade, os atalhos do Terminal Emulator são:
- Para desativar o carregamento e remover o ícone de carregamento
su –c "cp /storage/emulated/0/moto_charging/disable_charging/charging_enabled /sys/devices/soc.0/78b5000.i2c/i2c-1/1-001c/power_supply/battery/"
;
su -c "cp /storage/emulated/0/moto_charging/no_symbol_charging/online /sys/devices/soc.0/78d9000.usb/power_supply/usb/"
- Para ativar o carregador e o ícone de carregamento
su -c "cp /storage/emulated/0/moto_charging/show_charging/online /sys/devices/soc.0/78d9000.usb/power_supply/usb/"
;
su –c "cp /storage/emulated/0/moto_charging/enable_charging/charging_enabled /sys/devices/soc.0/78b5000.i2c/i2c-1/1-001c/power_supply/battery/"
moto_charging
é uma pasta criada no SD interno que possui cópias originais e modificadas (para ativar e desativar o carregamento) e esses arquivos são copiados no sistema. Claro, requer root