chesterbr / minitruco-android

A popular Brazilian card game (Truco) running on Android.
https://play.google.com/store/apps/details?id=me.chester.minitruco&pli=1&hl=pt
BSD 3-Clause "New" or "Revised" License
87 stars 36 forks source link

Suporte a dispositivos WearOS #214

Open felpafel1337 opened 1 year ago

felpafel1337 commented 1 year ago

INTRODUÇÃO:

Olá Chester, notei que você está lançando atualizações para app nesses últimos meses e resolvi testar o desempenho dessa obra prima no WearOS 3.0 e para minha surpresa o aplicativo se mostrou estável em todos os meus testes, 0 crashes , no lag e apenas algumas limitações devido ao formato da tela (Rounded screen).


RESULTADOS e CONSIDERAÇÕES: Através do video é possível perceber que o jogo roda sem nenhum problema no dispositivo, funcionando os 3 modos de jogo (local, bluetooth e online), não é possível perceber pelo vídeo, mas o layout atual não prejudica a jogabilidade em uma tela pequena (zero miss clicks). No entanto o jogo não apresenta um [método para checar se a tela do dispositivo é redonda](https://developer.android.com/reference/android/content/res/Configuration#isScreenRound()) resultando na "vira" não sendo mostrada. jogo

Bom, não sei se existe motivação ou se é o escopo desse projeto realizar esse port. Caso não seja possível/desejado, seria legal realizar a checagem do formato da tela e assim mostrar um layout mais simplificado para telas redondas.


SETUP:

Hardware:

Software:

PASSO A PASSO: Primeiro é necessário realizar o sideload do apk para o relógio (para isso pode ser utilizado o ADB ou algum wrapper que facilite o processo). Após isso é necessário alterar a densidade da tela (default: 340) para 300 ou algum valor menor assim sendo possível clicar no botão de jogar (Durante o video eu usei o Tasker só para que fosse visível a alteração da screen density mas pode ser utilizado o comando adb wm density <value>)


Obrigado a todos os devs por esse app ♥

chesterbr commented 1 year ago

@felpafel1337 Wow! Em primeiro lugar, obrigado pelo issue super completo!

Interessante ver que rola tão legal no WearOS; acho que realmente com alguns pequenos ajustes para considerar o formato redondo ele deve ficar legal - inclusive vou passar isso na frente do suporte a TV (#21), já que não é preciso mexer no input (que é a parte mais chata geralmente).

Eu queria sim que ele rodasse em qualquer dispostivo; nem pensei em relógio simplesmente porque não tenho um 😆; mas com as suas infos eu consigo fazer uma adaptação em breve, e aí eu agradeço se você puder ir me dando feedback.

Eu vou dar uma olhada na documentação do WearOS, mas aparentemente se eu fizer a checagem correta e declarar em algum ponto do manifest o suporte, vai ser possível instalar direto pela Play Store, sem precisar dar sideload, né?

felpafel1337 commented 1 year ago

Opa, obrigado pela resposta!

Eu queria sim que ele rodasse em qualquer dispostivo; nem pensei em relógio simplesmente porque não tenho um 😆; mas com as suas infos eu consigo fazer uma adaptação em breve, e aí eu agradeço se você puder ir me dando feedback.

Concerteza, fico a disposição. "Manda o apk que nóis testa e fala c ta bom".

Eu vou dar uma olhada na documentação do WearOS, mas aparentemente se eu fizer a checagem correta e declarar em algum ponto do manifest o suporte, vai ser possível instalar direto pela Play Store, sem precisar dar sideload, né?

Bom, eu nunca desenvolvi um app pra android, mas sua linha de pensamento essa correta. Nesse video entre os 1:40 até os 5:00 da pra ver que a estrutura do projeto é a mesma de um app pra android. Para distribuir ambos os apks a play store tem Multiple APK support, e seguem mais alguns links que achei útil: Packing and distribute Wear app Distribute to Wear OS


Offtopic Através do seu blog eu vi que tu curte automação e biohacking. Maybe, você irá gostar de ter um wearable contigo. Basicamente o sistema é um "android limitado" com sensores de bio-impedância e inferência de pressão arterial, ainda sendo um dispositivo que ta no seu braço 24/7 com GPS e podendo fazer requisição HTTP. O ecosistema só cresce, google e samsung lançando o health connect e existe uma comunidade ativa no XDA.

chesterbr commented 11 months ago

Fiz um experimento rápido, no qual o manifest do aplicativo foi atualizado para permitir a instalação no Wear OS. O que eu constatei rodando no emulador:

A conclusão foi que ainda é bastante viável acrescentar suporte a Wear OS; mas é algo que precisa e merece um pouco mais de carinho; dessa forma acho coerente que seja implementado junto com #21 (que é um caso semelhante, um pouco mais simples), e devo olhar isso depois da iniciativa que começa agora (revisão dos bots e sinais); vou manter esse issue aberto até então.

chesterbr commented 11 months ago

@felpafel1337 re: Offtopic

Através do seu blog eu vi que tu curte automação e biohacking. Maybe, você irá gostar de ter um wearable contigo.

Parece realmente interessante! Eu uso um Pebble até hoje (gosto da bateria durar dias e dias, acho elegante ele dar offload do processamento para o telefone e por conta disso ter sido muito barato quando era um produto ativo e agora ser praticamente grátis), mas se um dia eu animar a trocar, rodar Android é sempre uma vantagem pra mim; obrigado pela dica! 🙇

felpafel1337 commented 11 months ago

Tmj! Realmente a bateria é um limitante, usando bem pouco eu chego em 48hrs mas normalme a bateria dura umas 36hrs com workload normal. Pra mim é mais que suficiente pq todo dia eu arranjo 30min de carga quando vou tomar banho. Nunca tive a oportunidade de ter um pebble, mas usando wearables desde a mi band 2. O offload mental de deixar o celular 24/7 no silencioso e dar pipe das notificações que acho importante pro relógio/pulseira é impagável.