yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] jivy26:
Great work man i've searched and found similar recompile errors but they were from Shoman when dealing with framework.jar . I am trying to compile systemui.apk after making all required edits. Anyhow here is my error and thanks in advance for any help. Using APK Multi Tool, SDK 16, APKTool 1.4.3.

Recompile Error

--------------------------------------------------------------------------
|Thu 02/16/2012 -- 16:53:10.60|
--------------------------------------------------------------------------
java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)
I: Checking whether sources has changed...
I: Smaling...
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: java.io.FileInputStream@2564f383
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:45)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:33)
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:64)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:48)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:35)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:222)
at brut.androlib.Androlib.buildSources(Androlib.java:179)
at brut.androlib.Androlib.build(Androlib.java:170)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)

Edit in statusbarservice.smali

invoke-virtual {v1, v3, p2, v11}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;

move-result-object v9

check-cast v9, Lcom/android/systemui/statusbar/LatestItemContainer;

.line 516
.local v9, row:Lcom/android/systemui/statusbar/LatestItemContainer;
move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x2

if-nez v4, :cond_1

move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x20

if-nez v4, :cond_1

new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$7;

move-object v0, v4

move-object/from16 v1, p0

move-object/from16 v2, p1

invoke-direct {v0, v1, v2}, Lcom/android/systemui/statusbar/StatusBarService$7;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

move-object/from16 v0, v9

move-object v1, v4
[Android Software/Hacking General [Developers Only]] shoman94:
Seems like you are missing some code. Can you post the whole edited code. Maybe paste bin if you want.
[Android Software/Hacking General [Developers Only]] jivy26:
Entire statusbarservice.smali

http://pastebin.com/pNZuATEd
[Android Software/Hacking General [Developers Only]] hansip87:
Are you sure you're using StatusBarService$7? I mean did you rename StatusBarService$7.smali to something else?
[Android Software/Hacking General [Developers Only]] shishir95:
Okay....

I just can't get SystemUI.apk to compile!

Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: java.io.FileInputStream@84a0b66
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:45)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:33)
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:64)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:48)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:35)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:222)
at brut.androlib.Androlib.buildSources(Androlib.java:179)
at brut.androlib.Androlib.build(Androlib.java:170)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:174)
at brut.apktool.Main.main(Main.java:59)

Modified code in StatusBarService.smali:

invoke-virtual {v1, v3, p2, v11}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;

move-result-object v9

check-cast v9, Lcom/android/systemui/statusbar/LatestItemContainer;

.line 516
.local v9, row:Lcom/android/systemui/statusbar/LatestItemContainer;
move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x2

if-nez v4, :cond_leo

move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x20

if-nez v4, :cond_leo

new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$7;

move-object v0, v4

move-object/from16 v1, p0

move-object/from16 v40, p1

invoke-direct {v0, v1, v40}, Lcom/android/systemui/statusbar/StatusBarService$7;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

move-object/from16 v0, v9

move-object v1, v4

invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->setOnSwipeCallback(Ljava/lang/Runnable;)V

:cond_leo

.line 653
const v1, 0x7f0a0030

invoke-virtual {v9, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->findViewById(I)Landroid/view/View;

move-result-object v1

move-object v0, v1

It's the same error every time! By the way, framework.jar compiles perfectly.
[Android Software/Hacking General [Developers Only]] shoman94:
Only thing I see off the top of my head without digging in your file is the last cond_Leo doesn't have .line xxx above it. Not sure of that matters.
[Android Software/Hacking General [Developers Only]] shishir95:
No Luck... It's still giving me the error :/
[Android Software/Hacking General [Developers Only]] silv3r4sh:
Help with 'makeNotificationView' method!

Hi hansip87!

I'm hoping you can help me out - I can follow all steps of your instructions except for the part for the 'makeNotificationView' method.

Can you please have a look at my attached .smali file and let me know what needs to be changed?

Thanks heaps in advance for sharing your knowledge! :)

Argh.. I was mistaken, I'm having more problems than I thought - I'm I can't even decomplie my SystemUI.apk :(

Can someone else try and let me know if s/he succeeds? I've attached it as well..
[Android Software/Hacking General [Developers Only]] shoman94:
If he has this:

.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
.locals 12
.parameter "code"
.parameter "data"
.parameter "reply"
.parameter "flags"
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation

.prologue
.line 40
sparse-switch p1, [B]:sswitch_data_0[/B]

Notice BOLD is 0 vs 124 in your code example.

I change that to :sswitch_data_13e per your instructions....

Does this mean that when I change the code at the end:

.line 235
:goto_4
const/4 v0, 0x1

goto/16 :goto_0

.line 233
:cond_3
const/4 v0, 0x0

invoke-virtual {p3, v0}, Landroid/os/Parcel;->writeInt(I)V

goto :goto_4

.end local v1 #_arg0:Ljava/lang/String;
.end local v2 #_arg1:Ljava/lang/String;
.end local v3 #_arg2:I
[B]:sswitch_124[/B]
const-string v0, "com.android.internal.statusbar.IStatusBarService"

invoke-virtual {p2, v0}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V

.line 234
invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;

move-result-object v1

.line 235
.restart local v1 #_arg0:Ljava/lang/String;
invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;

move-result-object v2

.line 236
.restart local v2 #_arg1:Ljava/lang/String;
invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I

move-result v3

.line 237
.restart local v3 #_arg2:I
invoke-virtual {p0, v1, v2, v3}, Lcom/android/internal/statusbar/IStatusBarService$Stub;->onNotificationClear(Ljava/lang/String;Ljava/lang/String;I)V

.line 238
invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V

.line 239
const/4 v0, 0x1

goto/16 :goto_0

.line 40
[B]:sswitch_data_13e[/B] <-This location was :sswitch_data_0
.sparse-switch
0x1 -> :sswitch_1
0x2 -> :sswitch_2
0x3 -> :sswitch_3
0x4 -> :sswitch_4
0x5 -> :sswitch_5
0x6 -> :sswitch_6
0x7 -> :sswitch_7
0x8 -> :sswitch_8
0x9 -> :sswitch_9
0xa -> :sswitch_a
0xb -> :sswitch_b
0xc -> :sswitch_c
0xd -> :sswitch_d
0xe -> :sswitch_e
0xf -> :sswitch_f
0x10 -> :sswitch_10
[B]0x11 -> :sswitch_124[/B]
0x5f4e5446 -> :sswitch_0
.end sparse-switch
.end method

Does this mean that the BOLD in 2 locations above become :sswitch_0 instead of 124?

I'm gonna guess no but wanted to know for sure.
[Android Software/Hacking General [Developers Only]] hansip87:
Well you have to remember though, that there's command sparse-switch before :sswitch_data_0, so that means that the sparse-switch must be run on a switch case scenario (which has the structure like usual switch case in programming world) that is marked as :sswitch_data_0. The :sswitch_124 is only to be used as a post-switch case directive if the case is 0x11.
[Android Software/Hacking General [Developers Only]] hansip87:
Well have you tried to read the deeper explanation on the reply posts here? :) if you're sure that you have done everything right, try to compile with all modded file except StatusBarService.smali (leave that as original) and try to compile. if it's still error, please paste the log here. If no, try to find the correct variable number for the modded lines.
[Android Software/Hacking General [Developers Only]] delca85:
Hi!

I hope am not going to make a silly question: can I make this hack in Hyperdroid v 6.1.17? Hyperdroid is a bit different from other rom, because it uses lidroid-res.apk.

Thanks a lot!
[Android Software/Hacking General [Developers Only]] shoman94:
Yes you can
[Android Software/Hacking General [Developers Only]] delca85:
Thanks for your reply!

Are you telling this because you have done it? I have tried to follow the guide step by step but it hasn't work right now.
[Android Software/Hacking General [Developers Only]] hansip87:
Well, you need to be aware of the Smali code though. It is essentially just adding a SwipeCallback listener to the available row object. Once you understand the code, nothing can stop you ;)

UPDATE: I know now why we have to have switch case in the Stub to send an onNotificationError flag rather than onNotificationClear flag. it is because the Sub is not the actual class that is being used, but there's a StatusBarService$Stub derivatives inside services.jar that handles the real thing (Stub as you know is just a stopgap measure class, not the real one) and the derivative class does not handle onNotificationClear. But i don't have some expertise on that. And with the current state, this is not too important to do.. But maybe somebody can look at it and suggest to us how to improve it :)
[Android Software/Hacking General [Developers Only]] delca85:
Hi!

I am trying to do this implementation on my SGS2 running Hyperdroid Andromeda v6.1.17.

When I ricompile SystemUI.apk, I receive this error by Apk Multitool:

I think I am doing something wrong maybe editing some smali or xml, is anyone able to read log error and to understan where I am being wrong?

Thanks a lot!

EDIT: Now I am going to compile after each step, so I can understand where is my mistake.

EDIT2: I make some error when editing StatusBarService.smali, this is entire pastebin of my file, which I have edited following source code of Checkrom by LeoMar75.
[Android Software/Hacking General [Developers Only]] hansip87:
Umm I notice two things:

Its better not to do move v0, v9 because v0 is already a statisbarservice$7 instance. So the line that calls setOnSwipeCallback, the parameter is {v9, v0} (remove two lines above it too) and you're set. And I think you forgot to rename some line to latestitemcontainer. Try to fix that.
[Android Software/Hacking General [Developers Only]] delca85:
Thanks a lot.

I have changed my file in this way:

check-cast v9, Lcom/android/systemui/statusbar/LatestItemContainer;

.local v9, row:Lcom/android/systemui/statusbar/LatestItemContainer;
move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x2

if-nez v4, :cond_1

move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x20

if-nez v4, :cond_1

new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$7;

move-object v0, v4

move-object/from16 v1, p0

move-object/from16 v7, p1

invoke-direct {v0, v1, v7}, Lcom/android/systemui/statusbar/StatusBarService$7;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

move-object v1, v4

invoke-virtual {v9, v0}, Lcom/android/systemui/statusbar/LatestItemContainer;->setOnSwipeCallback(Ljava/lang/Runnable;)V

.line 653
:cond_1
const v1, 0x7f0a0030

invoke-virtual {v9, v0}, Lcom/android/systemui/statusbar/LatestItemContainer;->findViewById(I)Landroid/view/View;

I have tried to edit the last line too to {v9, v0}, but it didn't work with {v9, v1} neither. Why do you think I have forgotten to rename some line to latestitemcontainer?
[Android Software/Hacking General [Developers Only]] hansip87:
Fix to this

invoke-direct {v0, v1, v7}, Lcom/android/systemui/statusbar/StatusBarService$7;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

invoke-virtual {v9, v0}, Lcom/android/systemui/statusbar/LatestItemContainer;->setOnSwipeCallback(Ljava/lang/Runnable;)V

.line 653
:cond_1
const v1, 0x7f0a0030

invoke-virtual {v9, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->findViewById(I)Landroid/view/View;
[Android Software/Hacking General [Developers Only]] delca85:
Thanks but I receive always the same error code.
[Android Software/Hacking General [Developers Only]] hansip87:
Umm what's the error now mate?
[Android Software/Hacking General [Developers Only]] delca85:
This one

Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: java.io.FileInputStream@d9c921
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:45)
at brut.androlib.src.DexFileBuilder.addSmaliFile(DexFileBuilder.java:33)
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:64)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:48)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:35)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:222)
at brut.androlib.Androlib.buildSources(Androlib.java:179)
at brut.androlib.Androlib.build(Androlib.java:170)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:174)
at brut.apktool.Main.main(Main.java:59)

And it has been the same since I have edited StatusBarService.smali the first time.

Thanks a lot again!
[Android Software/Hacking General [Developers Only]] jaggyjags:
same error for me

Htc explorer
[Android Software/Hacking General [Developers Only]] hansip87:
So if you don't change the statusbarservice.smali, the error is still the same, or is it compiled successfully?
[Android Software/Hacking General [Developers Only]] delca85:
No, if I don't change StatusBarService.smali at all, it compiled it successfully.
[Android Software/Hacking General [Developers Only]] hansip87:
Ahh i think i found the problem, My suspect is that the directive is not correct (:cond_1 is duplicated) Try this:

check-cast v9, Lcom/android/systemui/statusbar/LatestItemContainer;

.local v9, row:Lcom/android/systemui/statusbar/LatestItemContainer;
move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x2

if-nez v4, [B]:cond_li[/B]

move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x20

if-nez v4, [B]:cond_li[/B]

new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$7;

move-object v0, v4

move-object/from16 v1, p0

move-object/from16 v7, p1

invoke-direct {v0, v1, v7}, Lcom/android/systemui/statusbar/StatusBarService$7;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

move-object/from16 v0, v9

move-object v1, v4

invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->setOnSwipeCallback(Ljava/lang/Runnable;)V

.line 653
[B]:cond_li[/B]
const v1, 0x7f0a0030

note the :cond_li is used to avoid duplicate of :cond_1 used on line 3710 (.line 665 based on Smali line number)
[Android Software/Hacking General [Developers Only]] delca85:
This is how I have edited my file:

invoke-virtual {v1, v3, p2, v11}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;

move-result-object v9

check-cast v9, Lcom/android/systemui/statusbar/LatestItemContainer;

.local v9, row:Lcom/android/systemui/statusbar/LatestItemContainer;
move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x2

if-nez v4, :cond_li

move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x20

if-nez v4, :cond_li

new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$7;

move-object v0, v4

move-object/from16 v1, p0

move-object/from16 v7, p1

invoke-direct {v0, v1, v7}, Lcom/android/systemui/statusbar/StatusBarService$7;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

invoke-virtual {v9, v0}, Lcom/android/systemui/statusbar/LatestItemContainer;->setOnSwipeCallback(Ljava/lang/Runnable;)V

.line 653
:cond_li
const v1, 0x7f0a0030

invoke-virtual {v9, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->findViewById(I)Landroid/view/View;

I keep on receiving the same error. I really appreciate your help, please don't give up! :p
[Android Software/Hacking General [Developers Only]] hansip87:
Please highlight all of your changes from the original code. So I can examine it faster.
[Android Software/Hacking General [Developers Only]] Mirko ddd:
same error here :| two days past behind these smali files :|

I d really like to put this mod into my rom but I am becoming blind :D

---------- Post added at 02:23 AM ---------- Previous post was at 02:16 AM ----------

hey mate, try this one:

.line 650
const v3, 0x7f030009

check-cast v9, Lcom/android/systemui/statusbar/LatestItemContainer;

.local v9, row:Lcom/android/systemui/statusbar/LatestItemContainer;
move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x2

if-nez v4, :cond_li

move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x20

if-nez v4, :cond_li

new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$7;

move-object v0, v4

move-object/from16 v1, p0

move-object/from16 v7, p1

invoke-direct {v0, v1, v7}, Lcom/android/systemui/statusbar/StatusBarService$7;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

move-object/from16 v0, v9

move-object v1, v4

invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->setOnSwipeCallback(Ljava/lang/Runnable;)V

.line 653
:cond_li

.line 653
const v1, 0x7f0a0030
[Android Software/Hacking General [Developers Only]] hansip87:
Inject the code after .line 666. The v7 is the row object you want to cast into latestitemcontainer class and the v1 is the notification object you need in the injected code to determine whether the notification is removable or not. Please read the algorithm I already explained in the first few pages.
[Android Software/Hacking General [Developers Only]] hansip87:
Better 4 u to do it from

Scratch and inspect the code line by line. :-) and don't forget every step I explained must be adapted. Are you sure the statusbarservice$7 file name is at the right number? Because you need to have it on the different number on different vendor (most likely)
[Android Software/Hacking General [Developers Only]] santiemanuel:
Ok thanks, just for info, it's SystemUI.apk from MIUI ported to Blur Gingerbread(fully working)
[Android Software/Hacking General [Developers Only]] delca85:
The bold one, are what I have changed in my last editing.

Everything else in this part of code, is changed by the original one to follow this guide.

---------- Post added at 10:18 AM ---------- Previous post was at 09:57 AM ----------

The name is correct, I have checked it.

I am trying to scratch and inspect the code line by line, but I haven't found any solution. I am trying to look at LeoMar75 file too, it is slightly different.

Maybe, someone with SGS2 can help me!
[Android Software/Hacking General [Developers Only]] hansip87:
No i meant that with all the original code of makeNotificationView, please bold all of edited code you made. Sorry if i can't help better. :o the code is right all along, but i might miss something now if no bold distinction between the original code and the modded code.
[Android Software/Hacking General [Developers Only]] delca85:
invoke-virtual {v1, v3, p2, v11}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;

move-result-object v9

check-cast v9, Lcom/android/systemui/statusbar/LatestItemContainer;

.local v9, row:Lcom/android/systemui/statusbar/LatestItemContainer;

move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x2

if-nez v4, :cond_li

move-object/from16 v0, v2

iget v0, v0, Landroid/app/Notification;->flags:I

move v4, v0

and-int/lit8 v4, v4, 0x20

if-nez v4, :cond_li

new-instance v4, Lcom/android/systemui/statusbar/StatusBarService$7;

move-object v0, v4

move-object/from16 v1, p0

move-object/from16 v7, p1

invoke-direct {v0, v1, v7}, Lcom/android/systemui/statusbar/StatusBarService$7;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V

invoke-virtual {v9, v0}, Lcom/android/systemui/statusbar/LatestItemContainer;->setOnSwipeCallback(Ljava/lang/Runnable;)V

.line 653

:cond_li

const v1, 0x7f0a0030

invoke-virtual {v9, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->findViewById(I)Landroid/view/View;

Thanks really a lot for your work and your help!

---------- Post added at 10:35 AM ---------- Previous post was at 10:25 AM ----------

After I receive the error, multi apk tool, tells me if I want compile apk anyway, if I choose yes I obtain my apk, but I don't know if it works.

Can I try to put it in my phone? If it was good, would it work right now? Even if I haven't edited framework.jar yet?
[Android Software/Hacking General [Developers Only]] hansip87:
Umm i think you miss this part of the tutorial?

.line 679
invoke-virtual {v9, v12}, Landroid/view/View;->setDrawingCacheEnabled(Z)V

and are you sure StatusBarService$7 is the right name and class name? I mean when i saw original Samsung code from LeoMar, it was already used so the number ends up higher (ends up with changing name to StatusBarService$8.smali) and the content needs to be modified too.
[Android Software/Hacking General [Developers Only]] delca85:
I haven't missed that part of tutorial, it is in my file but after the part I have edited and it was already like you wrote before I have edited.

In my original SystemUI.apk StatusBarService$7 wasn't already used.
[Android Software/Hacking General [Developers Only]] hansip87:
please post to pastebin again mate. I noticed you didn't apply that part in your old pastebin file.
[Android Software/Hacking General [Developers Only]] delca85:
Here it is: http://pastebin.com/xBjphaUL
[Android Software/Hacking General [Developers Only]] hansip87:
Yes you forgot to update this line:

.line 679
invoke-virtual {v9, v12}, Landroid/view/View;->setDrawingCacheEnabled(Z)V

to

.line 679
invoke-virtual {v9, v12}, Lcom/android/systemui/statusbar/LatestItemContainer;->setDrawingCacheEnabled(Z)V
[Android Software/Hacking General [Developers Only]] delca85:
Sorry! I am an idiot. But I keep on receiving the same error!
[Android Software/Hacking General [Developers Only]] hansip87:
that's weird.. umm.. some silly tips but might work (or not):

1. erase '.local v9, row:Lcom/android/systemui/statusbar/LatestItemContainer;'

2. please make all the modded code aligned with original code.

3. use latest Google SDK (r16) and APK Multi Tool 1.0.2