Related
when you do this hack, you can sign a system applications, with fully working.
Just for Samsung Gingerbread Roms
1- *BakSmali the " Services.jar "
Located into /system/framework/ folder
Click to expand...
Click to collapse
2- Open the PackageManagerService.smali file via notepad++
3- Find this method ,
Code:
[B].method checkSignaturesLP([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I[/B]
every method will start with .method and will ends with .end method texts.
Click to expand...
Click to collapse
4- Replace the current method with this method,
Code:
.method checkSignaturesLP([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.registers 10
.parameter "s1"
.parameter "s2"
.prologue
.line 1927
const/4 v6, 0x0
return v6
if-nez p1, :cond_a
.line 1928
if-nez p2, :cond_8
const/4 v6, 0x1
.line 1947
:goto_7
return v6
.line 1928
:cond_8
const/4 v6, -0x1
goto :goto_7
.line 1932
:cond_a
if-nez p2, :cond_e
.line 1933
const/4 v6, -0x2
goto :goto_7
.line 1935
:cond_e
new-instance v3, Ljava/util/HashSet;
invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
.line 1936
.local v3, set1:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;"
move-object v0, p1
.local v0, arr$:[Landroid/content/pm/Signature;
array-length v2, v0
.local v2, len$:I
const/4 v1, 0x0
.local v1, i$:I
:goto_16
if-ge v1, v2, :cond_20
aget-object v5, v0, v1
.line 1937
.local v5, sig:Landroid/content/pm/Signature;
invoke-virtual {v3, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
.line 1936
add-int/lit8 v1, v1, 0x1
goto :goto_16
.line 1939
.end local v5 #sig:Landroid/content/pm/Signature;
:cond_20
new-instance v4, Ljava/util/HashSet;
invoke-direct {v4}, Ljava/util/HashSet;-><init>()V
.line 1940
.local v4, set2:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;"
move-object v0, p2
array-length v2, v0
const/4 v1, 0x0
:goto_28
if-ge v1, v2, :cond_32
aget-object v5, v0, v1
.line 1941
.restart local v5 #sig:Landroid/content/pm/Signature;
invoke-virtual {v4, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
.line 1940
add-int/lit8 v1, v1, 0x1
goto :goto_28
.line 1944
.end local v5 #sig:Landroid/content/pm/Signature;
:cond_32
invoke-virtual {v3, v4}, Ljava/util/HashSet;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_3a
.line 1945
const/4 v6, 0x0
goto :goto_7
.line 1947
:cond_3a
const/4 v6, -0x3
goto :goto_7
.end method
5- Save the PackageManagerService.smali file.
6- do **Smali for the folder , and copy the modded services.jar file into your phone.
----------------------------
* Baksmali : decompiling the dex files
** Smali : recompiling the dex files
------------------------------
External Links:
Original thread
# 2
Click to expand...
Click to collapse
----------------------------------
Credits:
Code:
LOTR TEAM
Hello guys..
I want to share the Vertical Screen Off I mod for my I9505 (XXUBMF8) which you can find on most CM roms.
This should be able to apply on all other firmwares on the I9505 (not tested yet).
but first, you need:
1. smali/baksmali app/tools
2. Some knowledge about compiling and decompiling
3. 7zip/winrar/winzip
4. notepad++
Let's get started...
1. Decompile services.jar
go to com\android\server\power\ElectronBeam.smali using notepad++.
2. Find:
Code:
[COLOR="SeaGreen"].method private drawHStretch(F)V[/COLOR]
Inspect the following the codes and make edits:
Code:
[B].registers 9
.parameter "stretch"
.prologue
const v6, 0x8074
const/4 v5, 0x0
const/high16 v4, 0x3f80
.line 321
const/high16 v1, 0x4100
invoke-static {p1, v1}, Lcom/android/server/power/ElectronBeam;->scurve(FF)F
move-result v0
.line 326
.local v0, ag:F
cmpg-float v1, p1, v4
if-gez v1, :cond_37
.line 328
const/4 v1, 0x2
const/16 v2, 0x1406
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
invoke-static {v1, v2, v5, v3}, Landroid/opengl/GLES10;->glVertexPointer(IIILjava/nio/Buffer;)V
.line 329
invoke-static {v6}, Landroid/opengl/GLES10;->glEnableClientState(I)V
.line 332
iget-object v1, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
iget v2, p0, Lcom/android/server/power/ElectronBeam;->mDisplayWidth:I
int-to-float v2, v2
iget v3, p0, Lcom/android/server/power/ElectronBeam;->mDisplayHeight:I
int-to-float v3, v3
invoke-static {v1, v2, v3, v0}, Lcom/android/server/power/ElectronBeam;->setHStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.line 333
sub-float v1, v4, v0
sub-float v2, v4, v0
sub-float v3, v4, v0
invoke-static {v1, v2, v3, v4}, Landroid/opengl/GLES10;->glColor4f(FFFF)V
.line 334
const/4 v1, 0x6
const/4 v2, 0x4
invoke-static {v1, v5, v2}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 337
invoke-static {v6}, Landroid/opengl/GLES10;->glDisableClientState(I)V
.line 339
:cond_37
return-void
.end method[/B]
3. Next, find:
Code:
[COLOR="SeaGreen"].method private drawVStretch(F)V[/COLOR]
Inspect the following codes and make edits:
Code:
[B].registers 13
.parameter "stretch"
.prologue
const/4 v10, 0x6
const/4 v9, 0x4
const/16 v8, 0xde1
const/4 v7, 0x1
const/4 v6, 0x0
.line 249
const/high16 v3, 0x40f0
invoke-static {p1, v3}, Lcom/android/server/power/ElectronBeam;->scurve(FF)F
move-result v2
.line 250
.local v2, ar:F
const/high16 v3, 0x4100
invoke-static {p1, v3}, Lcom/android/server/power/ElectronBeam;->scurve(FF)F
move-result v1
.line 251
.local v1, ag:F
const/high16 v3, 0x4108
invoke-static {p1, v3}, Lcom/android/server/power/ElectronBeam;->scurve(FF)F
move-result v0
.line 258
.local v0, ab:F
invoke-static {v7, v7}, Landroid/opengl/GLES10;->glBlendFunc(II)V
.line 259
const/16 v3, 0xbe2
invoke-static {v3}, Landroid/opengl/GLES10;->glEnable(I)V
.line 262
const/4 v3, 0x2
const/16 v4, 0x1406
iget-object v5, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
invoke-static {v3, v4, v6, v5}, Landroid/opengl/GLES10;->glVertexPointer(IIILjava/nio/Buffer;)V
.line 263
const v3, 0x8074
invoke-static {v3}, Landroid/opengl/GLES10;->glEnableClientState(I)V
.line 266
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mTexNames:[I
aget v3, v3, v6
invoke-static {v8, v3}, Landroid/opengl/GLES10;->glBindTexture(II)V
.line 267
const/16 v4, 0x2300
const/16 v5, 0x2200
iget v3, p0, Lcom/android/server/power/ElectronBeam;->mMode:I
if-nez v3, :cond_c8
const/16 v3, 0x2100
:goto_3f
invoke-static {v4, v5, v3}, Landroid/opengl/GLES10;->glTexEnvx(III)V
.line 269
const/16 v3, 0x2800
const/16 v4, 0x2601
invoke-static {v8, v3, v4}, Landroid/opengl/GLES10;->glTexParameterx(III)V
.line 271
const/16 v3, 0x2801
const/16 v4, 0x2601
invoke-static {v8, v3, v4}, Landroid/opengl/GLES10;->glTexParameterx(III)V
.line 273
const/16 v3, 0x2802
const v4, 0x812f
invoke-static {v8, v3, v4}, Landroid/opengl/GLES10;->glTexParameterx(III)V
.line 275
const/16 v3, 0x2803
const v4, 0x812f
invoke-static {v8, v3, v4}, Landroid/opengl/GLES10;->glTexParameterx(III)V
.line 277
invoke-static {v8}, Landroid/opengl/GLES10;->glEnable(I)V
.line 278
const/4 v3, 0x2
const/16 v4, 0x1406
iget-object v5, p0, Lcom/android/server/power/ElectronBeam;->mTexCoordBuffer:Ljava/nio/FloatBuffer;
invoke-static {v3, v4, v6, v5}, Landroid/opengl/GLES10;->glTexCoordPointer(IIILjava/nio/Buffer;)V
.line 279
const v3, 0x8078
invoke-static {v3}, Landroid/opengl/GLES10;->glEnableClientState(I)V
.line 282
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
iget v4, p0, Lcom/android/server/power/ElectronBeam;->mDisplayWidth:I
int-to-float v4, v4
iget v5, p0, Lcom/android/server/power/ElectronBeam;->mDisplayHeight:I
int-to-float v5, v5
invoke-static {v3, v4, v5, v2}, Lcom/android/server/power/ElectronBeam;->setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.line 283
invoke-static {v7, v6, v6, v7}, Landroid/opengl/GLES10;->glColorMask(ZZZZ)V
.line 284
invoke-static {v10, v6, v9}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 287
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
iget v4, p0, Lcom/android/server/power/ElectronBeam;->mDisplayWidth:I
int-to-float v4, v4
iget v5, p0, Lcom/android/server/power/ElectronBeam;->mDisplayHeight:I
int-to-float v5, v5
invoke-static {v3, v4, v5, v1}, Lcom/android/server/power/ElectronBeam;->setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.line 288
invoke-static {v6, v7, v6, v7}, Landroid/opengl/GLES10;->glColorMask(ZZZZ)V
.line 289
invoke-static {v10, v6, v9}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 292
iget-object v3, p0, Lcom/android/server/power/ElectronBeam;->mVertexBuffer:Ljava/nio/FloatBuffer;
iget v4, p0, Lcom/android/server/power/ElectronBeam;->mDisplayWidth:I
int-to-float v4, v4
iget v5, p0, Lcom/android/server/power/ElectronBeam;->mDisplayHeight:I
int-to-float v5, v5
invoke-static {v3, v4, v5, v0}, Lcom/android/server/power/ElectronBeam;->setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V
.line 293
invoke-static {v6, v6, v7, v7}, Landroid/opengl/GLES10;->glColorMask(ZZZZ)V
.line 294
invoke-static {v10, v6, v9}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 297
invoke-static {v8}, Landroid/opengl/GLES10;->glDisable(I)V
.line 298
const v3, 0x8078
invoke-static {v3}, Landroid/opengl/GLES10;->glDisableClientState(I)V
.line 299
invoke-static {v7, v7, v7, v7}, Landroid/opengl/GLES10;->glColorMask(ZZZZ)V
.line 302
iget v3, p0, Lcom/android/server/power/ElectronBeam;->mMode:I
if-ne v3, v7, :cond_bc
.line 303
const/high16 v3, 0x3f80
invoke-static {v1, v1, v1, v3}, Landroid/opengl/GLES10;->glColor4f(FFFF)V
.line 304
invoke-static {v10, v6, v9}, Landroid/opengl/GLES10;->glDrawArrays(III)V
.line 308
:cond_bc
const v3, 0x8074
invoke-static {v3}, Landroid/opengl/GLES10;->glDisableClientState(I)V
.line 309
const/16 v3, 0xbe2
invoke-static {v3}, Landroid/opengl/GLES10;->glDisable(I)V
.line 310
return-void
.line 267
:cond_c8
const/16 v3, 0x1e01
goto/16 :goto_3f
.end method[/B]
3. Find:
Code:
[COLOR="SeaGreen"].method private static setHStretchQuad(Ljava/nio/FloatBuffer;FFF)V[/COLOR]
Inspect and make edits:
Code:
[B].registers 11
.parameter "vtx"
.parameter "dw"
.parameter "dh"
.parameter "a"
.prologue
const/high16 v6, 0x3f80
const/high16 v5, 0x3f00
.line 350
const/high16 v0, 0x3f80
.line 351
.local v1, w:F
mul-float v4, p1, p3
add-float v0, p1, v4
.line 352
.local v0, h:F
sub-float v4, p1, v6
mul-float v2, v4, v5
.line 353
.local v2, x:F
sub-float v4, p2, v0
mul-float v3, v4, v5
.line 354
.local v3, y:F
invoke-static {p0, v2, v3, v6, v0}, Lcom/android/server/power/ElectronBeam;->setQuad(Ljava/nio/FloatBuffer;FFFF)V
.line 355
return-void
.end method[/B]
4. Lastly, find:
Code:
[COLOR="SeaGreen"]method private static setVStretchQuad(Ljava/nio/FloatBuffer;FFF)V[/COLOR]
Inspect and make edits:
Code:
[B].registers 10
.parameter "vtx"
.parameter "dw"
.parameter "dh"
.parameter "a"
.prologue
const/high16 v5, 0x3f00
.line 342
mul-float v4, p1, p3
sub-float v1, p1, v4
.line 343
.local v1, w:F
mul-float v4, p2, p3
add-float v0, p2, v4
.line 344
.local v0, h:F
sub-float v4, p1, v1
mul-float v2, v4, v5
.line 345
.local v2, x:F
sub-float v4, p2, v0
mul-float v3, v4, v5
.line 346
.local v3, y:F
invoke-static {p0, v2, v3, v1, v0}, Lcom/android/server/power/ElectronBeam;->setQuad(Ljava/nio/FloatBuffer;FFFF)V
.line 347
return-void
.end method[/B]
Thats it.
Compile back the services.jar and flash it.
This has been tested on my device.
For Dev cookers, you are allowed to use this mod in your project. Give proper credits and thanks.
**Special thanks to Adi Aisiteru Reborn for the cm10.1 informative guide.
Press the thanks button if this mod has made your day.
Good day here I am again with another guide. Since many galaxy y user ask me and told me to teach them how I manage to made the two lockscreen at LenoxEvolutionV2, I made a guide so that they will not PM me every now and then.
Screen shot:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Disclaimer: I and the very infamous XDA Developers nor the users guide you through this guide has take no responsibility in your phone to be damaged. Please take a nandroidbackup if you arent sure of what you are doin and incase your mod doesnt work.
Click to expand...
Click to collapse
Requirements:
Logic and Algorithms
Notepad ++
Apktool
Download this
The LidroidParts
and lidroid-res.apk
Click to expand...
Click to collapse
What will be edited:
android.policy.jar
framework.jar
lidroid-res.apk
Click to expand...
Click to collapse
Note: As I assume that you already done this guide or this guide so lets start, if you dont then do it first.
Click to expand...
Click to collapse
Instruction:
After finishing the guide of pratyush.creed, we will start it. Backup first! We will be modyfing framework.
A. Framework
1. Decompile your framework.jar.
2.Go to com/android/internal/widget/ and paste the file "LockPatternUtils$NotiMode.smali" from the lockscreen_epic_fascinate_lidroidlock.zip I gave.
3. And open the file "LockPatternUtils.smali" from that folder. and modify it
3.a. Below .source "LockPatternUtils.java" add two spaces and from there add this,
Code:
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/internal/widget/LockPatternUtils$NotiMode;
}
.end annotation
and it will be like this
Code:
.class public Lcom/android/internal/widget/LockPatternUtils;
.super Ljava/lang/Object;
.source "LockPatternUtils.java"
[COLOR="Red"]# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/internal/widget/LockPatternUtils$NotiMode;
}
.end annotation[/COLOR]
# static fields
.field public static final FAILED_ATTEMPTS_BEFORE_RESET:I = 0x14
.field public static final FAILED_ATTEMPTS_BEFORE_TIMEOUT:I = 0x5
.field public static final FAILED_ATTEMPT_COUNTDOWN_INTERVAL_MS:J = 0x3e8L
3.b. Now below the "# virtual method"
add these
Code:
.method public getIntentMissedEvent(Lcom/android/internal/widget/LockPatternUtils$NotiMode;)Landroid/app/PendingIntent;
.locals 7
.parameter "mode"
.prologue
const/4 v6, 0x0
.line 1304
const/4 v0, -0x1
.line 1305
.local v0, index:I
const/4 v3, 0x1
.line 1306
.local v3, reqNum:I
const-string v2, "com.android.phone"
.line 1309
.local v2, pkg:Ljava/lang/String;
iget-object v4, p0, Lcom/android/internal/widget/LockPatternUtils;->mContext:Landroid/content/Context;
const-string v5, "notification"
invoke-virtual {v4, v5}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/NotificationManager;
.line 1312
.local v1, mNM:Landroid/app/NotificationManager;
sget-object v4, Lcom/android/internal/widget/LockPatternUtils$NotiMode;->MissedCall:Lcom/android/internal/widget/LockPatternUtils$NotiMode;
if-ne p1, v4, :cond_0
const-string v2, "com.android.phone"
.line 1317
:goto_0
invoke-virtual {v1, v2, v3}, Landroid/app/NotificationManager;->getEventIndexWithReq(Ljava/lang/String;I)I
move-result v0
.line 1319
const/4 v4, -0x1
if-ne v0, v4, :cond_3
move-object v4, v6
.line 1320
:goto_1
return-object v4
.line 1313
:cond_0
sget-object v4, Lcom/android/internal/widget/LockPatternUtils$NotiMode;->MissedMsg:Lcom/android/internal/widget/LockPatternUtils$NotiMode;
if-ne p1, v4, :cond_1
const-string v2, "com.android.mms"
const/16 v3, 0x7b
goto :goto_0
.line 1314
:cond_1
sget-object v4, Lcom/android/internal/widget/LockPatternUtils$NotiMode;->MissedEMail:Lcom/android/internal/widget/LockPatternUtils$NotiMode;
if-ne p1, v4, :cond_2
const-string v2, "com.android.email"
goto :goto_0
:cond_2
move-object v4, v6
.line 1315
goto :goto_1
.line 1320
:cond_3
invoke-virtual {v1, v0}, Landroid/app/NotificationManager;->getEventIntent(I)Landroid/app/PendingIntent;
move-result-object v4
goto :goto_1
.end method
.method public getNumMissedEvent(Lcom/android/internal/widget/LockPatternUtils$NotiMode;)I
.locals 8
.parameter "mode"
.prologue
const/4 v7, 0x0
.line 1330
const/4 v1, -0x1
.line 1331
.local v1, index:I
const/4 v4, 0x1
.line 1332
.local v4, reqNum:I
const/4 v0, 0x0
.line 1333
.local v0, count:I
const-string v3, "com.android.phone"
.line 1335
.local v3, pkg:Ljava/lang/String;
iget-object v5, p0, Lcom/android/internal/widget/LockPatternUtils;->mContext:Landroid/content/Context;
const-string v6, "notification"
invoke-virtual {v5, v6}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/app/NotificationManager;
.line 1336
.local v2, mNM:Landroid/app/NotificationManager;
if-nez v2, :cond_0
move v5, v7
.line 1353
:goto_0
return v5
.line 1340
:cond_0
sget-object v5, Lcom/android/internal/widget/LockPatternUtils$NotiMode;->MissedCall:Lcom/android/internal/widget/LockPatternUtils$NotiMode;
if-ne p1, v5, :cond_1
const-string v3, "com.android.phone"
.line 1345
:goto_1
invoke-virtual {v2, v3, v4}, Landroid/app/NotificationManager;->getEventIndexWithReq(Ljava/lang/String;I)I
move-result v1
.line 1349
const/4 v5, -0x1
if-ne v1, v5, :cond_4
move v5, v7
goto :goto_0
.line 1341
:cond_1
sget-object v5, Lcom/android/internal/widget/LockPatternUtils$NotiMode;->MissedMsg:Lcom/android/internal/widget/LockPatternUtils$NotiMode;
if-ne p1, v5, :cond_2
const-string v3, "com.android.mms"
const/16 v4, 0x7b
goto :goto_1
.line 1342
:cond_2
sget-object v5, Lcom/android/internal/widget/LockPatternUtils$NotiMode;->MissedEMail:Lcom/android/internal/widget/LockPatternUtils$NotiMode;
if-ne p1, v5, :cond_3
const-string v3, "com.android.email"
goto :goto_1
:cond_3
move v5, v7
.line 1343
goto :goto_0
.line 1351
:cond_4
invoke-virtual {v2, v1}, Landroid/app/NotificationManager;->getEventCount(I)I
move-result v0
move v5, v0
.line 1353
goto :goto_0
.end method
4. Save it and recopile your framework.jar
B. Android.policy.jar
1. Decompile your android.policy.jar
2. Go to this folder "com/android/internal/policy/impl/" of yours and copy the files from my lockscreen_epic_fascinate_lidr…idlock.zip at the folder android.policy and paste it in.
3. After pasting it, open your "LockPatternKeyguardView.smali" inside "com/android/internal/policy/impl/"
and find these method
Code:
.method createLockScreen()Landroid/view/View;
Replace the method to the method i modified
Code:
.method createLockScreen()Landroid/view/View;
.locals 6
.prologue
.line 890
const/4 v2, 0x0
const/4 v0, 0x0
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "lockscreen_style_pref"
invoke-static {v3, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
const/4 v2, 0x1
if-eq v2, v0, :cond_3
const/4 v2, 0x2
if-eq v2, v0, :cond_3
const/4 v2, 0x3
if-eq v2, v0, :cond_3
const/4 v2, 0x4
if-eq v2, v0, :cond_3
const/4 v2, 0x5
if-eq v2, v0, :cond_3
if-eqz v0, :cond_0
.line 869
const/4 v2, 0x0
const/4 v0, 0x0
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "lockscreen_style_pref"
invoke-static {v3, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
const/4 v2, 0x6
if-eq v2, v0, :cond_2
const/4 v2, 0x7
if-eq v2, v0, :cond_1
const v2, 0x8
if-eq v2, v0, :cond_6
const v2, 0x9
if-eq v2, v0, :cond_7
:cond_0
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
goto :goto_0
:cond_1
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
goto :goto_0
:cond_2
iget-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->GLASSLOCK_MODE:Z
if-eqz v0, :cond_4
.line 891
new-instance v0, Lcom/android/internal/policy/impl/GlassLockScreen;
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/GlassLockScreen;-><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
.line 905
:goto_0
return-object v0
:cond_3
new-instance v0, Lcom/android/internal/policy/impl/CyanogenLockScreen;
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/CyanogenLockScreen;-><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_0
.line 897
:cond_4
iget-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->CIRCLELOCK_MODE:Z
if-eqz v0, :cond_5
.line 898
new-instance v0, Lcom/android/internal/policy/impl/GlassLockScreen;
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/GlassLockScreen;-><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_0
.line 905
:cond_5
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
goto :goto_0
:cond_6
new-instance v0, Lcom/android/internal/policy/impl/EpicLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/policy/impl/EpicLockScreen;-><init>(Landroid/content/Context;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
goto :goto_0
:cond_7
new-instance v0, Lcom/android/internal/policy/impl/FascinateLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/policy/impl/FascinateLockScreen;-><init>(Landroid/content/Context;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
goto :goto_0
.end method
4. Save your modified LockPaternKeyguardView.smali and recompile it
C. Flashing
at the app folder add thee following
-Lidroid Parts
at the lidroid folder add thee following
-lidroid-res.apk
-framework.jar
-android.policy.jar
Happy modding hope it helps you. )
Credits to:
[email protected]
[email protected]
[email protected]
Special thanks to:
LenoxDevs
GTroops
SGY.ph
Greets,
[email protected]
NIce Thread Sir
i will try asap :good::laugh:
Oh dude! This is awesome! I was looking for this! Will try a.s.a.p!
You rock!
:victory:
Jersey. said:
Oh dude! This is awesome! I was looking for this! Will try a.s.a.p!
You rock!
:victory:
Click to expand...
Click to collapse
I hope you like it sir.
Sent from my GT-S6102 using Tapatalk 2
thanks sir long wait hehe :laugh:
Add Stock Samsung Lock (Swipe Lock to Unlock)
Hello, Bored from that AOSP slidng tab lockscreen?
Follow this to have the stock samsung swipe to unlock phone.
1. Open your LockPatternKeyguardView.smali
2. Find method creatLockScreen
3. Replace it with this
Code:
.method createLockScreen()Landroid/view/View;
.locals 6
.prologue
.line 868
const/4 v2, 0x0
const/4 v0, 0x0
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "lockscreen_style_pref"
invoke-static {v3, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
const/4 v2, 0x1
if-eq v2, v0, :cond_2
const/4 v2, 0x2
if-eq v2, v0, :cond_2
const/4 v2, 0x3
if-eq v2, v0, :cond_2
const/4 v2, 0x4
if-eq v2, v0, :cond_2
const/4 v2, 0x5
if-eq v2, v0, :cond_2
if-eqz v0, :cond_0
.line 869
const/4 v2, 0x0
const/4 v0, 0x0
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "lockscreen_style_pref"
invoke-static {v3, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
const/4 v2, 0x6
if-eq v2, v0, :cond_1
const/4 v2, 0x7
if-eq v2, v0, :cond_3
const v2, 0x8
if-eq v2, v0, :cond_4
:cond_0
new-instance v0, Lcom/android/internal/policy/impl/GlassLockScreen;
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/GlassLockScreen;-><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_0
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
goto :goto_0
:cond_1
new-instance v0, Lcom/android/internal/policy/impl/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/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_0
return-object v0
:cond_2
new-instance v0, Lcom/android/internal/policy/impl/CyanogenLockScreen;
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/CyanogenLockScreen;-><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_0
:cond_3
new-instance v0, Lcom/android/internal/policy/impl/EpicLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/policy/impl/EpicLockScreen;-><init>(Landroid/content/Context;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
goto :goto_0
:cond_4
new-instance v0, Lcom/android/internal/policy/impl/FascinateLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/policy/impl/FascinateLockScreen;-><init>(Landroid/content/Context;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
goto :goto_0
.end method
At the Lidroid Parts, how to implement it in your very own Lidroid Settings
Since the APK i gave need to resigned all your apps and frameworks or even the whole rom since you dont want to disable signature check, follow this.
1.Decompile the apk that has your lidroid settings
2. Go to res/values/arrays.xml
3. Modify the arrays by adding an item below it to register the choices. Both the entry and value
4. Save and recompile
5. Push or flash
NOTE. Post your problem here not on my facebook account. I dont usually entertain PM in facebook. Sorry.
Click to expand...
Click to collapse
coolest dev :thumbup: haha thanks for sharing master
Sent from my GT-S5360 using xda premium
Good guide sir
:good:
Awesome GUIDE sir ,
thnk's very very much :*
have bootloop with ace-i, no mistakes with comp/decomp:crying:
misha1996 said:
have bootloop with ace-i, no mistakes with comp/decomp:crying:
Click to expand...
Click to collapse
i had use an ace i last time too and i think it is similar. Can you take a proper logcat or one thng,the guide cant cause you bootloop if the previous guide is working.
Sent from my GT-S5360 using Tapatalk 2
PineappleOwl said:
i had use an ace i last time too and i think it is similar. Can you take a proper logcat or one thng,the guide cant cause you bootloop if the previous guide is working.
Sent from my GT-S5360 using Tapatalk 2
Click to expand...
Click to collapse
I think, i find my mistake
UPDATE:
yes; it work. Phone work. But lidroid-parts not work, not as apk, not put to system/app with permissions.
Can i mod my lidroid-parts? If yes, how?:thumbup:
misha1996 said:
I think, i find my mistake
UPDATE:
yes; it work. Phone work. But lidroid-parts not work, not as apk, not put to system/app with permissions.
Can i mod my lidroid-parts? If yes, how?:thumbup:
Click to expand...
Click to collapse
you can mod it. just add an array entries and the likes. sure it will work.
PineappleOwl said:
I hope you like it sir.
Sent from my GT-S6102 using Tapatalk 2
Click to expand...
Click to collapse
Yes I do like it, it's fully working after some adjustments, looks great and I love it :victory:
Too bad I can't hit that Thanks button more than once.
Jersey. said:
Yes I do like it, it's fully working after some adjustments, looks great and I love it :victory:
Too bad I can't hit that Thanks button more than once.
Click to expand...
Click to collapse
+1
Отправлено с моего GT-S5830i через Tapatalk
Hii , I just implemented this in my device ( Galaxy Fit ) and it worked well except for which I had issues selecting the stock lockscreen ... Observing the code :cond_2 has been declared as the stock lockscreen ryt
Code:
:cond_2
iget-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->GLASSLOCK_MODE:Z
if-eqz v0, :cond_4
.line 891
new-instance v0, Lcom/android/internal/policy/impl/GlassLockScreen;
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/GlassLockScreen;-><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
.line 905
:goto_0
return-object v0
Y do we use this after :cond_2
Code:
iget-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->GLASSLOCK_MODE:Z
if-eqz v0, :cond_4
instead of directly calling like this
Code:
:cond_2
new-instance v0, Lcom/android/internal/policy/impl/GlassLockScreen;
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/GlassLockScreen;-><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
.line 905
:goto_0
return-object v0
wilfredcool007 said:
Hii , I just implemented this in my device ( Galaxy Fit ) and it worked well except for which I had issues selecting the stock lockscreen ... Observing the code :cond_2 has been declared as the stock lockscreen ryt
Code:
:cond_2
iget-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->GLASSLOCK_MODE:Z
if-eqz v0, :cond_4
.line 891
new-instance v0, Lcom/android/internal/policy/impl/GlassLockScreen;
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/GlassLockScreen;-><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
.line 905
:goto_0
return-object v0
Y do we use this after :cond_2
Code:
iget-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->GLASSLOCK_MODE:Z
if-eqz v0, :cond_4
instead of directly calling like this
Code:
:cond_2
new-instance v0, Lcom/android/internal/policy/impl/GlassLockScreen;
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/GlassLockScreen;-><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
.line 905
:goto_0
return-object v0
Click to expand...
Click to collapse
Thats the stock for galaxy y sir. hehe. what i did was just add the CyanogenLockScreen at the bottom of method. and make it as is. also that time i was rushing in modding and i dont want to have a testing but a full shot. hehe. so i take two time to think what will be the best . and what i did is the guide.I just copy my method / Hehehe.
PineappleOwl said:
Thats the stock for galaxy y sir. hehe. what i did was just add the CyanogenLockScreen at the bottom of method. and make it as is. also that time i was rushing in modding and i dont want to have a testing but a full shot. hehe. so i take two time to think what will be the best . and what i did is the guide.I just copy my method / Hehehe.
Click to expand...
Click to collapse
Figured out a possible solution, Use this method
Code:
.method createLockScreen()Landroid/view/View;
.registers 7
.prologue
.line 890
const/4 v2, 0x0
const/4 v0, 0x0
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "lockscreen_style_pref"
invoke-static {v3, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
const/4 v2, 0x1
if-eq v2, v0, :cond_6d
const/4 v2, 0x2
if-eq v2, v0, :cond_6d
const/4 v2, 0x3
if-eq v2, v0, :cond_6d
const/4 v2, 0x4
if-eq v2, v0, :cond_6d
const/4 v2, 0x5
if-eq v2, v0, :cond_6d
if-eqz v0, :cond_3d
.line 869
const/4 v2, 0x0
const/4 v0, 0x0
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "lockscreen_style_pref"
invoke-static {v3, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
const/4 v2, 0x6
if-eq v2, v0, :cond_5d
const/4 v2, 0x7
if-eq v2, v0, :cond_4d
const v2, 0x8
if-eq v2, v0, :cond_7d
const v2, 0x9
if-eq v2, v0, :cond_8b
:cond_3d
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
goto :goto_6c
:cond_4d
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
goto :goto_6c
:cond_5d
new-instance v0, Lcom/android/internal/policy/impl/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/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_6c
return-object v0
:cond_6d
new-instance v0, Lcom/android/internal/policy/impl/CyanogenLockScreen;
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/CyanogenLockScreen;-><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_6c
:cond_7d
new-instance v0, Lcom/android/internal/policy/impl/EpicLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/policy/impl/EpicLockScreen;-><init>(Landroid/content/Context;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
goto :goto_6c
:cond_8b
new-instance v0, Lcom/android/internal/policy/impl/FascinateLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/policy/impl/FascinateLockScreen;-><init>(Landroid/content/Context;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
goto :goto_6c
.end method
U have included GLASS_LOCKSCREEN in place of stock
wilfredcool007 said:
Figured out a possible solution, Use this method
Code:
.method createLockScreen()Landroid/view/View;
.registers 7
.prologue
.line 890
const/4 v2, 0x0
const/4 v0, 0x0
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "lockscreen_style_pref"
invoke-static {v3, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
const/4 v2, 0x1
if-eq v2, v0, :cond_6d
const/4 v2, 0x2
if-eq v2, v0, :cond_6d
const/4 v2, 0x3
if-eq v2, v0, :cond_6d
const/4 v2, 0x4
if-eq v2, v0, :cond_6d
const/4 v2, 0x5
if-eq v2, v0, :cond_6d
if-eqz v0, :cond_3d
.line 869
const/4 v2, 0x0
const/4 v0, 0x0
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "lockscreen_style_pref"
invoke-static {v3, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
const/4 v2, 0x6
if-eq v2, v0, :cond_5d
const/4 v2, 0x7
if-eq v2, v0, :cond_4d
const v2, 0x8
if-eq v2, v0, :cond_7d
const v2, 0x9
if-eq v2, v0, :cond_8b
:cond_3d
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
goto :goto_6c
:cond_4d
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
goto :goto_6c
:cond_5d
new-instance v0, Lcom/android/internal/policy/impl/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/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_6c
return-object v0
:cond_6d
new-instance v0, Lcom/android/internal/policy/impl/CyanogenLockScreen;
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/CyanogenLockScreen;-><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_6c
:cond_7d
new-instance v0, Lcom/android/internal/policy/impl/EpicLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/policy/impl/EpicLockScreen;-><init>(Landroid/content/Context;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
goto :goto_6c
:cond_8b
new-instance v0, Lcom/android/internal/policy/impl/FascinateLockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/policy/impl/FascinateLockScreen;-><init>(Landroid/content/Context;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
goto :goto_6c
.end method
U have included GLASS_LOCKSCREEN in place of stock
Click to expand...
Click to collapse
Yep. GLASS_LOCKSCREEN, no problem for galaxy y sir because it was on stock .
Nice, gonna try IT ! now me gusta
Good day again. I have a new guide here. As I see the famous EDT Tweaks by Mr. RomanBB, the remodified EDT by pvyMods but I havent seen any other mods except PotatoXLenox that has a working an signal option, yes the hide and default. I didnt include the left signal. Its for you to implement it. Also i recieve many PMs regarding this so I made it.
Disclaimer:
You can add it in your ROM, you can modify it but please dont edit the About Us preference as a respect for us. Kanging is bad right? Also if you are nice enough put us in credits of your ROM.
Before you ask question double check your question first and think. As I did it and workin on stock SystemUI. Also take a necessary backup first hehe
Note: This mod is in PotatoXLenox ROM now so for them no need to do this.
Requirements:
What will be needing is a
1. Working brain that can understand my poor grammar
2. Notepad ++
3. APKTool
4. Luck
5. Your very owned SystemUI
Steps:
1. Pull your SystemUI.apk
2. Decompile your SystemUI.apk
3. After decompiling , go to this directory of your decompiled systemui
com/android/systemui/statusbar/policy/
Click to expand...
Click to collapse
4. Open the "StatusBarPolicy.smali" no need for the dollar things.
5. Now find ,
Code:
.method private final updateSignalStrength()V
6. Now replace this,
Code:
.method private final updateSignalStrength()V
.locals 11
.prologue
const/16 v8, 0xd
const/4 v7, 0x2
const/4 v6, 0x1
const/4 v5, 0x0
const-string v9, "StatusBarPolicy"
.line 1219
.line 1221
const-string v0, "ro.csc.sales_code"
invoke-static {v0}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
.line 1223
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->updateCdmaRoamingIcon()V
.line 1228
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->hasService()Z
move-result v0
if-nez v0, :cond_1
.line 1230
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "airplane_mode_on"
invoke-static {v0, v1, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-ne v0, v6, :cond_0
.line 1232
const v0, 0x7f020087
iput v0, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
.line 1236
:goto_0
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v1, "phone_signal"
iget v2, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
invoke-virtual {v0, v1, v2, v5}, Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;II)V
.line 1350
:goto_1
return-void
.line 1234
:cond_0
const v0, 0x7f020088
iput v0, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
goto :goto_0
.line 1258
:cond_1
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->isCdma()Z
move-result v0
if-nez v0, :cond_12
.line 1264
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mSignalStrength:Landroid/telephony/SignalStrength;
invoke-virtual {v0}, Landroid/telephony/SignalStrength;->getGsmSignalStrength()I
move-result v0
.line 1265
iget-object v1, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mSignalStrength:Landroid/telephony/SignalStrength;
invoke-virtual {v1}, Landroid/telephony/SignalStrength;->getGsmBitErrorRate()I
move-result v1
.line 1286
const/16 v2, 0x13
if-lt v1, v2, :cond_2
move v2, v5
.line 1290
:goto_2
const-string v3, "StatusBarPolicy"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "ecio: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v9, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1291
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->getRAT()I
move-result v1
packed-switch v1, :pswitch_data_0
:pswitch_0
move v0, v5
.line 1327
:goto_3
iget-object v1, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhone:Landroid/telephony/TelephonyManager;
invoke-virtual {v1}, Landroid/telephony/TelephonyManager;->isNetworkRoaming()Z
move-result v1
if-eqz v1, :cond_11
.line 1328
sget-object v1, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sSignalImages_r:[[I
iget v2, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mInetCondition:I
aget-object v1, v1, v2
move-object v10, v1
move v1, v0
move-object v0, v10
.line 1348
:goto_4
aget v0, v0, v1
iput v0, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
.line 1349
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v1, "phone_signal"
iget v2, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
invoke-virtual {v0, v1, v2, v5}, Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;II)V
goto :goto_1
.line 1287
:cond_2
if-lt v1, v8, :cond_3
const/16 v2, 0x13
if-ge v1, v2, :cond_3
const/4 v2, -0x1
goto :goto_2
.line 1288
:cond_3
if-ge v1, v8, :cond_14
const/4 v2, -0x2
goto :goto_2
.line 1293
:pswitch_1
if-lez v0, :cond_4
const/16 v1, 0x63
if-ne v0, v1, :cond_5
:cond_4
move v0, v5
.line 1300
:goto_5
const-string v1, "StatusBarPolicy"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "iconLevel: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v9, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_3
.line 1294
:cond_5
if-lt v0, v8, :cond_6
const/4 v0, 0x4
goto :goto_5
.line 1295
:cond_6
const/16 v1, 0xa
if-lt v0, v1, :cond_7
const/4 v0, 0x3
goto :goto_5
.line 1296
:cond_7
const/16 v1, 0x8
if-lt v0, v1, :cond_8
move v0, v7
goto :goto_5
.line 1297
:cond_8
const/4 v1, 0x6
if-lt v0, v1, :cond_9
move v0, v6
goto :goto_5
:cond_9
move v0, v5
.line 1298
goto :goto_5
.line 1305
:pswitch_2
if-lez v0, :cond_a
const/16 v1, 0x63
if-ne v0, v1, :cond_c
:cond_a
move v0, v5
.line 1312
:goto_6
add-int/2addr v0, v2
.line 1314
if-gez v0, :cond_b
move v0, v5
.line 1316
:cond_b
const-string v1, "StatusBarPolicy"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "iconLevel: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v9, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto/16 :goto_3
.line 1306
:cond_c
const/16 v1, 0xc
if-lt v0, v1, :cond_d
const/4 v0, 0x4
goto :goto_6
.line 1307
:cond_d
const/16 v1, 0x8
if-lt v0, v1, :cond_e
const/4 v0, 0x3
goto :goto_6
.line 1308
:cond_e
const/4 v1, 0x5
if-lt v0, v1, :cond_f
move v0, v7
goto :goto_6
.line 1309
:cond_f
if-lt v0, v7, :cond_10
move v0, v6
goto :goto_6
:cond_10
move v0, v5
.line 1310
goto :goto_6
.line 1330
:cond_11
sget-object v1, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sSignalImages:[[I
iget v2, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mInetCondition:I
aget-object v1, v1, v2
move-object v10, v1
move v1, v0
move-object v0, v10
goto/16 :goto_4
.line 1333
:cond_12
sget-object v0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sSignalImages:[[I
iget v1, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mInetCondition:I
aget-object v0, v0, v1
.line 1338
iget v1, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneState:I
if-nez v1, :cond_13
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->isEvdo()Z
move-result v1
if-eqz v1, :cond_13
iget-boolean v1, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mAlwaysUseCdmaRssi:Z
if-nez v1, :cond_13
.line 1340
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->getEvdoLevel()I
move-result v1
goto/16 :goto_4
.line 1345
:cond_13
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->getCdmaLevel()I
move-result v1
goto/16 :goto_4
:cond_14
move v2, v5
goto/16 :goto_2
.line 1291
nop
:pswitch_data_0
.packed-switch 0x2
:pswitch_1
:pswitch_0
:pswitch_0
:pswitch_2
.end packed-switch
.end method
with these
Code:
.method private final updateSignalStrength()V
.locals 15
.prologue
.line 993
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;
invoke-virtual {v11}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
.line 994
.local v10, resolver:Landroid/content/ContentResolver;
invoke-virtual {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->updateSignalStrengthDbm()V
.line 996
const-string v11, "ro.csc.sales_code"
invoke-static {v11}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
.line 997
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->updateCdmaRoamingIcon()V
.line 998
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->hasService()Z
move-result v11
if-nez v11, :cond_2
.line 1000
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;
invoke-virtual {v11}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v11
const-string v12, "airplane_mode_on"
const/4 v13, 0x0
invoke-static {v11, v12, v13}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v11
const/4 v12, 0x1
if-ne v11, v12, :cond_0
.line 1001
const v11, 0x7f020087
iput v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
.line 1005
:goto_0
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v12, "phone_signal"
iget v13, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
const/4 v14, 0x0
invoke-virtual {v11, v12, v13, v14}, Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;II)V
.line 1006
const-string v11, "hide_signal_icon"
const/4 v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v9
.line 1007
.local v9, mHideSignalStrength:I
if-nez v9, :cond_1
.line 1008
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v12, "phone_signal"
const/4 v13, 0x1
invoke-virtual {v11, v12, v13}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V
.line 1123
:goto_1
return-void
.line 1003
.end local v9 #mHideSignalStrength:I
:cond_0
const v11, 0x7f020088
iput v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
goto :goto_0
.line 1010
.restart local v9 #mHideSignalStrength:I
:cond_1
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v12, "phone_signal"
const/4 v13, 0x0
invoke-virtual {v11, v12, v13}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V
goto :goto_1
.line 1018
.end local v9 #mHideSignalStrength:I
:cond_2
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->isCdma()Z
move-result v11
if-nez v11, :cond_12
.line 1020
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mSignalStrength:Landroid/telephony/SignalStrength;
invoke-virtual {v11}, Landroid/telephony/SignalStrength;->getGsmSignalStrength()I
move-result v6
.line 1021
.local v6, j:I
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mSignalStrength:Landroid/telephony/SignalStrength;
invoke-virtual {v11}, Landroid/telephony/SignalStrength;->getGsmBitErrorRate()I
move-result v7
.line 1023
.local v7, k:I
const/16 v11, 0x13
if-lt v7, v11, :cond_3
.line 1024
const/4 v3, 0x0
.line 1033
.local v3, byte0:B
:goto_2
const-string v11, "StatusBarPolicy"
new-instance v12, Ljava/lang/StringBuilder;
invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
const-string v13, "ecio: "
invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v12
invoke-virtual {v12, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v12
invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v12
invoke-static {v11, v12}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1035
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->getRAT()I
move-result v11
packed-switch v11, :pswitch_data_0
.line 1090
:pswitch_0
const/4 v8, 0x0
.line 1093
.local v8, l:I
:goto_3
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhone:Landroid/telephony/TelephonyManager;
invoke-virtual {v11}, Landroid/telephony/TelephonyManager;->isNetworkRoaming()Z
move-result v11
if-eqz v11, :cond_11
.line 1095
sget-object v11, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sSignalImages_r:[[I
iget v12, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mInetCondition:I
aget-object v2, v11, v12
.line 1096
.local v2, ai2:[I
move v5, v8
.line 1097
.local v5, i:I
move-object v0, v2
.line 1112
.end local v2 #ai2:[I
.end local v3 #byte0:B
.end local v6 #j:I
.end local v7 #k:I
.end local v8 #l:I
.local v0, ai:[I
:goto_4
aget v11, v0, v5
iput v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
.line 1113
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v12, "phone_signal"
iget v13, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneSignalIconId:I
const/4 v14, 0x0
invoke-virtual {v11, v12, v13, v14}, Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;II)V
.line 1117
const-string v11, "hide_signal_icon"
const/4 v12, 0x0
invoke-static {v10, v11, v12}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v9
.line 1118
.restart local v9 #mHideSignalStrength:I
if-nez v9, :cond_14
.line 1119
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v12, "phone_signal"
const/4 v13, 0x1
invoke-virtual {v11, v12, v13}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V
goto :goto_1
.line 1026
.end local v0 #ai:[I
.end local v5 #i:I
.end local v9 #mHideSignalStrength:I
.restart local v6 #j:I
.restart local v7 #k:I
:cond_3
const/16 v11, 0xd
if-lt v7, v11, :cond_4
const/16 v11, 0x13
if-ge v7, v11, :cond_4
.line 1027
const/4 v3, -0x1
.restart local v3 #byte0:B
goto :goto_2
.line 1029
.end local v3 #byte0:B
:cond_4
const/16 v11, 0xd
if-ge v7, v11, :cond_5
.line 1030
const/4 v3, -0x2
.restart local v3 #byte0:B
goto :goto_2
.line 1032
.end local v3 #byte0:B
:cond_5
const/4 v3, 0x0
.restart local v3 #byte0:B
goto :goto_2
.line 1039
:pswitch_1
if-lez v6, :cond_b
const/16 v11, 0x63
if-eq v6, v11, :cond_b
.line 1041
const/16 v11, 0xc
if-lt v6, v11, :cond_7
.line 1042
const/4 v4, 0x4
.line 1058
.local v4, byte1:B
:goto_5
add-int v8, v4, v3
.line 1059
.restart local v8 #l:I
if-gez v8, :cond_6
.line 1060
const/4 v8, 0x0
.line 1061
:cond_6
const-string v11, "StatusBarPolicy"
new-instance v12, Ljava/lang/StringBuilder;
invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
const-string v13, "iconLevel: "
invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v12
invoke-virtual {v12, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v12
invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v12
invoke-static {v11, v12}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_3
.line 1044
.end local v4 #byte1:B
.end local v8 #l:I
:cond_7
const/16 v11, 0x8
if-lt v6, v11, :cond_8
.line 1045
const/4 v4, 0x3
.restart local v4 #byte1:B
goto :goto_5
.line 1047
.end local v4 #byte1:B
:cond_8
const/4 v11, 0x5
if-lt v6, v11, :cond_9
.line 1048
const/4 v4, 0x2
.restart local v4 #byte1:B
goto :goto_5
.line 1050
.end local v4 #byte1:B
:cond_9
const/4 v11, 0x2
if-lt v6, v11, :cond_a
.line 1051
const/4 v4, 0x1
.restart local v4 #byte1:B
goto :goto_5
.line 1053
.end local v4 #byte1:B
:cond_a
const/4 v4, 0x0
.line 1054
.restart local v4 #byte1:B
goto :goto_5
.line 1056
.end local v4 #byte1:B
:cond_b
const/4 v4, 0x0
.restart local v4 #byte1:B
goto :goto_5
.line 1065
.end local v4 #byte1:B
:pswitch_2
if-lez v6, :cond_10
const/16 v11, 0x63
if-eq v6, v11, :cond_10
.line 1067
const/16 v11, 0xd
if-lt v6, v11, :cond_c
.line 1068
const/4 v8, 0x4
.line 1084
.restart local v8 #l:I
:goto_6
const-string v11, "StatusBarPolicy"
new-instance v12, Ljava/lang/StringBuilder;
invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
const-string v13, "iconLevel: "
invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v12
invoke-virtual {v12, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v12
invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v12
invoke-static {v11, v12}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto/16 :goto_3
.line 1070
.end local v8 #l:I
:cond_c
const/16 v11, 0xa
if-lt v6, v11, :cond_d
.line 1071
const/4 v8, 0x3
.restart local v8 #l:I
goto :goto_6
.line 1073
.end local v8 #l:I
:cond_d
const/16 v11, 0x8
if-lt v6, v11, :cond_e
.line 1074
const/4 v8, 0x2
.restart local v8 #l:I
goto :goto_6
.line 1076
.end local v8 #l:I
:cond_e
const/4 v11, 0x6
if-lt v6, v11, :cond_f
.line 1077
const/4 v8, 0x1
.restart local v8 #l:I
goto :goto_6
.line 1079
.end local v8 #l:I
:cond_f
const/4 v8, 0x0
.line 1080
.restart local v8 #l:I
goto :goto_6
.line 1082
.end local v8 #l:I
:cond_10
const/4 v8, 0x0
.restart local v8 #l:I
goto :goto_6
.line 1100
:cond_11
sget-object v11, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sSignalImages:[[I
iget v12, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mInetCondition:I
aget-object v1, v11, v12
.line 1101
.local v1, ai1:[I
move v5, v8
.line 1102
.restart local v5 #i:I
move-object v0, v1
.line 1104
.restart local v0 #ai:[I
goto/16 :goto_4
.line 1106
.end local v0 #ai:[I
.end local v1 #ai1:[I
.end local v3 #byte0:B
.end local v5 #i:I
.end local v6 #j:I
.end local v7 #k:I
.end local v8 #l:I
:cond_12
sget-object v11, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sSignalImages:[[I
iget v12, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mInetCondition:I
aget-object v0, v11, v12
.line 1107
.restart local v0 #ai:[I
iget v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mPhoneState:I
if-nez v11, :cond_13
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->isEvdo()Z
move-result v11
if-eqz v11, :cond_13
iget-boolean v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mAlwaysUseCdmaRssi:Z
if-nez v11, :cond_13
.line 1108
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->getEvdoLevel()I
move-result v5
.restart local v5 #i:I
goto/16 :goto_4
.line 1110
.end local v5 #i:I
:cond_13
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->getCdmaLevel()I
move-result v5
.restart local v5 #i:I
goto/16 :goto_4
.line 1121
.restart local v9 #mHideSignalStrength:I
:cond_14
iget-object v11, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v12, "phone_signal"
const/4 v13, 0x0
invoke-virtual {v11, v12, v13}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V
goto/16 :goto_1
.line 1035
nop
:pswitch_data_0
.packed-switch 0x2
:pswitch_2
:pswitch_0
:pswitch_0
:pswitch_1
.end packed-switch
.end method
7. Below (it is located at the end of the StatusbarPolicy.smali)
Code:
const-string v1, "wifi"
invoke-virtual {v0, v4, v3}, Landroid/app/StatusBarManager;->setIconVisibility(Ljava/lang/String;Z)V
goto :goto_1
.end method
add two spaces, and add this,
Code:
# virtual methods
.method public updateSignalStrengthDbm()V
.locals 6
.prologue
const/4 v4, -0x1
.line 1126
const/4 v1, -0x1
.line 1128
.local v1, dBm:I
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mSignalStrength:Landroid/telephony/SignalStrength;
invoke-virtual {v5}, Landroid/telephony/SignalStrength;->isGsm()Z
move-result v5
if-nez v5, :cond_1
.line 1129
iget-object v4, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mSignalStrength:Landroid/telephony/SignalStrength;
invoke-virtual {v4}, Landroid/telephony/SignalStrength;->getCdmaDbm()I
move-result v1
.line 1137
:cond_0
:goto_0
new-instance v2, Landroid/content/Intent;
const-string v4, "com.android.intent.action.DBM_SIGNAL_CHANGED"
invoke-direct {v2, v4}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 1139
.local v2, dbmIntent:Landroid/content/Intent;
const-string v4, "dbm"
invoke-virtual {v2, v4, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
.line 1141
iget-object v4, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mContext:Landroid/content/Context;
invoke-virtual {v4, v2}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
.line 1145
return-void
.line 1131
.end local v2 #dbmIntent:Landroid/content/Intent;
:cond_1
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->mSignalStrength:Landroid/telephony/SignalStrength;
invoke-virtual {v5}, Landroid/telephony/SignalStrength;->getGsmSignalStrength()I
move-result v3
.line 1132
.local v3, gsmSignalStrength:I
const/16 v5, 0x63
if-ne v3, v5, :cond_2
move v0, v4
.line 1133
.local v0, asu:I
:goto_1
if-eq v0, v4, :cond_0
.line 1134
mul-int/lit8 v4, v0, 0x2
add-int/lit8 v1, v4, -0x71
goto :goto_0
.end local v0 #asu:I
:cond_2
move v0, v3
.line 1132
goto :goto_1
.end method
8. Now save the smali
9. Recompile your SystemUI.apk
10. Now flash or push hehe
10. Download te PxL Residue below
11. Install it as a normal apk
12. And finish
Screenshot:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
Download link
Here
Credits:
PxL Developers
PotatoInc
Lenox Devs
Haters
RomanBB
Greets,
PineappleOwl
First :laugh:
I will be handsome now
what about putting the signal icons to the left? like lenox does
zzapz said:
what about putting the signal icons to the left? like lenox does
Click to expand...
Click to collapse
Hehe there still a bug too in aigna in lenox sir so i didnt gave it
Sent from my Nexus 7 using Tapatalk
Great Guide.
Thanks working properly in Custock Rom.
More power LenoxDevs
Thanks, sir. I wait it looong time:laugh:
waaawwww very cool
btw can u make icon signal look like jb
i mean signal bar n gprs to be as one?
Minions_Army said:
waaawwww very cool
btw can u make icon signal look like jb
i mean signal bar n gprs to be as one?
Click to expand...
Click to collapse
You can make it . Its yours just change the png in drawable. Haha Gprs i find it hard but we can i think
PineappleOwl said:
You can make it . Its yours just change the png in drawable. Haha Gprs i find it hard but we can i think
Click to expand...
Click to collapse
haha...
we know in jb icon data connection and signal in one frame
error when smaling
error on smaling but Iv'e used your statusbarpolicy.smali iv'e pull it from your Lenox Rom and it works .. thanks for it
waiting for stable left signal mod.
I dont have "StatusBarPolicy.smali"
will you find a solution?
I guess it works with only galaxy y..cauz i dont have
" .method private final updateSignalStrength()V" this line lol
hello guys
after very day
i am presenting you new tut
so this is very easy tut
all you need is patience
you need
1. Framework.jar
2. Decompile framework.jar
3. open framework.jar\smali\android\inputmethodservice\InputMethodService.smali
find this
Code:
.field mToken:Landroid/os/IBinder;
after that add this
Code:
.field mVolumeKeyCursorControl:I
Now look for this method
Code:
.method public onKeyDown(ILandroid/view/KeyEvent;)Z
and completely replace this method with this
Code:
.method public onKeyDown(ILandroid/view/KeyEvent;)Z
.locals 7
const/16 v0, 0x16
const/16 v1, 0x15
const/4 v6, 0x2
const/4 v2, 0x1
const/4 v3, 0x0
invoke-virtual {p2}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v4
const/4 v5, 0x4
if-ne v4, v5, :cond_1
invoke-direct {p0, v3}, Landroid/inputmethodservice/InputMethodService;->handleBack(Z)Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {p2}, Landroid/view/KeyEvent;->startTracking()V
move v0, v2
:goto_0
return v0
:cond_0
move v0, v3
goto :goto_0
:cond_1
invoke-virtual {p2}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v4
const/16 v5, 0x18
if-ne v4, v5, :cond_4
invoke-virtual {p0}, Landroid/inputmethodservice/InputMethodService;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string/jumbo v5, "krypton_keyboard_volume_control"
invoke-static {v4, v5, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
iput v4, p0, Landroid/inputmethodservice/InputMethodService;->mVolumeKeyCursorControl:I
invoke-virtual {p0}, Landroid/inputmethodservice/InputMethodService;->isInputViewShown()Z
move-result v4
if-eqz v4, :cond_3
iget v4, p0, Landroid/inputmethodservice/InputMethodService;->mVolumeKeyCursorControl:I
if-eqz v4, :cond_3
iget v3, p0, Landroid/inputmethodservice/InputMethodService;->mVolumeKeyCursorControl:I
if-ne v3, v6, :cond_2
:goto_1
invoke-virtual {p0, v0}, Landroid/inputmethodservice/InputMethodService;->sendDownUpKeyEvents(I)V
move v0, v2
goto :goto_0
:cond_2
move v0, v1
goto :goto_1
:cond_3
move v0, v3
goto :goto_0
:cond_4
invoke-virtual {p2}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v4
const/16 v5, 0x19
if-ne v4, v5, :cond_7
invoke-virtual {p0}, Landroid/inputmethodservice/InputMethodService;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string/jumbo v5, "krypton_keyboard_volume_control"
invoke-static {v4, v5, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
iput v4, p0, Landroid/inputmethodservice/InputMethodService;->mVolumeKeyCursorControl:I
invoke-virtual {p0}, Landroid/inputmethodservice/InputMethodService;->isInputViewShown()Z
move-result v4
if-eqz v4, :cond_6
iget v4, p0, Landroid/inputmethodservice/InputMethodService;->mVolumeKeyCursorControl:I
if-eqz v4, :cond_6
iget v3, p0, Landroid/inputmethodservice/InputMethodService;->mVolumeKeyCursorControl:I
if-ne v3, v6, :cond_5
:goto_2
invoke-virtual {p0, v1}, Landroid/inputmethodservice/InputMethodService;->sendDownUpKeyEvents(I)V
move v0, v2
goto :goto_0
:cond_5
move v1, v0
goto :goto_2
:cond_6
move v0, v3
goto :goto_0
:cond_7
const/4 v0, -0x1
invoke-virtual {p0, p1, p2, v0}, Landroid/inputmethodservice/InputMethodService;->doMovementKey(ILandroid/view/KeyEvent;I)Z
move-result v0
goto :goto_0
.end method
Now look for this method
Code:
.method public onKeyUp(ILandroid/view/KeyEvent;)Z
and completely replace with this method
Code:
.method public onKeyUp(ILandroid/view/KeyEvent;)Z
.locals 4
const/4 v0, 0x1
const/4 v1, 0x0
invoke-virtual {p2}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v2
const/4 v3, 0x4
if-ne v2, v3, :cond_1
invoke-virtual {p2}, Landroid/view/KeyEvent;->isTracking()Z
move-result v2
if-eqz v2, :cond_1
invoke-virtual {p2}, Landroid/view/KeyEvent;->isCanceled()Z
move-result v2
if-nez v2, :cond_1
invoke-direct {p0, v0}, Landroid/inputmethodservice/InputMethodService;->handleBack(Z)Z
move-result v0
:cond_0
:goto_0
return v0
:cond_1
invoke-virtual {p2}, Landroid/view/KeyEvent;->getKeyCode()I
move-result v2
const/16 v3, 0x18
if-eq v2, v3, :cond_2
const/16 v2, 0x19
if-ne p1, v2, :cond_4
:cond_2
invoke-virtual {p0}, Landroid/inputmethodservice/InputMethodService;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string/jumbo v3, "krypton_keyboard_volume_control"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v2
iput v2, p0, Landroid/inputmethodservice/InputMethodService;->mVolumeKeyCursorControl:I
invoke-virtual {p0}, Landroid/inputmethodservice/InputMethodService;->isInputViewShown()Z
move-result v2
if-eqz v2, :cond_3
iget v2, p0, Landroid/inputmethodservice/InputMethodService;->mVolumeKeyCursorControl:I
if-nez v2, :cond_0
:cond_3
move v0, v1
goto :goto_0
:cond_4
const/4 v0, -0x2
invoke-virtual {p0, p1, p2, v0}, Landroid/inputmethodservice/InputMethodService;->doMovementKey(ILandroid/view/KeyEvent;I)Z
move-result v0
goto :goto_0
.end method
Done save and compile and replace
Now for settings look for post #2
settings.apk final part
Download this settings app
Install it and apply
Reboot is required to take action
View attachment app-release.apk
a part of my rom
Dont forgot to mention me if you use my work
that feels me good
screenshot bro?
Need deodex rom to work or it was safe for odex rom?
@venkat kamesh
Could you please make this as an xposed app! Thank you very much!
Really appreciate for sharing this sir. I confirm that this mod works on Samsung Galaxy Note 3 running TW android 5.0 :good:
Hello! I do not have a smali folder in my framework.jar decopmiled . Any ideas>
Thanks
@venkat kamesh If I copy the smalis and xmls from your file to settings and merge xmls, and ofc, replace public ids, will I get the options in settings ?
Thanks!
My new app Cursor Control lets you use the volume keys to easily move the cursor in text fields and works without Root.
mrYoussef135 said:
My new app Cursor Control lets you use the volume keys to easily move the cursor in text fields and works without Root.
Click to expand...
Click to collapse
What's the fun in that? :laugh: