Editing services.jar operability lidroid panel 4.1 (JB)
what we actually
embedding lidroid panel stock SystemUI (4.1) was faced with its partial failure. ie blind worked, but flew in the selection of some switches (vkl.traffika, synchronization, flashlight, etc.) is probably true for P / U / GO / Sola, older models already have.
have been unsuccessful attempts to put a curtain lidroidom from similar phones (T / TX / V) or they would not start at all, or have worked extremely nekorrektno.sobstvenno there and noticed that bundled with them goes services.jar
the rest as they say, it's tehniki.sravnil, saw, conquered)
the intricacies I do not understand, so I will describe only that which inserted.
1.idom on the way services / smali / com / android / server / pm / PackageManagerService
source code fragment
.line 906
new-instance v2, Lcom / android / server / pm / Settings;
invoke-direct {v2}, Lcom / android / server / pm / Settings; -><init>() V
move-object / from16 v0, p0
iput-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
.line 907
move-object / from16 v0, p0
iget-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
const-string v3, "android.uid.system"
const / 16 v4, 0x3e8
const / 4 v5, 0x1
invoke-virtual {v2, v3, v4, v5}, Lcom / android / server / pm / Settings; ->addSharedUserLPw (Ljava / lang / String; II) Lcom / android / server / pm / SharedUserSetting;
.line 909
move-object / from16 v0, p0
iget-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
const-string v3, "android.uid.phone"
const / 16 v4, 0x3e9
const / 4 v5, 0x1
invoke-virtual {v2, v3, v4, v5}, Lcom / android / server / pm / Settings; ->addSharedUserLPw (Ljava / lang / String; II) Lcom / android / server / pm / SharedUserSetting;
.line 910
move-object / from16 v0, p0
iget-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
const-string v3, "android.uid.log"
const / 16 v4, 0x3ef
const / 4 v5, 0x1
invoke-virtual {v2, v3, v4, v5}, Lcom / android / server / pm / Settings; ->addSharedUserLPw (Ljava / lang / String; II) Lcom / android / server / pm / SharedUserSetting;
.line 911
move-object / from16 v0, p0
iget-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
const-string v3, "android.uid.nfc"
const / 16 v4, 0x403
const / 4 v5, 0x1
invoke-virtual {v2, v3, v4, v5}, Lcom / android / server / pm / Settings; ->addSharedUserLPw (Ljava / lang / String; II) Lcom / android / server / pm / SharedUserSetting;
inserted into the gap characteristic .nomera .line jump in this place through one value (in other rooms .line models naturally differ, but the principle is the same)
adding that the
.line 908
move-object / from16 v0, p0
iget-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
const-string v3, "com.sonymobile.uid.systemui"
const / 16 v4, 0x3e8
const / 4 v5, 0x1
invoke-virtual {v2, v3, v4, v5}, Lcom / android / server / pm / Settings; ->addSharedUserLPw (Ljava / lang / String; II) Lcom / android / server / pm / SharedUserSetting;
After editing, the red that was inserted
.line 906
new-instance v2, Lcom / android / server / pm / Settings;
invoke-direct {v2}, Lcom / android / server / pm / Settings; -><init>() V
move-object / from16 v0, p0
iput-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
.line 907
move-object / from16 v0, p0
iget-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
const-string v3, "android.uid.system"
const / 16 v4, 0x3e8
const / 4 v5, 0x1
invoke-virtual {v2, v3, v4, v5}, Lcom / android / server / pm / Settings; ->addSharedUserLPw (Ljava / lang / String; II) Lcom / android / server / pm / SharedUserSetting;
.line 908
move-object / from16 v0, p0
iget-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
const-string v3, "com.sonymobile.uid.systemui"
const / 16 v4, 0x3e8
const / 4 v5, 0x1
invoke-virtual {v2, v3, v4, v5}, Lcom / android / server / pm / Settings; ->addSharedUserLPw (Ljava / lang / String; II) Lcom / android / server / pm / SharedUserSetting;
.line 909
move-object / from16 v0, p0
iget-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
const-string v3, "android.uid.phone"
const / 16 v4, 0x3e9
const / 4 v5, 0x1
invoke-virtual {v2, v3, v4, v5}, Lcom / android / server / pm / Settings; ->addSharedUserLPw (Ljava / lang / String; II) Lcom / android / server / pm / SharedUserSetting;
.line 910
move-object / from16 v0, p0
iget-object v2, v0, Lcom / android / server / pm / PackageManagerService; ->mSettings: Lcom / android / server / pm / Settings;
const-string v3, "android.uid.log"
const / 16 v4, 0x3ef
const / 4 v5, 0x1
invoke-virtual {v2, v3, v4, v5}, Lcom / android / server / pm / Settings; ->addSharedUserLPw (Ljava / lang / String; II) Lcom / android / server / pm / SharedUserSetting;
this smal everything.
2. services / smali / com / android / server / pm / Settings
6 change 9
const-string v1, "; I am not changing its files so it will probably fail!"
invoke-virtual {v0, v1}, Ljava / lang / StringBuilder; ->append (Ljava / lang / String;) Ljava / lang / StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava / lang / StringBuilder; ->toString () Ljava / lang / String;
move-result-object v0
invoke-static {v2, v0}, Lcom / android / server / pm / PackageManagerService; ->reportSettingsProblem (ILjava / lang / String;) V
goto: goto_0
.end method
.method private addUserIdLPw (ILjava / lang / Object; Ljava / lang / Object;) Z
.locals6
.parameter "uid"
.parameter "obj"
.parameter "name"
.prologue
const / 4 v5, 0x6
const / 4 v2, 0x0
in the same place, just below
red add the fact that
.line 657
iget-object v3, p0, Lcom / android / server / pm / Settings; ->mUserIds: Ljava / util / ArrayList;
const / 4 v4, 0x0
invoke-virtual {v3, v4}, Ljava / util / ArrayList; ->add (Ljava / lang / Object;) Z
.line 658
add-int / lit8 v0, v0, 0x1
goto: goto_1
.line 660
: cond_1
iget-object v3, p0, Lcom / android / server / pm / Settings; ->mUserIds: Ljava / util / ArrayList;
invoke-virtual {v3, v1}, Ljava / util / ArrayList; ->get (I) Ljava / lang / Object;
move-result-object v3
if-eqz v3,: cond_2
const-string v6, "com.sonymobile.uid.systemui"
move-object / from16 v7, p3
invoke-virtual {v6, v7}, Ljava / lang / String; ->equals (Ljava / lang / Object;) Z
move-result v8
if-nez v8,: cond_2
.line 661
new-instance v3, Ljava / lang / StringBuilder;
invoke-direct {v3}, Ljava / lang / StringBuilder; -><init>() V
const-string v4, "Adding duplicate user id:"
invoke-virtual {v3, v4}, Ljava / lang / StringBuilder; ->append (Ljava / lang / String;) Ljava / lang / StringBuilder;
move-result-object v3
invoke-virtual {v3, p1}, Ljava / lang / StringBuilder; ->append (I) Ljava / lang / StringBuilder;
move-result-object v3
const-string v4, "name ="
invoke-virtual {v3, v4}, Ljava / lang / StringBuilder; ->append (Ljava / lang / String;) Ljava / lang / StringBuilder;
move-result-object v3
invoke-virtual {v3, p3}, Ljava / lang / StringBuilder; ->append (Ljava / lang / Object;) Ljava / lang / StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava / lang / StringBuilder; ->toString () Ljava / lang / String;
Further too close
red is pasted
.line 666
: cond_2
iget-object v2, p0, Lcom / android / server / pm / Settings; ->mUserIds: Ljava / util / ArrayList;
invoke-virtual {v2, v1, p2}, Ljava / util / ArrayList; ->set (ILjava / lang / Object;) Ljava / lang / Object;
.line 676
.end local v0 #N: I
.end local v1 #index: I
: goto_2
const / 4 v2, 0x1
goto: goto_0
.line 668
: cond_3
iget-object v3, p0, Lcom / android / server / pm / Settings; ->mOtherUserIds: Landroid / util / SparseArray;
invoke-virtual {v3, p1}, Landroid / util / SparseArray; ->get (I) Ljava / lang / Object;
move-result-object v3
if-eqz v3,: cond_4
const-string v6, "com.sonymobile.uid.systemui"
move-object / from16 v7, p3
invoke-virtual {v6, v7}, Ljava / lang / String; ->equals (Ljava / lang / Object;) Z
move-result v8
if-nez v8,: cond_4
.line 669
new-instance v3, Ljava / lang / StringBuilder;
invoke-direct {v3}, Ljava / lang / StringBuilder; -><init>() V
const-string v4, "Adding duplicate shared id:"
invoke-virtual {v3, v4}, Ljava / lang / StringBuilder; ->append (Ljava / lang / String;) Ljava / lang / StringBuilder;
move-result-object v3
invoke-virtual {v3, p1}, Ljava / lang / StringBuilder; ->append (I) Ljava / lang / StringBuilder;
move-result-object v3
const-string v4, "name ="
invoke-virtual {v3, v4}, Ljava / lang / StringBuilder; ->append (Ljava / lang / String;) Ljava / lang / StringBuilder;
move-result-object v3
invoke-virtual {v3, p3}, Ljava / lang / StringBuilder; ->append (Ljava / lang / Object;) Ljava / lang / StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava / lang / StringBuilder; ->toString () Ljava / lang / String;
move-result-object v3
invoke-static {v5, v3}, Lcom / android / server / pm / PackageManagerService; ->reportSettingsProblem (ILjava / lang / String;) V
goto / 16: goto_0 the original here goto: goto_0
.line 674
: cond_4
iget-object v2, p0, Lcom / android / server / pm / Settings; ->mOtherUserIds: Landroid / util / SparseArray;
invoke-virtual {v2, p1, p2}, Landroid / util / SparseArray; ->put (ILjava / lang / Object;) V
goto: goto_2
.end method
this vso.mozhet where that is not yet uglyadel.no these alterations are now working lidroid korrektno.kak collected himself, and the above other phones.
Post has been editedroly - 13.05.13, 06:21Reason for editing: + by garynych2010