Página 1 de 11 123 ... ÚltimoÚltimo
Resultados 1 al 20 de 210


[Tutorial] S3- Añadir Toggle modo red, reboot, flash, limpiar memoria y otras cosas por el camino ..


Estás en el tema [Tutorial] S3- Añadir Toggle modo red, reboot, flash, limpiar memoria y otras cosas por el camino .. dentro del subforo La Cocina en Esp-Desarrolladores. El objetivo de este tuto es inaugurar esta zona de este sitio web con un tutorial a la altura, ja ja.. Bien, este tutorial está orientado a desarrolladores y cocineros. Para alguien que esté comenzando a trastear se le va a hacer duro. He utilizado un lenguaje no muy técnico aunque hay partes en la que no me queda más remedio. Sin embargo espero que personas que sepan compilar y descompilar apks, ensamblar y desensamblar jars lo puedan aprovechar. Es un tutorial bastante denso, porque hacer...



Este tema tuvo 31685 Visitas y 209 Respuestas

Actualmente hay 2 usuarios viendo este tema. (0 miembros y 2 visitantes)

  1. #1
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    El objetivo de este tuto es inaugurar esta zona de este sitio web con un tutorial a la altura, ja ja..

    Bien, este tutorial está orientado a desarrolladores y cocineros. Para alguien que esté comenzando a trastear se le va a hacer duro. He utilizado un lenguaje no muy técnico aunque hay partes en la que no me queda más remedio. Sin embargo espero que personas que sepan compilar y descompilar apks, ensamblar y desensamblar jars lo puedan aprovechar. Es un tutorial bastante denso, porque hacer estos mods es complejillo y me ha llevado muchas horas. Como sabéis muchos, yo hago un multimod apoyándome en una apk que me llevo currando meses poco a poco, y para este tuto he tenido que adaptar bastante el código para que podáis implementarlos vosotros mismo.

    Por último y antes de entrar en harina, estoy prácticamente seguro que estos toggles que os traigo funcionarían en el S4 y los Note, aunque no lo puedo comprobar.

    Vamos a ello.

    Índice

    - Qué vamos a hacer y fuentes (post 1)

    - Añadiendo un selector del número de toggles en el scroll de la cortina al secsettings. (post 2)

    - Añadir toggles a SecSettings (post 3)

    - Mods previos para Toggles (usar ext.jar para hacer "override" de classes y mods necesarios para toggles. Comprobación firmas y telephony_common.jar) (post 4).

    - Añadiendo los toggles al systemUi. (post 5)

    - Personalizando los toggles (post 6)




    Objetivos


    En este tuto vamos a ver:

    - Cómo funciona el sistema de toggles en el android 4.3 de samsung para el galaxy S3 (y el s4 seguro).

    - Dar de alta toggles en secsettings.

    - Añadir 4 toggles hechos por mi: 2g-3g-auto, reboot, flash, borrar memoria/cerrar aplicaciones

    - implementar un selector de número de toggles en el scroll del systemui.

    - Implementar el mod de no comprobación de firmas que necesitamos para dos de los toggles.

    - utilizar ext.jar para implementar mods de otros jar.

    ...


    Notas

    1.- El Toggle de Flash es simple, pulsas y enciende / apaga y cambia el png.

    2.- El toggle de reboot ya lo conocéis todos.

    3.- El toggle borrar memoria/cerrar apps. Un click borrar memoria, como el jobmanager. Un click largo cierra todas las aplicaciones, excepto algunas definidas por código.

    4.- El toggle de red. Un click, va cambiando de modo. Un click largo abre lo mismo que si pulsas largo sobre el toggle de datos.


    A.- Fuentes Tutos -> FuentesTutos.zip

    B.- En este enlace encontraréis todos los mods montados.

    Si queréis probarlos, debéis tener previamente instalados el port de Jeshuuu de los toggles y posteriormente flashear el zip con estos mods montados. Aquí el port de Jeshuu..




    NOTA: Si al instalar el mod no os van las cosas, debéis inicializar el número de toggles en secsettings (pulsad cualquier valor), también debéis pulsar "Restablecer" en secsettings en el panel de notificaciones, y cambiar manualmente el modo de red para que se cree la clave necesaria. No puedo evitar esto según cómo os he adaptado el código.


    Dar las gracias a Jeshuuu por el currele que se ha metido para que funcionen los toggles del smartscroll, smartpause, etc., y a pepetpelusete por ayudarme con los pngs.

    Una última cosa. El mod montado usa el SecSettings del port de Jeshuuu y el SystemUI de la Sensation Rom v10 Lite de Jeshuu, que ya que tiene el mod del 1% batería, pues mejor que mejor.


    Espero que no os aburra. A diferencia de otros tutos míos, en este no he comentado cada línea de código porque como veréis son...mogollón. Os explico qué y dónde están los cambios y os proporciono los fuentes para que podáis indagar y personalizarlos si queréis.

    Venga, vamos a ello, pasemos al 1er post.




    Última edición por Grouxho; 03-12-13 a las 23:42


  2. Los siguientes 30 Usuarios dieron las gracias a Grouxho Por su Mensaje :

    anthony46 (08-09-14),axl33 (23-04-14),Balaperdida (03-12-13),binely (28-02-15),chipo (03-12-13),david206206 (06-12-13),efevelasquez (30-07-14),Frantastik (03-12-13),hector1112 (09-12-13),javilonas (04-12-13),jechus (03-12-13),Jeshuuu (03-12-13),JoseHG (28-03-14),josete_1976 (17-09-14),kenet (22-12-13),leonidas30 (03-12-13),LucasM (03-12-13),LucianoManueL (03-12-13),luiso51 (04-12-13),makova (28-07-14),millo1978 (05-09-15),neovendtta (04-02-14),Pepetpitufo (04-12-13),PunisheR (18-08-14),ramonore99 (10-03-14),RaYmunDooo (05-12-13),SrRaZoR (24-01-14),viyou74 (28-05-14),yelo (23-10-14),ysaad77 (03-12-13)




  3. #2
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Añadir un selector de número de toggles en el scroll de la cortina.


    a.- Descompilamos SecSettings

    b.- Añadimos en res-values-arrays.xml lo siguiente, al final, justo antes de </resources>

    Código:
        <string-array name="ga_opciones_numtoggles">
            <item>5</item>
            <item>10</item>
            <item>15</item>
            <item>20</item>
            <item>25</item>
        </string-array>
        <string-array name="ga_valores_numtoggles">
            <item>5</item>
            <item>10</item>
            <item>15</item>
            <item>20</item>
            <item>25</item>
        </string-array>
    Estas son las opciones y valores que le aparecerán al usuario. Nota, si no váis a usar más de 20 toggles, elimináis de cada conjunto el item con el 25 o tendréis un fc si el usuario utiliza ese valor.

    c.- Nos vamos a res - values - xml - display_settings.xml


    después de

    Código:
    <PreferenceScreen android:title="@string/led_indicator_settings" android:key="led_indicator_settings" android:fragment="com.android.settings.LedIndicatorSettings" />
    añadimos

    Código:
    <ListPreference android:persistent="true" android:entries="@array/ga_opciones_numtoggles" android:title="Núm. Toggles Scroll" android:key="aux_num_toggles" android:defaultValue="15" android:summary="Selecciona el estilo del candado " android:widgetLayout="@layout/round_more_icon" android:entryValues="@array/ga_valores_numtoggles" />
    En mis mods lo hago diferente, esto es una adaptación para que valga en cualquier Rom o mod.
    Usaremos la clave

    "aux_num_toggles"

    como una clave auxiliar en función de cuyo valor provocaremos el número de toggles que se presentan en el scroll de la cortina.

    Ahora viene el código...

    d.- os bajáis el zip y dentro de SecSettings/numtoggles, veréis el smali DisplaySettings.smali


    en vuestro proyecto descompilado, os váis a smali/com/android/settings/ y sustituís el original con el que os paso.

    Si queréis previamente, comparad el original con el modificado para que veáis dónde están los cambios. Estos son:

    - Se añaden unas líneas de código en .method public onCreate(Landroid/os/Bundle;)V que tienen por objetivo la inicialización de la preferencia y dar de alta el listener que será invocado si se cambia el usuario cambia el valor.
    - Se añaden unas líneas en .method public onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Object;)Z que son las que provocan que se trate un cambio de valor.

    Para ambas cosas se añaden respectivamente los métodos .method private grx_inicializa_pref_num_toggles(Landroid/preference/ListPreference;)V y .method private grx_establece_numtoggles(Landroid/preference/Preference;Ljava/lang/Object;)V

    El primero se encarga de leer el valor de la clave auxiliar y visualizarlo. Si no existe la clave, se inicializa a 15.

    El segundo se ejecuta cuando el usuario cambia el valor. Es más complicadillo, lo que hace es establecer el valor seleccionado en la clave auxiliar, visualizar el valor, convertir el valor seleccionado a entero y almacenarlo en las dos claves de sistema que se manejan para el número de toggles y finalmente simular un cambio de valores en la clave de sistema que mantiene los toggles activos con el objetivo de provocar que el systemui se actualice.


    e.- Compilamos y a correr. El usuario debe inicializar un valor la primera vez.
    Última edición por Grouxho; 03-12-13 a las 22:31


  4. Los siguientes 17 Usuarios dieron las gracias a Grouxho Por su Mensaje :

    anthony46 (08-09-14),axl33 (23-04-14),Balaperdida (03-12-13),david206206 (06-12-13),Frantastik (03-12-13),jechus (03-12-13),Jeshuuu (03-12-13),kenet (22-12-13),KRISTIANDM (04-12-13),LucianoManueL (03-12-13),luiso51 (04-12-13),millo1978 (05-09-15),neovendtta (22-09-14),Pepetpitufo (16-08-14),ramonore99 (10-03-14),viyou74 (28-05-14),yelo (19-03-15)

  5. #3
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Añadir Toggles al SecSettings


    Si queremos añadir toggles propios necesitamos conocer cómo funciona el tema.

    En SecSettings, básicamente consiste en dar de alta un nombre de toggle, un png del toggle y un string que será el que salga en el panel de notificaciones. Eso es lo fácil.
    Además en SecSettings debemos añadir el código necesario para que este toggle esté activo.
    En systemui, deberemos crear unas clases cuyo nombre debe contener el nombre del toggle, crear un string que será el que se visualice en el panel de toggles de la cortina, añadir los pngs que vayamos a usar en nuestro toggle (dependiendo de la funcionalidad puede ser uno o varios) y finalmente añadir el código de los toggles.

    Dicho así parece sencillo, pero como veréis tiene su miga por lo que vamos a añadir directamente cuatro toggles que me he currado y así lo vamos viendo. Estos son: flash sencillo, reinicio, borrar memoria/cerrar apps y finalmente el más complicado que es el toggle 2g/3g/auto.

    En este post sólo vamos a dar de alta los toggles en el secsettings. Si damos de alta un toggle en el secsettings y después en systemui no tenemos el código correspondiente, éste nos dará un fc.

    Vamos a ello.

    a.- Descompilamos SecSettings.

    b.- Añadimos los strings y pngs de nuestros toggles, de forma que en el panel de notificaciones del secsettings los podamos usar.

    IMPORTANTE:, el nombre del string y el nombre del png deben llamarse igual.

    Para ello, por ejemplo,

    - En res - values - strings.xml añadimos las siguientes cuatro líneas (justo antes de </resources>

    Código:
        <string name="notification_panel_grx_modo_red">Modo de Red</string>
        <string name="notification_panel_grx_flash">Flash</string>
        <string name="notification_panel_grx_reboot">Reiniciar</string>
        <string name="notification_panel_grx_memoria">Limp. RAM</string>
    - en drawable - res - drawable-xhdpi añadimos los cuatro pngs (uno por cada toggle).

    notification_panel_grx_reboot.png , notification_panel_grx_modo_red.png , notification_panel_grx_flash.png y notification_panel_grx_memoria.png es decir uno por cada toggle y con el nombre del png igual al nombre de los strings creados.

    c.- Ahora viene la historia, je je.. Vamos a realizar varias modificaciones en el smali siguiente

    smali/com/android/settings/NotificationPanelMenu.smali

    En el zip, dentro de la carpeta SecSettings/Toggles, os dejo el smali modificado y ahora os comento qué cambios se han realizado. Pilláis el smali modificado y lo ponéis en lugar del original.

    - En el método .method private makeConvertPanelName()V añadimos dos bloques de código. Vamos a ver como ejemplo el código necesario para dar de alta el toggle del flash


    Por un lado se añaden estas líneas en el método


    Código:
        iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;
    
        const-string v1, "GrxToggleFlash"
    
        const-string v2, "notification_panel_grx_flash"
    
        invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    y un poco más abajo las siguientes líneas


    Código:
        iget-object v0, p0, Lcom/android/settings/NotificationPanelMenu;->mConvertPanelItemstring:Ljava/util/HashMap;
    
        const-string v1, "notification_panel_grx_flash"
    
        const-string v2, "GrxToggleFlash"
    
        invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    - "GrxToggleFlash" es el nombre interno del toggle, tiene mucha importancia y debéis saber que en función de este nombre, el systemui tratará de cargar la clase correspondiente.

    En este caso, el systemui intentará cargar el smali

    com/android/systemui/statusbar/policy/quicksetting/GrxToggleFlashQuickSettingButton.smali

    Fijaros que la primera parte del smali corresponde con el nombre del toggle. Si os programáis vuestro toggle, GrxToggleFlashQuickSettingButton.java será el nombre de la clase.

    - "notification_panel_grx_flash", que como hemos visto, se corresponde al nombre del string y al nombre del png asociado al toggle.

    Bien, con esto para cada toggle, ya tenemos los toggles disponibles en secsettings, pero hay que solucionar varias cosillas.

    d.- Toggles disponibles y reset toggles.

    Ahora nos falta por decir que estos nuevos toggles están disponibles. El secsettings se vale de cuatro claves de sistema

    - "notification_panel_active_app_list" , aquí se encuentran los toggles que el usuario tiene activos. Es una clave tipo string cuyos valores están separados por punto y coma (;)

    - "notification_panel_active_number_of_apps", aquí se almacena el número de toggles por defecto en el scroll (y en gestor del panel de notificaciones del settings). Si os fijáis es la clave que se modificaba en el mod del número de toggles que os puse anteriormente. Por defecto el código lo inicializa a 0xa, esto es 10 en hexadecimal. Nosotros lo pondremos a 0xf, 15, si bien, ya tenemos un selector :)

    - "notification_panel_active_app_list_for_reset" , es el listado que utiliza cuando el usuario pulsa la opción "Restablecer".

    - "notification_panel_active_number_of_apps_for_rese t", el el número de toggles activos que se utilizan al pulsar "Restablecer".


    El systemUI utiliza "notification_panel_active_app_list" y "notification_panel_active_number_of_apps" en condiciones normales. Cuando modicamos de posición un toggle en el secsettings, se actualiza "notification_panel_active_app_list". Cuando bajamos a la zona de toggles disponibles dentro del settings un toggle se actualiza "notification_panel_active_number_of_apps".

    El código de inicialización de estas claves es muy complejo, así es que la modificación que vamos a hacer modifica esto. Suponiendo que ya tenemos el mod del número de toggles hecho, os explico los cambios realizados en el mod:

    - Están modificados los métodos loadAppslist()V, resetPanel()V además de añadir el método

    .method private grx_inicializa_lista(Ljava/lang/String;)Ljava/lang/String;


    - En loadapplist y resetpanel se hacen llamadas al método grx_inicializa_lista(Ljava/lang/String;)Ljava/lang/String; También he cambiado la inicialización en caso de que no exista el valor por defecto del núemro de toggles de 10 (0xa) a 15 (0xf).

    Lo más importante es el el método grx_inicializa_lista

    Como os he dicho, inicializar las claves de sistema que usan settings y systemui es un lío, por lo que lo sencillo es proporcionar nosotros mismos la clave. Este método comprueba si ya se están usando nuestros toggles y si no es así, devuelve una lista de toggles posibles.

    Esta lista la tenéis en la línea de código

    Código:
    const-string v1, "Wifi;Location;SilentMode;AutoRotate;Bluetooth;MobileData;DormantMode;PowerSaving;MultiWindow;AllShareCast;WiFiHotspot;SBeam;Nfc;DrivingMode;SmartStay;Sync;AirplaneMode;SmartNetwork;ToddlerMode;SmartPause;SmartScroll;GrxToggleFlash;GrxToggleReboot;GrxToggleModoRed;GrxToggleMemoria;"
    Fijaros, aquí he añadido el toggle de restricción de red, smartnetwork (que no parece funcionar, pero lo dejamos porque lo haremos funcionar, jeje..) así como los cuatro toggles nuevos que pondremos

    (GrxToggleFlash;GrxToggleReboot;GrxToggleModoRed;G rxToggleMemoria;)

    - ¿Cómo Sabemos el nombre de esos toggles que nos capó samsung?.

    Pues en el método makeConvertPanelName los tenéis. Por ejemplo, si hacéis trabajar el toggle de modo lectura de red pues añadiremos "Ebook;" en algún lugar de esa cadena.


    e.- Compilamos y reservamos

    Ya os he comentado que si instalaláis el secsettings habiendo dado de alta toggles que después el systemui no encuentra la lógica, cascará systemui.
    Última edición por Grouxho; 03-12-13 a las 21:50


  6. Los siguientes 13 Usuarios dieron las gracias a Grouxho Por su Mensaje :

    anthony46 (08-09-14),axl33 (23-04-14),Balaperdida (03-12-13),david206206 (06-12-13),Frantastik (03-12-13),jechus (04-12-13),Jeshuuu (03-12-13),josete_1976 (17-09-14),kenet (22-12-13),LucianoManueL (03-12-13),luiso51 (04-12-13),neovendtta (22-09-14),ramonore99 (10-03-14)

  7. #4
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Mods previos para Toggles - Trabajando con ext.jar

    Estos toggles que vamos a añadir se ejecutan en systemui. En mi mod, probablemente se ejecutarán en android.policy.jar, pero he apañado el código para que se puedan ejecutar en systemui y podáis ponerlos en vuestros trabajos más fácilmente.

    Para que puedan ejecutarse el reboot o el cerrar aplicaciones desde el systemui tenemos que dotar a éste de unos permisos que no tiene. Para dotarles de estos permisos debemos modificar el androidmanifiest y por tanto firmar y por tanto tendremos problemas a no ser que desactivemos la comprobación de firmas. La desactivación de la comprobación de firmas se hace en services.jar

    Para no modificar el secphone para el toggle 2g-3g-auto tenemos que modificar unas clases de telephony_common.jar

    Para no andar con tanto jar, vamos a usar la capacidad que nos ofrece ext.jar de hacer un "override" total o parcial de clases de prácticamente cualquier otro jar (framework.jar, framework2.jar, services.jar, etc.). Esto significa que podemos situar los smalis de otros jar que queramos modificar dentro de ext.jar, con la única precaución de reproducir exáctamente la ruta original del smali.

    Esto tiene la evidente ventaja que concentramos en un sitio los mods de este tipo facilitando la distribución e integración de los mismos. Desventajas?. Ninguna que yo vea.

    Vamos a ello.



    A.- Eliminación de comprobación de firmas.

    - El toggle del reboot necesita que añadamos al systemui el permiso para poder reiniciar el teléfono, pues a diferencia de la 4.1.2 en la 4.3 (al menos en las que han salido) no viene con ese permiso.

    - El toggle de cerrar aplicaciones necesita de la misma forma que el permiso de eliminar procesos pues el systemui tampoco lo trae.

    En ambos casos, los permisos se dan en en el androidmanifiest.xml del systemui, lo cual implica necesariamente que firmemos el systemui modificado. Al firmar con nuestro apkmanager o apktool una aplciación, y más de sistema, debemos implementar el mod de eliminación de comprobación de firmas o corremos el riesgo que la rom nos "vomite" la apk.

    Este es el primer mod que yo siempre hago, porque tiene varias ventajas. Por un lado nos permite modificar cualquier aplicación, además las podemos firmar, podemos probar aplicaciones de system instaladas como una apk normal (por ejemplo el secsettings, la apk de radio, de reloj, etc.) lo cual simplifica el proceso de modificación.

    En este último caso, una vez tengamos depurados nuestros cambios, debemos flashear las apks con un zip o bien meterlas directamente en el zip de nuestra rom o la apk instalada como una aplicación normal será eliminada al reiniciar o hacer wipes. Pero una
    vez metidas en system, no serán borradas.

    En el caso del systemui, siempre se instalará por recovery con un zip (la verdad es que no he probado a instalarla en caliente como una apk normal).
    Las apks firmadas con nuestro apktool/manager ya puestas en system, son irrompibles ante un vrtheme. Así es que todo son ventajas también.

    Vamos a hacer el mod.

    - Desensamblamos el classes.dex del services.jar

    - Desensamblamos el classes.dex del ext.jar.

    - Localizamos en services el smali

    smali/com/android/server/pm/PackageManagerService.smali

    - reproducimos esa ruta y copiamos el smali en ext.jar

    - Nos olvidamos del services y sólo trabajamos en ext.jar

    - abrimos smali/com/android/server/pm/PackageManagerService.smali en ext.jar y localizamos el método

    .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I

    - Sustituimos el método completo por el siguiente

    Código:
    .method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
        .registers 2
    
        const-string v0, "Grx"
    
        const/4 v1, 0x0
    
        return v1
    .end method
    Lo de "Grx" es una huella que me dejo para localizar mis mods, porque de tantos que hago se me olvidan donde están, ja ja..


    Antes de ensamblar ext.jar, vamos a hacer la parte del mod del toggle 2g - 3g - auto que meteremos aquí.



    B.- Soporte necesario para el toggle modo de red

    Para esta implementación del toggle de modo de red no vamos a modificar el secphone como ocurría en lidroid. En su lugar vamos a modificar un par de classes de telephony-common.jar y vamos a meter las modificaciones en ext.jar.

    - Desensamblamos telephony_common.jar

    - localizamos y copiamos en ext.jar, clavando el nombre de las rutas los siguientes smalies de telephony_common.jar

    1.- smali/com/android/internal/telephony/gsm/GsmServiceStateTracker.smali
    2.- smali/com/android/internal/telephony/gsm/GsmServiceStateTracker$1.jar
    3.- smali/com/android/internal/telephony/PhoneBase.smali

    En el zip con los fuentes encontraréis el original y los que llevan el mod. Comparadlos para ver las diferencias, que os explico a continuación qué significan.

    - En phonebase.smali, en el método setPreferredNetworkType(ILandroid/os/Message;)V hago una llamada a un método llamado guarda_modo_red(I)V que veréis allí que almacena en una clave de sistema el estado de red.
    Este método lo que hace es almacenar el modo de red que usará el toggle del systemi para conocer el estado real del modo de red. En el toggle he metido un settings observer sobre la clave, de forma qeu si el usuario cambia desde settings (en realidad es el secphone) el modo de red, se sincroince el estado del toggle automáticamente.

    Este método se ejecutará finalmente, con las modificaciones realizadas en los siguientes dos smalies, cuando cambiamos de modo desde el toggle y como he comentado desde el settings por parte del usuario.

    - En GsmServiceStateTracker.smali en el método .method public constructor <init>(Lcom/android/internal/telephony/gsm/GSMPhone;)V sólo añadimos dos líneas de código, hacia el final del método

    Código:
        const-string v3, "com.grx.ajustes.CAMBIAR_MODO_RED"
    
        invoke-virtual {v1, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
    Estamos registrando una acción en el receiver que se encarga, entre otras cosas de invocar al método setPreferredNetworkType del anterior smali. Cuando cambiemos de modo en el toggle, enviaremos un broadcas ("com.grx.ajustes.CAMBIAR_MODO_RED") pasándo un parámetro extra de tipo entero, que es el modo de red (0, 1 o 2).


    - En En GsmServiceStateTracker$1.smali, tenemos el receiver, comprobamos que nos han enviado el broadcast mencionado, en ese caso obtenemos el valor extra ("com.grx.ajustes.MODO_RED") con el modo de red deseado y lanzamos un setPreferredNetworkType(ILandroid/os/Message;)V que provoca que se ejecute finalmente el guarda_modo_red(I)V y por tanto guardará el nuevo modo de red y nuestro toggle se actualiza.


    Bien, cuando hacemos desde secsettings un cambio de red, véis que se tarda un poco en devolver el control. Esto se hace en sechpone, yo no lo he implementado por lo qeu podemos llegar a "aturullar" el toggle y desincronizar el mismo con el modo real si el usuario pulsa muy rápido repetidamente el mismo. Tenemos varias formas de solucionarlo.

    En uso normal, el toggle va perfecto. Si os da guerra puedo solucionarlo de varias formas. Por ejemplo, se que no tarda más de 4 segundo en cambiar efectivamente de modo de red físicamente. Otra cosa es que pille el modo de red deseado, pero electrónicamente viene tardando unos 4 segundos por las pruebas qeu he realizado. O meto un runable para que desactive el toggle durante ese tiempo o todo el secphone, cosa que quiero evitar.

    Pero el toggle va de miedo tal y como está hecho.

    En mi multimod para la 4.3 pondré que se pueda cambiar la secuencia del toggle: 2g-3g, 2g-auto, 2g-3g-auto :)


    C.- Montando ext.jar.

    Pues nada, ya tenemos el ext.jar preparado, ensamblamos el nuevo classes.dex y lo metemos dentro del jar. Y reservamos.
    Última edición por Grouxho; 03-12-13 a las 22:09


  8. Los siguientes 13 Usuarios dieron las gracias a Grouxho Por su Mensaje :

    anthony46 (08-09-14),axl33 (23-04-14),Balaperdida (03-12-13),david206206 (06-12-13),JaLerma (10-04-14),jechus (04-12-13),Jeshuuu (03-12-13),kenet (22-12-13),leonargm (07-08-14),LucianoManueL (03-12-13),luiso51 (04-12-13),neovendtta (22-09-14),ramonore99 (10-03-14)

  9. #5
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Añadiendo los toggles a SystemUI



    1.- Introducción

    Ya hemos visto cómo se añaden los toggles al SecSettings, de forma que nos permita usarlos para su cambio de posición, visualización, etc., desde la opción Pantalla - Panel de Notificación..

    Ahora vamos a añadir nuestros cuatro nuevos toggles al systemui, y de paso os explico como se hace. Voy a explicar cómo se hace para posteriormente explicaros las peculiaridades de cada toggle.

    Si por ejemplo hemos añadido el toggle "GrxToggleFlash" en el SecSettings, en SystemUI deberá existir:

    - un string con el texto asociado al toggle
    - uno o varios pngs del propio toggle. Por ejemplo para el flash sólo he puesto 2, uno para on y otro para off. (Para el toggle de Red he usado 4, uno para 2g otro para 3g, otro para auto y otro para estados intermedios, pero esto depende de quién haya programado el toggle, claro.)
    - Uno o varios smalies situados en smali\com\android\systemui\statusbar\policy\quicks etting que se llame o llamen (en función de como se haya programado)

    GrxToggleFlashQuickSettingButton.smali

    Como véis la primera parte coincide con el nombre puesto en secsettings.

    No voy a explicar cómo programar estos toggles, no acabaría, pero si partiendo de mi código, cómo podéis incorporarlo a vuestros trabajos.

    - Dentro de los smalies de los toggles (de todos los que veáis ahí, de los principales donde se declara la clase) veréis un método

    .method public constructor <init>(Landroid/content/Context;)V

    y dentro veréis cosas similares a esto (con más o menos valores..

    Código:
        .line 65
        const/4 v2, 0x0
    
        const v3, 0x7f0c0181
    
        const v4, 0x7f02026e
    
        const v5, 0x7f02026d
    En el constructor de cada toggle es donde se ponen los recursos (texto y pngs para cada estado) que se usarán. Cuando hacemos nuestro toggle propio, lo que debemos de hacer es

    a.- Crear los strings comentados (uno por toggle) y meter en drawable-xhdpi los pngs de cada toggle.
    b.- Compilar para que se generen los public ids
    d.- Descompilar la recien compilada para saber qué ids tenemos que usar
    e.- Poner los ids correspondientes.

    Sólo quiero que os quedéis con la idea, puesto que no es el objetivo extenderme a explicar cómo se programa un toggle, pero si creo que es bueno que sepáis por donde van los tiros. Además si pilláis mi código para el toggle del flash, los que sepáis de código, rápidamente veréis como haceros vuestros toggles por código

    2.- Añadir los cuatro toggles

    Vamos a ello.

    a.- Descompilamos systemui
    b.- En el zip encontraréis una carpeta llamada systemui/pngs. Los sacáis y los situamos en drawable-xhdpi (Están añadidos los que faltan de los toggles smartnetwork y toddler mode - modo restringido. Para que no estén activos, ya sabéis, en el NotificationPanelMenu.smali del secsettings)
    d.- Nos vamos a res - values - strings y añadimos

    Código:
        <string name="gs_etiqueta_toggle_flash">Flash</string>
        <string name="gs_etiqueta_toggle_reboot">Reiniciar</string>
        <string name="gs_etiqueta_toggle_modored">Modo Red</string>
        <string name="gs_etiqueta_toggle_memoria">Limpiar RAM</string>

    e.- compilamos y descompilamos la apk creada para averiguar los public ids generados para todos estos elementos (pngs y strings). Nos vamos a res-values-public.xml de la apk compilada y lo abrimos.
    f.- Volvemos a trabajar sobre la apk que estamos modificando (cambiar de proyecto en vuestro apkmanager)
    g.- En el zip encontraréis en la carpeta systemui/codigotoggles varios smali, los pilláis y los copiamos a

    smali\com\android\systemui\statusbar\policy\quicks etting

    h.- Ahora vamos a ir arreglando los ids en el código que os he pasado. En los smalis os pongo a qué elemento corresponde cada id y que debéis sustituir o verificar

    h1.- Toggle Flash

    - Abrimos en nuestro proyecto el smali GrxToggleFlashQuickSettingButton.smali
    - localizamos .method public constructor <init>(Landroid/content/Context;)V
    - y sustituimos los ids por sus correspondientes generados y que encontráis en el public.xml que tenemos abierto.

    Código:
        const v3, 0x7f0c0181 #id del string gs_etiqueta_toggle_flash
    
        const v4, 0x7f02026e #id del png grx_toggle_flash_on
    
        const v5, 0x7f020335 #id del png grx_toggle_flash_off
    Toggle listo para ser usado.

    h2.- Toggle reboot

    hacemos lo mismo sobre GrxToggleRebootQuickSettingButton.smali adaptando los siguientes ids a los que se os hayan generado a vosotros


    Código:
        const v3, 0x7f0c0182 #id string gs_etiqueta_toggle_reboot
    
        const v4, 0x7f02033b # id png (drawable) grx_toggle_reboot
    
        const v5, 0x7f02033b # id png (drawable) grx_toggle_reboot - usamos el mismo, en realidad sobraría porque este toggle no tiene estado
    Listo

    h3.- Toggle Borrar Memoria / Cerrar Apps

    Este toggle funciona de tal forma que si pulsas una vez, te cierra procesos como el borrar memoria y si pulsas largo, te cierra todas las aplicaciones excepto las indicadas por código.

    Hacemos lo mismo sobre GrxToggleMemoriaQuickSettingButton.smali


    Código:
        const v3, 0x7f0c0184 # id string gs_etiqueta_toggle_memoria
    
        const v4, 0x7f020336 #id png (drawable) grx_toggle_memoria
    
        const v5, 0x7f020336 #id png (drawable) grx_toggle_memoria
    Listo.


    h4.- toggle modo de red

    Y finalmente toggle modo de red.

    Lo mismo pero sobre GrxToggleModoRedQuickSettingButton.smali

    Código:
    
        const/4 v2, 0x0			#se queda así
    
        const v3, 0x7f0c0183	#id string gs_etiqueta_toggle_modored
    
        const v4, 0x7f020339	#id png (drawable) grx_toggle_modored_auto
    
        const v5, 0x0 			#se queda así
    
        const v6, 0x7f02033a 	#id drawable (png) grx_toggle_modored_dim 
    
        const v7, 0x7f020337	#id drawable (png) grx_toggle_modored_2g
    
        const v8, 0x7f020338	#id png drawable grx_toggle_modored_3g
    listo

    i.- Arreglando otros toggles, por si los queréis poner.

    En concreto toddlermode Modo Restringido de Red (este funciona)

    Pues nada, a estas alturas deberíais saber cómo hacerlo, jeje.. yo os he puesto los pngs, en el zip (Muchísimas gracias a pepetpitufo).

    Tenéis que buscar en ToddlerModeQuickSettingButton.smali para arreglarlos..os lo dejo a vosotros. Si queréis saber en qué lugar va cada png dentro de las classes de los toggles,
    mirád el código de quicksettingsbutton.smali en el método constructor. Ahí véis el orden. Así en el código del toggle que se trate os hacéis esta cuenta...

    Código:
    const v3 - etiqueta
    const v4, - oniconid, es decir el png del on
    const v5  - sería el offIconId", es decir el toggle off ..
    ...
    En el toggle 2g-3g-auto no he seguido ese criterio, pero en el smartnetwork y el toddlermode si lo siguen.

    Y el toddler mode hay que arreglarlo porque para los ids que aparecen en el código, en el public.xml os encontraréis cosas de este tipo.

    Código:
       <public type="drawable" name="APKTOOL_DUMMY_01d8" id="0x7f0201d8" />
        <public type="drawable" name="APKTOOL_DUMMY_01ee" id="0x7f0201ee" />
    ..
    Por tanto tenemos que usar nuestros pngs. Por eso los puse al principio.


    j.- Dando permisos a los toggles reboot y borrar / cerrar.

    - Debemos tener implementado el mod de no comprobación de firmas pues como vamos a modificar el manifiest no nos queda más remedio que firmar con el apkmanager el systemui y si no tenemos ese mod, no iría bien.

    Abrimos el androidmanifiest.xml de nuestro systemui de proyecto y añadimos por ahí en medio de donde están el resto de uses-permission lo siguiente.

    Código:
        <uses-permission android:name="android.permission.REBOOT" />
        <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />

    k.- Compilamos y firmamos el systemui y a correr. Lo enchufamos junto a ext.jar (con las modificaciones de comprobación de firmas y soporte para toggle 2g-3g-auto) y al secsettings.


    l.- Suerte...y si no os rula, pues aquí lo tenéis montado..
    Última edición por Grouxho; 03-12-13 a las 22:45


  10. Los siguientes 10 Usuarios dieron las gracias a Grouxho Por su Mensaje :

    anthony46 (08-09-14),Balaperdida (03-12-13),david206206 (06-12-13),jechus (04-12-13),Jeshuuu (03-12-13),kenet (22-12-13),LucianoManueL (03-12-13),luiso51 (04-12-13),neovendtta (22-09-14),ramonore99 (10-03-14)

  11. #6
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Personalizando los toggles


    Ahora os voy comentar brevemente cosillas que podéis cambiar, ademas de los pngs de systemui y de secsettings en los mods que os he contado.


    - Toggle del Flash.

    Este es el toggle más simplón, y al que no haya nunca programado un toggle le puede servir muy bien de referencia. Pero a lo que voy es a lo siguiente. Si alguno tiene interés y abre GrxToggleFlashQuickSettingButton.smali, verá que la forma de activar el flash es mediante un broadcast al secsettings.

    En el método gestiona_flash, encontráis esto.

    Código:
     const-string v1, "com.sec.samsung.torchwidget.torch_on_2"

    Este es el nombre del broadcast que se envía para encender. Lo recive secsettings. En el android manifiest del secsettings veréis las cuatro acciones que maneja para activar desactivar el flash.

    Código:
                    <action android:name="com.sec.samsung.torchwidget.torch_on_1" />
                    <action android:name="com.sec.samsung.torchwidget.torch_on_2" />
                    <action android:name="com.sec.samsung.torchwidget.torch_on_3" />
                    <action android:name="com.sec.samsung.torchwidget.torch_off" />

    pues bien, "com.sec.samsung.torchwidget.torch_on_2" corresponde a un nivel intermedio de flash. Podéis cambiar por "com.sec.samsung.torchwidget.torch_on_3" para dar mayor luminosidad o a "com.sec.samsung.torchwidget.torch_on_1" para dar menos. "com.sec.samsung.torchwidget.torch_off" es el que utilizo para apagar el flash.


    - Toggle Reboot.

    Bueno, este código es más viejo que yo, lo uso desde el primer mod que hice sobre esto, creo que ni he traducido los textos.. en fin, eso se hace en.

    .method public constructor <init>(Landroid/content/Context;)V de GrxToggleRebootQuickSettingButton.smali

    No debéis tocar el último string.


    - Toggle Limpiar memoria.

    En GrxToggleMemoriaQuickSettingButton.smali, localizáis el método inicia_apps_seguras()V y ahí podéis personalizar qué aplicaciones también pueden ser eliminadas o no.

    Por ejemplo, para que el secsettings también pueda ser cerrado, localizamos estas tres líneas

    Código:
        iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/GrxToggleMemoriaQuickSettingButton;->mGrxAplicacionesSeguras:Ljava/util/Set;
    
        const-string v1, "com.android.settings"
    
        invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
    y las borramos. Para añadir más apps sería lo contrario, añadimos tres líneas como la anterior, poniendo en const-string v1, "..." el nombre de la apk (la del manifiest, después el código se encarga de buscarla).
    Última edición por Grouxho; 03-12-13 a las 22:46


  12. Los siguientes 10 Usuarios dieron las gracias a Grouxho Por su Mensaje :

    anthony46 (08-09-14),chinaskipati (31-07-14),david206206 (06-12-13),jechus (04-12-13),Jeshuuu (03-12-13),kenet (22-12-13),LucianoManueL (03-12-13),luiso51 (04-12-13),neovendtta (22-09-14),ramonore99 (10-03-14)

  13. #7
    Fecha de ingreso
     May-2013
    Ubicación
     Colombia
    Mensajes
     910
    Versión de ROM
     Green_Goblin 0.5
    Modelo de smartphone
     Galaxy S3
    Tu operador
     Claro
    Gracias Enviadas
    1,297
    Agradecido 412 Veces en 265 Posts


    Muy buenas idea tito Grouxcho

    Esp-desarrolladores necesita de tu ayuda, cualquier donación voluntaria siempre sera bien recibida. Recuerden, esto es una forma de agradecer a los desarrolladores que trabajan día y noche para ustedes (los usuarios) a que sigan trabajando de manera gratuita y altruista. Todas las donaciones deben hacerse acá:

    Se les agradecerá de todo corazón su aporte.

  14. #8
    Fecha de ingreso
     Mar-2013
    Ubicación
     Chile
    Edad
     25
    Mensajes
     1,881
    Versión de ROM
     6.0.1
    Modelo de smartphone
     S7 G930F
    Tu operador
     Movistar
    Gracias Enviadas
    906
    Agradecido 2,244 Veces en 967 Posts


    Pedazo de tuto! este me lo guardo en todas las nuves que tengo jaja
    Esp-desarrolladores necesita de tu ayuda, cualquier donación voluntaria siempre sera bien recibida. Recuerden, esto es una forma de agradecer a los desarrolladores que trabajan día y noche para ustedes (los usuarios) a que sigan trabajando de manera gratuita y altruista. Todas las donaciones deben hacerse acá:

    Se les agradecerá de todo corazón su aporte.

  15. Los siguientes usuarios agradecieron a Jeshuuu por su mensaje :

    Grouxho (03-12-13)

  16. #9
    Fecha de ingreso
     Apr-2013
    Ubicación
     A las afueras de Madrid
    Edad
     41
    Mensajes
     53
    Versión de ROM
     Pecha2k
    Modelo de smartphone
     SGS3
    Tu operador
     Pepephone
    Gracias Enviadas
    92
    Agradecido 85 Veces en 35 Posts


    Muchísimas gracias crack

  17. Los siguientes usuarios agradecieron a pecha2k por su mensaje :

    Grouxho (03-12-13)

  18. #10
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Ya tenéis todo en el primer post. Espero que os sirva y no haberme saltado ningún paso, en cualquier caso tenéis los fuentes y los mods montados por lo que creo que os será muy fácil hacerlos.

    Hoy no me dio tiempo a montar el colorpicker en el secsettings, en cuanto saque un rato, os pongo un tuto para poner cualquier color de efecto de tinta. Veréis que sencillo me ha quedado al final. Es más complicado el color picker que el mod de tinta, ja, ja..


  19. #11
    Fecha de ingreso
     Jun-2013
    Mensajes
     223
    Versión de ROM
     LA QUE MAS RULE
    Versión de Kernel
     RADIO OLÈ
    Modelo de smartphone
     GALAXY ACE, GALAXY S, GALAXY TAB 2, GALAXY S3
    Tu operador
     YOIGO
    Gracias Enviadas
    134
    Agradecido 204 Veces en 115 Posts


    Vaya mega tuto te has currao gracias


  20. Los siguientes usuarios agradecieron a leonidas30 por su mensaje :

    Grouxho (03-12-13)

  21. #12
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Estoy revisando erratas, había una en el tema del selector de número de toggles, había puesto que después de..poner tal, lo primero estaba mal.


  22. #13
    Fecha de ingreso
     Aug-2013
    Ubicación
     Las Palmas de Gran Canaria
    Mensajes
     1,332
    Versión de ROM
     YtseJam v1 by mrbojangle69 + Modem I9300BUUGMK1
    Versión de Kernel
     Boeffla-Kernel-5.2-beta1
    Modelo de smartphone
     Samsung GSIII GT-I9300 Android 4.3 Jelly Bean JSS15J.XXUGNA7
    Tu operador
     Movistar
    Gracias Enviadas
    646
    Agradecido 572 Veces en 378 Posts


    Madredelamorhermoso, pedazo de tutorial que te has currado Grouxho, me quito el sombrero.

    Reuffff!!! lo que me queda por aprender si quiero meterme en esto.

  23. Los siguientes usuarios agradecieron a mrbojangle69 por su mensaje :

    Grouxho (03-12-13)

  24. #14
    Fecha de ingreso
     Mar-2013
    Ubicación
     Sevilla
    Edad
     25
    Mensajes
     691
    Modelo de smartphone
     Samsung Galaxy S3
    Tu operador
     Pepephone
    Gracias Enviadas
    1,054
    Agradecido 338 Veces en 234 Posts


    Madre del amor hermosooo! Pero ezto que eeeh!!? Madre mia para montar yo esto...

    Grouxho, lo de las fuentes que es? Tambien hace falta para tener los mods instalados? Osea... ponemos lo de Jeshuuu, luego el zip de los mods acabados y luego las fuentes?

  25. Los siguientes usuarios agradecieron a LucianoManueL por su mensaje :

    Grouxho (03-12-13)

  26. #15
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Cita Iniciado por luciano1993 Ver mensaje
    Madre del amor hermosooo! Pero ezto que eeeh!!? Madre mia para montar yo esto...

    Grouxho, lo de las fuentes que es? Tambien hace falta para tener los mods instalados? Osea... ponemos lo de Jeshuuu, luego el zip de los mods acabados y luego las fuentes?
    Los fuentes son los smalies que están modificados, para que quien quiera implementarse estos toggles / mod no tenga que dar muchas vueltas, comparando los fuentes y los originales y con lo que he comentado, se encuentra fácil los cambios.

    No, no te hacen falta. Si pones el port de jeshuu, monta encima el que he puesto montado y lo único inicializa una vez el número de toggles, haz un restablecer toggles dentro del secsettings y cambia el modo de red manualmente una vez. Solo eso.


  27. Los siguientes usuarios agradecieron a Grouxho por su mensaje :

    LucianoManueL (03-12-13)

  28. #16
    Fecha de ingreso
     Mar-2013
    Ubicación
     Chile
    Edad
     25
    Mensajes
     1,881
    Versión de ROM
     6.0.1
    Modelo de smartphone
     S7 G930F
    Tu operador
     Movistar
    Gracias Enviadas
    906
    Agradecido 2,244 Veces en 967 Posts


    Si alguien quiere este 3g/2g/automatico que me los pida por mp. Me gustan mas que los que puso grouxho.
    Esp-desarrolladores necesita de tu ayuda, cualquier donación voluntaria siempre sera bien recibida. Recuerden, esto es una forma de agradecer a los desarrolladores que trabajan día y noche para ustedes (los usuarios) a que sigan trabajando de manera gratuita y altruista. Todas las donaciones deben hacerse acá:

    Se les agradecerá de todo corazón su aporte.

  29. Los siguientes 2 Usuarios dieron las gracias a Jeshuuu Por su Mensaje :

    Grouxho (03-12-13),Pepetpitufo (05-12-13)

  30. #17
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Cita Iniciado por Jeshuuu«~ Ver mensaje
    Si alguien quiere este 3g/2g/automatico que me los pida por mp. Me gustan mas que los que puso grouxho.
    Yo los quiero, je je.. molan más. Se me da fatal. Eso sí, los que me preparó pepetpitufo para colorear son acojonantes.

    Anda, pásamelos, que me voy a dormir.


  31. #18
    Fecha de ingreso
     Mar-2013
    Ubicación
     Sevilla (España)
    Edad
     37
    Mensajes
     7,635
    Gracias Enviadas
    2,727
    Agradecido 25,101 Veces en 5,959 Posts


    Muy buen tutorial el que te has creado makina
    Sígueme en Twitter: https://twitter.com/javilonas
    -----------------------------------------------------------------

  32. Los siguientes usuarios agradecieron a javilonas por su mensaje :

    Grouxho (04-12-13)

  33. #19
    Fecha de ingreso
     Nov-2013
    Mensajes
     2,979
    Gracias Enviadas
    2,093
    Agradecido 3,658 Veces en 1,575 Posts


    Cita Iniciado por Grouxho Ver mensaje
    Yo los quiero, je je.. molan más. Se me da fatal. Eso sí, los que me preparó pepetpitufo para colorear son acojonantes.

    Anda, pásamelos, que me voy a dormir.
    Dejate de chorradas grouxho jejeje estos son mucho mejores
    Un gran tuto pero macho se me escapa
    Entonces para tener todo el pack completo pero en apks
    El smart screen con toggles k ago?

    AKI POST PURES DEODEX: http://www.esp-desarrolladores.com/s...ead.php?t=3250

    AKI POST PURES ODEX Y DEODEX CON XPOSED: http://www.esp-desarrolladores.com/s...ead.php?t=3805

    AKI POST PURES RE_ODEX: http://www.esp-desarrolladores.com/s...ead.php?t=3769

    AKI PURE S5 LITE ODEX GNH4: https://mega.co.nz/#!OVBVxbJR!tbLQjS...6PXXjFHcBEOeP0

    LA ROM DE ABAJO ES LA EXTRA MANTIENE TU MODEM Y SUPER LITE SI TE FALLA AGO APARTE DE LAS APPS QUE VAN BIEN BAJO TU RESPONSABILIDAD

    AKI LA ROMS MAS LITE 244 MEGAS: https://mega.co.nz/#!bY5CDD6C!kRf85C...pvIa8q_TinjGj8

    AKI LAS APP QUE YO METO A LA 244 MEGAS: https://mega.co.nz/#!TMxQ3CCK!-fl6xE...ETtSn0Mdgpg8z8


  34. #20
    Fecha de ingreso
     Mar-2013
    Mensajes
     12,594
    Gracias Enviadas
    8,662
    Agradecido 22,992 Veces en 7,864 Posts


    Cita Iniciado por Pepetpitufo Ver mensaje
    Dejate de chorradas grouxho jejeje estos son mucho mejores
    Un gran tuto pero macho se me escapa
    Entonces para tener todo el pack completo pero en apks
    El smart screen con toggles k ago?

    Enviado desde mi GT-I9300 usando Tapatalk 2
    Pilla el port de jeshuu y encima montas el mod montado del tuto. Eso es todo.



  35. Los siguientes usuarios agradecieron a Grouxho por su mensaje :

    Pepetpitufo (04-12-13)

Página 1 de 11 123 ... ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  


ESP-Desarrolladores

    ESP-Desarrolladores, es una comunidad de desarrollo Android en habla hispana, Aquí encontrarás lo último en Android, ROMs, Kernel, APPs, etc... Pasa y Ponte Cómodo!!! estás en tu casa ;)

Síguenos en

Twitter Facebook Google+ espdesarrolladores - Andyou Youtube RSS Feed