[Porting Guide][CM10/JB] Mod 4.2 Statusbar Quicksettings ( TABS, Slider, Flip Anim )

Search This thread
S

SuperDroid-BOND

Guest
Here it is sir....

http://d-h.st/bEX

"""Hitting Thanks Don't Cost You Anything So Why Don't You Try Hitting It.......;););)"""

Sent From Mind Blowing Canvas Using SUVI-Heart Rom.....<3<3<3
 

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
Here it is sir....

http://d-h.st/bEX

"""Hitting Thanks Don't Cost You Anything So Why Don't You Try Hitting It.......;););)"""

Sent From Mind Blowing Canvas Using SUVI-Heart Rom.....<3<3<3

this can be the problem ,
status_bar_expanded_quickpanel.xml
Code:
<FrameLayout android:id="@id/toolBarSwitchPanel" android:background="@drawable/notification_header_bg" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_marginTop="0.0dip">
                    <include layout="@layout/toolbar_view" />
                    <include layout="@layout/toolbar_indicator" />
                </FrameLayout>

try to place it back to where it belong
Code:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@id/notification_panel" android:background="@drawable/slider_power_bg" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/notification_panel_margin_left"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
    <LinearLayout android:layout_gravity="center" android:orientation="horizontal" android:id="@id/carrier_label_gemini" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="0.0dip" android:layout_alignParentLeft="true">
        <com.android.systemui.statusbar.phone.CarrierLabelGemini android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="center" android:id="@id/carrier1" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="0.0" />
        <ImageView android:layout_gravity="center" android:id="@id/carrier_divider" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/gemini_carrier_divider" />
        <com.android.systemui.statusbar.phone.CarrierLabelGemini android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="center" android:id="@id/carrier2" android:paddingLeft="4.0dip" android:paddingRight="4.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="0.0" />
    </LinearLayout>
	 <FrameLayout android:id="@id/toolBarSwitchPanel" android:background="@drawable/notification_header_bg" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_marginTop="0.0dip">
            <include layout="@layout/toolbar_view" />
            <include layout="@layout/toolbar_indicator" />
    </FrameLayout>
    <FrameLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/close_handle_underlap">
        <include android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" layout="@layout/status_bar_expanded_header" />
        <ViewFlipper android:id="@id/contents_flipper" android:layout_width="fill_parent" android:layout_height="wrap_content"
          xmlns:android="http://schemas.android.com/apk/res/android">
            <ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="60.0dip" android:overScrollMode="never">
                <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/notification_row_min_height" />
            </ScrollView>
            <ImageView android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/title_bar_shadow" android:scaleType="fitXY" />
            <include android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_expanded_quickpanel" />
        </ViewFlipper>
    </FrameLayout>
    <com.android.systemui.statusbar.phone.CloseDragHandle android:layout_gravity="bottom" android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="@dimen/close_handle_height">
        <ImageView android:layout_gravity="bottom" android:id="@id/closeImg" android:layout_width="fill_parent" android:layout_height="@dimen/close_handle_height" android:src="@drawable/status_bar_close" android:scaleType="fitXY" />
    </com.android.systemui.statusbar.phone.CloseDragHandle>
</FrameLayout>
 

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
EDIT
@BOND1987
and this below , will place it where it belong too
Code:
 <LinearLayout android:gravity="center" [COLOR="Blue"]android:layout_gravity="bottom"[/COLOR] android:orientation="horizontal" android:id="@id/carrier_label_gemini" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height">
 

thirdzcee

Senior Member
May 13, 2012
1,745
589
Bacolod City
whew...just mind blogging,. halfway through the guide... recompile and decompile again time,,,,:good::good::good:

---------- Post added at 05:07 PM ---------- Previous post was at 04:28 PM ----------

Decompile the newly Recompiled APK again
Next go to
res/values/public.xml
open it with Notepad++
leave it, but keep it open

Download attached 4.2_source_public, open it with Notepad++

so now you have two xml which is opened in the Notepad++
1. second decompiled SystemUI.apk public.xml and
2. 4.2_source_public

next
- Second decompiled SystemUI.apk / smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali
find all ids which is started with
Code:
0x7f[COLOR="Red"]xxxxxx[/COLOR]
in all blue code you have added
find those ids in the 4.2_source_public

EXAMPLE :
Code:
.method private fastFlipToQuickPanelToggles()V
    .locals 2

    .prologue
    .line 2255
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v1,[B][COLOR="Red"] 0x7f0c00c6[/COLOR][/B]  <--- [COLOR="Blue"]replace this with your new ids[/COLOR]

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

    move-result-object v0

    check-cast v0, Landroid/widget/ScrollView;

    .line 2257
    .local v0, svToggles:Landroid/widget/ScrollView;
    const/16 v1, 0x21

FIND 0x7f0c00c6 in 4.2_source_public
we find that is for
Code:
 <public type="[COLOR="Green"]id[/COLOR]" name="[COLOR="Green"]quickpanel_scrollview_toggles[/COLOR]" id="[COLOR="Red"]0x7f0c00c6[/COLOR]" />

next find quickpanel_scrollview_toggles in your second decompiled SystemUI.apk public.xml
Code:
 <public type="[COLOR="Green"]id[/COLOR]" name="[COLOR="Green"]quickpanel_scrollview_toggles[/COLOR]" id="[COLOR="Red"]0x7f??????[/COLOR]" />

do it too to all
Code:
0x7f[COLOR="Red"]xxxxxx[/COLOR]
in all blue code you have added
and in all smalis in SystemUI.apk\smali\com\lidroid\systemui\quickpanel\here ..

NEXT / the last
make change to AndroidManifest.xml

BEFORE
Code:
[COLOR="Red"]<manifest android:versionCode="16"[/COLOR] android:versionName="4.1.2-eng.arco.20130605.050149" package="com.android.systemui" coreApp="true"
CHANGE TO :
Code:
[COLOR="Red"]<manifest android:sharedUserId="android.uid.system" android:process="system" android:versionCode="16"[/COLOR] android:versionName="4.1.2-eng.arco.20130605.050149" package="com.android.systemui" coreApp="true"

Next, add the red code
Code:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
    [COLOR="Red"]<uses-permission android:name="android.permission.CAMERA" />[/COLOR]
    <application android:label="@string/app_label" android:icon="@*android:drawable/platlogo" android:allowClearUserData="false" android:persistent="true" android:allowBackup="false" android:hardwareAccelerated="true">
        <service android:name="SystemUIService" android:exported="true" />

NEXT , add the red code to the end
Code:
<activity android:theme="@*android:style/Theme.Wallpaper.NoTitleBar.Fullscreen" android:label="BeanBag" android:icon="@drawable/redbeandroid" android:name=".BeanBag" android:exported="true" android:excludeFromRecents="true" android:launchMode="singleInstance" android:hardwareAccelerated="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="com.android.internal.category.PLATLOGO" />
            </intent-filter>
        </activity>
        [COLOR="Red"]<receiver android:name="com.lidroid.systemui.quickpanel.NetworkModeReceiver" android:process="com.android.phone">
            <intent-filter>
                <action android:name="com.serajr.powertoggles.POWERTOGGLES_CHANGE_NETWORK_MODE" />
                <action android:name="com.serajr.powertoggles.POWERTOGGLES_NEW_NETWORK_MODE" />
            </intent-filter>
        </receiver>[/COLOR]
    </application>
</manifest>

Done & Compile, don't forget to sign it coz we've make change to the android.manifest.xml
I ussually use ApkMultitools to decompile/recompile/sign APK
so if you use ApkMultitools, you can use my signer keys
download attached file, exstract it and merge to your ApkMultitools / other / here

NOTE !! you can skip step editing android.manifest.xml, but Reboot, flashlight, 2G , 3G, 2G/3G toggle will not work


just a little something i noticed while i was comparing 4.2source public the smali and my public
not all
Code:
0x7f[COLOR="Red"]xxxxxx[/COLOR]
should be compared and replaced,,, i did a double check and i saw i just replaced carrier label id with navbar id by just searching for
Code:
0x7f[COLOR="Red"]xxxxxx[/COLOR]
looking at it in 4.2 public then looking at it in my public. i found out abou it by undoing all my changes to
Code:
0x7f[COLOR="Red"]xxxxxx[/COLOR]
then compare the 1st instance of
Code:
0x7f[COLOR="Red"]xxxxxx[/COLOR]
to my public,xml ,saw it was originally carriel label but i changed it to the id of navebar inside phonestatusbar.smali


and thats the time i had to facepalm myself cause i was already halfway through the ids...

---------- Post added at 06:29 PM ---------- Previous post was at 05:39 PM ----------

not good,,, fc in systemui... heres logcat
Code:
[ 08-18 00:09:00.940 28356:0x6ec4 E/AndroidRuntime ]

FATAL EXCEPTION: main

java.lang.VerifyError: com/android/systemui/statusbar/phone/PhoneStatusBar

	at java.lang.Class.newInstanceImpl(Native Method)

	at java.lang.Class.newInstance(Class.java:1319)

	at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:86)

	at android.app.ActivityThread.handleCreateService(ActivityThread.java:2504)

	at android.app.ActivityThread.access$1600(ActivityThread.java:149)

	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)

	at android.os.Handler.dispatchMessage(Handler.java:99)

	at android.os.Looper.loop(Looper.java:153)

	at android.app.ActivityThread.main(ActivityThread.java:4987)

	at java.lang.reflect.Method.invokeNative(Native Method)

	at java.lang.reflect.Method.invoke(Method.java:511)

	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)

	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)

	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:110)

	at dalvik.system.NativeStart.main(Native Method)

a little help, please, im currently googling how to understance those errors so i can trace them back to them smali...
@BOND1987 hey bro maybe you could give me a little tip on understanding logcat errors
 
Last edited:
  • Like
Reactions: Adi Aisiteru Reborn
S

SuperDroid-BOND

Guest
@BOND1987 hey bro maybe you could give me a little tip on understanding logcat errors

Brother,

Can you please upload your full logcat.txt or find lines starting with VFY: Rejecting Oppo Code. Registrs.........XXXXX
Like this .
So that we can get what error and and where it occured......
I am here to help you out.....
 

thirdzcee

Senior Member
May 13, 2012
1,745
589
Bacolod City
Brother,

Can you please upload your full logcat.txt or find lines starting with VFY: Rejecting Oppo Code. Registrs.........XXXXX
Like this .
So that we can get what error and and where it occured......
I am here to help you out.....

hmm, how can you take that kind of logcat, my logcat doesnt show VFY lines,, i only use logcat -v long to take logcats

EDIT
@BOND1987. anyway here is my logcat

EDIT AGAIN, there are VFY line, looks like my notepad was just messing up again, sorry for that
 

Attachments

  • logcat.zip
    585.9 KB · Views: 8
Last edited:
S

SuperDroid-BOND

Guest
hmm, how can you take that kind of logcat, my logcat doesnt show VFY lines,, i only use logcat -v long to take logcats

EDIT
@BOND1987. anyway here is my logcat

EDIT AGAIN, there are VFY line, looks like my notepad was just messing up again, sorry for that

Ok brother,
Now the hard task comes to you....

Look the red line mentioned

Code:
VFY:  rejected [COLOR=Red]Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.makeStatusBarView ()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;[/COLOR]

Now find all these lines and compare with just the above line methods. There you will find some register values are wrong as pasted by you. Like when I got those errors it was V9 but it needed v10 there.

Some where you have mentioned v12 but it needed to be v17. Please do check it and just make sure to change the line what you pasted not the ones which was earlier there.
 

thirdzcee

Senior Member
May 13, 2012
1,745
589
Bacolod City
Ok brother,
Now the hard task comes to you....

Look the red line mentioned

Code:
VFY:  rejected [COLOR=Red]Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.makeStatusBarView ()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;[/COLOR]

Now find all these lines and compare with just the above line methods. There you will find some register values are wrong as pasted by you. Like when I got those errors it was V9 but it needed v10 there.

Some where you have mentioned v12 but it needed to be v17. Please do check it and just make sure to change the line what you pasted not the ones which was earlier there.

thanks, ill check on it,, looks like i still have a lot more to learn about logcats,,,

---------- Post added at 07:37 PM ---------- Previous post was at 07:34 PM ----------

@BOND1987 , excuse me bro for disturbing again but you mentioned about v12 being v17,,, are you referring to v5 from the original code????
 
S

SuperDroid-BOND

Guest
thanks, ill check on it,, looks like i still have a lot more to learn about logcats,,,

---------- Post added at 07:37 PM ---------- Previous post was at 07:34 PM ----------

@BOND1987 , excuse me bro for disturbing again but you mentioned about v12 being v17,,, are you referring to v5 from the original code????

I think so, Coz there was what i mistakenly did.

At this line
Code:
const v5, 0x7f0c00bc
I needed v10 here and I did v9 so getting the verifying error.
May be you need v17 and you put v12 there.
Just a guess but can't make sure without having the smali file.
 

thirdzcee

Senior Member
May 13, 2012
1,745
589
Bacolod City
I think so, Coz there was what i mistakenly did.

At this line
Code:
const v5, 0x7f0c00bc
I needed v10 here and I did v9 so getting the verifying error.
May be you need v17 and you put v12 there.
Just a guess but can't make sure without having the smali file.

would you mind if you take a look at my smali??? but only after me trying it agian first if it still fc, i have a hunch that its also because i added

Code:
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v5, 0x7f0c00b6

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

    move-result-object v0

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mFlipToQuickPanelButton:Landroid/view/View;

a few .lines lower to where it was supposed to be added

---------- Post added at 08:14 PM ---------- Previous post was at 07:59 PM ----------

oh my god, i think im almost there, my new error is now a lacking resource

Code:
FATAL EXCEPTION: main

java.lang.RuntimeException: Unable to create service com.android.systemui.SystemUIService: android.content.res.Resources$NotFoundException: Resource ID #0x7f0b0042

	at android.app.ActivityThread.handleCreateService(ActivityThread.java:2514)

	at android.app.ActivityThread.access$1600(ActivityThread.java:149)

	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)

	at android.os.Handler.dispatchMessage(Handler.java:99)

	at android.os.Looper.loop(Looper.java:153)

	at android.app.ActivityThread.main(ActivityThread.java:4987)

	at java.lang.reflect.Method.invokeNative(Native Method)

	at java.lang.reflect.Method.invoke(Method.java:511)

	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)

	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)

	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:110)

	at dalvik.system.NativeStart.main(Native Method)

Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f0b0042

	at android.content.res.Resources.getValue(Resources.java:1032)

	at android.content.res.Resources.getDimensionPixelSize(Resources.java:594)

	at android.content.res.XResources.getDimensionPixelSize(XResources.java:335)

	at com.lidroid.systemui.quickpanel.PowerWidget.addViewToLinearLayoutRowsAndFixWidth(PowerWidget.java:496)

	at com.lidroid.systemui.quickpanel.PowerWidget.setupWidget(PowerWidget.java:18)

	at com.android.systemui.statusbar.phone.PhoneStatusBar.makeStatusBarView(PhoneStatusBar.java:599)

	at com.android.systemui.statusbar.phone.PhoneStatusBar.addStatusBarWindow(PhoneStatusBar.java:2244)

	at com.android.systemui.statusbar.phone.PhoneStatusBar.createAndAddWindows(PhoneStatusBar.java:2219)

	at com.android.systemui.statusbar.BaseStatusBar.start(BaseStatusBar.java:219)

	at com.android.systemui.statusbar.phone.PhoneStatusBar.start(PhoneStatusBar.java:350)

	at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:94)

	at android.app.ActivityThread.handleCreateService(ActivityThread.java:2504)

	... 11 more


gonna check my ids again
 

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
Becarefull guys need to pay attention to the PhoneStatusBar$xx and .method protected makeStatusBarView section


PhoneStatusBar$xx section
mFlipToQuickPanelButtonListener => PhoneStatusBar$xx -> flipToQuickPanel()V

mFlipToNotificationsButtonListener => PhoneStatusBar$xx -> flipToNotifications()V

mQuickPanelTopTabsTogglesListener & mQuickPanelBottomTabsTogglesListener => PhoneStatusBar$xx -> flipToQuickPanelToggles()V

mQuickPanelTopTabsSlidersListener & mQuickPanelBottomTabsSlidersListener => PhoneStatusBar$xx -> flipToQuickPanelSliders()V

the rest PhoneStatusBar$xx in section .method private setQuickPanelVolumeSliders()V is for PhoneStatusBar$xx - > setQuickPanelVolumeSliders()V

and
.method protected makeStatusBarView section ,
don't make mistake in adapting the register , it will make systemui fcs.
 

thirdzcee

Senior Member
May 13, 2012
1,745
589
Bacolod City
Becarefull guys need to pay attention to the PhoneStatusBar$xx and .method protected makeStatusBarView section


PhoneStatusBar$xx section
mFlipToQuickPanelButtonListener => PhoneStatusBar$xx -> flipToQuickPanel()V

mFlipToNotificationsButtonListener => PhoneStatusBar$xx -> flipToNotifications()V

mQuickPanelTopTabsTogglesListener & mQuickPanelBottomTabsTogglesListener => PhoneStatusBar$xx -> flipToQuickPanelToggles()V

mQuickPanelTopTabsSlidersListener & mQuickPanelBottomTabsSlidersListener => PhoneStatusBar$xx -> flipToQuickPanelSliders()V

the rest PhoneStatusBar$xx in section .method private setQuickPanelVolumeSliders()V is for PhoneStatusBar$xx - > setQuickPanelVolumeSliders()V

and
.method protected makeStatusBarView section ,
don't make mistake in adapting the register , it will make systemui fcs.



currently stuck in adapting the register part :(:(:(

---------- Post added at 06:48 AM ---------- Previous post was at 06:14 AM ----------

okay now this is weird,,, last night in my logcats i had VFY about registers v12 wanting to be v17
so i changed all my v12 register to v17... afterwards i had an error that register must fit into 4 bits so at that point i just saved all my work and went to bed, now when i opened it and returned all v17 registers back to v12 compiled it pushed to system. of course i wasnt expecting it to run but my logcat no longer shows registers wanting to be v17 but instead out of range

heres my logcat

Code:
[ 08-18 12:39:39.722 27440:0x6b30 W/dalvikvm ]

VFY: register index out of range (17 >= 16)



[ 08-18 12:39:39.722 27440:0x6b30 W/dalvikvm ]

VFY:  rejecting opcode 0x14 at 0x030a



[ 08-18 12:39:39.723 27440:0x6b30 W/dalvikvm ]

VFY:  rejected Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.makeStatusBarView ()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;



[ 08-18 12:39:39.723 27440:0x6b30 W/dalvikvm ]

Verifier rejected class Lcom/android/systemui/statusbar/phone/PhoneStatusBar;



[ 08-18 12:39:39.723 27440:0x6b30 W/dalvikvm ]

Class init failed in newInstance call (Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)



[ 08-18 12:39:39.724 27440:0x6b30 D/AndroidRuntime ]

Shutting down VM





[ 08-18 12:39:39.724 27440:0x6b30 W/dalvikvm ]

threadid=1: thread exiting with uncaught exception (group=0x41d08908)



[ 08-18 12:39:39.726 27440:0x6b30 E/AndroidRuntime ]

FATAL EXCEPTION: main

java.lang.VerifyError: com/android/systemui/statusbar/phone/PhoneStatusBar

	at java.lang.Class.newInstanceImpl(Native Method)

	at java.lang.Class.newInstance(Class.java:1319)

	at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:86)

	at android.app.ActivityThread.handleCreateService(ActivityThread.java:2504)

	at android.app.ActivityThread.access$1600(ActivityThread.java:149)

	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)

	at android.os.Handler.dispatchMessage(Handler.java:99)

	at android.os.Looper.loop(Looper.java:153)

	at android.app.ActivityThread.main(ActivityThread.java:4987)

	at java.lang.reflect.Method.invokeNative(Native Method)

	at java.lang.reflect.Method.invoke(Method.java:511)

	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)

	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)

	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:110)

	at dalvik.system.NativeStart.main(Native Method)
 

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
currently stuck in adapting the register part :(:(:(

---------- Post added at 06:48 AM ---------- Previous post was at 06:14 AM ----------

okay now this is weird,,, last night in my logcats i had VFY about registers v12 wanting to be v17
so i changed all my v12 register to v17... afterwards i had an error that register must fit into 4 bits so at that point i just saved all my work and went to bed, now when i opened it and returned all v17 registers back to v12 compiled it pushed to system. of course i wasnt expecting it to run but my logcat no longer shows registers wanting to be v17 but instead out of range

heres my logcat

Code:
[ 08-18 12:39:39.722 27440:0x6b30 W/dalvikvm ]

VFY: register index out of range (17 >= 16)



[ 08-18 12:39:39.722 27440:0x6b30 W/dalvikvm ]

VFY:  rejecting opcode 0x14 at 0x030a



[ 08-18 12:39:39.723 27440:0x6b30 W/dalvikvm ]

VFY:  rejected Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.makeStatusBarView ()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;



[ 08-18 12:39:39.723 27440:0x6b30 W/dalvikvm ]

Verifier rejected class Lcom/android/systemui/statusbar/phone/PhoneStatusBar;



[ 08-18 12:39:39.723 27440:0x6b30 W/dalvikvm ]

Class init failed in newInstance call (Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)



[ 08-18 12:39:39.724 27440:0x6b30 D/AndroidRuntime ]

Shutting down VM





[ 08-18 12:39:39.724 27440:0x6b30 W/dalvikvm ]

threadid=1: thread exiting with uncaught exception (group=0x41d08908)



[ 08-18 12:39:39.726 27440:0x6b30 E/AndroidRuntime ]

FATAL EXCEPTION: main

java.lang.VerifyError: com/android/systemui/statusbar/phone/PhoneStatusBar

	at java.lang.Class.newInstanceImpl(Native Method)

	at java.lang.Class.newInstance(Class.java:1319)

	at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:86)

	at android.app.ActivityThread.handleCreateService(ActivityThread.java:2504)

	at android.app.ActivityThread.access$1600(ActivityThread.java:149)

	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)

	at android.os.Handler.dispatchMessage(Handler.java:99)

	at android.os.Looper.loop(Looper.java:153)

	at android.app.ActivityThread.main(ActivityThread.java:4987)

	at java.lang.reflect.Method.invokeNative(Native Method)

	at java.lang.reflect.Method.invoke(Method.java:511)

	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)

	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)

	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:110)

	at dalvik.system.NativeStart.main(Native Method)

if you have sussfully port liroid mod before this guide mod , you should sucessfully port this mod too
 

thirdzcee

Senior Member
May 13, 2012
1,745
589
Bacolod City
if you have sussfully port liroid mod before this guide mod , you should sucessfully port this mod too

i have,, after 2 tries with lidroid i got it to work,,, with this i was up from 9pm to 3am last night tryin to get it to work... i must be losing it... anyway i did a double check and looks like there was sill 1 resgister that was v17,,, gonna recompile and take a logcat now to see if i get any improved results
 
S

SuperDroid-BOND

Guest
And I'm trying it from 72 hours and now got it working but no toggles fighting with layout.

"""Hitting Thanks Don't Cost You Anything So Why Don't You Try Hitting It.......;););)"""

Sent From Mind Blowing Canvas Using SUVI-Heart Rom.....<3<3<3
 

thirdzcee

Senior Member
May 13, 2012
1,745
589
Bacolod City
@Adi Aisiteru Reborn okay so now i have error about check-cast
Code:
[ 08-18 14:05:52.109  9178:0x23da E/AndroidRuntime ]

FATAL EXCEPTION: main

java.lang.RuntimeException: Unable to create service com.android.systemui.SystemUIService: java.lang.ClassCastException: com.android.systemui.statusbar.toolbar.ConfigurationIconView cannot be cast to android.widget.ScrollView

	at android.app.ActivityThread.handleCreateService(ActivityThread.java:2514)

	at android.app.ActivityThread.access$1600(ActivityThread.java:149)

	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)

	at android.os.Handler.dispatchMessage(Handler.java:99)

	at android.os.Looper.loop(Looper.java:153)

	at android.app.ActivityThread.main(ActivityThread.java:4987)

	at java.lang.reflect.Method.invokeNative(Native Method)

	at java.lang.reflect.Method.invoke(Method.java:511)

	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)

	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)

	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:110)

	at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.ClassCastException: com.android.systemui.statusbar.toolbar.ConfigurationIconView cannot be cast to android.widget.ScrollView

	at com.lidroid.systemui.quickpanel.PowerWidget.setupWidget(PowerWidget.java:21)

	at com.android.systemui.statusbar.phone.PhoneStatusBar.makeStatusBarView(PhoneStatusBar.java:599)

	at com.android.systemui.statusbar.phone.PhoneStatusBar.addStatusBarWindow(PhoneStatusBar.java:2244)

	at com.android.systemui.statusbar.phone.PhoneStatusBar.createAndAddWindows(PhoneStatusBar.java:2219)

	at com.android.systemui.statusbar.BaseStatusBar.start(BaseStatusBar.java:219)

	at com.android.systemui.statusbar.phone.PhoneStatusBar.start(PhoneStatusBar.java:350)

	at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:94)

	at android.app.ActivityThread.handleCreateService(ActivityThread.java:2504)

	... 11 more

is this something related the layout or is it still with smali??? toolbarconfiguration i believe is the stock toggles and basing on how i interpret the error it cant be placed inside the scroll view, i might be wrong as well,,, its just a guess,,, any tip in this sir???
 

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
@Adi Aisiteru Reborn okay so now i have error about check-cast
Code:
[ 08-18 14:05:52.109  9178:0x23da E/AndroidRuntime ]

FATAL EXCEPTION: main

java.lang.RuntimeException: Unable to create service com.android.systemui.SystemUIService: java.lang.ClassCastException: com.android.systemui.statusbar.toolbar.ConfigurationIconView cannot be cast to android.widget.ScrollView

at android.app.ActivityThread.handleCreateService(ActivityThread.java:2514)

at android.app.ActivityThread.access$1600(ActivityThread.java:149)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)

at android.os.Handler.dispatchMessage(Handler.java:99)

at android.os.Looper.loop(Looper.java:153)

at android.app.ActivityThread.main(ActivityThread.java:4987)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:511)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)

at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:110)

at dalvik.system.NativeStart.main(Native Method)

Caused by: java.lang.ClassCastException: com.android.systemui.statusbar.toolbar.ConfigurationIconView cannot be cast to android.widget.ScrollView

at com.lidroid.systemui.quickpanel.PowerWidget.setupWidget(PowerWidget.java:21)

at com.android.systemui.statusbar.phone.PhoneStatusBar.makeStatusBarView(PhoneStatusBar.java:599)

at com.android.systemui.statusbar.phone.PhoneStatusBar.addStatusBarWindow(PhoneStatusBar.java:2244)

at com.android.systemui.statusbar.phone.PhoneStatusBar.createAndAddWindows(PhoneStatusBar.java:2219)

at com.android.systemui.statusbar.BaseStatusBar.start(BaseStatusBar.java:219)

at com.android.systemui.statusbar.phone.PhoneStatusBar.start(PhoneStatusBar.java:350)

at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:94)

at android.app.ActivityThread.handleCreateService(ActivityThread.java:2504)

... 11 more

is this something related the layout or is it still with smali??? toolbarconfiguration i believe is the stock toggles and basing on how i interpret the error it cant be placed inside the scroll view, i might be wrong as well,,, its just a guess,,, any tip in this sir???

Am on mobile now can't give u en example..

But basically for set on click listener, treat them like u have set on click listener too , see settings button lines.
For check cast, treat it like u have check cast too..see date view lines

Sent from my GT-I8150 using xda app-developers app
 
S

SuperDroid-BOND

Guest
Still Running in Problem Sir.....!!!!!!!

@Adi Aisiteru Reborn

Sir, I am still facing two problem......

1) Toggles are not showing in the notification panel
2) After every reboot facing a SystemUI unfortunately stopped but after 2-3 minutes its visible again. So taken logcat for that and nothing is there which I can resolved.
Code:
E/AndroidRuntime(  570): FATAL EXCEPTION: main

E/AndroidRuntime(  570): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.intent.action.CONFIGURATION_CHANGED flg=0x60000010 } in com.android.systemui.statusbar.phone.PhoneStatusBar$21@41f47170

E/AndroidRuntime(  570):     at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:795)

E/AndroidRuntime(  570):     at android.os.Handler.handleCallback(Handler.java:615)

E/AndroidRuntime(  570):     at android.os.Handler.dispatchMessage(Handler.java:92)

E/AndroidRuntime(  570):     at android.os.Looper.loop(Looper.java:153)

E/AndroidRuntime(  570):     at android.app.ActivityThread.main(ActivityThread.java:5086)

E/AndroidRuntime(  570):     at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime(  570):     at java.lang.reflect.Method.invoke(Method.java:511)

E/AndroidRuntime(  570):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)

E/AndroidRuntime(  570):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)

E/AndroidRuntime(  570):     at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime(  570): Caused by: java.lang.NullPointerException

E/AndroidRuntime(  570):     at com.android.systemui.statusbar.phone.PhoneStatusBar.updateResources(PhoneStatusBar.java:2647)

E/AndroidRuntime(  570):     at com.android.systemui.statusbar.phone.PhoneStatusBar$21.onReceive(PhoneStatusBar.java:2565)

E/AndroidRuntime(  570):     at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:785)

E/AndroidRuntime(  570):     ... 9 more


Attached the full LOG and the SystemUI that I made with your suggested layout.

Please help me Sir. Invested more than 78 precious hours in last 4 days.
 

Attachments

  • No_toggles_Reboot_error-BOND_files.zip
    2.3 MB · Views: 13
  • Screenshot_2013-08-18-16-28-48.jpg
    Screenshot_2013-08-18-16-28-48.jpg
    7.3 KB · Views: 117
  • Screenshot_2013-08-18-16-28-44.jpg
    Screenshot_2013-08-18-16-28-44.jpg
    28 KB · Views: 140

Top Liked Posts

  • There are no posts matching your filters.
  • 25
    PORTING GUIDE - MOD 4.2 STATUSBAR
    ( TABS, Slider, Flip button with Flip Anim, )
    FOR CM10 / JB 4.1


    This is been requested so many times, so here I made the guide
    I will write the guide is basically for CM10, and for other base rom/devices should adapt / compare it.
    But don't use it on ICS 4.0/JB 4.2/JB 4.3.

    Credit & Thanks to
    - Recognized Themer @serajr, coz this mod will be impossible without his amazing work 4.2 style statusbar for Xperia ICS devices,.
    and me for porting it to CM9 & CM10 ;)
    - Senior Member legend @lidroid for his toggle code
    - Recognized Developer @wanam for his JB lidroid code & LidroidSettings.apk
    - Recognized Developer @arco68 for giving our device GT-I8150 Galaxy Wonder CyanogenMod rom, coz without him, I will never have JB or ICS on my device
    - My hometown Tanjung Karang,. Api kabarr ?? LOlss :p
    - PM me if I've missed someone/something


    ok lets go to Guide:
    first of all need some requirement for this MOD-GUIDE

    REQUIREMENT:
    - BRAIN
    - Patient
    - experience
    - Know how to decompile/recompiling Apk file
    - notepad++
    - Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else



    STEP -1
    Decompile Settings.apk, we are going to remove CM PowerWidget settings and add Lidroid settings.
    Settings.apk\res\xml\system_settings.xml and remove the red code :
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <PreferenceScreen android:title="@string/system_interface_title"
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
        <PreferenceScreen android:title="@string/combined_status_bar_title" android:key="status_bar" android:fragment="com.android.settings.cyanogenmod.StatusBar" />
        [COLOR="Red"]<PreferenceScreen android:title="@string/notification_drawer_title" android:key="notification_drawer" android:fragment="com.android.settings.cyanogenmod.PowerWidget" />[/COLOR]
        <PreferenceScreen android:title="@string/notification_drawer_title" android:key="notification_drawer_tablet" android:fragment="com.android.settings.cyanogenmod.TabletPowerWidget" />
        <PreferenceScreen android:title="@string/wallpaper_settings_title" android:key="wallpaper" android:fragment="com.android.settings.WallpaperTypeSettings" />
        <ListPreference android:entries="@array/entries_font_size" android:title="@string/title_font_size" android:key="font_size" android:summary="@string/summary_font_size" android:dialogTitle="@string/dialog_title_font_size" android:entryValues="@array/entryvalues_font_size" />
        <PreferenceScreen android:title="@string/power_menu_title" android:key="power_menu" android:fragment="com.android.settings.cyanogenmod.PowerMenu" />
        <PreferenceScreen android:title="@string/navigation_bar_title" android:key="navigation_bar" android:fragment="com.android.settings.cyanogenmod.NavBar" />
        <PreferenceScreen android:title="@string/hardware_keys_title" android:key="hardware_keys" android:fragment="com.android.settings.cyanogenmod.HardwareKeys" />
    </PreferenceScreen>

    - Settings.apk\res\xml\settings_headers.xml and add the blue code
    Code:
      <header android:title="@string/header_category_interface" />
        <header android:icon="@drawable/ic_settings_cmlauncher" android:id="@id/launcher_settings" android:title="@string/launcher_settings_title" />
        <header android:icon="@drawable/ic_settings_lockscreen" android:id="@id/lock_screen_settings" android:title="@string/lock_screen_title" android:fragment="com.android.settings.cyanogenmod.LockscreenInterface" />
        <header android:icon="@drawable/ic_settings_themes" android:id="@id/themes_settings" android:title="@string/themes_settings_title">
            <intent android:targetPackage="com.tmobile.themechooser" android:action="android.intent.action.MAIN" android:targetClass="com.tmobile.themechooser.ThemeChooser" />
        </header>
        <header android:icon="@drawable/ic_settings_system" android:id="@id/system_settings" android:title="@string/system_settings_title" android:fragment="com.android.settings.cyanogenmod.SystemSettings" />
        [COLOR="Blue"]<header android:icon="@drawable/ic_settings_advanced" android:id="@id/adi_buttons" android:title="@string/adi_buttons_title">
            <intent android:targetPackage="com.lidroid.settings" android:action="android.intent.action.MAIN" android:targetClass="com.lidroid.settings.Settings" />
        </header>[/COLOR]
        <header android:title="@string/header_category_device" />
        <header android:icon="@drawable/ic_settings_sound" android:id="@id/sound_settings" android:title="@string/sound_settings" android:fragment="com.android.settings.SoundSettings" />
        <header android:icon="@drawable/ic_settings_display" android:id="@id/display_settings" android:title="@string/display_settings" android:fragment="com.android.settings.DisplaySettings" />
        <header android:icon="@drawable/ic_settings_storage" android:id="@id/storage_settings" android:title="@string/storage_settings" android:fragment="com.android.settings.deviceinfo.Memory" />
        <header android:icon="@drawable/ic_settings_battery" android:id="@id/battery_settings" android:title="@string/power_usage_summary_title" android:fragment="com.android.settings.fuelgauge.PowerUsageSummary" />

    Settings.apk\res\values\strings.xml
    Code:
    <string name="gestures_action_menu">Emulate Menu key</string>
        <string name="gestures_action_search">Invoke search</string>
        <string name="gestures_action_recent">Recent applications</string>
        [COLOR="Blue"]<string name="adi_buttons_title">Power Widget</string>[/COLOR]
    </resources>

    Settings.apk\res\values\ids.xml
    Code:
     <item type="id" name="action_delete">false</item>
        <item type="id" name="action_select_all">false</item>
        <item type="id" name="storage_usb">false</item>
        <item type="id" name="wifi_wps">false</item>
        [COLOR="Blue"]<item type="id" name="adi_buttons">false</item>[/COLOR]
    </resources>

    download attached ic_settings_advanced.zip, unzip it and
    put it to Settings.apk\res\drawable-hdpi
    done and recompile your settings.apk

    NEXT
    Download attached LidroidSettings.apk and push to System/App with right permission

    CONTINUE THE GUIDE IN POST #2
    14
    STEP - 2

    Decompile SystemUI.apk
    make change to
    SystemUI.apk\res\layout\status_bar_expanded.xml
    BEFORE
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout android:id="@id/notification_panel" android:background="@drawable/notification_panel_bg" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/notification_panel_margin_left"
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
        <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="bottom" android:id="@id/carrier_label" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height" />
        <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/close_handle_underlap">
            <include android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" layout="@layout/status_bar_expanded_header" />
            <com.android.systemui.statusbar.powerwidget.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_widget_height" />
            <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network.EmergencyOnly" android:gravity="center" android:id="@id/emergency_calls_only" android:paddingBottom="4.0dip" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" />
            <ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="always">
                <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/notification_row_min_height" />
            </ScrollView>
        </LinearLayout>
        <com.android.systemui.statusbar.phone.CloseDragHandle android:layout_gravity="bottom" android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="@dimen/close_handle_height">
            <ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/close_handle_height" android:src="@drawable/status_bar_close" android:scaleType="fitXY" />
        </com.android.systemui.statusbar.phone.CloseDragHandle>
    </FrameLayout>

    AFTER
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout android:id="@id/notification_panel" android:background="@drawable/notification_panel_bg" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="@dimen/notification_panel_margin_left"
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
      <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="bottom" android:id="@id/carrier_label" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height" />
       <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/close_handle_underlap">
            <include android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" layout="@layout/status_bar_expanded_header" />
            <ViewFlipper android:id="@id/contents_flipper" android:layout_width="fill_parent" android:layout_height="wrap_content"
              xmlns:android="http://schemas.android.com/apk/res/android">
                <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
                    <TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network.EmergencyOnly" android:gravity="center" android:id="@id/emergency_calls_only" android:paddingBottom="4.0dip" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" />
                    <ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="ifContentScrolls">
                        <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
                            <com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/notification_row_min_height" />
                        </LinearLayout>
                    </ScrollView>
                    <ImageView android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/title_bar_shadow" android:scaleType="fitXY" />
                </FrameLayout>
                <include android:layout_width="fill_parent" android:layout_height="fill_parent" layout="@layout/status_bar_expanded_quickpanel" />
            </ViewFlipper>
        </LinearLayout>
        <com.android.systemui.statusbar.phone.CloseDragHandle android:layout_gravity="bottom" android:orientation="vertical" android:id="@id/close" android:layout_width="fill_parent" android:layout_height="@dimen/close_handle_height">
            <ImageView android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/close_handle_height" android:src="@drawable/status_bar_close" android:scaleType="fitXY" />
        </com.android.systemui.statusbar.phone.CloseDragHandle>
    </FrameLayout>

    SystemUI.apk\res\layout\status_bar_expanded_header.xml
    BEFORE
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="@drawable/notification_header_bg" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:id="@id/clock" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:singleLine="true" />
        <com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="8.0dip" />
        <LinearLayout android:id="@id/buttons_bar" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />
            <ImageView android:id="@id/settings_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:contentDescription="@string/accessibility_settings_button" />
        </LinearLayout>
        <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
        <ImageView android:id="@id/clear_all_button" android:layout_width="48.0dip" android:layout_height="48.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:contentDescription="@string/accessibility_clear_all" />
    </LinearLayout>

    AFTER
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false"
      xmlns:android="http://schemas.android.com/apk/res/android">
        <RelativeLayout android:id="@id/datetime" android:background="#ff000000" android:paddingTop="3.0dip" android:paddingRight="3.0dip" android:paddingBottom="5.0dip" android:layout_width="fill_parent" android:layout_height="48.0dip">
            <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:id="@id/clock" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:singleLine="true" />
            <com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:id="@id/date" android:paddingTop="3.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginRight="8.0dip" android:layout_toRightOf="@id/clock" />
            <LinearLayout android:id="@id/buttons_bar" android:layout_width="wrap_content" android:layout_height="wrap_content">
                <com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />
            </LinearLayout>
            <ViewFlipper android:id="@id/header_flipper" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="2.0dip" android:layout_alignParentRight="true"
              xmlns:android="http://schemas.android.com/apk/res/android">
                <RelativeLayout android:layout_width="wrap_content" android:layout_height="fill_parent">
                    <ImageView android:id="@id/flip_to_quickpanel_button" android:layout_width="50.0dip" android:layout_height="50.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_desc_quick_settings" />
                    <ImageView android:id="@id/clear_all_button" android:layout_width="50.0dip" android:layout_height="50.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:layout_toLeftOf="@id/flip_to_quickpanel_button" android:contentDescription="@string/accessibility_clear_all" />
                </RelativeLayout>
                <RelativeLayout android:layout_width="wrap_content" android:layout_height="fill_parent">
                    <ImageView android:id="@id/flip_to_notifications_button" android:layout_width="50.0dip" android:layout_height="50.0dip" android:src="@drawable/ic_notifications" android:scaleType="center" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_notifications_button" />
                </RelativeLayout>
            </ViewFlipper>
        </RelativeLayout>
    </LinearLayout>

    NEW CODE FOR status_bar_expanded_header.xml ( fixed DateView layout )
    AFTER

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false"
      xmlns:android="http://schemas.android.com/apk/res/android">
        [COLOR="Blue"]<RelativeLayout android:id="@id/datetime" android:background="#ff000000" android:layout_width="fill_parent" android:layout_height="48.0dip">[/COLOR]
            <com.android.systemui.statusbar.policy.Clock android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:id="@id/clock" android:clickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:singleLine="true" />
            [COLOR="Blue"]<com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8.0dip" android:layout_marginTop="8.0dip" android:layout_marginRight="8.0dip" android:layout_marginBottom="8.0dip" android:layout_toRightOf="@id/clock" />[/COLOR]
            <LinearLayout android:id="@id/buttons_bar" android:layout_width="wrap_content" android:layout_height="wrap_content">
                <com.android.systemui.statusbar.RotationToggle android:id="@id/rotation_lock_button" android:clickable="true" android:layout_width="32.0dip" android:layout_height="32.0dip" android:layout_margin="8.0dip" android:button="@drawable/ic_notify_rotation" android:contentDescription="@string/accessibility_rotation_lock_off" />
            </LinearLayout>
            <Space android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_weight="1.0" />
            <ViewFlipper android:id="@id/header_flipper" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="2.0dip" android:layout_alignParentRight="true"
              xmlns:android="http://schemas.android.com/apk/res/android">
                <RelativeLayout android:layout_width="wrap_content" android:layout_height="fill_parent">
                    <ImageView android:id="@id/flip_to_quickpanel_button" android:layout_width="50.0dip" android:layout_height="50.0dip" android:src="@drawable/ic_notify_quicksettings" android:scaleType="center" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_desc_quick_settings" />
                    <ImageView android:id="@id/clear_all_button" android:layout_width="50.0dip" android:layout_height="50.0dip" android:src="@drawable/ic_notify_clear" android:scaleType="center" android:layout_toLeftOf="@id/flip_to_quickpanel_button" android:contentDescription="@string/accessibility_clear_all" />
                </RelativeLayout>
                <RelativeLayout android:layout_width="wrap_content" android:layout_height="fill_parent">
                    <ImageView android:id="@id/flip_to_notifications_button" android:layout_width="50.0dip" android:layout_height="50.0dip" android:src="@drawable/ic_notifications" android:scaleType="center" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_notifications_button" />
                </RelativeLayout>
            </ViewFlipper>
        </RelativeLayout>
    </LinearLayout>

    SystemUI.apk\res\values\dimens.xml, ids.xml, strings.xml, styles.xml,. add the blue code

    dimens.xml
    Code:
     <dimen name="carrier_label_height">24.0dip</dimen>
        <dimen name="blinds_pop_threshold">32.0dip</dimen>
        <dimen name="pull_span_min">25.0dip</dimen>
        [COLOR="Blue"]<dimen name="quickpanel_button_height">107.0dip</dimen>
        <dimen name="quickpanel_tabs_height">48.0dip</dimen>[/COLOR]
    </resources>

    ids.xml
    Code:
     <item type="id" name="notification_inspect_item">false</item>
        <item type="id" name="recent_remove_item">false</item>
        <item type="id" name="recent_inspect_item">false</item>
        [COLOR="Blue"]<item type="id" name="datetime">false</item>
        <item type="id" name="header_flipper">false</item>
        <item type="id" name="carrier_label_2">false</item>
        <item type="id" name="close_drag">false</item>
        <item type="id" name="quickpanel_top_tabs">false</item>
        <item type="id" name="quickpanel_bottom_tabs">false</item>
        <item type="id" name="quickpanel_button">false</item>
        <item type="id" name="quickpanel_button_image">false</item>
        <item type="id" name="quickpanel_button_text">false</item>
        <item type="id" name="quickpanel_button_indic">false</item>
        <item type="id" name="flip_to_quickpanel_button">false</item>
        <item type="id" name="flip_to_notifications_button">false</item>
        <item type="id" name="contents_flipper">false</item>
        <item type="id" name="user_button">false</item>
        <item type="id" name="user_button_image">false</item>
        <item type="id" name="user_button_text">false</item>
        <item type="id" name="quickpanel_contents">false</item>
        <item type="id" name="brightness_slider_text">false</item>
        <item type="id" name="quickpanel_top_tabs_toggles">false</item>
        <item type="id" name="quickpanel_top_tabs_sliders">false</item>
        <item type="id" name="quickpanel_flipper">false</item>
        <item type="id" name="quickpanel_slider_ringer_volume">false</item>
        <item type="id" name="quickpanel_slider_notification_volume">false</item>
        <item type="id" name="quickpanel_slider_voice_call_volume">false</item>
        <item type="id" name="quickpanel_slider_media_volume">false</item>
        <item type="id" name="quickpanel_slider_alarm_volume">false</item>
        <item type="id" name="quickpanel_scrollview_toggles">false</item>
        <item type="id" name="quickpanel_scrollview_sliders">false</item>
        <item type="id" name="quickpanel">false</item>
        <item type="id" name="quickpanel_bottom_tabs_toggles">false</item>
        <item type="id" name="quickpanel_bottom_tabs_sliders">false</item>
        <item type="id" name="divider_tile">false</item>[/COLOR]
    </resources>

    strings.xml
    Code:
    <string name="navbar_back_button">Back button</string>
        <string name="navbar_empty_button">Empty button</string>
        <string name="navbar_menu_conditional_button">Menu (autoHide) button</string>
        <string name="navbar_menu_always_button">Menu (alwaysShow) button</string>
        <string name="navbar_menu_big_button">Menu button</string>
        [COLOR="Blue"]<string name="accessibility_desc_quick_settings">Quick settings.</string>
        <string name="user_button_label">Me</string>
        <string name="quickpanel_wifi_text">Wi-Fi</string>
        <string name="quickpanel_dc_text">Data</string>
        <string name="quickpanel_network_mode_text">Network Mode</string>
        <string name="quickpanel_sound_text">Sound</string>
        <string name="quickpanel_sound_vibration_text">Sound Vibration</string>
        <string name="quickpanel_silent_text">Silent</string>
        <string name="quickpanel_vibration_text">Vibration</string>
        <string name="quickpanel_rotation_text">Auto Rotation</string>
        <string name="quickpanel_bluetooth_text">Bluetooth</string>
        <string name="quickpanel_gps_text">GPS</string>
        <string name="quickpanel_autosync_text">Auto Sync</string>
        <string name="quickpanel_brightness_text">Brightness</string>
        <string name="quickpanel_screen_timeout_text">Screen Timeout</string>
        <string name="quickpanel_lockscreen_text">Lockscreen</string>
        <string name="quickpanel_airplane_text">Airplane Mode</string>
        <string name="quickpanel_flashlight_text">Flashlight</string>
        <string name="quickpanel_reboot_text">Reboot</string>
        <string name="quickpanel_shutdown_text">Shutdown</string>
        <string name="airplane_mode">In Flight mode</string>
        <string name="shutdown_confirm">Your phone will shut down.</string>
        <string name="screen_timeout_seconds">Screen timeout set to: %d second(s)</string>
        <string name="screen_timeout_minutes">Screen timeout set to: %d minute(s)</string>
        <string name="screen_timeout_hours">Screen timeout set to: %d hour(s)</string>
        <string name="hamster">Phone Options</string>
        <string name="yes">OK</string>
        <string name="no">Cancel</string>
        <string name="reboot">Reboot</string>
        <string name="reboot_recovery">Recovery</string>
        <string name="reboot_download">Download</string>
        <string name="quickpanel_usb_debugging_text">USB Debugging</string>
        <string name="quickpanel_usb_connection_mode_text">USB Conn. Mode</string>
        <string name="quickpanel_usb_current_mtp_title">Current mode: MPT</string>
        <string name="quickpanel_usb_current_msc_title">Current mode: MSC</string>
        <string name="usb_mpt_mode">MPT - Media Transfer</string>
        <string name="usb_msc_mode">MSC - Mass Storage</string>
        <string name="quickpanel_wifi_ap_text">Wi-Fi Hotspot</string>
        <string name="quickpanel_stay_awake_plugged_text">Stay Awake</string>
        <string name="quickpanel_battery_info_text">Battery Info</string>
        <string name="battery_info_info">Battery Information</string>
        <string name="battery_info_usage">Battery Power Usage</string>
        <string name="quickpanel_tab_toggles_text">Toggle Buttons</string>
        <string name="quickpanel_tab_sliders_text">Slider Controls</string>
        <string name="quickpanel_slider_ringer_volume_text">Ringtone & notifications</string>
        <string name="quickpanel_slider_notification_volume_text">Notifications</string>
        <string name="quickpanel_slider_voice_call_volume_text">Voice calls</string>
        <string name="quickpanel_slider_media_volume_text">Music, video, games, & other media</string>
        <string name="quickpanel_slider_alarm_volume_text">Alarms</string>
        <string name="quickpanel_lock_now_text">Lock Now</string>[/COLOR]
    </resources>

    styles.xml
    Code:
     <style name="StatusBarPanelSettingsContents">
            <item name="android:textSize">18.0sp</item>
            <item name="android:textColor">?android:textColorPrimary</item>
            <item name="android:layout_gravity">left|center</item>
            <item name="android:layout_width">0.0dip</item>
            <item name="android:layout_height">wrap_content</item>
            <item name="android:layout_weight">1.0</item>
        </style>
        [COLOR="Blue"]<style name="TextAppearance" />
        <style name="TextAppearance.QuickPanel" parent="@style/TextAppearance" />
        <style name="TextAppearance.QuickPanel.TextStyle" parent="@style/TextAppearance.QuickPanel">
            <item name="android:textSize">12.0dip</item>
            <item name="android:textStyle">normal</item>
            <item name="android:textColor">#ffcccccc</item>
            <item name="android:ellipsize">marquee</item>
            <item name="android:paddingLeft">6.0dip</item>
            <item name="android:paddingRight">6.0dip</item>
            <item name="android:fadingEdge">horizontal</item>
            <item name="android:maxLines">2</item>
            <item name="android:singleLine">false</item>
            <item name="android:drawablePadding">12.0dip</item>
            <item name="android:textAllCaps">true</item>
        </style>[/COLOR]
    </resources>

    CONTINUE THE GUIDE IN POST #3
    12
    NOTE FOR CM10 !!
    go to SystemUI.apk\smali\com\android\systemui\statusbar
    remove powerwidget folder

    rename all lines in SystemUI.apk\smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali
    from all
    Code:
    mPowerWidget:Lcom/android/systemui/statusbar/powerwidget/PowerWidget;
    to
    Code:
    mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;

    and

    from all
    Code:
    Lcom/android/systemui/statusbar/powerwidget/PowerWidget;
    to
    Code:
    Lcom/lidroid/systemui/quickpanel/PowerWidget;


    NEXT STEP

    SystemUI.apk\smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali

    add the blue code

    Code:
    # instance fields
    .field mAbsPos:[I
    
    .field mAnimAccel:F
    
    .field mAnimLastTimeNanos:J
    
    .field mAnimVel:F
    
    .field mAnimY:F
    
    .field mAnimating:Z
    
    .field mAnimatingReveal:Z
    
    .field final mAnimationCallback:Ljava/lang/Runnable;
    
    [COLOR="Blue"].field private mAudioManager:Landroid/media/AudioManager;[/COLOR]
    
    .field mBatteryController:Lcom/android/systemui/statusbar/policy/BatteryController;
    
    [COLOR="Blue"].field mBrightness:Lcom/android/systemui/statusbar/policy/BrightnessController;[/COLOR]
    
    .field private mBrightnessControl:Z
    
    .field private mBroadcastReceiver:Landroid/content/BroadcastReceiver;
    
    .field mButtonsBar:Landroid/view/View;
    
    .field private mCarrierLabel:Landroid/widget/TextView;
    
    .field private mCarrierLabelHeight:I
    
    .field private mCarrierLabelVisible:Z
    
    .field mChoreographer:Landroid/view/Choreographer;
    
    .field mClearButton:Landroid/view/View;
    
    .field private mClearButtonListener:Landroid/view/View$OnClickListener;
    
    .field mClockView:Lcom/android/systemui/statusbar/policy/Clock;
    
    .field mCloseView:Lcom/android/systemui/statusbar/phone/CloseDragHandle;
    
    .field private mCloseViewHeight:I
    
    .field mClosing:Z
    
    .field private mCollapseAccelPx:F
    
    .field private mCollapseMinDisplayFraction:F
    
    [COLOR="Blue"].field mContentsFlipper:Landroid/widget/ViewFlipper;[/COLOR]
    
    .field mCurrentTheme:Landroid/content/res/CustomTheme;
    
    .field mDateView:Lcom/android/systemui/statusbar/policy/DateView;
    
    .field mDisabled:I
    
    .field mDisplay:Landroid/view/Display;
    
    .field mDisplayMetrics:Landroid/util/DisplayMetrics;
    
    .field mEdgeBorder:I
    
    .field private mEmergencyCallLabel:Landroid/widget/TextView;
    
    .field private mExpandAccelPx:F
    
    .field private mExpandMinDisplayFraction:F
    
    .field mExpanded:Z
    
    .field mExpandedContents:Landroid/view/View;
    
    .field mExpandedVisible:Z
    
    .field private mFlingCollapseMinVelocityPx:F
    
    .field private mFlingExpandMinVelocityPx:F
    
    .field private mFlingGestureMaxOutputVelocityPx:F
    
    .field private mFlingGestureMaxXVelocityPx:F
    
    .field mFlingVelocity:F
    
    .field mFlingY:I
    
    [COLOR="Blue"].field mFlipToNotificationsButton:Landroid/view/View;
    
    .field private mFlipToNotificationsButtonListener:Landroid/view/View$OnClickListener;
    
    .field mFlipToQuickPanelButton:Landroid/view/View;
    
    .field private mFlipToQuickPanelButtonListener:Landroid/view/View$OnClickListener;[/COLOR]
    
    .field mFocusChangeListener:Landroid/view/View$OnFocusChangeListener;
    
    [COLOR="Blue"].field mHeaderFlipper:Landroid/widget/ViewFlipper;[/COLOR]
    
    .field mHomeSearchActionListener:Landroid/view/View$OnTouchListener;
    
    .field mIconHPadding:I
    
    .field mIconPolicy:Lcom/android/systemui/statusbar/phone/PhoneStatusBarPolicy;
    
    .field mIconSize:I
    
    .field mIcons:Landroid/widget/LinearLayout;
    
    .field mInitialTouchX:I
    
    .field mInitialTouchY:I
    
    .field private mLightsOnAnimation:Landroid/animation/AnimatorSet;
    
    .field private mLightsOutAnimation:Landroid/animation/AnimatorSet;
    
    .field mLinger:I
    
    .field mLocationController:Lcom/android/systemui/statusbar/policy/LocationController;
    
    .field mLongPressBrightnessChange:Ljava/lang/Runnable;
    
    .field private final mMakeIconsInvisible:Landroid/animation/Animator$AnimatorListener;
    
    [COLOR="Blue"].field mMeProfileContentObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MeProfileContentObserver;[/COLOR]
    
    .field private mMinBrightness:I
    
    .field mMoreIcon:Landroid/view/View;
    
    .field mNaturalBarHeight:I
    
    .field private mNavigationBarView:Lcom/android/systemui/statusbar/phone/NavigationBarView;
    
    .field private mNavigationIconHints:I
    
    .field mNetworkController:Lcom/android/systemui/statusbar/policy/NetworkController;
    
    .field mNotificationIcons:Lcom/android/systemui/statusbar/phone/IconMerger;
    
    .field mNotificationPanel:Landroid/view/View;
    
    .field final mNotificationPanelBackgroundPadding:Landroid/graphics/Rect;
    
    .field mNotificationPanelGravity:I
    
    .field mNotificationPanelIsFullScreenWidth:Z
    
    .field mNotificationPanelMarginBottomPx:I
    
    .field mNotificationPanelMarginLeftPx:I
    
    .field mNotificationPanelMinHeight:I
    
    .field private final mPerformFling:Ljava/lang/Runnable;
    
    .field private final mPerformSelfExpandFling:Ljava/lang/Runnable;
    
    .field mPixelFormat:I
    
    .field mPositionTmp:[I
    
    .field mPostCollapseCleanup:Ljava/lang/Runnable;
    
    [COLOR="Blue"].field mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;[/COLOR]
    
    .field mQueueLock:Ljava/lang/Object;
    
    [COLOR="Blue"].field mQuickPanelBottomTabsSliders:Landroid/view/View;
    
    .field private mQuickPanelBottomTabsSlidersListener:Landroid/view/View$OnClickListener;
    
    .field mQuickPanelBottomTabsToggles:Landroid/view/View;
    
    .field private mQuickPanelBottomTabsTogglesListener:Landroid/view/View$OnClickListener;
    
    .field mQuickPanelContents:Landroid/view/View;
    
    .field mQuickPanelFlipper:Landroid/widget/ViewFlipper;
    
    .field mQuickPanelTopTabsSliders:Landroid/view/View;
    
    .field private mQuickPanelTopTabsSlidersListener:Landroid/view/View$OnClickListener;
    
    .field mQuickPanelTopTabsToggles:Landroid/view/View;
    
    .field private mQuickPanelTopTabsTogglesListener:Landroid/view/View$OnClickListener;
    
    .field mRecentsButton:Landroid/view/View;[/COLOR]
    
    .field private mRecentsClickListener:Landroid/view/View$OnClickListener;
    
    .field private mRecreating:Z
    
    .field final mRevealAnimationCallback:Ljava/lang/Runnable;
    
    .field mRotationButton:Lcom/android/systemui/statusbar/RotationToggle;
    
    .field private mScreenWidth:F
    
    .field mScrollView:Landroid/widget/ScrollView;
    
    .field private mSelfCollapseVelocityPx:F
    
    .field private mSelfExpandVelocityPx:F
    
    .field mSettingsButton:Landroid/view/View;
    
    .field private mSettingsButtonListener:Landroid/view/View$OnClickListener;
    
    .field private mShowClock:Z
    
    .field private mShowSearchHoldoff:I
    
    .field private mShowSearchPanel:Ljava/lang/Runnable;
    
    .field private final mStartRevealAnimation:Ljava/lang/Runnable;
    
    .field mStartTracing:Ljava/lang/Runnable;
    
    .field mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
    
    .field mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
    .field mStatusIcons:Landroid/widget/LinearLayout;
    
    .field mStopTracing:Ljava/lang/Runnable;
    
    .field mSystemUiVisibility:I
    
    .field private mTicker:Lcom/android/systemui/statusbar/phone/Ticker;
    
    .field private mTickerView:Landroid/view/View;
    
    .field private mTicking:Z
    
    .field mTickingDoneListener:Landroid/view/animation/Animation$AnimationListener;
    
    .field mTracking:Z
    
    .field mTrackingPosition:I
    
    .field mVelocityTracker:Landroid/view/VelocityTracker;
    
    .field mViewDelta:I
    
    .field mWindowManager:Landroid/view/IWindowManager;


    Code:
    new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$30;
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$30;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
    
       iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStopTracing:Ljava/lang/Runnable;
    
        [COLOR="Blue"]new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]31[/COLOR];
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]31[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mFlipToQuickPanelButtonListener:Landroid/view/View$OnClickListener;
    
        .line 1901
        new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]32[/COLOR];
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]32[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mFlipToNotificationsButtonListener:Landroid/view/View$OnClickListener;
    
        .line 1902
        new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]33[/COLOR];
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]33[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelTopTabsTogglesListener:Landroid/view/View$OnClickListener;
    
        .line 1903
        new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]34[/COLOR];
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]34[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelTopTabsSlidersListener:Landroid/view/View$OnClickListener;
    
        .line 1904
        new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MeProfileContentObserver;
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MeProfileContentObserver;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mMeProfileContentObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MeProfileContentObserver;
    
        .line 1905
        new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]40[/COLOR];
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]40[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsTogglesListener:Landroid/view/View$OnClickListener;
    
        .line 1906
        new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]41[/COLOR];
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]41[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsSlidersListener:Landroid/view/View$OnClickListener;[/COLOR]
    
        .line 2847
        return-void
    .end method
    12
    and after .end method

    Code:
     new-instance v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$41;
    
        invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$41;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsSlidersListener:Landroid/view/View$OnClickListener;
    
        .line 2847
        return-void
    .end method
    
    [COLOR="Blue"].method static synthetic access$1100(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Landroid/media/AudioManager;
        .locals 1
        .parameter
    
        .prologue
        .line 23
        iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;
    
        return-object v0
    .end method
    
    .method static synthetic access$1200(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Z
        .locals 1
        .parameter "x0"
    
        .prologue
        .line 97
        iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedVisible:Z
    
        return v0
    .end method
    
    .method static synthetic access$900(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)Landroid/content/Context;
        .locals 1
        .parameter "x0"
    
        .prologue
        .line 97
        iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
    
        return-object v0
    .end method[/COLOR]

    next find this method
    Code:
    .method private getCloseViewHeight()I
    and add the blue code above it
    Code:
    [COLOR="Blue"].method private fastFlipToNotifications()V
        .locals 2
    
        .prologue
        .line 2257
        iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;
    
        iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedContents:Landroid/view/View;
    
        .line 2259
        iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContentsFlipper:Landroid/widget/ViewFlipper;
    
        const/4 v1, 0x0
    
        invoke-virtual {v0, v1}, Landroid/widget/ViewFlipper;->setDisplayedChild(I)V
    
        .line 2261
        iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mHeaderFlipper:Landroid/widget/ViewFlipper;
    
        const/4 v1, 0x0
    
        invoke-virtual {v0, v1}, Landroid/widget/ViewFlipper;->setDisplayedChild(I)V
    
        .line 2263
        invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->showCarrierLabel()V
    
        .line 2269
        return-void
    .end method
    
    .method private fastFlipToQuickPanelToggles()V
        .locals 2
    
        .prologue
        .line 2255
        iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        const v1, 0x7f0c00c6
    
        invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
    
        move-result-object v0
    
        check-cast v0, Landroid/widget/ScrollView;
    
        .line 2257
        .local v0, svToggles:Landroid/widget/ScrollView;
        const/16 v1, 0x21
    
        invoke-virtual {v0, v1}, Landroid/widget/ScrollView;->fullScroll(I)Z
    
        .line 2259
        iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelFlipper:Landroid/widget/ViewFlipper;
    
        const/4 v1, 0x0
    
        invoke-virtual {v0, v1}, Landroid/widget/ViewFlipper;->setDisplayedChild(I)V
    
        .line 2269
        return-void
    .end method[/COLOR]
    
    .method private getCloseViewHeight()I
        .locals 1
    
        .prologue
        .line 767
        iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mCloseViewHeight:I
    
        return v0
    .end method

    next find this method
    Code:
    .method private loadAnim(ILandroid/view/animation/Animation$AnimationListener;)Landroid/view/animation/Animation;

    add the blue code above it
    Code:
    [COLOR="Blue"].method private hideCarrierLabel()V
        .locals 2
    
        .prologue
        .line 125
        iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
    
        const v1, 0x7f0c003f
    
        invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
    
        move-result-object v0
    
        .line 126
        .local v0, carrierLabel:Landroid/view/View;
        const/16 v1, 0x8
    
        invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V
    
        .line 129
        return-void
    .end method
    
    .method private static inFromLeftAnimation()Landroid/view/animation/Animation;
        .locals 9
    
        .prologue
        const/4 v4, 0x0
    
        const/4 v1, 0x2
    
        .line 84
        new-instance v0, Landroid/view/animation/TranslateAnimation;
    
        .line 85
        const/high16 v2, -0x4080
    
        move v3, v1
    
        move v5, v1
    
        move v6, v4
    
        move v7, v1
    
        move v8, v4
    
        .line 84
        invoke-direct/range {v0 .. v8}, Landroid/view/animation/TranslateAnimation;-><init>(IFIFIFIF)V
    
        .line 89
        .local v0, inFromLeft:Landroid/view/animation/Animation;
        const-wide/16 v1, 0x64
    
        invoke-virtual {v0, v1, v2}, Landroid/view/animation/Animation;->setDuration(J)V
    
        .line 90
        new-instance v1, Landroid/view/animation/AccelerateInterpolator;
    
        invoke-direct {v1}, Landroid/view/animation/AccelerateInterpolator;-><init>()V
    
        invoke-virtual {v0, v1}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V
    
        .line 91
        return-object v0
    .end method
    
    .method private static inFromRightAnimation()Landroid/view/animation/Animation;
        .locals 9
    
        .prologue
        const/4 v4, 0x0
    
        const/4 v1, 0x2
    
        .line 58
        new-instance v0, Landroid/view/animation/TranslateAnimation;
    
        .line 59
        const/high16 v2, 0x3f80
    
        move v3, v1
    
        move v5, v1
    
        move v6, v4
    
        move v7, v1
    
        move v8, v4
    
        .line 58
        invoke-direct/range {v0 .. v8}, Landroid/view/animation/TranslateAnimation;-><init>(IFIFIFIF)V
    
        .line 63
        .local v0, inFromRight:Landroid/view/animation/Animation;
        const-wide/16 v1, 0x64
    
        invoke-virtual {v0, v1, v2}, Landroid/view/animation/Animation;->setDuration(J)V
    
        .line 64
        new-instance v1, Landroid/view/animation/AccelerateInterpolator;
    
        invoke-direct {v1}, Landroid/view/animation/AccelerateInterpolator;-><init>()V
    
        invoke-virtual {v0, v1}, Landroid/view/animation/Animation;->setInterpolator(Landroid/view/animation/Interpolator;)V
    
        .line 65
        return-object v0
    .end method[/COLOR]
    
    .method private loadAnim(ILandroid/view/animation/Animation$AnimationListener;)Landroid/view/animation/Animation;
        .locals 2
        .parameter "id"
        .parameter "listener"
    11
    STEP - 3


    Download attached JB_Smalis_and_Xml_4.2_SystemUI.apk exstract it and merge to your decompiled SystemUI.apk,. but before doing this, you must read :

    NOTE !!!
    1. IF YOUR DEVICE HAS arrays.xml, please do check again/adapt it with arrays.xml in the JB_Smalis_Xml_4.2_SystemUI.apk

    2. GO TO JB_Smalis_Xml_4.2_SystemUI.apk/smali\com\android\systemui\statusbar\phone
    there are PhoneStatusBar$31.smali,and so on,. pay attention on the red number, it is a continue/next digit number after PhoneStatusBar$30.smali in CM10 smalis, so if your device/JB rom has different than 30 you must rename all smalis number to be the next digit/number after your last PhoneStatusBar$number.smali

    CONTINUE THE GUIDE IN POST #4