Avisos

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

Respuesta
 
Herramientas
  #1  
Viejo 20/05/13, 22:45:04
Array

[xs_avatar]
phenomarc phenomarc no está en línea
Cocinero oscuro
· Votos compra/venta: (13)
 
Fecha de registro: dic 2011
Localización: España
Mensajes: 6,318
Modelo de smartphone: LG G7
Tu operador: Simyo
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
__________________

Actualmente: LG G7, LG G6, Lumia 930 y Surface Pro 3
Responder Con Cita
Gracias de parte de:


  #2  
Viejo 20/05/13, 22:51:02
Array

[xs_avatar]
phenomarc phenomarc no está en línea
Cocinero oscuro
· Votos compra/venta: (13)
 
Fecha de registro: dic 2011
Localización: España
Mensajes: 6,318
Modelo de smartphone: LG G7
Tu operador: Simyo
reservado para algo relacionado
__________________

Actualmente: LG G7, LG G6, Lumia 930 y Surface Pro 3
Responder Con Cita
Respuesta

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



Hora actual: 22:42:05 (GMT +1)



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

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