Tutoriales Manuales, tutos, recetas, postres, etc

Respuesta
 
Herramientas
  #1  
Viejo 05/07/15, 16:10:18
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
Modificar SystemUI al estilo Lollipop



¡ Hola HTCManíacos !
En éste tutorial, de manera eficiente, conseguiremos una apariencia al mas puro estilo android 5.0 lollipop modificando una tira de archivos en la aplicación " SystemUI " .

.: F.A.Q ( Frequent asked questions ) :.

. ¿ En que versiones de Android funciona ?

- Funciona en las siguientes versiones de Android :
- Android 4.1.X - 4.3.X Jelly Bean .
- Android 4.4.X Kit Kat ( Aún por confirmar ) [Confirmado por el compi JBC_Dev]

. ¿ Que teléfono se debe tener para realizar la guía ?

- No es una guía para un modelo en concreto, pero
recomiendo encarecidamente éstos modelos :
Un modelo dotado de procesador MediaTek .
Un modelo dotado de la skin TouchWiz ( Samsung's ) .
Un modelo dotado de Android puro ( AOSP ) .
O en su defecto, usted puede probar en otros OS's
Por ejemplo : EMUI ( Huawei ) o MIUI ( XIAOMI ) .

. ¿ Puede brickear ésto mi teléfono ?

- No necesariamente si se hace todo correctamente,
Recomendamos encarecidamente, tener un backup por si algo falla .

.: PreRequisitos :.
. SystemUI.apk ( Localizado en /system/priv-app o /system/app ) de nuestra ROM ¡ ATENCIÓN ! : Nuestra ROM debe ser deodexada, si en /system/app, observamos archivos .odex, deberás deodexearlo con alguna herramienta como dxidsa
. Si realizamos la guía para un dispositivo con procesador MediaTek, necesitaremos los archivos framework-res.apk y mediatek-res.apk localizados en /system/framework . ¡ ATENCIÓN ! Si falta alguno de los archivos previamente mencionados, no pasa nada, prosiga con la guía .
. Si realizamos la guía para un dispositivo dotado de TouchWiz ( Véase dispositivos Samsung ) necesitaremos los archivos tw-framework-res.apk y el archivo framework-res.apk localizados en /system/framework . ¡ ATENCIÓN ! Si falta alguno de los archivos previamente mencionados, no pasa nada, prosiga con la guía .
. APK_Tool 1.5.2 ( Versiones mas nuevas, dan errores con los archivos " .smali ", este es el que yo use http://foro.root4ever.com/Tema-Tutor...-s-WINDOWS-307 )
. Archivos encontrados en el post .
. SentidoComún.apk y Cerebro.jar, no, ¡ Solo bromeaba ! .

Resultado

(Click para mostrar/ocultar)




Una vez tengamos el Apk Tool configurado ya podemos empezar a editar el SystemUI.
Para ello, debemos descompilar el SystemUI de nuestro terminal (El enlace del Apk Tool os lo explica perfectamente, pero bueno, cualquier cosa avisadme)

Una vez que tengamos el SystemUI descompilado, empezaremos a editarlo.


Ahora nos dirigimos a la carpeta values y buscamos el archivo colors.xml
Justo debajo de <resources> añadimos los siguientes colores:
Código:
<color name="ani_quickpanel_text_color_ing">#ff75899b</color>
<color name="ani_quickpanel_text_color_off">#ff999fa4</color>
<color name="ani_quickpanel_text_color_on">#ffffffff</color>
En esta misma carpeta buscamos el archivo ids.xml y justo debajo de <resources> pegamos el siguiente codigo:
Código:
<item type="id" name="ani_quickpanel_wifi_btn_icon">false</item>
<item type="id" name="ani_quickpanel_bluetooth_btn_icon">false</item>
<item type="id" name="ani_quickpanel_gps_btn_icon">false</item>
<item type="id" name="ani_quickpanel_data_btn_icon">false</item>
<item type="id" name="ani_quickpanel_sync_btn_icon">false</item>
<item type="id" name="ani_quickpanel_rotate_btn_icon">false</item>
<item type="id" name="ani_quickpanel_sound_btn_icon">false</item>
<item type="id" name="ani_quickpanel_vibrate_btn_icon">false</item>
<item type="id"  name="ani_quickpanel_quick_settings">false</item>
Por ultimo buscamos el archivo strings.xml y justo debajo de <resources> pegamos el siguiente código:
Código:
<string name="ani_quickpanel_wifi_text">Wi-Fi</string>
<string name="ani_quickpanel_bluetooth_text">Bluetooth</string>
<string name="ani_quickpanel_gps_text">GPS</string>
<string name="ani_quickpanel_data_text">Data</string>
<string name="ani_quickpanel_sync_text">Auto\nSync</string>
<string name="ani_quickpanel_rotate_text">Auto\nRotation</string>
<string name="ani_quickpanel_sound_text">Sound</string>
<string  name="ani_quickpanel_vibrate_text">Vibration</string>
Ahora necesitamos meter en estas carpetas algunos archivos:
http://www.mediafire.com/download/5k...raLollipop.rar
Meted cada archivo en su respectiva carpeta.

Ahora compilamos y si todo ha funcionado correctamente volvemos a descompilar.
Esta parte es la más aburrida de todas, pero bueno, tendrá su recompensa

Debemos dirigirnos a la carpeta values y abrir el archivo public.xml.
También nos dirigimos a smali\com\mda\Ltoggle\AutoRotationSetting Button.smali.
Abrimos estos dos archivos y comparamos las ids públicas.
Código:
Line 98:     const v3, 0x7f090168<public type="id" name="ani_quickpanel_rotate_btn_icon"  
Line 130:    const v1, 0x7f02026b<public type="drawable" name="ani_quickpanel_icon_rotate_on"   
Line 133:    const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 139:    const v1, 0x7f02026a<public type="drawable" name="ani_quickpanel_icon_rotate_off"   
Line 142:    const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 312:    const v0, 0x7f0c01bb<public type="string"  name="ani_quickpanel_rotate_text"
¿Cómo se hace esto? Muy fácil pero muy largo.
Buscamos en el archivo public.xml <public type="id" name="ani_quickpanel_rotate_btn_icon". Justo al lado aparecerá : id="0x000000"
Debemos copiar esa ID, una vez copiada nos dirigimos al archivo .smali y en la linea que nos indica, cambiamos ese "0x00000" por el nuevo "0x00000".

Una vez hecho con todas las lineas, toca hacerlo con los demás smiles.
Abrimos smali\com\mda\Ltoggle\BluetoothSettingButton.smali y comparamos las ids:
Código:
Line 146:     const v3, 0x7f090164<public type="id" name="ani_quickpanel_bluetooth_btn_icon"   
Line 178:     const v1, 0x7f020263<public type="drawable" name="ani_quickpanel_icon_bluetooth_on"   
Line 181:     const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 187:     const v1, 0x7f020262<public type="drawable" name="ani_quickpanel_icon_bluetooth_off"   
Line 190:     const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 196:     const v1, 0x7f020261<public type="drawable" name="ani_quickpanel_icon_bluetooth_ing"   
Line 199:     const v4, 0x7f0a000e<public type="color" name="ani_quickpanel_text_color_ing"   
Line 477:     const v0, 0x7f0c011e<public type="string" name="ani_quickpanel_bluetooth_text"
Abrimos SystemUI\smali\com\mda\Ltoggle\GpsSettingButton.sm ali y comparamos.

Código:
Line 98:     const v3, 0x7f090165<public type="id" name="ani_quickpanel_gps_btn_icon"   
Line 130:    const v1, 0x7f020267<public type="drawable" name="ani_quickpanel_icon_gps_on"   
Line 133:    const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 139:    const v1, 0x7f020266<public type="drawable" name="ani_quickpanel_icon_gps_off"   
Line 142:    const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 312:    const v0, 0x7f0c011f<public type="string" name="ani_quickpanel_gps_text"
Abrimos SystemUI\smali\com\mda\Ltoggle\MobileDataSettingBu tton.smali y comparamos:

Código:
Line 142:     const v3, 0x7f090166<public type="id" name="ani_quickpanel_data_btn_icon"   
Line 174:     const v1, 0x7f020265<public type="drawable" name="ani_quickpanel_icon_data_on"   
Line 177:     const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 183:     const v1, 0x7f020264<public type="drawable" name="ani_quickpanel_icon_data_off"   
Line 186:     const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 433:     const v0, 0x7f0c01ba<public type="string" name="ani_quickpanel_data_text"
Abrimos SystemUI\smali\com\mda\Ltoggle\SoundSettingButton. smali y comparamos:

Código:
Line 127:     const v3, 0x7f090169<public type="id" name="ani_quickpanel_sound_btn_icon"   
Line 159:     const v1, 0x7f02026d<public type="drawable" name="ani_quickpanel_icon_sound_on"   
Line 162:     const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 168:     const v1, 0x7f02026c<public type="drawable" name="ani_quickpanel_icon_sound_off"   
Line 171:     const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 478:     const v0, 0x7f0c01bc<public type="string" name="ani_quickpanel_sound_text"
Abrimos SystemUI\smali\com\mda\Ltoggle\SyncSettingButton.s mali y comparamos:

Line 103: const v3, 0x7f090167<public type="id" name="ani_quickpanel_sync_btn_icon"
Line 135: const v1, 0x7f02026f<public type="drawable" name="ani_quickpanel_icon_sync_on"
Line 138: const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"
Line 144: const v1, 0x7f02026e<public type="drawable" name="ani_quickpanel_icon_sync_off"
Line 147: const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"
Line 315: const v0, 0x7f0c0129<public type="string" name="ani_quickpanel_sync_text"

Abrimos SystemUI\smali\com\mda\Ltoggle\VibrateSettingButto n.smali y comparamos:

Line 157: const v3, 0x7f09016a<public type="id" name="ani_quickpanel_vibrate_btn_icon"
Line 189: const v1, 0x7f020271<public type="drawable" name="ani_quickpanel_icon_vibrate_on"
Line 192: const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"
Line 198: const v1, 0x7f020270<public type="drawable" name="ani_quickpanel_icon_vibrate_off"
Line 201: const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"
Line 330: const v0, 0x7f0c01bd<public type="string" name="ani_quickpanel_vibrate_text"

Abrimos SystemUI\smali\com\mda\Ltoggle\WifiSettingButton.s mali y comparamos.

Código:
Line 90:     const v3, 0x7f090163<public type="id" name="ani_quickpanel_wifi_btn_icon"   
Line 122:     const v1, 0x7f020274<public type="drawable" name="ani_quickpanel_icon_wifi_on"   
Line 125:     const v4, 0x7f0a0010<public type="color" name="ani_quickpanel_text_color_on"   
Line 131:     const v1, 0x7f020273<public type="drawable" name="ani_quickpanel_icon_wifi_off"   
Line 134:     const v4, 0x7f0a000f<public type="color" name="ani_quickpanel_text_color_off"   
Line 140:     const v1, 0x7f020272<public type="drawable" name="ani_quickpanel_icon_wifi_ing"   
Line 143:     const v4, 0x7f0a000e<public type="color" name="ani_quickpanel_text_color_ing"   
Line 415:     const v0, 0x7f0c011d<public type="string"  name="ani_quickpanel_wifi_text"
Una vez aqui, lo más largo ya esta hecho !!!!
Ahora debemos guardar todo y recompilar.
Si ahora lo probais obtendreis algo así, pero el tutorial continua:
(Click para mostrar/ocultar)

Ya se parece bastante, pero faltan muchas cosas ¿verdad?
Pues vamos a ello.

Lo siguiente será añadir el control de brillo, para hacer esto es muy fácil:
Descargamos los siguientes archivos: http://www.mediafire.com/download/a5...Brightness.zip

Pasamos cada archivo a su respectiva carpeta. (EASY)
Debemos dirigirnos a la carpeta values y abrir el archivo public.xml.
Buscamos el siguiente código y copiamos su id. (Podeis copiarla en un bloc de notas)
Código:
name="progress_horizontal
Buscamos el siguiente código y copiamos su id. (Podeis copiarla en un bloc de notas)
Código:
name="thumb
Ahora nos dijirmos a smali/in/jmkl/dcsms/statusbargreper y abrimos SlideBrightness.smali
Una vez aquí, buscamos el código 0x7f0200e9 y lo remplazamos por la id del progress_horizontal.
Tambien buscamos el código 0x7f0200ea y lo remplazamos por el de thumb.
Guardamos el smali.
Ahora vamos a res>layout>ani_toggle_mda.xml
Buscamos esta línea:
Código:
<LinearLayout android:gravity="center_vertical"  android:orientation="horizontal" android:layout_width="fill_parent"  android:layout_height="100.0dip">
Y justo encima pegamos esta otra:
Código:
<LinearLayout android:gravity="center"  android:orientation="horizontal" android:background="#ff243137"  android:paddingLeft="15.0dip" android:paddingTop="1.0dip"  android:paddingRight="15.0dip" android:paddingBottom="1.0dip"  android:layout_width="fill_parent" android:layout_height="45.0dip">
            <in.jmkl.dcsms.statusbargreper.SlideBrightness  android:gravity="center" android:layout_width="fill_parent"  android:layout_height="wrap_content" />
        </LinearLayout>
Con esto y un bizcocho ya tenemos la barra de control de brillo.
Compilamos y para seguir sin errores volvemos a descompilar
Ahora nos falta esto:
(Click para mostrar/ocultar)


Asi que vamos a ello.
Descargamos el siguiente zip http://www.mediafire.com/download/u9...r.9%282%29.zip
Dentro se encuentra una imagen, la arrastramos hasta resdrawable-hdpi drawable-mdpi o drawable-xxhdpi (Mi carpeta por defecto es resdrawable-hdpi).
Nos dirijimos a status_bar_expanded_header.xml
En la segunda linea de este .xml buscamos:
Código:
android:background="blablabla"
Y lo cambiamos por:
Código:
android:background="@drawable/l_header"
Buscamos el resto de los android:background="blalblablal" y los cambiamos por android:background="#00000000", obviamente si cambiar el de la segunda linea.

Y ahora en res>values>dimens.xml buscamos:
Código:
<dimen name="notification_panel_header_height">48.0dip</dimen>
y el 48.00dip lo cambiamos por 96.00dip.

PD: El siguiente paso solo lo pueden hacer algunos, pero si no lo podeis hacer no pasa nada.

Nos dirigimos a res>layout>flip_settings.xml buscamos esta línea:
Código:
<com.android.systemui.statusbar.phone.QuickSettingsContainerView  android:id="@id/quick_settings_container"  android:layout_width="fill_parent" android:layout_height="wrap_content"  android:animateLayoutChanges="true"  android:columnCount="@integer/quick_settings_num_columns" />
y la cambiamos por esta otra:
Código:
<include layout="@layout/ani_toggle_mda" />
Nos dirigimos a la carpeta res>layout y buscamos el archivo status_bar_expanded.xml / tw_status_bar_expanded.xml

Buscamos la línea:
Código:
<include layout="@layout/ani_toggle_mda" />
y la eliminamos.
Y ahora si, compilamos, firmamos y probamos en el móvil con permisos 644.

Cualquier error, adjuntar el log que os genera el APK Tool

Graaacias por leer ^^

Créditos:
Aniruddha_Pathak (XDA Forum)
http://themerspoint.blogspot.in (Blog)
Todos los miembros de esPCializados ( http://www.espcializados.es )
Subham Kumar (Amigo)
A todos los compañeros de DarkSideTeam, que me ayudaron hasta el final ^^
JBC_Dev, haciendo así, que la guía sea más entendible

PARTE II. Añadir iconos en el header

(Click para mostrar/ocultar)


Para ello descargaremos los siguientes archivos:
~~ http://www.mediafire.com/download/qt...lis%282%29.zip
~~ http://www.mediafire.com/download/z9.../Resources.rar

Buscamos la siguiente linea en status_bar_expanded_header.xml[MTK] / tw_status_bar_expanded_header.xml[TouchWiz]

<Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
Y justo debajo copiamos esto:

Código:
<LinearLayout android:gravity="right|center" android:orientation="horizontal" android:paddingLeft="30.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1.0" android:layout_alignParentRight="true">
        <com.fmd.icons.BluetoothIcon android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        <com.fmd.icons.AlarmIcon android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        <com.fmd.icons.WifiIcon android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
        <com.fmd.btn.LBatteryBar android:layout_width="wrap_content" android:layout_height="wrap_content" />
        <ImageView android:paddingLeft="5.0dip" android:layout_width="32.0dip" android:layout_height="32.0dip" android:src="@drawable/user_tamvan" />
        <FrameLayout android:id="@id/settings_button_holder" android:paddingTop="10.0dip" android:layout_width="50.0dip" android:layout_height="50.0dip" android:layout_marginLeft="12.0dip">
            <ImageView android:id="@id/settings_button" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_settings" android:scaleType="center" android:contentDescription="@string/accessibility_desc_quick_settings" />
            <ImageView android:id="@id/notification_button" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_notify_settings" android:scaleType="center" android:contentDescription="@string/accessibility_notifications_button" />
        </FrameLayout>
Debemos de eliminar las siguientes lineas :
(Click para mostrar/ocultar)


Es decir, el ultimo grupo de FrameLayout.
Añadimos los archivos descargados en cada una de las carpetas que se indican.
Compilamos y volvemos a compilar.

Ahora vamos a res/values/public.xml
Buscamos
<public type="drawable" name="stat_sys_battery_charge"y copiamos su id.
Nos dirigimos a res/smali/com/fmd/btn/LBatteryBar$1.smali
Buscamos por:
0x7f020145
y lo remplazamos por la id de public.xml.

Ahora hacemos lo mismo pero con:
<public type="drawable" name="stat_sys_battery"

0x7f02013c
Guardamos, compilamos y probamos.

PARTE III. Añadir márgenes [TW][MTK]

Los margenes a los que me refiero son estos:
(Click para mostrar/ocultar)


Resultado:
(Click para mostrar/ocultar)


Si tu archivo .xml del es tw_status_bar_expanded.xml:

Vamos a abrir el archivo res/layout/tw_status_bar_expanded.xml, y en la segunda linea buscamos esto:
Código:
android:paddingTop="@dimen/notification_panel_padding_top"
Lo remplazamos por el siguiente código:
Código:
android:paddingLeft="0.0dip" android:paddingTop="0.0dip" android:paddingBottom="0.0dip" android:paddingRight="0.0dip"
Donde pone 0.0dip debemos elegir cuanto de largo será el margen (creo que medida estandar son 4.5)

Si tu archivo .xml es status_bar_expanded.xml :
Vamos a abrir el archivo res/layout/status_bar_expanded.xml, y en la segunda linea buscamos esto:
Código:
<com.android.systemui.statusbar.phone.NotificationPanelView android:id="@id/notification_panel"
De seguido pegamos el siguiente código:
Código:
android:paddingLeft="5.0dip" android:paddingRight="5.0dip" android:layout_marginStart="5.0dip" android:layout_marginEnd="5.0dip"
En el mismo .xml buscamos:
Código:
<LinearLayout android:orientation="vertical"
De seguido pegamos el siguiente código:
Código:
 android:layout_marginStart="5.0dip" android:layout_marginEnd="5.0dip"
En mi móvil (HUAWEI G510), se ve mejor con 6.5dip en vez de 5.0dip. A vuestro gusto ^^

PARTE IV. Añadir funcion a los iconos del header

Hoy veremos cómo añadir función a los iconos añadidos en la Parte II.

Para esto nos dirijimos a status_bar_expanded_header.xml y buscamos esta linea:

Código:
<com.fmd.icons.WifiIcon android:paddingRight="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content"
Justo después añadimos este código:

Código:
android:onClick="FMDWifi"
¿Qué significa esto? Que al dar click se ejecute la funcion FMDWifi. ¿Dónde programamos la función? En smali\com\android\systemui
\SystemUIService.smali
Vamos a este smali y buscamos por:
Código:
# virtual methods
Justo debajo añadimos este código:


Código:
     .method public FMDWifi(Landroid/view/View;)V
     .locals 3
     .parameter "v"

     .prologue
     .line 2431
     new-instance v0, Landroid/content/Intent;

     invoke-direct {v0}, Landroid/content/Intent;-><init>()V

     .line 2432
     const-string v1, "com.android.settings"

     const-string v2, "com.android.settings.wifi.WifiSettings"

     invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

     const/high16 v2, 0x1000

     invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;

     move-result-object v0

     .line 2433
     invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V

     const-string v1, "statusbar"

     invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

     move-result-object v0

     check-cast v0, Landroid/app/StatusBarManager;

     invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapsePanels()V

     .line 1720
     return-void
 .end method
DEBEIS DE DEJAR UN ESPACIO ENTRE EL ULTIMO .end method Y SIGUIENTE .method public, dejandolo así:

(Click para mostrar/ocultar)


Como veis, al principio del código invocamos la funcion FMDWifi.
Si bajamos en este codigo veremos const-string v1 y const-string v2
const-string v1 es la aplicacion que hay que abrir y const-string v2 es el intent, en este caso el apartado de WiFi.

Ya tenemos el del Wifi, hagamos el de la batería.

Para esto nos dirijimos a status_bar_expanded_header.xml y buscamos esta linea:
Código:
<com.fmd.btn.LBatteryBar android:layout_width="wrap_content" android:layout_height="wrap_content"
De seguido añadimos
Código:
android:onClick="FMDBateria"


Vamos a smali\com\android\systemui\SystemUIService.smali y buscamos por:
Código:
# virtual methods
Justo debajo añadimos este código:


Código:
.method public FMDBateria(Landroid/view/View;)V
     .locals 3
     .parameter "v"

     .prologue
     .line 2431
     new-instance v0, Landroid/content/Intent;

     invoke-direct {v0}, Landroid/content/Intent;-><init>()V

     .line 2432
     const-string v1, "com.android.settings"

     const-string v2, "com.android.settings.fuelgauge.PowerUsageSummary"

     invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;

     const/high16 v2, 0x1000

     invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;

     move-result-object v0

     .line 2433
     invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V

     const-string v1, "statusbar"

     invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

     move-result-object v0

     check-cast v0, Landroid/app/StatusBarManager;

     invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapsePanels()V

     .line 1720
     return-void
 .end method
¡¡DEJANDO EL RESPECTIVO ESPACIO ENTRE METODOS!!

Se guarda, se compila y listo. Si quereis añadir alguno más, ya sabeis como se hace.


PARTE V. Cambiar iconos de QS
Esta parte esta dirijida a lo estetico, para que se parezca aún más a Lolipop
Descargamos el siguiente zip y lo descomprimimos en drawable-hdpi (Donde todos los iconos).
http://www.mediafire.com/download/hw...nsLollipop.rar
Remplazamos todos los iconos y ya está, ya tenemos una apariencia más lolliponiana
Se compila y listo.
Nos vemos !
PARTE VI. Añadir nombre Wi-Fi
Para añadir el nombre de la wifi a la que estamos conectada debemos descargar los siguientes smali y guardarlo en su respectiva carpeta
http://www.mediafire.com/download/39...w/WifiName.rar
Una vez colocado en cada sitio nos dirijimos a /res/layout/ani_toggle_mda.xml
Buscamos la siguiente línea
Código:
<com.mda.Ltoggle.WifiSettingButton android:textSize="12.0dip" android:gravity="bottom|center" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="20.0px" android:text="@string/ani_quickpanel_wifi_text" />
Y eliminamos la ultima parte (
android:text="@string/ani_quickpanel_wifi_text")
Justo debajo de esa linea, añadimos esta otra:
Código:
<com.fmd.str.getWifiName android:gravity="center" android:layout_gravity="center" android:paddingTop="50.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/TextAppearance.QuickSettings.Toggle" />
Y como siempre, guardamos, compilamos y listo
Saludos :^^


__________________
BetaTester
Actualmente, SlimpLP+

Última edición por MorSerNa Día 21/07/15 a las 15:14:13.
Responder Con Cita
Los siguientes 6 usuarios han agradecido a MorSerNa su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]


  #2  
Viejo 09/07/15, 19:49:47
Array

[xs_avatar]
pako0128 pako0128 no está en línea
Miembro del foro
 
Fecha de registro: nov 2013
Localización: Guadalajara, Jalisco MX.
Mensajes: 344
Modelo de smartphone: Lanix L1000 | Huawei u8951 | Samsung SM-T230
Tu operador: TELCEL
Buen tutorial, esta bien explicado... ahora la pregunta obligada..... No indicas para que Versión de Android es, ni tampoco indicas si es para un móvil en especifico.

Saludos!
Responder Con Cita
  #3  
Viejo 10/07/15, 01:41:27
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
 Cita: Originalmente Escrito por pako0128 Ver Mensaje
Buen tutorial, esta bien explicado... ahora la pregunta obligada..... No indicas para que Versión de Android es, ni tampoco indicas si es para un móvil en especifico.

Saludos!
Al hacer las modificaciones de las ids de smali, creó que es válido para todos los android (root claro).

A la cuestión de la versión, la he probado con jb (cm10.1) y kk ( SlimKat). Es decir funciona con las dos. Obviamente no vas a querer poner la barra de lollipop en 5.0 DD.

Mañana añado al tutorial como poner los símbolos de WiFi batería y la foto de la cuenta de google. Dejó ss
(Click para mostrar/ocultar)



Cualquier cosa aquí estoy. Graaacias

Enviado desde mi Ascend Y300 mediante Tapatalk
__________________
BetaTester
Actualmente, SlimpLP+

Última edición por MorSerNa Día 13/07/15 a las 00:30:13.
Responder Con Cita
  #4  
Viejo 10/07/15, 03:51:22
Array

[xs_avatar]
Donchicomiguel Donchicomiguel no está en línea
Miembro del foro
 
Fecha de registro: feb 2014
Localización: Colombia
Mensajes: 150
Modelo de smartphone: Xperia Z1
Tu operador: Tigo
Excelente tuto, apenas me voy a darle caña, no tengo casi conocimientos sobre la cocina de Android, haber si hay suerte y todo sale bien
Gracias por este gran aporte
Responder Con Cita
  #5  
Viejo 10/07/15, 11:39:29
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
 Cita: Originalmente Escrito por Donchicomiguel Ver Mensaje
Excelente tuto, apenas me voy a darle caña, no tengo casi conocimientos sobre la cocina de Android, haber si hay suerte y todo sale bien
Gracias por este gran aporte
Aquí estoy, cualquier cosa ya sabes.

Graaacias

Enviado desde mi Ascend Y300 mediante Tapatalk
__________________
BetaTester
Actualmente, SlimpLP+
Responder Con Cita
  #6  
Viejo 10/07/15, 12:06:24
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
AÑADIDA LA PARTE 2

Espero que os guste ^^
__________________
BetaTester
Actualmente, SlimpLP+
Responder Con Cita
  #7  
Viejo 10/07/15, 13:54:36
Array

[xs_avatar]
iTheRoxD4N iTheRoxD4N está en línea ahora
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 882
Modelo de smartphone: Samsung Galaxy S23
Tu operador: Simyo
Hola, estoy siguiendo el tutorial y cuando llego a la parte de:

 Cita:
Asi que vamos a ello.
Descargamos el siguiente zip http://www.mediafire.com/download/u9...r.9%282%29.zip
Dentro se encuentra una imagen, la arrastramos hasta res/drawable-hdpi drawable-mdpi o drawable-xxhdpi (Mi carpeta por defecto es res/drawable-hdpi)
En la segunda linea de este .xml buscamos:
Me quedo atascado porque no se que xml editar, en esa carpeta no hay ningun xml.
Responder Con Cita
  #8  
Viejo 10/07/15, 15:10:20
Array

[xs_avatar]
cakehonolulu cakehonolulu no está en línea
Nuevo cocinero
 
Fecha de registro: jun 2015
Mensajes: 357
Tu operador: Movistar

Si empezamos con errores, mal vamos .
Tengo el siguiente error :

D:\AndroidDevelopment>apktool b SystemUI
I: Using Apktool 2.0.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
SystemUI\smali\com\mda\Ltoggle\AutoRotationSetting Button$AutoRotationObserver.sm
ali[44,4] Error for input '.parameter': Invalid directive
SystemUI\smali\com\mda\Ltoggle\AutoRotationSetting Button$AutoRotationObserver.sm
ali[44,15] mismatched input '"selfChange"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file
: com/mda/Ltoggle/AutoRotationSettingButton$AutoRotationObserver.sma li
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuil der.java:71)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder. java:55)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder. java:41)
at brut.androlib.Androlib.buildSourcesSmali(Androlib. java:371)
at brut.androlib.Androlib.buildSources(Androlib.java: 298)
at brut.androlib.Androlib.build(Androlib.java:282)
at brut.androlib.Androlib.build(Androlib.java:256)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)

Es al realizar los 5 primeros pasos ( Desde el principio hasta el momento en que junto el zip con mi carpeta SystemUI )

Si de algo sirve esto, os lo dejo :
Android 4.4.2 AOSP
Responder Con Cita
  #9  
Viejo 10/07/15, 15:15:32
Array

[xs_avatar]
cakehonolulu cakehonolulu no está en línea
Nuevo cocinero
 
Fecha de registro: jun 2015
Mensajes: 357
Tu operador: Movistar

PostData :
He seguido los pasos de manera eficiente y sin ningún error al editar / mover archivos

Última edición por cakehonolulu Día 10/07/15 a las 15:24:38.
Responder Con Cita
  #10  
Viejo 10/07/15, 15:26:04
Array

[xs_avatar]
cakehonolulu cakehonolulu no está en línea
Nuevo cocinero
 
Fecha de registro: jun 2015
Mensajes: 357
Tu operador: Movistar

Sólo un consejo , la siguiente vez que hagas un post, créalo sabiendo cómo funciona todo .
No copies nada de otras páginas ( Root4Ever ) .
¡ Un saludo !
Responder Con Cita
  #11  
Viejo 10/07/15, 17:13:53
Array

[xs_avatar]
pako0128 pako0128 no está en línea
Miembro del foro
 
Fecha de registro: nov 2013
Localización: Guadalajara, Jalisco MX.
Mensajes: 344
Modelo de smartphone: Lanix L1000 | Huawei u8951 | Samsung SM-T230
Tu operador: TELCEL
 Cita: Originalmente Escrito por MorSerNa Ver Mensaje
Al hacer las modificaciones de las ids de smali, creó que es válido para todos los android (root claro).

A la cuestión de la versión, la he probado con jb (cm10.1) y kk ( SlimKat). Es decir funciona con las dos. Obviamente no vas a querer poner la barra de lollipop en 5.0 DD.

Mañana añado al tutorial como poner los símbolos de WiFi batería y la foto de la cuenta de google. Dejó ss


Cualquier cosa aquí estoy. Graaacias

Enviado desde mi Ascend Y300 mediante Tapatalk
Funcionara en Android 4.1.1 Stock de mi Huawei G510?
Responder Con Cita
  #12  
Viejo 10/07/15, 17:30:59
Array

[xs_avatar]
cakehonolulu cakehonolulu no está en línea
Nuevo cocinero
 
Fecha de registro: jun 2015
Mensajes: 357
Tu operador: Movistar

 Cita: Originalmente Escrito por pako0128 Ver Mensaje
Funcionara en Android 4.1.1 Stock de mi Huawei G510?
¡ Pruébalo !
Que crees, que por arte de magia, ¿ Sabremos si funciona en un dispositivo que no tenemos ?
Responder Con Cita
  #13  
Viejo 10/07/15, 19:55:50
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
 Cita: Originalmente Escrito por pako0128 Ver Mensaje
Funcionara en Android 4.1.1 Stock de mi Huawei G510?
 Cita: Originalmente Escrito por JBC_Dev Ver Mensaje
¡ Pruébalo !
Que crees, que por arte de magia, ¿ Sabremos si funciona en un dispositivo que no tenemos ?

Posiblemente tengas que deodexear el .apk, ya que al ser rom stock vendrá deodexeada.
__________________
BetaTester
Actualmente, SlimpLP+
Responder Con Cita
  #14  
Viejo 10/07/15, 20:00:31
Array

[xs_avatar]
cakehonolulu cakehonolulu no está en línea
Nuevo cocinero
 
Fecha de registro: jun 2015
Mensajes: 357
Tu operador: Movistar

 Cita: Originalmente Escrito por MorSerNa Ver Mensaje
Posiblemente tengas que deodexear el .apk, ya que al ser rom stock vendrá deodexeada.
Nada para mi error, ¿ Verdad ?
Responder Con Cita
  #15  
Viejo 10/07/15, 21:01:13
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
 Cita: Originalmente Escrito por TheRoxMine Ver Mensaje
Hola, estoy siguiendo el tutorial y cuando llego a la parte de:



Me quedo atascado porque no se que xml editar, en esa carpeta no hay ningun xml.

Se refiere al .xml que abriste anteriormente ( status_bar_expanded_header)
__________________
BetaTester
Actualmente, SlimpLP+

Última edición por MorSerNa Día 10/07/15 a las 21:05:23.
Responder Con Cita
  #16  
Viejo 10/07/15, 21:02:31
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
 Cita: Originalmente Escrito por JBC_Dev Ver Mensaje
PostData :
He seguido los pasos de manera eficiente y sin ningún error al editar / mover archivos

Al final te ha funcionado?

PD: Puedes pasarme el link, del que se supone que me he copiado (Guia 100% mia)
__________________
BetaTester
Actualmente, SlimpLP+
Responder Con Cita
  #17  
Viejo 10/07/15, 21:10:59
Array

[xs_avatar]
cakehonolulu cakehonolulu no está en línea
Nuevo cocinero
 
Fecha de registro: jun 2015
Mensajes: 357
Tu operador: Movistar

 Cita: Originalmente Escrito por MorSerNa Ver Mensaje
Al final te ha funcionado?

PD: Puedes pasarme el link, del que se supone que me he copiado (Guia 100% mia)
No, no ha funcionado, los smalis, me parece que no son compatibles con Kit Kat .
Aquí el link :
http://foro.root4ever.com/Tema-Tutor...-LOLLIPOP-5938
Si eres tu , lo siento , no pretendía molestar .
En caso contrario, creo que deberías incluir el post original .
De todas formas, me parece bien que lo copies aquí, así, lo ve más gente
Responder Con Cita
  #18  
Viejo 10/07/15, 21:22:15
Array

[xs_avatar]
cakehonolulu cakehonolulu no está en línea
Nuevo cocinero
 
Fecha de registro: jun 2015
Mensajes: 357
Tu operador: Movistar

 Cita: Originalmente Escrito por MorSerNa Ver Mensaje
Al final te ha funcionado?

PD: Puedes pasarme el link, del que se supone que me he copiado (Guia 100% mia)
Olvidando lo anterior, ¿ Que puedo hacer para "Solucionar" este error ?
Responder Con Cita
  #19  
Viejo 10/07/15, 21:31:23
Array

[xs_avatar]
MorSerNa MorSerNa no está en línea
Miembro del foro
 
Fecha de registro: feb 2015
Mensajes: 478
Modelo de smartphone: Huawei G510
Tu operador: Yoigo
 Cita: Originalmente Escrito por JBC_Dev Ver Mensaje
Olvidando lo anterior, ¿ Que puedo hacer para "Solucionar" este error ?

Usa la Version 1.5.2 de ApkTool, la 2.0.0 tambien me daba eror en los smalis.
Y si, es mi post jeje
__________________
BetaTester
Actualmente, SlimpLP+

Última edición por MorSerNa Día 10/07/15 a las 21:37:34.
Responder Con Cita


  #20  
Viejo 10/07/15, 21:38:56
Array

[xs_avatar]
cakehonolulu cakehonolulu no está en línea
Nuevo cocinero
 
Fecha de registro: jun 2015
Mensajes: 357
Tu operador: Movistar

 Cita: Originalmente Escrito por MorSerNa Ver Mensaje
Intenta colocar las ids antes de recompilar, es decir, sigue el tutorial sin compilar.


PEEEERDON: USAR LA VERSION 1.5.2 DE APKTOOL, con esa me da fallo (2.0.0)
Y si, es mi post jeje
Ok, pruebo a realizar el tutorial desde 0 con apktool 1.5.2 y te cuento .
Ah, por cierto, perdón si te he ofendido por lo del post, créeme no era mi intención .
¡ Un saludo !
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > La Cocina de ROMs > Tutoriales



Hora actual: 10:09:36 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /