yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] LeoMar75:
For Samsung the code above is almost right, there is a little mistake regarding this line:

move-object/from16 v2, p1

In this way we are overwriting v2 but v2 is used later on on the same body function and it may results on FC. I advice to use a different variable, see the following code, i have used v7 because it was never set before.

.method makeNotificationView(Lcom/android/internal/statusbar/StatusBarNotification;Landroid/view/ViewGroup;)[Landroid/view/View;
.locals 13
.parameter
.parameter

.prologue
const/4 v12, 0x1

const/4 v11, 0x0

const/4 v10, 0x0

.line 642
iget-object v2, p1, Lcom/android/internal/statusbar/StatusBarNotification;->notification:Landroid/app/Notification;

.line 643
iget-object v8, v2, Landroid/app/Notification;->contentView:Landroid/widget/RemoteViews;

.line 644
if-nez v8, :cond_0

move-object v1, v10

.line 682
:goto_0
return-object v1

.line 649
:cond_0
const-string v1, "layout_inflater"

invoke-virtual {p0, v1}, Lcom/android/systemui/statusbar/StatusBarService;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

move-result-object v1

check-cast v1, Landroid/view/LayoutInflater;

.line 650
const v3, 0x7f030009

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_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 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

: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

Please note that i have named the label: cond_leo this is useful because in this way, we don't need to change other labels (cond_1,cond_2) on the rest of the body function!

;)
[Android Software/Hacking General [Developers Only]] subworx:
Hello and thank you very much for this :)

Tried to implement it on my Virtuous Sense 2.0.0 ROM (Desire Z), but stumbled upon problems in SystemUI.apk.

Recompilation fails, with the only error being

I: Smaling...
Exception in thread "main" java.lang.NullPointerException
at org.jf.util.PathUtil.getRelativeFile(PathUtil.java:44)
at org.jf.smali.smaliFlexLexer.getSourceName(smaliFlexLexer.java:2569)
at org.antlr.runtime.CommonTokenStream.getSourceName(CommonTokenStream.java:345)

Edit: I am using apk multi tool 1.0.2 to (de)compile the file, with sources and resources. apktool.jar was updated to v1.4.3, did not work with the original one as well.

Would you (or someone else with an understanding of this) mind having a look at the files I edited?

I did not have to change the hex values in public.xml, so I also did not edit LatestItemContainer.smali.

I did modify status_bar_latest_event.xml to match the new tags.

StatusBarService$7.smali has to be renamed to $18 (really...), I changed all occurences everywhere accordingly.

The only file I can think of right now is StatusBarService.smali, as the vxx (v18, v16, v10 etc) codes seem to differ and it would be necessary to find the correct one, which I am not capable off. Edit: even after reading through the source code on github...

I did attach a diff of my changes, and here is StatusBarService.smali (modified) and StatusBarService.smali (original)

One more thing, do I also need to copy the resources file from the original SystemUI.apk?

Thank you very much for your hard work, I'm excited to see which roms will make use of it.

Kind regards,

Sub
[Android Software/Hacking General [Developers Only]] LeoMar75:
There is one thing missing on the guide in the OP that's why you get that error!

use the line below!

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

invoke-direct {v0, v1, v2}, Lcom/android/systemui/statusbar/StatusBarService$7;-><init>(Lcom/android/systemui/statusbar/StatusBarService;Lcom/android/internal/statusbar/StatusBarNotification;)V
[Android Software/Hacking General [Developers Only]] subworx:
I did, it compiles now - after also adding resources.arsc from the original apk.

Pulling a nandroid right now to see if it works :D

Edit: tried it, stuck during hTC logo. gonna look into a logcat tomorrow. I recompiled it without the resources file and y/n selected.

Thank you and kind regards,

Sub
[Android Software/Hacking General [Developers Only]] LeoMar75:
I don't think it will work if you copied the resources.arsc from the original one..

If you are using apk-manager to compile/decompile apks then when you hit option 9 to compile answer Y to the two questions. Before to continue you will see a keep folder created, you should delete from this folder all the file modified:

-resources.arsc

-classes.dex

-res/layout/status_bar_latest_event.xml

At this point you can continue on the windows script!

As side note, with apk-manager you don't need to add manually the IDs for the two anim xml, just add the two xml file in res/anim (create the folder if it doesn't exists) and then recompile, the apk-manager will take care about adding the new items with the right ID on res/values/public.xml file.

Decompile again and take note of these IDs that you need later on.
[Android Software/Hacking General [Developers Only]] subworx:
Thanks a bunch for this hint.

This method seems to compile a working apk, I need more testing :/

One zip just had a non-working status bar, one more bootlooped - and the "restore all" zip I must have mixed up :/

Will try some more...
[Android Software/Hacking General [Developers Only]] Dunc001:
Help, I am more stoopid than I thunk...

I was all revved up for doing this having read thoroughly the all posts and studied the git page. The res/anim folder and xml no problem. The status_bar_latest_event.xml, public.xml and adding in the additional files - fine. Renamed StatusBarService$7.smali to StatusBarService$20.smali as 1-19 already existed, and edited all the $7 references in it to $20. However when I start editing the other smali files I come up against many problems which I can't fathom out because this is my first real attempt at anything like this. Problem is that virtually all of the v** references are way different to those in your file, mine doesn't have any .line *** references, and the cond_* values are all over the place! So to put it politely I am a tad ****ed! Is there any chance of any help with the smali files please? I have zipped up all of the untouched files from my framework.jar and SystemUI.apk, plus the renamed and edited StatusBarService$7.smali (now StatusBarService$20.smali) - if someone could have a look and either rattle them off for me or at least be available on Chat/IRC/pm to talk me through so I understand a bit better what is going on...

Any help would be most appreciated :D
[Android Software/Hacking General [Developers Only]] dwitherell:
Not sure if it was intentional or if I'm just missing something (a very likely scenario), but the smali files in the framework-file.zip seem to not be the files referred to in the OP. They seem to be IStatusBar* vs. IStatusBarService*.

On a related note, I'm trying to implement this on the Samsung Droid Charge and feel I've made some progress, though I have an interesting error now that only occurs while trying to swipe away a notification. The notification actually "swipes", but then the phone freezes and hot boots (cuts right back to boot animation and "reboots"). In the logcat I get this:

java.lang.AbstractMethodError: abstract method not implemented

Which the logcat claims starts:

at com.android.internal.statusbar.IStatusBarService$Stub.onNotificationClear(IStatusBarService.java)

and then of course happens a few other places as well.

Any clues/insights/tips would be greatly appreciated! If it's helpful I can share the files I modded as well.
[Android Software/Hacking General [Developers Only]] hansip87:
You had the same problem with what leomar experienced yesterday, thankfully he solves it and i have added some note on step 2 at the op. Please read again.
[Android Software/Hacking General [Developers Only]] hansip87:
Will look into.it :-) but you shouldn't worry about the absence of marking in The file. As long as you understand the logic of makeNotificationView, it's easy as pie ;-)

Some tip, I always try to find for function setDescendantFocusabilty and then insert the modded code before that.
[Android Software/Hacking General [Developers Only]] dwitherell:
BRILLIANT! I am rather green to most of this, so I was trying to find patterns and sort of map on what you had originally when I looked at this yesterday. I managed to figure out everything in systemui fine, but I just assumed the 0xa value in there should be the value set in the onNotificationClear transaction value, NOT the notification error one... it makes much more sense now, and I am INCREDIBLY appreciative of the quick response! Funny how one mis-set value can leave you stumped. Thanks again!
[Android Software/Hacking General [Developers Only]] mrahmanda:
mas , bisa tolong ajarin ane sama tutor bahasa indonesianya ga :D ?

ane kurang ngerti kalo pake bahasa inggris

mohon bantuannya ya gan !
[Android Software/Hacking General [Developers Only]] mrahmanda:
ane udah ngerti walau bahasa inggris ane kurang bagus

tapi ada kendala buat ane gan , berikut :

- ane gatau cara buka file xml pake aplikasi apa , yang keluarnya anehaneh tulisannya

- ane juga gatau cara ngebuat .xml file pake aplikasi apa

- udah coba decompile systemUI.apk nya , tapi gatau harus ngapain lagi , soalnya gaada yang berubah . tulisannya malah suruh open log (#24)

mohon pencerahannya mastah :(

---------- Post added at 02:24 PM ---------- Previous post was at 02:23 PM ----------

atau kalo ada waktu , tolong sekalian bikin tutor pake video , tar di upload ke youtube :D

kalo pake video ane insyaallah ngerti dah
[Android Software/Hacking General [Developers Only]] hansip87:
Check pm bro :-)
[Android Software/Hacking General [Developers Only]] shoman94:
SO I'm in the process of editing the framework.jar and where I need to add this:

.field static final TRANSACTION_onNotificationClear:I = 0xc

I have 0xa thru 0xf taken.....

logically would 0xf0 be the next step? I'm no code guy so please excuse me if this is a retarded question.
[Android Software/Hacking General [Developers Only]] hansip87:
the logical one is 0x10 mate. its a hex so after 0x0f the next one is 0x10
[Android Software/Hacking General [Developers Only]] tofuinside:
very useful thanks!
[Android Software/Hacking General [Developers Only]] xSkArx:
I want to implement on my Defy but when decompile SystemUI.apk some smali files are missing

sorry for bad english
[Android Software/Hacking General [Developers Only]] espaciosalter20:
Which Rom? Which baksmali version did you use? I have a defy too

Enviado desde mi MB525 usando Tapatalk 2
[Android Software/Hacking General [Developers Only]] Kucharskov:
Hi!

Anyone can add swipe notification to my SystemUI.apk (look to Attached Files)?

ZIP contains:

- My SystemUI.apk

- My framework.jar

- framework-res.apk & SemcGenericUxpRes.apk from my rom to decopmpile

My soft: 2.3.4 stock Xperia Play

Please help me because so this is hard for me!
[Android Software/Hacking General [Developers Only]] xSkArx:
My rom is Ginger Plus II HD and I use apktool to decompile SystemUI.apk

Enviado desde mi MB525
[Android Software/Hacking General [Developers Only]] Kucharskov:
Any help for me? post30996490

:(
[Android Software/Hacking General [Developers Only]] strider2023:
Thanks for the share will try this!! :)
[Android Software/Hacking General [Developers Only]] aardappel12:
Just tried out this mod myself too! But when trying to smali it back together I'm getting a couple of errors:

C:\Windows\System32>java -Xmx512M -jar smali.jar classoutframeworkjar -o classes

2.dex

classoutframeworkjar\com\android\internal\statusbar\IStatusBarService$Stub.smali

[629,4] Label sswitch_124 has multiple defintions.

classoutframeworkjar\com\android\internal\statusbar\IStatusBarService$Stub.smali

[667,4] Label sswitch_124 has multiple defintions.

classoutframeworkjar\com\android\internal\statusbar\IStatusBarService$Stub.smali

[741,4] mismatched tree node: I_LABEL expecting I_PACKED_SWITCH_DECLARATIONS

classoutframeworkjar\com\android\internal\statusbar\IStatusBarService$Stub.smali

[132,0] A non-abstract/non-native method must have at least 1 instruction

Anyone got any tips? Seems that I have multiple sswitch 124 defined, but I wouldn't know where to look and what to edit to be real honest with you folks.. :p

Any help is welcome and thanks in advance! :)
[Android Software/Hacking General [Developers Only]] hansip87:
Just search for the :sswitch_124 text on that file IStatusBarService$Stub.smali, it means that that label is already used, so u have to change the :sswitch_124 from my mod to :sswitch_125 (if not used).
[Android Software/Hacking General [Developers Only]] aardappel12:
Done that, tried that..

Also kept getting multiple definitions on different numbers and then tried to switch around between 124, 125, 126 between the different rules etc and eventually ended up getting "sswitch_c7 not defined" same with sswitch_ef and others.. It's absolutely ****ing with my brain right now.

After testing different combinations of those for 2 hours straight I'm going to take a break from it for a bit haha, if you have any other suggestions then that'd be awesome! :)

Would it help if I'd upload the file otherwise? perhaps you can see what's wrong.. my knowledge is just too limited and I'm sorry for that, really am! I'm doing the best I can though :(
[Android Software/Hacking General [Developers Only]] xSkArx:
look at this

.line 39
:[B]sswitch_data_124[/B] ----> change to [B]13e[/B]
.sparse-switch
0x1 -> :sswitch_f
0x2 -> :sswitch_1c
0x3 -> :sswitch_29
0x4 -> :sswitch_42
0x5 -> :sswitch_5f
0x6 -> :sswitch_7b
0x7 -> :sswitch_8d
0x8 -> :sswitch_c7
0x9 -> :sswitch_d5
0xa -> :sswitch_ef
0xb -> :sswitch_116
0xc -> :sswitch_124
0x5f4e5446 -> :sswitch_8
.end sparse-switch
[Android Software/Hacking General [Developers Only]] aardappel12:
I've changed that to 13e yea, getting the errors though :p

Been fiddling around with it more but my knowledge is just too damn limited with these kinds of things! Thanks for all the help though!:)
[Android Software/Hacking General [Developers Only]] varun.chitre15:
Nvm! I fixed it :D :D
[Android Software/Hacking General [Developers Only]] xSkArx:
I got FC, here is logcat

I/StatusBarManagerService( 1209): Starting service: ComponentInfo{com.android.systemui/com.android.systemui.statusbar.StatusBarService}
I/ActivityManager( 1209): Start proc com.android.systemui for service com.android.systemui/.statusbar.StatusBarService: pid=1459 uid=1000 gids={3002, 3001, 3003, 1007}
E/AndroidRuntime( 1459): at com.android.systemui.statusbar.StatusBarService.makeNotificationView(StatusBarService.java:513)
E/AndroidRuntime( 1459): at com.android.systemui.statusbar.StatusBarService.addNotificationViews(StatusBarService.java:557)
E/AndroidRuntime( 1459): at com.android.systemui.statusbar.StatusBarService.addNotification(StatusBarService.java:386)
E/AndroidRuntime( 1459): at com.android.systemui.statusbar.CommandQueue$H.handleMessage(CommandQueue.java:178)
W/ActivityManager( 1209): Receiver during timeout: BroadcastFilter{407c71a0 ReceiverList{407d8790 1459 com.android.systemui/1000 remote:40707698}}
I/ActivityManager( 1209): Crashing app skipping ANR: ProcessRecord{40816af0 1459:com.android.systemui/1000} Broadcast of Intent { act=android.intent.action.TIME_TICK flg=0x40000004 (has extras) }
I/ActivityManager( 1209): Process com.android.systemui (pid 1459) has died.
W/ActivityManager( 1209): Scheduling restart of crashed service com.android.systemui/.statusbar.StatusBarService in 5000ms
I/ActivityManager( 1209): Start proc com.android.systemui for restart com.android.systemui: pid=1949 uid=1000 gids={3002, 3001, 3003, 1007}
E/AndroidRuntime( 1949): java.lang.RuntimeException: Unable to create service com.android.systemui.statusbar.StatusBarService: java.lang.ClassCastException: android.widget.LinearLayout
E/AndroidRuntime( 1949): at com.android.systemui.statusbar.StatusBarService.makeNotificationView(StatusBarService.java:513)
E/AndroidRuntime( 1949): at com.android.systemui.statusbar.StatusBarService.addNotificationViews(StatusBarService.java:557)
E/AndroidRuntime( 1949): at com.android.systemui.statusbar.StatusBarService.addNotification(StatusBarService.java:386)
E/AndroidRuntime( 1949): at com.android.systemui.statusbar.StatusBarService.onCreate(StatusBarService.java:232)
W/ActivityManager( 1209): Process com.android.systemui has crashed too many times: killing!
I/ActivityManager( 1209): Process com.android.systemui (pid 1949) has died.
I/ActivityManager( 1209): Start proc com.android.systemui for restart com.android.systemui: pid=2174 uid=1000 gids={3002, 3001, 3003, 1007}

Enviado desde mi X10i
[Android Software/Hacking General [Developers Only]] Planters76:
Thanks for the great tutorial you put together it is very nice. I am trying to implement this into Motorola's Electrify 2.3.5 and of course things are different as you stated especially in step 1.6.2. I put my code in red and yours in green so you can tell the difference.

[COLOR="RED"] invoke-virtual {v0, v1, v2, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;

move-result-object v21

.line 715
.local v21, row:Landroid/view/View;
:goto_1
const v5, 0x7f090019

move-object/from16 v0, v21

move v1, v5[/COLOR]

So would I insert step 1.6.3 that is in bold into my smali and change V21 to V18 or do I leave it as is?

[COLOR="Red"]move-result-object v21[/COLOR]

[COLOR="Green"]check-cast v18, Lcom/android/systemui/statusbar/LatestItemContainer;

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

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

move v4, v0

and-int/lit8 v4, v4, 0x2

if-nez v4, :cond_swno

move-object/from16 v0, v16

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

move v4, v0

and-int/lit8 v4, v4, 0x20

if-nez v4, :cond_swno

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, v18

move-object v1, v4

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

.line 735
:cond_swno[/COLOR]

[COLOR="Red"].line 715
.local v21, row:Landroid/view/View;
:goto_1
const v5, 0x7f090019

move-object/from16 v0, v21

move v1, v5[/COLOR]

[COLOR="Green"]invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/LatestItemContainer;->findViewById(I)Landroid/view/View;[/COLOR]
[Android Software/Hacking General [Developers Only]] xSkArx:
Finally I got it, Thanks very much
[Android Software/Hacking General [Developers Only]] bullonwheels:
Hey, Its an excellent guide.

I followed all the steps and pushed the 2 files on the phone.

Now, the notifications are sliding, but not getting removed. They just go in the corner and stay there, until you click on them. Have attached the screen shot.

Can you please tell me what am i doing wrong?

I'm trying it on Samsung galaxy pocket S5300
[Android Software/Hacking General [Developers Only]] xSkArx:
Post logcat

Enviado desde mi X10i
[Android Software/Hacking General [Developers Only]] bullonwheels:
I am not sure where the error part is, so i've attached the recorded log as txt. I recorded it for about 10 seconds. I hope thats not too much of a trouble.

Also, now, notifications are not automatically disappearing after pressing and executing it (like on pressing the delivery report, it goes to the messages, but not getting removed from the notification bar). Have to do it manually by pressing clear button.
[Android Software/Hacking General [Developers Only]] xSkArx:
Dude om Catlog use search and put "Statusbar" or "SystemUI" then save log

Enviado desde mi X10i
[Android Software/Hacking General [Developers Only]] bullonwheels:
I beleive this is what you are asking. Do correct me, if i'm wrong. (Sorry, I'm a Noob)

11-19 06:33:00.889 E/StatusBarPolicy(1538): ecio: 255
11-19 06:33:00.889 E/StatusBarPolicy(1538): iconLevel: 4
11-19 06:33:06.764 I/StatusBarService(1538): DOWN:Y-0
11-19 06:33:07.100 I/StatusBarService(1538): UP:Y-317
11-19 06:33:10.311 E/StatusBarPolicy(1538): ecio: 255
11-19 06:33:10.311 E/StatusBarPolicy(1538): iconLevel: 4
11-19 06:33:14.069 E/StatusBarPolicy(1538): ecio: 255
11-19 06:33:14.069 E/StatusBarPolicy(1538): iconLevel: 4
11-19 06:33:17.834 E/StatusBarPolicy(1538): ecio: 255
11-19 06:33:17.834 E/StatusBarPolicy(1538): iconLevel: 4
11-19 06:33:21.608 E/StatusBarPolicy(1538): ecio: 255
11-19 06:33:21.608 E/StatusBarPolicy(1538): iconLevel: 4
11-19 06:33:29.139 E/StatusBarPolicy(1538): ecio: 255
11-19 06:33:29.139 E/StatusBarPolicy(1538): iconLevel: 4
11-19 06:33:36.670 E/StatusBarPolicy(1538): ecio: 255
11-19 06:33:36.670 E/StatusBarPolicy(1538): iconLevel: 4
11-19 06:33:49.850 E/StatusBarPolicy(1538): ecio: 255
11-19 06:33:49.850 E/StatusBarPolicy(1538): iconLevel: 4
11-19 06:33:55.498 E/StatusBarPolicy(1538): ecio: 255
11-19 06:33:55.498 E/StatusBarPolicy(1538): iconLevel: 4
11-19 06:33:59.389 I/StatusBarPolicy(1538): BAT. S:3 H:2
[Android Software/Hacking General [Developers Only]] xSkArx:
First open catlog, stop and clear log, then start log and swipe a notification filter search and finally save log

Enviado desde mi X10i
[Android Software/Hacking General [Developers Only]] xSkArx:
Apparently, the problem is in framework.jar, try to refine your search in catlog with "Notification"

Enviado desde mi X10i
[Android Software/Hacking General [Developers Only]] bullonwheels:
Sir, Have sent you a PM. Please check it out.
[Android Software/Hacking General [Developers Only]] pitchblack5691:
Thanks (I did hit it!) OP! I had no problem following the guide what so ever! Maybe It was easy for me because I have an Xperia too! :D
[Android Software/Hacking General [Developers Only]] esatanic:
anyone can help me editing my framework.jar i am not understand how to edit it.. this is my framework.jar https://www.dropbox.com/s/euwpy011fwuof5a/framework.jar
[Android Software/Hacking General [Developers Only]] zhalx:
I was trying this guide once and its fail.

Its ok that i'll try a lot more carefully next if i had time.

Thanx for this great tutorial. :thumbup:

wants to be developer

My Project:

Motorola Fire XT530/531 ICStheme.v.3.0
[Android Software/Hacking General [Developers Only]] aweosomeabhijeet:
Error :

I have gone through this.

C:\baksmalimanager>java -Xmx512M -jar smali.jar classou

t -o classes.dex

classout\com\android\internal\statusbar\IStatusBarService$Stub.smali[144,23] Lab

el "sswitch_data_13e" is not defined.

classout\com\android\internal\statusbar\IStatusBarService$Stub.smali[144,23] Lab

el "sswitch_data_13e" is not defined.

Any idea?

I rechecked twice but cant find anything.