KashaMalaga / XiaomiMiBand

Patches for Xiaomi Mi Band Android App (Smali Project)
134 stars 47 forks source link

Debate sobre la posibilidad de controlar notificaciones. #6

Closed jcferraz closed 9 years ago

jcferraz commented 9 years ago

Hola.

Abro este debate para ver si vemos viable lo que la mayoría de la gente está solicitando, que es que la pulsera vibre al recibir notificaciones en el teléfono. Lo que se me había ocurrido era que estas notificaciones funcionaran mientras no se estuviera en modo sueño, puesto que no veo lógico que a las 3 de la mañana vibre la pulsera en mitad del sueño (ni tampoco que nadie mande un whatsapp a esa hora pero bueno XD ).

Hasta ahora he modificado el layout de settings para añadir un checker debajo del de notificación de llamada entrante y estaba tocando los .smali para que se guarde esta nueva opción de configuración. El problema lo veo en la programación usando, por ejemplo NotificationListenerService directamente en los .smali.

Mi primera opción es duplicar la notificación de llamada entrante y modificarla para notificaciones, cosa que aun ni he comprobado si sería viable. Otra opción mas complicada es decompilar los dex a .java, tratar toda la aplicación en Android Studio o Eclipse y programar el sistema de notificaciones de cero.

¿Veis viable alguna de estas opciones?

jcferraz commented 9 years ago

Tercera opción, que sería una especie de punto intermedio, es crear una pequeña aplicación Android que capture notificaciones, descompilar el apk y ver los .smali creados para poder adaptarlos a Mi Band.

KashaMalaga commented 9 years ago

Hacer que el proyecto funcione en algun IDE sería lo ideal, pero es muy poco probable (al menos para mi por tiempo) habría que arreglar multitud de errores del descompilado (yo tengo todo ya en java para asi tocar mas rapidamente los smali) imagino que vosotros también.

La clase que notifica las llamadas está por aquí. http://pastebin.com/y6N9r8Lf

Espero poder mirarmela en el fin de semana para ver si podemos capturar la notificaciones del paquete com.whatsapp y tratarla como si te tratara la de llamada ;)

jcferraz commented 9 years ago

Hola.

Aún no había pasado los dex a java. Lo que hice lo hice en smali que una vez me pillas el truco es sencillo.

La clase la tenía localizada pero como dices hace falta muchísimo tiempo para que el proyecto funcione en un ide. Además está el hándicap de que sacan nueva versión cada semana y los tíos tocan código como locos.

Aunque he programado Android es la primera vez que me meto en las tripas de un apk para tocarlo. ¿Qué has usado para descompilar los dex, dex2jar?

Gracias!!

KashaMalaga commented 9 years ago

Te he dejado privado con mas info en el foro ;)

jcferraz commented 9 years ago

Hola.

He estado mirando el código de la versión rusa y la verdad es que su solución es bastante curiosa. En vez de intentar modificar lo que ya hay, como tenía pensado hacer, han añadido de cero nuevas funcionalidades. Creo que es bastante sencillo de implementar y puedo echarle un vistazo a lo largo del día (creo).

KashaMalaga commented 9 years ago

Creo que llegas algo tarde, mira el repositorio anda :) (No he dormido casi nada hoy y mañana tengo un vuelo a Barcelona a las 7 de la mañana ... ;D)

jcferraz commented 9 years ago

Eres un crack Kasha!! Por lo que vi metieron en el layout una opción nueva (con el texto bien en ruso los cutres de ellos), extendieron esta opción en SettingActivity.smali y añadieron en smali una carpeta nueva extend. He buscado todos los ficheros que hacen uso de algo de esa carpeta y era lo que iba a tocar. Supongo que es lo mismo que has hecho tú ¿no?

KashaMalaga commented 9 years ago

Algo así pero de forma más ordenada y automatizada, lo próximo en mente es organizar para soportar todos los idiomas que andan por ahí (checos, rusos, brasileños) me escribieron para unificar las tablas de traducción.

Y como siguientes pasos, mirar el tema de elegir el color y posiciones de los leds a usar

Saludos

jcferraz commented 9 years ago

Lo siempre he pensado es que por las noches las notificaciones van a ser un problema. Quiero decir que a mi al menos me molestaría mucho que me vibrara la pulsera si estoy durmiendo porque me entra un whatsapp.

KashaMalaga commented 9 years ago

No te preocupes por eso ya lo tengo pensado, usaremos el tiempo que introducimos como horario "normal de sueño" por ejemplo yo lo tengo especificado desde las 00,00 hasta las 08.00 de la mañana por lo que usando ese array podemos evitar que se envíen notificaciones

KashaMalaga commented 9 years ago

http://goo.gl/uNHcLP Aquí tienes la funcion en Java, no estaré de vuelta hasta el Jueves, cuidar el repositorio ante la avalancha! :P

jcferraz commented 9 years ago

Aun no he conseguido que me vibre, probando con Correo, Gmail, Whatsapp y Telegram. Seguiré investigando a ver. Mi idea era ver si existe la forma que la aplicación sepa que se ha entrado en "modo sueño" y entonces no vibrar. Sospecho que de eso se encarga el firmware de la pulsera y que la aplicación no lo sabe pero miraré a ver.

KashaMalaga commented 9 years ago

Ya tengo la nueva versión con notificaciones, funcionando sin errores, pero no voy a publicarla, al menos hasta el fin de semana, estoy jugando con los colores de los Leds, posiblemente lo publique en XDA y no en Htcmania (motivos?: gente pidiendo de malas maneras, pms con preguntas estúpidas etc..etc..) de verdad.. hay gente que no se merece llevar la pulsera puesta.

Saludos

jcferraz commented 9 years ago

Hola Kasha.

Mi opinión al respecto: Sin duda tienes razón que hay que aguantar a gente con muy malos modales o que se creen con el derecho a exigir. Sin embargo por un lado hay gente que no es así en HTCMania y que tardan poco en agradecer cualquier cambio. Por otro y creo que mas importante, todo esto comenzó en HTCMania gracias a WaPeR y no me parece buena idea dejar de publicarlo ahí y hacerlo solo en XDA. Sin duda el segundo es un foro mucho mas técnico y global pero creo que se puede seguir publicando en ambos sitios.

WaPeR commented 9 years ago

Buenas!

La verdad es que si, en HTCMania hay mucho "novato" en foros que preguntan lo mismo hasta la saciedad, o que hace doble o triple post, etc. Pero no estaría de mas seguir compartiendo tus avances con la comunidad aunque no te pases a resolver dudas.

Saludos!

KashaMalaga commented 9 years ago

Finalmente me he decidido a compartirlo, me gustaría unificar el proyecto con la gente de xda & 4pda para el tema de la traducción y mejoras, por eso publicaré en los próximos días un hilo exclusivo para developers en xda.

Saludos

KashaMalaga commented 9 years ago

Por supuesto os quedaís vosotros para atender publicar lo necesario en htcmania, el unico problema que despues pensé en frio es que habria que separar el hilo de htcmania en usuarios normales con sus chorradas y un hilo de desarrollo! Esa es la clave