Home Menu

Menu



Avisos

ROMs y desarrollo Samsung Galaxy S II ROMs y desarrollo Samsung Galaxy S II


 
Herramientas
  #1  
Viejo 20/05/13, 22:45:04
Avatar de phenomarc
phenomarc phenomarc no está en línea
Cocinero oscuro
Mensajes: 6,318
Compra y venta: (13)
 
Fecha de registro: dic 2011
Localización: España
Mensajes: 6,318
Modelo de smartphone: LG G7
Versión de ROM: Next OS
Versión de Radio: M250k
Tu operador: Simyo
Mencionado: 170 comentarios
Tagged: 2 hilos
Alterna entre el desbloqueo de Samsung y el de AOSP

Hoy vamos a crear un toggle que nos permitirá cambiar nuestra forma de desbloqueo y elegir entre la de Samsung y la AOSP.

Trabajaremos con 2 archivos:
- android.polic.jar
- SecSettings

Empezamos por el android.policy.jar:
1) Descompilamos el android.policy.jar y buscamos el archivo LockPatternKeyguardView.smali, que se encuentra en smali/com/android/internal/policy/impl.
2) Buscamos el método .method createLockScreen()Landroid/view/View y lo editamos para que quede así, añadiendo las lineas rojas:
Código:
.method createLockScreen()Landroid/view/View;
    .registers 7

    .prologue
    .line 1319
    iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    const-string v1, "aosp_lock"

    const/4 v2, 0x0

    invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

    move-result v0

    if-nez v0, :cond_mirko

    new-instance v0, Lcom/android/internal/policy/impl/sec/CircleLockScreen;

    iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;

    iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mConfiguration:Landroid/content/res/Configuration;

    iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;

    iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;

    iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;

    invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/sec/CircleLockScreen;-><init>(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V

    goto :goto_ddd
    
    .line 1325
    :cond_mirko
    new-instance v0, Lcom/android/internal/policy/impl/LockScreen;

    iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;

    iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mConfiguration:Landroid/content/res/Configuration;

    iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;

    iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;

    iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;

    invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/LockScreen;-><init>(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V

    .local v0, lockView:Landroid/view/View;
    :goto_ddd
    invoke-direct {p0, v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->initializeTransportControlView(Landroid/view/View;)V
Ya hemos acabado con la edición del android.policy.jar. Recompilamos y lo pasamos.

Seguimos con el SecSettings. Ahora lo que haremos será añadir el toggle en los ajustes de lockscreen.

3) Descompilamos el SecSettings.apk y buscamos el smali LockscreenSettings.smali, localizado en smali/com/android/settings.
4) Una vez abierto el archivo, vamos a hacer varias sustituciones, o quitar y añadir, como lo querais ver. Añadimos lo rojo, borramos lo lila:
Código:
.field private mAospLock:Landroid/preference/CheckBoxPreference;

.field private mCameraShortCut:Landroid/preference/SwitchPreferenceScreen;

.field private mClock:Landroid/preference/CheckBoxPreference;

.field private mDualclock:Landroid/preference/SwitchPreferenceScreen;

.field private mHelpText:Landroid/preference/CheckBoxPreference;

.field private mInformationTicker:Landroid/preference/SwitchPreferenceScreen;

.field private mInkEffect:Landroid/preference/PreferenceScreen;

.field mInkEffectSummary:[I

.field private mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;

.field private mLockScreenShortcut:Landroid/preference/SwitchPreferenceScreen;

.field private mMotionDialog:Landroid/app/AlertDialog;

.field private mRippleEffect:Landroid/preference/CheckBoxPreference;

.field private mSayCommand:Landroid/preference/CheckBoxPreference;
A partir de aquí, sugiero buscar todos los dos "mSayCommand" y sustituirlos por "mAospLock", y todos los "wake_up_lock_screen" sustituirlos por "aosp_lock" (solo hay 2).
Ya hemos acabado con el smali.
5) Abrimos el lockscreen_Settings.xml, localizado en res/xml y añadimos lo siguiente donde queramos que se nos vea:
Código:
<CheckBoxPreference android:title="@string/your_string" android:key="say_your_wakeup" android:summary="@string/your_summary_string" />
Si quereis podeis cambiar "your_string" y "your_summary_string" por el texto que querais, siempre y cuando concuerde con lo añadido en el paso 6.
Además, buscamos y borramos lo siguiente:
Código:
<CheckBoxPreference android:title="@string/samsung_unlock_option_say_your_wakeup_command_to_unlock_screen" android:key="say_your_wakeup" android:summary="@string/wakeup_in_lockscreen_summary" />
6)Abrimos el archivo strings.xml, en res/values y añadimos al final lo siguiente:
Código:
<string name="your_string">Título</string>
<string name="your_summary_string">Descripción</string>
En "Título" y "Descripción" poneed lo que querais.
Hemos acabado. Compilamos el SecSettings y los pasamos a nuestro S2.

A disfrutar!


Agradecimientos
Mirko ddd
Responder Con Cita
Gracias de parte de:


  #2  
Viejo 20/05/13, 22:51:02
Avatar de phenomarc
phenomarc phenomarc no está en línea
Cocinero oscuro
Mensajes: 6,318
Compra y venta: (13)
 
Fecha de registro: dic 2011
Localización: España
Mensajes: 6,318
Modelo de smartphone: LG G7
Versión de ROM: Next OS
Versión de Radio: M250k
Tu operador: Simyo
Mencionado: 170 comentarios
Tagged: 2 hilos
reservado para algo relacionado
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Foros Samsung > Otros smartphones de Samsung antiguos > Samsung Galaxy S II > ROMs y desarrollo Samsung Galaxy S II

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 20:52:42 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007