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
Related
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
Here is simple smali editing guide showing you how to give your SystemUI.apk runtime theme accent color change!
Changes that you will get by this guide was originally implemented by me here and later on my Xperia™ Xposed (KK) module, also brilliantly ported by:
- 4.3: @kongaz2 (here)
- 4.2.2: @STRYDER~007 (here)
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"
}
Requirements:
- Original Xperia™ stock SystemUI.apk
- Read lines below carefully
- Not to be afraid of FCs you will probably face
TRY IT AT YOUR OWN RISK
Here we go...
- Decompile SystemUI.apk v1.2 from my thread.
- Decompile KK one (yours)
I´m gonna show you where exactly I put accent color related code and you compare both decompiled smali files to get diffs (in red) ok!!
ToolsMain.smali
Code:
# instance fields
[COLOR="Red"].field private mAccentColorId:I[/COLOR]
Code:
.method public constructor <init>(Landroid/content/Context;Landroid/view/ViewGroup;)V
.locals 4
.parameter "context"
.parameter "parent"
.
.
[COLOR="red"].line 105
iget-object v0, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "somc_accent_color_neutral"
const-string v2, "color"
const-string v3, "com.sonyericsson.uxp"
invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->mAccentColorId:I[/COLOR]
Code:
[COLOR="red"].method static synthetic access$1000(Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;)V
.locals 0
.parameter "x0"
.prologue
.line 47
invoke-direct {p0}, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->colorize()V
return-void
.end method[/COLOR]
Code:
[COLOR="red"].method private colorize()V
.locals 4
.prologue
.line 749
iget v2, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->mAccentColorId:I
if-eqz v2, :cond_0
.line 750
iget-object v2, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->mButtons:Ljava/util/LinkedList;
invoke-virtual {v2}, Ljava/util/LinkedList;->iterator()Ljava/util/Iterator;
move-result-object v0
.local v0, i$:Ljava/util/Iterator;
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;
.line 751
.local v1, toolButton:Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;
iget-object v2, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
iget v3, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->mAccentColorId:I
invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getColor(I)I
move-result v2
invoke-virtual {v1, v2}, Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;->colorize(I)V
goto :goto_0
.line 754
.end local v0 #i$:Ljava/util/Iterator;
.end local v1 #toolButton:Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;
:cond_0
return-void
.end method[/COLOR]
Code:
.method public configurationChanged(Landroid/content/res/Configuration;)V
.locals 5
.parameter "newConfig"
.
.
.line 1020
:cond_1
[COLOR="red"]invoke-direct {p0}, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->colorize()V[/COLOR]
.line 1021
return-void
Code:
.method public start()V
.locals 5
.
.
[COLOR="red"].line 162
invoke-direct {p0}, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->colorize()V[/COLOR]
.line 163
return-void
.end method
Code:
.method private reCreateButtons()V
.locals 17
.
.
.line 200
.end local v7 #i:I
:cond_4
[COLOR="red"]invoke-direct {p0}, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->colorize()V
.line 201[/COLOR]
return-void
.end method
ToolsMain$1.smali
Code:
# virtual methods
.method public onChange(Z)V
.locals 4
.parameter "selfChange"
.
.
.line 124
iget-object v3, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain$1;->this$0:Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;
#calls: Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->startServices()V
invoke-static {v3}, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->access$400(Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;)V
[COLOR="Red"] .line 125
iget-object v3, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain$1;->this$0:Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;
#calls: Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->colorize()V
invoke-static {v3}, Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;->access$1000(Lcom/sonymobile/systemui/statusbar/tools/ToolsMain;)V[/COLOR]
ToolsButton.smali
Code:
[COLOR="Red"].method public colorize(I)V
.locals 1
.parameter "color"
.prologue
.line 447
iput p1, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;->mAccentColor:I
.line 450
iget-object v0, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;->mIcon:Landroid/widget/ImageView;
invoke-direct {p0, v0}, Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;->colorize(Landroid/widget/ImageView;)V
.line 451
iget-object v0, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;->mLabel:Landroid/widget/TextView;
invoke-direct {p0, v0}, Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;->colorize(Landroid/widget/TextView;)V
.line 452
iget-object v0, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;->mAnimationView:Landroid/widget/ImageView;
invoke-direct {p0, v0}, Lcom/sonymobile/systemui/statusbar/tools/ToolsButton;->colorize(Landroid/widget/ImageView;)V
.line 453
return-void
.end method[/COLOR]
ToolsTabWidget.smali
Code:
.method public setCurrentTab(I)V
.locals 2
.parameter "index"
.prologue
.line 101
invoke-super {p0, p1}, Landroid/widget/TabWidget;->setCurrentTab(I)V
.line 102
if-ltz p1, :cond_0
invoke-virtual {p0}, Lcom/sonymobile/systemui/statusbar/tools/ToolsTabWidget;->getTabCount()I
move-result v0
if-ge p1, v0, :cond_0
iget v0, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsTabWidget;->mCurrentTab:I
if-ne p1, v0, :cond_1
.line 106
:cond_0
:goto_0
[COLOR="Red"]invoke-virtual {p0, p1}, Lcom/sonymobile/systemui/statusbar/tools/ToolsTabWidget;->getChildTabViewAt(I)Landroid/view/View;
move-result-object v0
invoke-virtual {p0}, Lcom/sonymobile/systemui/statusbar/tools/ToolsTabWidget;->getTabCount()I
move-result v1
invoke-direct {p0, v0, p1, v1}, Lcom/sonymobile/systemui/statusbar/tools/ToolsTabWidget;->setActiveTabColorFilter(Landroid/view/View;II)V[/COLOR]
.line 107
return-void
.line 105
:cond_1
iput p1, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsTabWidget;->mCurrentTab:I
goto :goto_0
.end method
Code:
[COLOR="Red"].method private setActiveTabColorFilter(Landroid/view/View;II)V
.locals 10
.parameter "view"
.parameter "activeTab"
.parameter "tabCount"
.prologue
.line 43
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v7
invoke-virtual {v7}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v3
.line 44
.local v3, res:Landroid/content/res/Resources;
const-string v7, "somc_accent_color_neutral"
const-string v8, "color"
const-string v9, "com.sonyericsson.uxp"
invoke-virtual {v3, v7, v8, v9}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v1
.line 46
.local v1, accentNeutralResId:I
if-nez v1, :cond_1
.line 74
:cond_0
:goto_0
return-void
.line 51
:cond_1
:try_start_0
invoke-virtual {v3, v1}, Landroid/content/res/Resources;->getColor(I)I
move-result v0
.line 53
.local v0, accentNeutralColor:I
const/4 v4, 0x0
.local v4, tabIndex:I
:goto_1
if-ge v4, p3, :cond_0
.line 55
invoke-virtual {p0, v4}, Lcom/sonymobile/systemui/statusbar/tools/ToolsTabWidget;->getChildTabViewAt(I)Landroid/view/View;
move-result-object v5
.line 56
.local v5, tabView:Landroid/view/View;
const-string v7, "title"
const-string v8, "id"
const-string v9, "android"
invoke-virtual {v3, v7, v8, v9}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v7
invoke-virtual {v5, v7}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v6
check-cast v6, Landroid/widget/TextView;
.line 58
.local v6, titleView:Landroid/widget/TextView;
invoke-virtual {v5}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v7
invoke-virtual {v7}, Landroid/graphics/drawable/Drawable;->clearColorFilter()V
.line 59
iget-object v7, p0, Lcom/sonymobile/systemui/statusbar/tools/ToolsTabWidget;->mTabTextColor:Landroid/content/res/ColorStateList;
invoke-virtual {v6, v7}, Landroid/widget/TextView;->setTextColor(Landroid/content/res/ColorStateList;)V
.line 61
if-ne v4, p2, :cond_2
.line 63
invoke-virtual {v5}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v7
new-instance v8, Landroid/graphics/PorterDuffColorFilter;
sget-object v9, Landroid/graphics/PorterDuff$Mode;->MULTIPLY:Landroid/graphics/PorterDuff$Mode;
invoke-direct {v8, v0, v9}, Landroid/graphics/PorterDuffColorFilter;-><init>(ILandroid/graphics/PorterDuff$Mode;)V
invoke-virtual {v7, v8}, Landroid/graphics/drawable/Drawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
.line 64
invoke-virtual {v6, v0}, Landroid/widget/TextView;->setTextColor(I)V
:try_end_0
.catch Landroid/content/res/Resources$NotFoundException; {:try_start_0 .. :try_end_0} :catch_0
.line 53
:cond_2
add-int/lit8 v4, v4, 0x1
goto :goto_1
.line 69
.end local v0 #accentNeutralColor:I
.end local v4 #tabIndex:I
.end local v5 #tabView:Landroid/view/View;
.end local v6 #titleView:Landroid/widget/TextView;
:catch_0
move-exception v2
.line 71
.local v2, e:Landroid/content/res/Resources$NotFoundException;
invoke-virtual {v2}, Landroid/content/res/Resources$NotFoundException;->printStackTrace()V
goto :goto_0
.end method[/COLOR]
SomcTabsNotificationPanelView.smali
Code:
# instance fields
[COLOR="Red"].field private mExpanded:Z[/COLOR]
Code:
# virtual methods
.method public onConfigurationChanged()V
.locals 3
.
.
.line 102
:cond_0
[COLOR="Red"] iget-boolean v0, p0, Lcom/sonymobile/systemui/statusbar/tools/SomcTabsNotificationPanelView;->mExpanded:Z
if-nez v0, :cond_1
.line 104
iget-object v2, p0, Lcom/sonymobile/systemui/statusbar/tools/SomcTabsNotificationPanelView;->mTabHost:Landroid/widget/TabHost;
if-eqz v2, :cond_1
.line 106
iget-object v2, p0, Lcom/sonymobile/systemui/statusbar/tools/SomcTabsNotificationPanelView;->mTabHost:Landroid/widget/TabHost;
invoke-virtual {v2}, Landroid/widget/TabHost;->clearAllTabs()V
.line 107
const/4 v2, 0x0
iput-object v2, p0, Lcom/sonymobile/systemui/statusbar/tools/SomcTabsNotificationPanelView;->mTabHost:Landroid/widget/TabHost;
.line 109
invoke-direct {p0}, Lcom/sonymobile/systemui/statusbar/tools/SomcTabsNotificationPanelView;->initTabs()V
.line 111
:cond_1[/COLOR]
return-void
.end method
Code:
.method public onExpandedChanged(Z)V
.locals 2
.parameter "expanded"
.prologue
[COLOR="Red"].line 292
iput-boolean p1, p0, Lcom/sonymobile/systemui/statusbar/tools/SomcTabsNotificationPanelView;->mExpanded:Z
.line 293[/COLOR]
if-eqz p1, :cond_0
RecentsPanelView.smali
Code:
.method private showImpl(Z)V
.locals 5
.parameter "show"
.prologue
const/4 v2, 0x0
const/4 v1, 0x1
[COLOR="Red"].line 364
invoke-direct {p0}, Lcom/android/systemui/recent/RecentsPanelView;->setRecentsNoAppsTextColor()V[/COLOR]
.line 365
iget-object v3, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
const-string v4, "recentapps"
invoke-static {v3, v4}, Lcom/android/systemui/recent/RecentsPanelView;->sendCloseSystemWindows(Landroid/content/Context;Ljava/lang/String;)V
Code:
[COLOR="Red"].method private setRecentsNoAppsTextColor()V
.locals 8
.prologue
.line 86
iget-object v5, p0, Lcom/android/systemui/recent/RecentsPanelView;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v4
.line 87
.local v4, res:Landroid/content/res/Resources;
const-string v5, "somc_accent_color_neutral"
const-string v6, "color"
const-string v7, "com.sonyericsson.uxp"
invoke-virtual {v4, v5, v6, v7}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v1
.line 89
.local v1, accentNeutralResId:I
if-nez v1, :cond_0
.line 104
:goto_0
return-void
.line 94
:cond_0
:try_start_0
invoke-virtual {v4, v1}, Landroid/content/res/Resources;->getColor(I)I
move-result v0
.line 96
.local v0, accentNeutralColor:I
const v5, 0x7f0800a5
invoke-virtual {p0, v5}, Lcom/android/systemui/recent/RecentsPanelView;->findViewById(I)Landroid/view/View;
move-result-object v3
check-cast v3, Landroid/widget/TextView;
.line 97
.local v3, recentsNoAppsText:Landroid/widget/TextView;
invoke-virtual {v3, v0}, Landroid/widget/TextView;->setTextColor(I)V
:try_end_0
.catch Landroid/content/res/Resources$NotFoundException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 99
.end local v0 #accentNeutralColor:I
.end local v3 #recentsNoAppsText:Landroid/widget/TextView;
:catch_0
move-exception v2
.line 101
.local v2, e:Landroid/content/res/Resources$NotFoundException;
invoke-virtual {v2}, Landroid/content/res/Resources$NotFoundException;->printStackTrace()V
goto :goto_0
.end method[/COLOR]
PhoneStatusBar.smali
Code:
.method makeExpandedVisible()V
.locals 5
.prologue
const/4 v3, 0x1
.line 1995
iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedVisible:Z
if-nez v0, :cond_0
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->panelsEnabled()Z
move-result v0
if-nez v0, :cond_1
.line 2027
:cond_0
:goto_0
return-void
.line 1999
:cond_1
iput-boolean v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedVisible:Z
.line 2000
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
invoke-virtual {v0, v3}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->setLayoutTransitionsEnabled(Z)V
.line 2001
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNavigationBarView:Lcom/android/systemui/statusbar/phone/NavigationBarView;
if-eqz v0, :cond_2
.line 2002
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNavigationBarView:Lcom/android/systemui/statusbar/phone/NavigationBarView;
invoke-virtual {v0, v3}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->setSlippery(Z)V
.line 2004
:cond_2
invoke-virtual {p0, v3}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->updateCarrierLabelVisibility(Z)V
.line 2006
const/16 v0, -0x2710
invoke-virtual {p0, v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->updateExpandedViewPos(I)V
[COLOR="red"].line 2007
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "somc_accent_color_neutral"
const-string v2, "color"
const-string v4, "com.sonyericsson.uxp"
invoke-virtual {v0, v1, v2, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v1
.line 2008
if-eqz v1, :cond_3
.line 2009
:try_start_0
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getColor(I)I
move-result v2
.line 2010
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationPanelHeader:Landroid/view/View;
const v4, 0x7f08007b
invoke-virtual {v0, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/TextView;
invoke-virtual {v0, v2}, Landroid/widget/TextView;->setTextColor(I)V
.line 2012
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
const v4, 0x7f08007e
invoke-virtual {v0, v4}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/Button;
invoke-virtual {v0, v2}, Landroid/widget/Button;->setTextColor(I)V
.line 2013
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
const v4, 0x7f08007f
invoke-virtual {v0, v4}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/Button;
invoke-virtual {v0, v2}, Landroid/widget/Button;->setTextColor(I)V
:try_end_0
.catch Landroid/content/res/Resources$NotFoundException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
.line 2016
:cond_3
:goto_1[/COLOR]
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroid/view/WindowManager$LayoutParams;
.line 2017
iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
and-int/lit8 v1, v1, -0x9
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
.line 2018
iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
const/high16 v2, 0x2
or-int/2addr v1, v2
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
.line 2019
const/4 v1, -0x1
iput v1, v0, Landroid/view/WindowManager$LayoutParams;->height:I
.line 2020
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mWindowManager:Landroid/view/WindowManager;
iget-object v2, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
invoke-interface {v1, v2, v0}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
.line 2021
invoke-virtual {p0, v3}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->visibilityChanged(Z)V
.line 2022
invoke-virtual {p0, v3, v3}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setInteracting(IZ)V
.line 2023
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationPanel:Lcom/android/systemui/statusbar/phone/NotificationPanelView;
instance-of v0, v0, Lcom/sonymobile/systemui/statusbar/tools/SomcTabsNotificationPanelView;
if-eqz v0, :cond_0
.line 2024
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationPanel:Lcom/android/systemui/statusbar/phone/NotificationPanelView;
check-cast v0, Lcom/sonymobile/systemui/statusbar/tools/SomcTabsNotificationPanelView;
invoke-virtual {v0, v3}, Lcom/sonymobile/systemui/statusbar/tools/SomcTabsNotificationPanelView;->onExpandedChanged(Z)V
.line 2025
invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->isAccessibilityEnabled()Z
move-result v0
if-eqz v0, :cond_0
.line 2026
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
const/4 v1, 0x4
invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->setVisibility(I)V
goto/16 :goto_0
[COLOR="red"].line 1854
:catch_0
move-exception v0
.line 1855
const-string v0, "PhoneStatusBar"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Can not find color resource "
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-static {v1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_1
.line 1856
:catch_1
move-exception v0
.line 1857
const-string v0, "PhoneStatusBar"
const-string v1, "Can not colorize the clock"
invoke-static {v0, v1}, Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_1[/COLOR]
.end method
Pay attention on every method, in some cases I have needed to increase .locals value (underneath method name)
That´s it!! Good luck... \m/
Changelog
v1.0 - 08/02/2015:
- Initial release
@serajr thanks you
I needed a lot
Keep good work
Nice tut blood bro @serajr
Keep it up, very usefull for new people
Sent From Somewhere On Earth With My Z2 ^^
Amazing guide sir!! Thanks a lot.. :highfive::good:
omg !!!!
Amazing
Thanks :good::good::good:
Nice
It looks good and possible! However im just lazy and it looks scary to me!
WoW
well done :good:
Congratulations!!
Congratulations sir!! Your fantastic guide is on portal!! :good:
STRYDER~007 said:
Congratulations sir!! Your fantastic guide is on portal!! :good:
Click to expand...
Click to collapse
Wow... xda guys are faster than never!
Thank you bro!!!
thanks @serajr ^^ nice tut ^^
@serajr awesome.
Thanks Bro. Greats! Regards ?✌
Sent from my Sony Xperia Z3 Sensation - D6643 by Ogunja ??✌
serajr said:
v1.0 - 08/02/2015:
- Initial release
Click to expand...
Click to collapse
Nice work @serajr :highfive:
The Master did it again!!Thanks Master of smali coding----->@serajr :good:
This guide blows my mind
Any simpler guide or something else like that?
MT27i said:
This guide blows my mind
Any simpler guide or something else like that?
Click to expand...
Click to collapse
There's a way to get theme accent without editing any smali.
idid idamrep said:
There's a way to get theme accent without editing any smali.
Click to expand...
Click to collapse
Exactly!
I'm gonna try updating this guide with Lollipop SystemUI.apk.
No ETA, please!
Awesome guide!
Hello i'm doing work on Xperia X's Settings app
Well progress is at 30%
Right now I only able to add Custom Entries like "Xperia Connection" In Dashboard.
The way of port is using "only" Xperia's stock files , not other stuff...
All Dashboard entries work perfectly ....
Right now cant share guide but ScreenShots are here ....
As a time i got ... it will take a month to port it fully...
{
"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"
}
Orignal Port is coming.... well right now exams running .... So I'm taking break
Exams over in 6 june... Stay Connected..
@Ben Ling well i got untouched Settings.apk from Xperia X ... I'm working on it....
You uploaded on your thread was not real one or it is real one then it influence by someone ....
thanks for sharing everything with us
love ya... hahaha...
Guide:
Changes in SettingsActivity.smali
add line below [ invoke-static {p0, v0, p1}, Lcom/android/settings/SettingsActivity;->loadCategoriesFromResource(ILjava/util/ListV ]
PHP:
.line 1030
const v0, 0x7f080065
invoke-static {p0, v0, p1}, Lcom/sonymobile/settings/SomcDashboardTiles;->loadTilesFromResource(Lcom/android/settings/SettingsActivity;ILjava/util/List;)V
above 0x7f080065 is public.xml id of [ somc_add_dashboard_tiles ]
PHP:
<public type="xml" name="somc_add_dashboard_tiles" id="0x7f080065" />
------------------
change [ invoke-static to invoke-virtual ]
PHP:
invoke-virtual {p0, v0, p1}, Lcom/android/settings/SettingsActivity;->loadCategoriesFromResource(ILjava/util/List;)V
--------------------------
Replace this code with full method [ .method public loadCategoriesFromResource(ILjava/util/ListV ]
PHP:
.method public loadCategoriesFromResource(ILjava/util/List;)V
.locals 22
.param p1, "resid" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/util/List",
"<",
"Lcom/android/settings/dashboard/DashboardCategory;",
">;)V"
}
.end annotation
.prologue
.line 990
.local p2, "target":Ljava/util/List;, "Ljava/util/List<Lcom/android/settings/dashboard/DashboardCategory;>;"
const/4 v12, 0x0
.line 992
.local v12, "parser":Landroid/content/res/XmlResourceParser;
:try_start_0
invoke-virtual/range {p0 .. p0}, Lcom/android/settings/SettingsActivity;->getResources()Landroid/content/res/Resources;
move-result-object v17
move-object/from16 v0, v17
move/from16 v1, p1
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getXml(I)Landroid/content/res/XmlResourceParser;
move-result-object v12
.line 993
invoke-static {v12}, Landroid/util/Xml;->asAttributeSet(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/AttributeSet;
move-result-object v2
.line 997
.local v2, "attrs":Landroid/util/AttributeSet;
:cond_0
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->next()I
move-result v16
.local v16, "type":I
const/16 v17, 0x1
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_1
const/16 v17, 0x2
move/from16 v0, v16
move/from16 v1, v17
if-ne v0, v1, :cond_0
.line 1001
:cond_1
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getName()Ljava/lang/String;
move-result-object v10
.line 1002
.local v10, "nodeName":Ljava/lang/String;
const-string v17, "dashboard-categories"
move-object/from16 v0, v17
invoke-virtual {v0, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v17
if-nez v17, :cond_3
.line 1003
new-instance v17, Ljava/lang/RuntimeException;
new-instance v18, Ljava/lang/StringBuilder;
invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
const-string v19, "XML document must start with <preference-categories> tag; found"
invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v18
move-object/from16 v0, v18
invoke-virtual {v0, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v18
const-string v19, " at "
invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v18
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getPositionDescription()Ljava/lang/String;
move-result-object v19
invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v18
invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v18
invoke-direct/range {v17 .. v18}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v17
:try_end_0
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 1123
.end local v2 # "attrs":Landroid/util/AttributeSet;
.end local v10 # "nodeName":Ljava/lang/String;
.end local v16 # "type":I
:catch_0
move-exception v5
.line 1124
.local v5, "e":Lorg/xmlpull/v1/XmlPullParserException;
:try_start_1
new-instance v17, Ljava/lang/RuntimeException;
const-string v18, "Error parsing categories"
move-object/from16 v0, v17
move-object/from16 v1, v18
invoke-direct {v0, v1, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v17
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 1128
.end local v5 # "e":Lorg/xmlpull/v1/XmlPullParserException;
:catchall_0
move-exception v17
if-eqz v12, :cond_2
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->close()V
:cond_2
throw v17
.line 1008
.restart local v2 # "attrs":Landroid/util/AttributeSet;
.restart local v10 # "nodeName":Ljava/lang/String;
.restart local v16 # "type":I
:cond_3
const/4 v4, 0x0
.line 1010
.local v4, "curBundle":Landroid/os/Bundle;
:try_start_2
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getDepth()I
move-result v11
.line 1012
.local v11, "outerDepth":I
:cond_4
:goto_0
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->next()I
move-result v16
const/16 v17, 0x1
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_19
const/16 v17, 0x3
move/from16 v0, v16
move/from16 v1, v17
if-ne v0, v1, :cond_5
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getDepth()I
move-result v17
move/from16 v0, v17
if-le v0, v11, :cond_19
.line 1013
:cond_5
const/16 v17, 0x3
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_4
const/16 v17, 0x4
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_4
.line 1017
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getName()Ljava/lang/String;
move-result-object v10
.line 1018
const-string v17, "dashboard-category"
move-object/from16 v0, v17
invoke-virtual {v0, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_18
.line 1019
new-instance v3, Lcom/android/settings/dashboard/DashboardCategory;
invoke-direct {v3}, Lcom/android/settings/dashboard/DashboardCategory;-><init>()V
.line 1021
.local v3, "category":Lcom/android/settings/dashboard/DashboardCategory;
sget-object v17, Lcom/android/internal/R$styleable;->PreferenceHeader:[I
move-object/from16 v0, p0
move-object/from16 v1, v17
invoke-virtual {v0, v2, v1}, Lcom/android/settings/SettingsActivity;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
move-result-object v13
.line 1023
.local v13, "sa":Landroid/content/res/TypedArray;
const/16 v17, 0x1
const/16 v18, -0x1
move/from16 v0, v17
move/from16 v1, v18
invoke-virtual {v13, v0, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I
move-result v17
move/from16 v0, v17
int-to-long v0, v0
move-wide/from16 v18, v0
move-wide/from16 v0, v18
iput-wide v0, v3, Lcom/android/settings/dashboard/DashboardCategory;->id:J
.line 1027
const/16 v17, 0x2
move/from16 v0, v17
invoke-virtual {v13, v0}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;
move-result-object v15
.line 1029
.local v15, "tv":Landroid/util/TypedValue;
if-eqz v15, :cond_6
iget v0, v15, Landroid/util/TypedValue;->type:I
move/from16 v17, v0
const/16 v18, 0x3
move/from16 v0, v17
move/from16 v1, v18
if-ne v0, v1, :cond_6
.line 1030
iget v0, v15, Landroid/util/TypedValue;->resourceId:I
move/from16 v17, v0
if-eqz v17, :cond_e
.line 1031
iget v0, v15, Landroid/util/TypedValue;->resourceId:I
move/from16 v17, v0
move/from16 v0, v17
iput v0, v3, Lcom/android/settings/dashboard/DashboardCategory;->titleRes:I
.line 1036
:cond_6
:goto_1
invoke-virtual {v13}, Landroid/content/res/TypedArray;->recycle()V
.line 1038
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getDepth()I
move-result v6
.line 1040
.local v6, "innerDepth":I
:cond_7
:goto_2
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->next()I
move-result v16
const/16 v17, 0x1
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_17
const/16 v17, 0x3
move/from16 v0, v16
move/from16 v1, v17
if-ne v0, v1, :cond_8
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getDepth()I
move-result v17
move/from16 v0, v17
if-le v0, v6, :cond_17
.line 1041
:cond_8
const/16 v17, 0x3
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_7
const/16 v17, 0x4
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_7
.line 1045
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getName()Ljava/lang/String;
move-result-object v8
.line 1046
.local v8, "innerNodeName":Ljava/lang/String;
const-string v17, "dashboard-tile"
move-object/from16 v0, v17
invoke-virtual {v8, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_16
.line 1047
new-instance v14, Lcom/android/settings/dashboard/DashboardTile;
invoke-direct {v14}, Lcom/android/settings/dashboard/DashboardTile;-><init>()V
.line 1049
.local v14, "tile":Lcom/android/settings/dashboard/DashboardTile;
sget-object v17, Lcom/android/internal/R$styleable;->PreferenceHeader:[I
move-object/from16 v0, p0
move-object/from16 v1, v17
invoke-virtual {v0, v2, v1}, Lcom/android/settings/SettingsActivity;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
move-result-object v13
.line 1051
const/16 v17, 0x1
const/16 v18, -0x1
move/from16 v0, v17
move/from16 v1, v18
invoke-virtual {v13, v0, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I
move-result v17
move/from16 v0, v17
int-to-long v0, v0
move-wide/from16 v18, v0
move-wide/from16 v0, v18
iput-wide v0, v14, Lcom/android/settings/dashboard/DashboardTile;->id:J
.line 1054
const/16 v17, 0x2
move/from16 v0, v17
invoke-virtual {v13, v0}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;
move-result-object v15
.line 1056
if-eqz v15, :cond_9
iget v0, v15, Landroid/util/TypedValue;->type:I
move/from16 v17, v0
const/16 v18, 0x3
move/from16 v0, v17
move/from16 v1, v18
if-ne v0, v1, :cond_9
.line 1057
iget v0, v15, Landroid/util/TypedValue;->resourceId:I
move/from16 v17, v0
if-eqz v17, :cond_f
.line 1058
iget v0, v15, Landroid/util/TypedValue;->resourceId:I
move/from16 v17, v0
move/from16 v0, v17
iput v0, v14, Lcom/android/settings/dashboard/DashboardTile;->titleRes:I
.line 1063
:cond_9
:goto_3
const/16 v17, 0x3
move/from16 v0, v17
invoke-virtual {v13, v0}, Landroid/content/res/TypedArray;->peekValue(I)Landroid/util/TypedValue;
move-result-object v15
.line 1065
if-eqz v15, :cond_a
iget v0, v15, Landroid/util/TypedValue;->type:I
move/from16 v17, v0
const/16 v18, 0x3
move/from16 v0, v17
move/from16 v1, v18
if-ne v0, v1, :cond_a
.line 1066
iget v0, v15, Landroid/util/TypedValue;->resourceId:I
move/from16 v17, v0
if-eqz v17, :cond_10
.line 1067
iget v0, v15, Landroid/util/TypedValue;->resourceId:I
move/from16 v17, v0
move/from16 v0, v17
iput v0, v14, Lcom/android/settings/dashboard/DashboardTile;->summaryRes:I
.line 1072
:cond_a
:goto_4
const/16 v17, 0x0
const/16 v18, 0x0
move/from16 v0, v17
move/from16 v1, v18
invoke-virtual {v13, v0, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I
move-result v17
move/from16 v0, v17
iput v0, v14, Lcom/android/settings/dashboard/DashboardTile;->iconRes:I
.line 1074
const/16 v17, 0x4
move/from16 v0, v17
invoke-virtual {v13, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
move-result-object v17
move-object/from16 v0, v17
iput-object v0, v14, Lcom/android/settings/dashboard/DashboardTile;->fragment:Ljava/lang/String;
.line 1076
invoke-virtual {v13}, Landroid/content/res/TypedArray;->recycle()V
.line 1078
if-nez v4, :cond_b
.line 1079
new-instance v4, Landroid/os/Bundle;
.end local v4 # "curBundle":Landroid/os/Bundle;
invoke-direct {v4}, Landroid/os/Bundle;-><init>()V
.line 1082
.restart local v4 # "curBundle":Landroid/os/Bundle;
:cond_b
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getDepth()I
move-result v7
.line 1084
.local v7, "innerDepth2":I
:cond_c
:goto_5
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->next()I
move-result v16
const/16 v17, 0x1
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_13
const/16 v17, 0x3
move/from16 v0, v16
move/from16 v1, v17
if-ne v0, v1, :cond_d
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getDepth()I
move-result v17
move/from16 v0, v17
if-le v0, v7, :cond_13
.line 1085
:cond_d
const/16 v17, 0x3
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_c
const/16 v17, 0x4
move/from16 v0, v16
move/from16 v1, v17
if-eq v0, v1, :cond_c
.line 1089
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->getName()Ljava/lang/String;
move-result-object v9
.line 1090
.local v9, "innerNodeName2":Ljava/lang/String;
const-string v17, "extra"
move-object/from16 v0, v17
invoke-virtual {v9, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_11
.line 1091
invoke-virtual/range {p0 .. p0}, Lcom/android/settings/SettingsActivity;->getResources()Landroid/content/res/Resources;
move-result-object v17
const-string v18, "extra"
move-object/from16 v0, v17
move-object/from16 v1, v18
invoke-virtual {v0, v1, v2, v4}, Landroid/content/res/Resources;->parseBundleExtra(Ljava/lang/String;Landroid/util/AttributeSet;Landroid/os/Bundle;)V
.line 1092
invoke-static {v12}, Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V
:try_end_2
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_2 .. :try_end_2} :catch_0
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_1
.catchall {:try_start_2 .. :try_end_2} :catchall_0
goto :goto_5
.line 1125
.end local v2 # "attrs":Landroid/util/AttributeSet;
.end local v3 # "category":Lcom/android/settings/dashboard/DashboardCategory;
.end local v4 # "curBundle":Landroid/os/Bundle;
.end local v6 # "innerDepth":I
.end local v7 # "innerDepth2":I
.end local v8 # "innerNodeName":Ljava/lang/String;
.end local v9 # "innerNodeName2":Ljava/lang/String;
.end local v10 # "nodeName":Ljava/lang/String;
.end local v11 # "outerDepth":I
.end local v13 # "sa":Landroid/content/res/TypedArray;
.end local v14 # "tile":Lcom/android/settings/dashboard/DashboardTile;
.end local v15 # "tv":Landroid/util/TypedValue;
.end local v16 # "type":I
:catch_1
move-exception v5
.line 1126
.local v5, "e":Ljava/io/IOException;
:try_start_3
new-instance v17, Ljava/lang/RuntimeException;
const-string v18, "Error parsing categories"
move-object/from16 v0, v17
move-object/from16 v1, v18
invoke-direct {v0, v1, v5}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v17
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
.line 1033
.end local v5 # "e":Ljava/io/IOException;
.restart local v2 # "attrs":Landroid/util/AttributeSet;
.restart local v3 # "category":Lcom/android/settings/dashboard/DashboardCategory;
.restart local v4 # "curBundle":Landroid/os/Bundle;
.restart local v10 # "nodeName":Ljava/lang/String;
.restart local v11 # "outerDepth":I
.restart local v13 # "sa":Landroid/content/res/TypedArray;
.restart local v15 # "tv":Landroid/util/TypedValue;
.restart local v16 # "type":I
:cond_e
:try_start_4
iget-object v0, v15, Landroid/util/TypedValue;->string:Ljava/lang/CharSequence;
move-object/from16 v17, v0
move-object/from16 v0, v17
iput-object v0, v3, Lcom/android/settings/dashboard/DashboardCategory;->title:Ljava/lang/CharSequence;
goto/16 :goto_1
.line 1060
.restart local v6 # "innerDepth":I
.restart local v8 # "innerNodeName":Ljava/lang/String;
.restart local v14 # "tile":Lcom/android/settings/dashboard/DashboardTile;
:cond_f
iget-object v0, v15, Landroid/util/TypedValue;->string:Ljava/lang/CharSequence;
move-object/from16 v17, v0
move-object/from16 v0, v17
iput-object v0, v14, Lcom/android/settings/dashboard/DashboardTile;->title:Ljava/lang/CharSequence;
goto/16 :goto_3
.line 1069
:cond_10
iget-object v0, v15, Landroid/util/TypedValue;->string:Ljava/lang/CharSequence;
move-object/from16 v17, v0
move-object/from16 v0, v17
iput-object v0, v14, Lcom/android/settings/dashboard/DashboardTile;->summary:Ljava/lang/CharSequence;
goto/16 :goto_4
.line 1094
.restart local v7 # "innerDepth2":I
.restart local v9 # "innerNodeName2":Ljava/lang/String;
:cond_11
const-string v17, "intent"
move-object/from16 v0, v17
invoke-virtual {v9, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v17
if-eqz v17, :cond_12
.line 1095
invoke-virtual/range {p0 .. p0}, Lcom/android/settings/SettingsActivity;->getResources()Landroid/content/res/Resources;
move-result-object v17
move-object/from16 v0, v17
invoke-static {v0, v12, v2}, Landroid/content/Intent;->parseIntent(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/content/Intent;
move-result-object v17
move-object/from16 v0, v17
iput-object v0, v14, Lcom/android/settings/dashboard/DashboardTile;->intent:Landroid/content/Intent;
goto/16 :goto_5
.line 1098
:cond_12
invoke-static {v12}, Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V
goto/16 :goto_5
.line 1102
.end local v9 # "innerNodeName2":Ljava/lang/String;
:cond_13
invoke-virtual {v4}, Landroid/os/Bundle;->size()I
move-result v17
if-lez v17, :cond_14
.line 1103
iput-object v4, v14, Lcom/android/settings/dashboard/DashboardTile;->fragmentArguments:Landroid/os/Bundle;
.line 1104
const/4 v4, 0x0
.line 1108
:cond_14
iget-wide v0, v14, Lcom/android/settings/dashboard/DashboardTile;->id:J
move-wide/from16 v18, v0
const-wide/32 v20, 0x7f0f0241
cmp-long v17, v18, v20
if-nez v17, :cond_15
invoke-static/range {p0 .. p0}, Lcom/android/settings/Utils;->showSimCardTile(Landroid/content/Context;)Z
move-result v17
if-eqz v17, :cond_7
.line 1109
:cond_15
invoke-virtual {v3, v14}, Lcom/android/settings/dashboard/DashboardCategory;->addTile(Lcom/android/settings/dashboard/DashboardTile;)V
goto/16 :goto_2
.line 1113
.end local v7 # "innerDepth2":I
.end local v14 # "tile":Lcom/android/settings/dashboard/DashboardTile;
:cond_16
invoke-static {v12}, Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V
goto/16 :goto_2
.line 1117
.end local v8 # "innerNodeName":Ljava/lang/String;
:cond_17
move-object/from16 v0, p2
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto/16 :goto_0
.line 1119
.end local v3 # "category":Lcom/android/settings/dashboard/DashboardCategory;
.end local v6 # "innerDepth":I
.end local v13 # "sa":Landroid/content/res/TypedArray;
.end local v15 # "tv":Landroid/util/TypedValue;
:cond_18
invoke-static {v12}, Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V
:try_end_4
.catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_4 .. :try_end_4} :catch_0
.catch Ljava/io/IOException; {:try_start_4 .. :try_end_4} :catch_1
.catchall {:try_start_4 .. :try_end_4} :catchall_0
goto/16 :goto_0
.line 1128
:cond_19
if-eqz v12, :cond_1a
invoke-interface {v12}, Landroid/content/res/XmlResourceParser;->close()V
.line 1130
:cond_1a
return-void
.end method
--------------------------------------------
add entry in public.xml
PHP:
<public type="xml" name="somc_add_dashboard_tiles" id="0x7f080065" />
--------------------------------------------
put somc_add_dashboard_tiles.xml to /res/xml/
========================
Changes in SettingsPreferenceFragment.smali
first line should be
PHP:
.class public Lcom/android/settings/SettingsPreferenceFragment;
remove "abstract" if it present in above line
---------------------------------------
Replace line like [ Lcom/android/settings/InstrumentedPreferenceFragment with Lcom/sonymobile/settings/preference/util/SomcSettingsPreferenceFragment; ]
it will after change look like this
PHP:
.super Lcom/sonymobile/settings/preference/util/SomcSettingsPreferenceFragment;
in whole file change every [ Lcom/android/settings/InstrumentedPreferenceFragment with Lcom/sonymobile/settings/preference/util/SomcSettingsPreferenceFragment; ]
================================================================================================
add icon file and strings and id in xml
it will show you new list of missing things in xmls
Download:
Settings.zip [Flashable Zip]
Attachments will soon....
Nice guide but where is the card view like in @Ben Ling his ported Xperia X settings ?
Pandemic said:
Nice guide but where is the card view like in @Ben Ling his ported Xperia X settings ?
Click to expand...
Click to collapse
I'm Putting Xperia X's Settings features to Xperia Consept rom
it will be one by one...
1) Adding extra entries in Dashboard [ DONE ]
2) all entries add automatically in Settings if its apk installed on phone like "SoundEnhancement entry" [ DONE ]
3) Combining Storage and Memory in one dashboard entry [ WORKING ON IT ]
4) All theme work.. [ PANDING ]
@Ben Ling has ported for Stock builds and on stock builds its works well thanks to him
I'm working for CM13 users so they also can use it..
Tried this port evrything working fine
But sound settings and lock screen settings was force closes always plz try to fix soon
yahh ... bro. its cause of CM's own 9x9 pattern view.. it will be fix after all work done. cause it require framework.jar editing..
wolfmannight said:
yahh ... bro. its cause of CM's own 9x9 pattern view.. it will be fix after all work done. cause it require framework.jar editing..
Click to expand...
Click to collapse
Work on Xperia SP CM13?
hello guys
Here go i come with new tut today
which i got from awesome cataclysm rom and cyanogenmod
So i dont want to kill all your time
i will explain you very simple way
For Lp version Click Here
All you need is
service.jar ( deodexed )
settings.apk (deodexed )
1. Decompile service.jar
2. open com/android/server/policy/PhoneWindowManager.smali
3. look for this method
Code:
.method public updateSettings()V
replace all the code with this
Code:
.method public updateSettings()V
.locals 20
.prologue
.line 1829
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-virtual {v15}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v10
.line 1830
.local v10, "resolver":Landroid/content/ContentResolver;
const/4 v11, 0x0
.line 1831
.local v11, "updateRotation":Z
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mLock:Ljava/lang/Object;
move-object/from16 v16, v0
monitor-enter v16
.line 1833
:try_start_0
const-string/jumbo v15, "end_button_behavior"
.line 1834
const/16 v17, 0x2
.line 1835
const/16 v18, -0x2
.line 1832
move/from16 v0, v17
move/from16 v1, v18
invoke-static {v10, v15, v0, v1}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v15
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mEndcallBehavior:I
.line 1837
const-string/jumbo v15, "incall_power_button_behavior"
.line 1838
const/16 v17, 0x1
.line 1839
const/16 v18, -0x2
.line 1836
move/from16 v0, v17
move/from16 v1, v18
invoke-static {v10, v15, v0, v1}, Landroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v15
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mIncallPowerBehavior:I
.line 1841
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-virtual {v15}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v15
const v17, 0x1050018
move/from16 v0, v17
invoke-virtual {v15, v0}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v5
.line 1842
.local v5, "navBarDefaultHeight":I
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-virtual {v15}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v15
const v17, 0x105001a
move/from16 v0, v17
invoke-virtual {v15, v0}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v6
.line 1844
.local v6, "navBarDefaultWidth":I
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-virtual {v15}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v15
.line 1845
const-string/jumbo v17, "navigation_bar_height"
const/16 v18, 0x64
const/16 v19, -0x3
.line 1844
move-object/from16 v0, v17
move/from16 v1, v18
move/from16 v2, v19
invoke-static {v15, v0, v1, v2}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v15
mul-int/2addr v15, v5
div-int/lit8 v7, v15, 0x64
.line 1846
.local v7, "navBarHeight":I
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-virtual {v15}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v15
.line 1847
const-string/jumbo v17, "navigation_bar_width"
const/16 v18, 0x64
const/16 v19, -0x3
.line 1846
move-object/from16 v0, v17
move/from16 v1, v18
move/from16 v2, v19
invoke-static {v15, v0, v1, v2}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v15
mul-int/2addr v15, v6
div-int/lit8 v8, v15, 0x64
.line 1849
.local v8, "navBarWidth":I
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mNavigationBarHeightForRotation:[I
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mPortraitRotation:I
move/from16 v17, v0
.line 1852
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mNavigationBarHeightForRotation:[I
move-object/from16 v18, v0
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mSeascapeRotation:I
move/from16 v19, v0
aput v7, v18, v19
.line 1851
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mNavigationBarHeightForRotation:[I
move-object/from16 v18, v0
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mLandscapeRotation:I
move/from16 v19, v0
aput v7, v18, v19
.line 1850
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mNavigationBarHeightForRotation:[I
move-object/from16 v18, v0
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mUpsideDownRotation:I
move/from16 v19, v0
aput v7, v18, v19
.line 1849
aput v7, v15, v17
.line 1854
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mNavigationBarWidthForRotation:[I
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mPortraitRotation:I
move/from16 v17, v0
.line 1857
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mNavigationBarWidthForRotation:[I
move-object/from16 v18, v0
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mSeascapeRotation:I
move/from16 v19, v0
aput v8, v18, v19
.line 1856
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mNavigationBarWidthForRotation:[I
move-object/from16 v18, v0
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mLandscapeRotation:I
move/from16 v19, v0
aput v8, v18, v19
.line 1855
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mNavigationBarWidthForRotation:[I
move-object/from16 v18, v0
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mUpsideDownRotation:I
move/from16 v19, v0
aput v8, v18, v19
.line 1854
aput v8, v15, v17
.line 1873
const-string/jumbo v15, "wake_gesture_enabled"
const/16 v17, 0x0
.line 1874
const/16 v18, -0x2
.line 1872
move/from16 v0, v17
move/from16 v1, v18
invoke-static {v10, v15, v0, v1}, Landroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v15
if-eqz v15, :cond_7
const/4 v14, 0x1
.line 1875
.local v14, "wakeGestureEnabledSetting":Z
:goto_0
move-object/from16 v0, p0
iget-boolean v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mWakeGestureEnabledSetting:Z
if-eq v15, v14, :cond_0
.line 1876
move-object/from16 v0, p0
iput-boolean v14, v0, Lcom/android/server/policy/PhoneWindowManager;->mWakeGestureEnabledSetting:Z
.line 1877
invoke-direct/range {p0 .. p0}, Lcom/android/server/policy/PhoneWindowManager;->updateWakeGestureListenerLp()V
.line 1880
:cond_0
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-virtual {v15}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v17
.line 1886
const-string/jumbo v15, "user_rotation"
const/16 v17, 0x0
.line 1887
const/16 v18, -0x2
.line 1885
move/from16 v0, v17
move/from16 v1, v18
invoke-static {v10, v15, v0, v1}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v12
.line 1888
.local v12, "userRotation":I
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mUserRotation:I
if-eq v15, v12, :cond_1
.line 1889
move-object/from16 v0, p0
iput v12, v0, Lcom/android/server/policy/PhoneWindowManager;->mUserRotation:I
.line 1890
const/4 v11, 0x1
.line 1893
:cond_1
const-string/jumbo v15, "accelerometer_rotation"
const/16 v17, 0x0
const/16 v18, -0x2
.line 1892
move/from16 v0, v17
move/from16 v1, v18
invoke-static {v10, v15, v0, v1}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v15
if-eqz v15, :cond_8
.line 1894
const/4 v13, 0x0
.line 1896
.local v13, "userRotationMode":I
:goto_1
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mUserRotationMode:I
if-eq v15, v13, :cond_2
.line 1897
move-object/from16 v0, p0
iput v13, v0, Lcom/android/server/policy/PhoneWindowManager;->mUserRotationMode:I
.line 1898
const/4 v11, 0x1
.line 1899
invoke-virtual/range {p0 .. p0}, Lcom/android/server/policy/PhoneWindowManager;->updateOrientationListenerLp()V
.line 1902
:cond_2
move-object/from16 v0, p0
iget-boolean v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mSystemReady:Z
if-eqz v15, :cond_3
.line 1904
const-string/jumbo v15, "pointer_location"
const/16 v17, 0x0
const/16 v18, -0x2
.line 1903
move/from16 v0, v17
move/from16 v1, v18
invoke-static {v10, v15, v0, v1}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v9
.line 1905
.local v9, "pointerLocation":I
move-object/from16 v0, p0
iget v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mPointerLocationMode:I
if-eq v15, v9, :cond_3
.line 1906
move-object/from16 v0, p0
iput v9, v0, Lcom/android/server/policy/PhoneWindowManager;->mPointerLocationMode:I
.line 1907
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mHandler:Landroid/os/Handler;
move-object/from16 v17, v0
if-eqz v9, :cond_9
.line 1908
const/4 v15, 0x1
.line 1907
:goto_2
move-object/from16 v0, v17
invoke-virtual {v0, v15}, Landroid/os/Handler;->sendEmptyMessage(I)Z
.line 1913
.end local v9 # "pointerLocation":I
:cond_3
const-string/jumbo v15, "screen_off_timeout"
const/16 v17, 0x0
const/16 v18, -0x2
.line 1912
move/from16 v0, v17
move/from16 v1, v18
invoke-static {v10, v15, v0, v1}, Landroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
move-result v15
move-object/from16 v0, p0
iput v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mLockScreenTimeout:I
.line 1915
const-string/jumbo v15, "default_input_method"
const/16 v17, -0x2
.line 1914
move/from16 v0, v17
invoke-static {v10, v15, v0}, Landroid/provider/Settings$Secure;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
move-result-object v4
.line 1916
.local v4, "imId":Ljava/lang/String;
if-eqz v4, :cond_a
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v15
if-lez v15, :cond_a
const/4 v3, 0x1
.line 1917
.local v3, "hasSoftInput":Z
:goto_3
move-object/from16 v0, p0
iget-boolean v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mHasSoftInput:Z
if-eq v15, v3, :cond_4
.line 1918
move-object/from16 v0, p0
iput-boolean v3, v0, Lcom/android/server/policy/PhoneWindowManager;->mHasSoftInput:Z
.line 1919
const/4 v11, 0x1
.line 1921
:cond_4
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mImmersiveModeConfirmation:Lcom/android/server/policy/ImmersiveModeConfirmation;
if-eqz v15, :cond_5
.line 1922
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mImmersiveModeConfirmation:Lcom/android/server/policy/ImmersiveModeConfirmation;
move-object/from16 v0, p0
iget v0, v0, Lcom/android/server/policy/PhoneWindowManager;->mCurrentUserId:I
move/from16 v17, v0
move/from16 v0, v17
invoke-virtual {v15, v0}, Lcom/android/server/policy/ImmersiveModeConfirmation;->loadSetting(I)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:cond_5
monitor-exit v16
.line 1925
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mWindowManagerFuncs:Landroid/view/WindowManagerPolicy$WindowManagerFuncs;
invoke-interface {v15}, Landroid/view/WindowManagerPolicy$WindowManagerFuncs;->getWindowManagerLock()Ljava/lang/Object;
move-result-object v16
monitor-enter v16
.line 1926
:try_start_1
move-object/from16 v0, p0
iget-object v15, v0, Lcom/android/server/policy/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-static {v15}, Lcom/android/server/policy/PolicyControl;->reloadFromSetting(Landroid/content/Context;)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
monitor-exit v16
.line 1928
if-eqz v11, :cond_6
.line 1929
const/4 v15, 0x1
move-object/from16 v0, p0
invoke-virtual {v0, v15}, Lcom/android/server/policy/PhoneWindowManager;->updateRotation(Z)V
.line 1828
:cond_6
return-void
.line 1860
.end local v3 # "hasSoftInput":Z
.end local v4 # "imId":Ljava/lang/String;
.end local v12 # "userRotation":I
.end local v13 # "userRotationMode":I
.end local v14 # "wakeGestureEnabledSetting":Z
.line 1872
:cond_7
const/4 v14, 0x0
.restart local v14 # "wakeGestureEnabledSetting":Z
goto/16 :goto_0
.line 1895
.restart local v12 # "userRotation":I
:cond_8
const/4 v13, 0x1
.restart local v13 # "userRotationMode":I
goto/16 :goto_1
.line 1908
.restart local v9 # "pointerLocation":I
:cond_9
const/4 v15, 0x2
goto :goto_2
.line 1916
.end local v9 # "pointerLocation":I
.restart local v4 # "imId":Ljava/lang/String;
:cond_a
const/4 v3, 0x0
.restart local v3 # "hasSoftInput":Z
goto :goto_3
.line 1831
.end local v3 # "hasSoftInput":Z
.end local v4 # "imId":Ljava/lang/String;
.end local v5 # "navBarDefaultHeight":I
.end local v6 # "navBarDefaultWidth":I
.end local v7 # "navBarHeight":I
.end local v8 # "navBarWidth":I
.end local v12 # "userRotation":I
.end local v13 # "userRotationMode":I
.end local v14 # "wakeGestureEnabledSetting":Z
:catchall_0
move-exception v15
monitor-exit v16
throw v15
.line 1925
.restart local v3 # "hasSoftInput":Z
.restart local v4 # "imId":Ljava/lang/String;
.restart local v5 # "navBarDefaultHeight":I
.restart local v6 # "navBarDefaultWidth":I
.restart local v7 # "navBarHeight":I
.restart local v8 # "navBarWidth":I
.restart local v12 # "userRotation":I
.restart local v13 # "userRotationMode":I
.restart local v14 # "wakeGestureEnabledSetting":Z
:catchall_1
move-exception v15
monitor-exit v16
throw v15
.end method
in that find these and replace the public ids from framework-res.apk
find this 0x1050018 (replace as yours in framework-res.apk)
<public type="dimen" name="navigation_bar_height" id="0x01050018" />
find this 0x105001a (replace as yours in framework-res.apk)
<public type="dimen" name="navigation_bar_height_landscape" id="0x0105001a" />
Now save this and close
Continued in post #2
part 2
4. Now open com/android/server/policy/PhoneWindowManager$SettingsObserver
Find this method
Code:
.method observe()V
in that find this line
Code:
const-string/jumbo v1, "policy_control"
or
Code:
const-string v1, "policy_control"
and before this add these lines
Code:
.line 775
const-string/jumbo v1, "navigation_bar_height"
.line 774
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual [COLOR="red"]{v0, v1, v3, p0, v2}[/COLOR], Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
.line 778
const-string/jumbo v1, "navigation_bar_width"
.line 777
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual [COLOR="Red"]{v0, v1, v3, p0, v2}[/COLOR], Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
the above red codes should match the one in smali
example
my code look like this
Code:
.line 772
const-string/jumbo v1, "policy_control"
.line 771
invoke-static {v1}, Landroid/provider/Settings$Global;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual [COLOR="red"]{v0, v1, v3, p0, v2}[/COLOR], Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
so here my red line code matched the above ( this is must )
done and compile
For settings look for the below post#3
settings.apk final part
well here come the final part which is need to control the navigation bar size
1. Decompile Settings.apk
2. Then add this seekbar preference ( follow this guide )
3. Now after you added the myseekbar preferences
open any xml you like ( example :- in display settings (settings.apk/res/xml/display_settings.xml)
in that add these lines before this </PreferenceScreen>
Code:
<com.android.settings.rz.MySeekBarPreference android:title="Resize portrait" android:key="navigation_bar_height" settings:type="15" />
<com.android.settings.rz.MySeekBarPreference android:title="Resize landscape" android:key="navigation_bar_width" settings:type="15" />
save and compile and sign it
replace these service.jar and Settings.apk files and reboot done....!
credits
My personal Rom and RR
No 1 ,great job bro
very nice share bro. Will try soon.. And for ur information please read this
http://en.mediamass.net/people/robert-downey-jr/deathhoax.html
The Iron man is still alive. So u can remove ur signature
Again... Awesome TUT bro @venkat kamesh \m/
Bro
Not working for me. Leave Settings part. Problems with services.jar part. I am getting bootloops after replacing services.jar. I have done it several times. No success.
This is ur code. u can see after "policy Control" again one extra line is specified.
{
"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"
}
\
here is mine, but i don't have that extra line.
Rajeev said:
very nice share bro. Will try soon.. And for ur information please read this
http://en.mediamass.net/people/robert-downey-jr/deathhoax.html
The Iron man is still alive. So u can remove ur signature
Click to expand...
Click to collapse
Tony stark was xda member bro
Not that iron man [emoji14]
Tony was one of my friend and xda moderator
Rajeev said:
Bro
Not working for me. Leave Settings part. Problems with services.jar part. I am getting bootloops after replacing services.jar. I have done it several times. No success.
This is ur code. u can see after "policy Control" again one extra line is specified.
\
here is mine, but i don't have that extra line.
Click to expand...
Click to collapse
Bro please recheck the code
The same used in mm krypton and jitz had it working
Sure he will help you bro
Don't forget to change public id by removing 0
1x0xxxxx
1x1xxxxx
I dnt understand tha tutorial.... Cos ow will one state tha exact size to be used or will it be in settings and one can select desire ones.... Cos i have reduced mine editing framework-res.apk only.
whalesplaho said:
I dnt understand tha tutorial.... Cos ow will one state tha exact size to be used or will it be in settings and one can select desire ones.... Cos i have reduced mine editing framework-res.apk only.
Click to expand...
Click to collapse
U can select ur desired one
Rajeev said:
U can select ur desired one
Click to expand...
Click to collapse
Dahs nice.... Av yhu been able to solve yur errors?
whalesplaho said:
Dahs nice.... Av yhu been able to solve yur errors?
Click to expand...
Click to collapse
Trying..
Rajeev said:
Trying..
Click to expand...
Click to collapse
Might try when i get home..... Keep trying brov
whalesplaho said:
Might try when i get home..... Keep trying brov
Click to expand...
Click to collapse
Tried several times. Not working for me. May be i am unlucky this time. I had problems with services.jar. Getting bootloop every time
Rajeev said:
Tried several times. Not working for me. May be i am unlucky this time. I had problems with services.jar. Getting bootloop every time
Click to expand...
Click to collapse
Deleted
Rajeev said:
Trying..
Click to expand...
Click to collapse
whalesplaho said:
Might try when i get home..... Keep trying brov
Click to expand...
Click to collapse
Rajeev said:
Tried several times. Not working for me. May be i am unlucky this time. I had problems with services.jar. Getting bootloop every time
Click to expand...
Click to collapse
jitz975 said:
Deleted
Click to expand...
Click to collapse
Oops sorry my mistake
Gonna edit
Small typo. And it will work bro [emoji14]
venkat kamesh said:
Oops sorry my mistake
Gonna edit
Small typo. And it will work bro [emoji14]
Click to expand...
Click to collapse
Thanks bro waiting...
@venkat kamesh - I've gotten everything working and no bootloops. However, my settings isn't working. I have the seekbars and everything showing I can slide them, but they do not have any effect on the navbar
Bloodlvst said:
@venkat kamesh - I've gotten everything working and no bootloops. However, my settings isn't working. I have the seekbars and everything showing I can slide them, but they do not have any effect on the navbar
Click to expand...
Click to collapse
Oops my mistake bro
A small typo again haha will correct it
venkat kamesh said:
Oops my mistake bro
A small typo again haha will correct it
Click to expand...
Click to collapse
Waiting bro