Este foro usa cookies
Este foro hace uso de cookies para almacenar su información de inicio de sesión si está registrado, y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Por favor, confirme si acepta o rechaza el establecimiento de estas cookies.

Se almacenará una cookie en su navegador, independientemente de su elección, para evitar que le vuelvan a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Menú Power avanzado con mods - Oreo - Samsung (Guide also available in English)
#1
Power Menú avanzado - Hasta 15 Toggles

Esta guía está realizada para dispositivos samsung con oreo, probada en s7e y s9
Esta guía se basa en el código del s7e pero encontraréis todo el material adaptado para el firm del S9

1.- Características:

A.- Toggles 

- Selección de hasta 15 toggles: apagar, reiniciar, modo download, modo recovery, datos móviles, modo avión, captura pantalla, grabación pantall, modo sonido, luz de flash, ir a settings, asistente de voz, asistente de google y toggle personalizable
- Selección del orden en que aparecen los toggles
- Selección de qué toggles requieren confirmación (apagar, reiniciar, recovery y download)

- Arreglo de los iconos de los toggles que no quedaban bien, se han añadido al systemui 
- En el caso del toggle de lanzar settings, asistente de google y de voz se han añadido la captura de excepciones surgidas cuando las aplicaciones no están instalada. Además he añadido código para intentar desbloquear el dispositivo cuando se intentan lanzar dichas aplicaciones. 
- El toggle de luz de flash utiliza el flash controller del systemui. 
- Para que el toggle de grabación de pantalla funcione, lógicamente debe estar instalada la aplicacion de grabación de pantalla de samsung
- El toggle de modo de sonido ha sido diseñado para no cerrar el diálogo cuando se pulsa, de forma que podemos cambiar el modo más cómodamente. 
- Se ha arreglado el toggle modo de avión para que funcione correctamente y provoque la deshabilitación del toggle de datos, no funcionaba bien. 
- Pulsando largo en el toggle de captura de pantalla se realiza una caputra parcial (seleccionamos el área de captura) 

- Toggle personalizable: Podemos seleccionar el icono (entre más de 20 añadidos), podemos seleccionar el texto y podemos seleccionar qué ejecutar: una aplicación, una actividad dentro de una aplicación o un atajo (una llamada directa a un contacto, abrir un chat concreto de whatsapp, etc.) 

B.- Mods sobre efectos stock

- Cantidad de oscurecimiento (Dim amount): Cuando aparece el diálogo la pantalla se oscurece. Cuando aparece el díalogo de confirmación se oscurece un poco más. Se ha añadido opción para poder definir el porcentaje sobre ese oscurecimiento stock que deseamos.  
- Cantidad de desenfoque cuando usamos el fondo normal

C.- Imagen de fondo personalizable

- No hay necesidad de modificar ningún layout en framework-res
- Podemos seleccionar la imagen, el radio de desenfoque y color de tintado deseados

- Se ha modificado la lógica para que cuando tenemos una imagen personalizable el cálculo que se realiza para saber si estamos en un fondo claro u oscuro se realice sobre la imagen, teniendo así un comportamiento correcto en el diálogo y su gestión de colores
- La imagen seleccionada se guarda en memoria en vez de leerla desde el almacenamiento cada vez, así ahorramos batería. 


D.- Colores personalizables

- Activar/Desactivar los colores personalizables
- Selección de color por toggle, tanto para fondos claros como fondos oscuros

- Color de texto principal (para fondos claros u oscuros) Se ha añadido una opción para que este texto tome el mismo color que el del toggle
- Color texto de estado/color secundario:  tanto para fondos claros u oscuros. El texto secundario es el que aparece en aquellos toggles con confirmación. 



2.- GUÍA

Anexo encontraréis un archivo rar. Lo extrameos a una carpeta. 

A.- La primoero a modificar es añadir soporte para los toggles de recovery y download, puesto que no podemos ir a estos modos desde systemui sin modificar su manifest y añadir algunos permisos. 
Este soporte lo damos en services.jar. Desde los toggles enviamos un broadcast que procesado por un receiver de services.jar que habremos modificado para atenderlo. 
En la carpeta con el rar extraido encontraréis una carpeta llamada services_jar en la que encontraréis una mini-guía para realizar esto. 
Debéis prestar atención para averiguar cual es el receiver que usamos en la guía y en caso que el smali sea otro pues hacer las adaptaciones necesarias. Uso el dock receiver de phonewindowmanager.


B.- El resot del mod se hace en systemui, por lo que procedemos a decompilarlo 

- Añadimos todos los png suministrados en (SystemUI\Mod\SystemUI\res\drawable-xxhdpi) a vuestro systemui
- Añadimos los strings suministrados ( SystemUI\S7E\Mod\SystemUI\res\values y SystemUI\Mod\SystemUI\res\values-es) a vuestro ui.  Si quieres otros idomas añáde los strings en su carpeta y archivo correspondientes
- Añadimos los siguientes dos smalies que encontraréis en systemUI\S7E\Mod\SystemUI\smali\com\mods\grx conservando la ruta y carpetas a vuestro ui.
- Añadimos todos los smalies que encontréis en SystemUI\S7E\Mod\SystemUI\smali\com\android\systemui\globalactions\smaliestoadd  a vuestro ui, a la carpeta globalactions existente. 


Ahora vamos a hacer la parte más laboriosa del mod.  Mirad en el material suministrado en SystemUI\se7\Mod\SystemUI\smali\com\android\systemui\globalactions\smaliestomod  y debéis comparar los originales con los modificados. 

-  Dentro de los archivos modificados encontraréis todos los cambios buscando ##  . Además he añadido comentarios en la mayoría de los casos para que entendamos la lógica de los cambios. 

.  Asistente de Voz: Abrimos el GlobalActionsDialog.smali original y buscamos el método getVoiceAssistAction()Lcom/android/systemui/globalactions/GlobalActionsDialog$Action;  para asegurarnos que trabajamos en el mismo smali, puesto que el mod está hecho para la versión actual y puede que en sucesivas versiones de fw no coincida. 

En el caso del s7e vemmos dentro del método que se trata de GlobalActionsDialog$35.smali.  

Dentro de ese método veréis que he cambiado el icono, puesto que el original del framework-res no encaja bien al mod. 
Dentro del código del toggle, esto es el smali $35, he añadido dos cambios. El primero es devolver siempre un true en el método showconditional y después he capturado la excepción en caso que esté instalada ninguna apk compatible y he añadido el código para intentar desbloquear.  
En este mod no todos los toggles se crean siempre, la mayoría sólo se crean si han sido seleccionados, por eso devolvemos true en showconditional 


. Ahora tenemos que hacer los mismos cambios para el toggle de settings, que en el caso del s7e en esta guía es el $33 . Para asegurarnos miramos dentro del método getSettingsAction()Lcom/android/systemui/globalactions/GlobalActionsDialog$Action; method in your GlobalActionsDialog.smal y adaptamos los cambios al smali
. Hacemos lo mismo con el toggle de asistencia google que en este tuto es el $34.smali. Buscáis el método getAssistAction()Lcom/android/systemui/globalactions/GlobalActionsDialog$Action; y sabréis cual modificar.  Véis los cambios que se han hecho en esta guía en el $34 y adaptamos.


- Ahora vamos a modificar el click listener. Vamos a añadir los cambios necesarios para que cuando pulsemos el toggle de modod de sonido el diálgo no desaparezca. 
En esta guía el clicl listener es GlobalActionsDialog$18.smali. Para saber cual es, buscamos dentro de GlobalActionsDialog.smali esto: Landroid/widget/FrameLayout;->setOnClickListener(Landroid/view/View$OnClickListenerWinkV  
Unas líneas por encima de esto veréis un new-instance y sabréis donde realizar los cambios la príxma vez.  
Pues nada, hacemos los cambios que he indicado en el smali $18 que os he anexado.  


- Ahora vamos a dar soporte al long press del toggle de captura de pantalla.  

Lo mismo que antes, buscamos qué smali es el long click listener. Para ello buscamos esto en GlobalActionsDialog: Landroid/widget/FrameLayout;->setOnLongClickListener(Landroid/view/View$OnLongClickListenerWinkV
Nuevamente unas líneas por encima encontraréis un new-instance .. con el smali a modificar. En el caso del tuto es el $20, miramos en el smali modificado del rar y hacemos los cambios indicados en el. 


- Toggle Modo de Datos. En esta guía se trata del GlobalActionsDialog$21.smali

Para saber cual es, buscamos en GlobalActionsDialgo por algo como esto: iput-object ... mDataModeAction...

 Por ejemplo puede ser .. iput-object v0, p0, Lcom/android/systemui/globalactions/GlobalActionsDialog;->mDataModeAction:Lcom/android/systemui/globalactions/GlobalActionsDialog$ToggleAction;
 
 y encima de esa línea veremos de qué smali se trata.  Mira dentro del smali modificado del rar para ver los cambios. Básicamente es devolver true en showconditional 
 
 - Toggle Modo Avion. Lo mismo Vamos a forzar showconditional a true. En esta guía es GlobalActionsDialog$22.smali para el s7e
 
 Para saber cual es, pues lo mismo que antes, buscamos algo parecido a  iput-object .....mAirplaneModeAction...  y unas líneas encima vemos cual es.  
 
 Por ejemplo, encontramos ..iput-object v0, p0, Lcom/android/systemui/globalactions/GlobalActionsDialog;->mAirplaneModeAction:Lcom/android/systemui/globalactions/GlobalActionsDialog$ToggleAction;
 
 Hacemos los cambios comentados y que encontráis en el smali modificado del rar. 



- Ahora vamos a otra parte que es necesaria para el toggle de modo de sonido.  Editamos GlobalActionsDialog$UIUpdateHandler.smali

Buscamos ## en el smali modificado del rar y hacemos los cambios en el original.  Lo que hace esta modificación es que cuando se produce un cambio del modo de sonido lo notifcamos al toggle de modod de sonido para que cambie el texto y el icono. 


- Vamos a añadir el soporte principal para color de toggle y textos.  

Estos cambios están en estos smalies.

. GlobalActionsDialog$SinglePressAction.smali
. GlobalActionsDialog$ToggleAction.smali

Buscar  ## en ambos, en los modificados del rar para ver los cambios.  Es sencillo. Encontraréis las explicaciones dentro de los smalies modificados.  


- Y ahora si, ahora debéis tener un poco de paciencia con la última parte. El grueso del mod está hecho en GlobalActionsDialog.smali

Abrimos el modificado suministrado y comparamos con el original, buscamos ## en el modificado y aplicamos los cambios al original. Prestad mucha atención en sucesivas versiones de firmware al identificador de las variables internas de los métodos, esto es el número de las v  por si tenemos que adaptar. 



C.- Editamos StatusBar.smali

. Abrimos el modificado del rar y añadimos todos los cambios indicados al buscar ## . Lo que hacemos es añadir un observer e inicializarlo e inicializar todas las opciones de usuario en el boot del móvil.  

Si ya habéis hecho alguno de mis mods deberéis adaptar el código suministrado.  

. Añadís el StatusBar$GrxObserver.smali  a vuestro ui o si habéis hecho algún mod antes que ya lo use, adaptáis el código. 


Os recomiendo hacer este mod primero en un systemui limpio, pues es un mod largo. Seguís el orden de la guía váis probando a ver si no os da fc. 


D.- GrxSettings v2

Para este mod tendréis que usar GrxSettings v2 pues algunas características del mod sólo se pueden hacer con esta app.  

Dentro del rar encontraréis todos lo que hay que añadir y modificar.  Dado que el mod es on-fly y hay muchas opciones he optado por añadir botones para aplicar los mods. Si no te gusta, lo que hacési es añadir la group key correspondiente a todas las preferencias. Este mod usa dos uris, una para lo relativo a la imagen de fondo y otra para el resto de opciones. 

Cuendo veamos en el rar un archivo txt lo abrimos y añadirmos su contenido al correspondiente xml 




PARA EL S9

Mirad los comentarios y buscar ## en los smali modificados para el s9. Estas modificaciones se han hecho para la última base existente en el momento de escribir esta guía. Quizás necesitemos modificar alguna llamada a algún método static (algún -get .. ) 

Usad los smalies modificados para el s9 del rar y también los que hay que añadir que se encuentran en la carpeta del s9 del rar. Tuve que cambiar algunas de las llamdas comentadas y no son compatibles con los del s7e 

En el caso del s9 estos son los smalies stock a modificar en el momento de escribir la guía.

- onclick listener es $19
- onLongClick listener es $21
- Toggle datos es el  $22 
- Modo de avión es el  $23
- Settings el $34
- Google assist es el $35
- Asistente de voz es el $36
[Imagen: 34c3eb056db18f55b2a19565b3c84ab4.jpg]
[Imagen: 7e24926270fca8227d735337bde285bf.jpg]
[Imagen: 3bb48b114124789b053f27dfbdc782e6.jpg][Imagen: 6afad28b73cc55dcd05f8a5a25a87fad.jpg][Imagen: fb2542eeea60c29660ec19b9a7e18fa2.jpg][Imagen: 7d6c06bfcb5a848e674507d17f4a87d7.jpg][Imagen: 538fa7c143abb2be9bf69fa739df9322.jpg]


Archivos adjuntos
.rar   GRX_MODPOWMENU_S7_S9_OREO_v3.rar (Tamaño: 7.96 MB / Descargas: 56)
[-] Recuento: 9 usuarios dicen Me Gusta a Grouxho por este post:
  • (10-20-2020), maquilon (08-01-2018), fivanbe (07-26-2018), dav88 (07-23-2018), morogoku (07-23-2018), necrosauron (07-23-2018), thereassaad (07-23-2018), Zerhiote (07-23-2018), GVM (07-23-2018)
Responder
#2
Pedazo de tutorial y pedazo de mod, eres un crack Grouxho

Enviado desde mi ONEPLUS A6003 mediante Tapatalk
[Imagen: qeHcSFg.png]

[-] Recuento: 1 usuario dice Me Gusta a GVM por este post:
  • Grouxho (07-25-2018)
Responder
#3
coño... pedazo de mod... bien intensa la clase jejeje
master como siempre un crack, se agradece todo el curro y la paciencia jajajaja. a ver si me pongo con este mod, en algun momento debo aprender a usar tu apk.
saludos
[Imagen: D0YqJ3J.gif]
[-] Recuento: 2 usuarios dicen Me Gusta a necrosauron por este post:
  • Grouxho (07-25-2018), GVM (07-23-2018)
Responder
#4
Gran mod como siempre.
Gracias.

[Imagen: ad07421ebb8465ae6bed5e102a36e063.jpg]

Edit. Se me olvidaba, un pequeño error de imprenta en el string-array powermenu toggle list de GrxSettings.
Esta como screenshot
Que seria asi. togg_screenshot


Código:
       <string-array name="powermenu_toggle_list">
       <item>@string/togg_power</item>
       <item>@string/togg_data_mode</item>
       <item>@string/togg_airplane</item>
       <item>@string/togg_restart</item>
       <item>@string/togg_recovery</item>
       <item>@string/togg_flashlight</item>
       <item>@string/togg_download</item>
       <item>@string/togg_emergency</item>
       <item>@string/screenshot</item> #########################
       <item>@string/togg_screenrecor</item>
       <item>@string/togg_settings</item>
       <item>@string/togg_voiceassist</item>
       <item>@string/togg_google</item>
       <item>@string/togg_soundmode</item>
       <item>@string/togg_custom</item>
   </string-array>


Enviado desde ED7GE OREO
[-] Recuento: 3 usuarios dicen Me Gusta a fivanbe por este post:
  • maquilon (08-01-2018), GVM (07-27-2018), Grouxho (07-27-2018)
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)