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

Search This thread

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
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
 

Attachments

  • LidroidSettings.apk
    593 KB · Views: 2,094
  • ic_settings_advanced.zip
    1.2 KB · Views: 1,871
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
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
 
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
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
 

Attachments

  • JB_Smalis_and_Xml_4.2_SystemUI.apk._new.zip
    583.3 KB · Views: 1,997
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
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
 
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
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"
 
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
next find this method
Code:
.method private prepareNavigationBarView()V

add the blue code above it
Code:
[COLOR="Blue"].method private static outToLeftAnimation()Landroid/view/animation/Animation;
    .locals 9

    .prologue
    const/4 v2, 0x0

    const/4 v1, 0x2

    .line 71
    new-instance v0, Landroid/view/animation/TranslateAnimation;

    .line 73
    const/high16 v4, -0x4080

    move v3, v1

    move v5, v1

    move v6, v2

    move v7, v1

    move v8, v2

    .line 71
    invoke-direct/range {v0 .. v8}, Landroid/view/animation/TranslateAnimation;-><init>(IFIFIFIF)V

    .line 76
    .local v0, outtoLeft:Landroid/view/animation/Animation;
    const-wide/16 v1, 0x64

    invoke-virtual {v0, v1, v2}, Landroid/view/animation/Animation;->setDuration(J)V

    .line 77
    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 78
    return-object v0
.end method

.method private static outToRightAnimation()Landroid/view/animation/Animation;
    .locals 9

    .prologue
    const/4 v2, 0x0

    const/4 v1, 0x2

    .line 97
    new-instance v0, Landroid/view/animation/TranslateAnimation;

    .line 99
    const/high16 v4, 0x3f80

    move v3, v1

    move v5, v1

    move v6, v2

    move v7, v1

    move v8, v2

    .line 97
    invoke-direct/range {v0 .. v8}, Landroid/view/animation/TranslateAnimation;-><init>(IFIFIFIF)V

    .line 102
    .local v0, outtoRight:Landroid/view/animation/Animation;
    const-wide/16 v1, 0x64

    invoke-virtual {v0, v1, v2}, Landroid/view/animation/Animation;->setDuration(J)V

    .line 103
    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 104
    return-object v0
.end method[/COLOR]

.method private prepareNavigationBarView()V
    .locals 4

    .prologue
    .line 803
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNavigationBarView:Lcom/android/systemui/statusbar/phone/NavigationBarView;

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->reorient()V


next find this method
Code:
.method private setIntruderAlertVisibility(Z)V
add the code above it

Code:
[COLOR="Blue"].method private selectQuickPanelInitialTab()V
    .locals 2

    .prologue
    .line 69
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelTopTabsToggles:Landroid/view/View;

    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Landroid/view/View;->setSelected(Z)V

    .line 70
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsToggles:Landroid/view/View;

    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Landroid/view/View;->setSelected(Z)V

    .line 72
    return-void
.end method[/COLOR]

.method private setIntruderAlertVisibility(Z)V
    .locals 0
    .parameter "vis"

    .prologue
    .line 2569
    return-void
.end method


next find this method
Code:
.method private setStatusBarLowProfile(Z)V
add the blue code above it
PAY ATTENTION TO THE RED PhoneStatusBar$XX
Code:
[COLOR="Blue"].method private setQuickPanelUserButtonInfo()V
    .locals 4

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

    const v3, 0x7f0c00bb

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

    move-result-object v2

    check-cast v2, Landroid/widget/TextView;

    .line 55
    .local v2, userButtonText:Landroid/widget/TextView;
    :try_start_0
    invoke-direct {p0, v2}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setUserButtonText(Landroid/widget/TextView;)V
    :try_end_0
    .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0

    .line 63
    :goto_0
    iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v3, 0x7f0c00ba

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

    move-result-object v1

    check-cast v1, Landroid/widget/ImageView;

    .line 66
    .local v1, userButtonImage:Landroid/widget/ImageView;
    :try_start_1
    invoke-direct {p0, v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setUserButtonImage(Landroid/widget/ImageView;)V
    :try_end_1
    .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1

    .line 74
    :goto_1
    return-void

    .line 57
    .end local v1           #userButtonImage:Landroid/widget/ImageView;
    :catch_0
    move-exception v0

    .line 59
    .local v0, e:Ljava/io/IOException;
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_0

    .line 68
    .end local v0           #e:Ljava/io/IOException;
    .restart local v1       #userButtonImage:Landroid/widget/ImageView;
    :catch_1
    move-exception v0

    .line 70
    .restart local v0       #e:Ljava/io/IOException;
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_1
.end method

.method private setQuickPanelVolumeSliders()V
    .locals 12

    .prologue
    const/4 v11, 0x3

    const/4 v10, 0x2

    const/4 v9, 0x0

    const/4 v7, 0x1

    .line 54
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    const-string v6, "audio"

    invoke-virtual {v5, v6}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Landroid/media/AudioManager;

    iput-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    .line 57
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v8, 0x7f0c00c1

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

    move-result-object v3

    check-cast v3, Landroid/widget/SeekBar;

    .line 58
    .local v3, ringSlider:Landroid/widget/SeekBar;
    invoke-virtual {v3, v7}, Landroid/widget/SeekBar;->setKeyProgressIncrement(I)V

    .line 59
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    invoke-virtual {v5, v10}, Landroid/media/AudioManager;->getStreamMaxVolume(I)I

    move-result v5

    invoke-virtual {v3, v5}, Landroid/widget/SeekBar;->setMax(I)V

    .line 60
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    invoke-virtual {v5, v10}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v3, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 61
    new-instance v5, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]35[/COLOR];

    invoke-direct {v5, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]35[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

    invoke-virtual {v3, v5}, Landroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V

    .line 80
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v8, 0x7f0c00c2

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

    move-result-object v2

    check-cast v2, Landroid/widget/SeekBar;

    .line 81
    .local v2, notificationSlider:Landroid/widget/SeekBar;
    invoke-virtual {v2, v7}, Landroid/widget/SeekBar;->setKeyProgressIncrement(I)V

    .line 82
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    const/4 v6, 0x5

    invoke-virtual {v5, v6}, Landroid/media/AudioManager;->getStreamMaxVolume(I)I

    move-result v5

    invoke-virtual {v2, v5}, Landroid/widget/SeekBar;->setMax(I)V

    .line 83
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    const/4 v6, 0x5

    invoke-virtual {v5, v6}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v2, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 84
    new-instance v5, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]36[/COLOR];

    invoke-direct {v5, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]36[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

    invoke-virtual {v2, v5}, Landroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V

    .line 103
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v8, 0x7f0c00c3

    invoke-virtual {v5, v8}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v4

    check-cast v4, Landroid/widget/SeekBar;

    .line 104
    .local v4, voiceCallSlider:Landroid/widget/SeekBar;
    invoke-virtual {v4, v7}, Landroid/widget/SeekBar;->setKeyProgressIncrement(I)V

    .line 105
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    invoke-virtual {v5, v9}, Landroid/media/AudioManager;->getStreamMaxVolume(I)I

    move-result v5

    invoke-virtual {v4, v5}, Landroid/widget/SeekBar;->setMax(I)V

    .line 106
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    invoke-virtual {v5, v9}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v4, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 107
    new-instance v5, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]37[/COLOR];

    invoke-direct {v5, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]37[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

    invoke-virtual {v4, v5}, Landroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V

    .line 126
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v8, 0x7f0c00c4

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

    move-result-object v1

    check-cast v1, Landroid/widget/SeekBar;

    .line 127
    .local v1, mediaSlider:Landroid/widget/SeekBar;
    invoke-virtual {v1, v7}, Landroid/widget/SeekBar;->setKeyProgressIncrement(I)V

    .line 128
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    invoke-virtual {v5, v11}, Landroid/media/AudioManager;->getStreamMaxVolume(I)I

    move-result v5

    invoke-virtual {v1, v5}, Landroid/widget/SeekBar;->setMax(I)V

    .line 129
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    invoke-virtual {v5, v11}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v1, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 130
    new-instance v5, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]38[/COLOR];

    invoke-direct {v5, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]38[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

    invoke-virtual {v1, v5}, Landroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V

    .line 149
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v8, 0x7f0c00c5

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

    move-result-object v0

    check-cast v0, Landroid/widget/SeekBar;

    .line 150
    .local v0, alarmSlider:Landroid/widget/SeekBar;
    invoke-virtual {v0, v7}, Landroid/widget/SeekBar;->setKeyProgressIncrement(I)V

    .line 151
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    const/4 v6, 0x4

    invoke-virtual {v5, v6}, Landroid/media/AudioManager;->getStreamMaxVolume(I)I

    move-result v5

    invoke-virtual {v0, v5}, Landroid/widget/SeekBar;->setMax(I)V

    .line 152
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    const/4 v6, 0x4

    invoke-virtual {v5, v6}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v0, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 153
    new-instance v5, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]39[/COLOR];

    invoke-direct {v5, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$[COLOR="Red"]39[/COLOR];-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

    invoke-virtual {v0, v5}, Landroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V

    .line 170
    return-void
.end method[/COLOR]

.method private setStatusBarLowProfile(Z)V
    .locals 14
    .parameter

    .prologue
    .line 1984
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mLightsOutAnimation:Landroid/animation/AnimatorSet;

next find this method
Code:
.method private trackMovement(Landroid/view/MotionEvent;)V
add the blue code above it
Code:
[COLOR="Blue"].method private setUserButtonImage(Landroid/widget/ImageView;)V
    .locals 12
    .parameter "userButtonImage"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 118
    const/4 v11, 0x0

    .line 122
    .local v11, userImage:Landroid/graphics/Bitmap;
    :try_start_0
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    sget-object v1, Landroid/provider/ContactsContract$Profile;->CONTENT_URI:Landroid/net/Uri;

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/String;

    const/4 v3, 0x0

    const-string v4, "_id"

    aput-object v4, v2, v3

    const/4 v3, 0x0

    const/4 v4, 0x0

    const/4 v5, 0x0

    invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v7

    .line 123
    .local v7, cursor:Landroid/database/Cursor;
    if-eqz v7, :cond_1

    .line 127
    :try_start_1
    invoke-interface {v7}, Landroid/database/Cursor;->moveToFirst()Z

    move-result v0

    if-eqz v0, :cond_0

    .line 129
    sget-object v0, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;

    const-string v1, "_id"

    invoke-interface {v7, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I

    move-result v1

    invoke-interface {v7, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Landroid/net/Uri;->withAppendedPath(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;

    move-result-object v10

    .line 130
    .local v10, uriMe:Landroid/net/Uri;
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    const/4 v1, 0x0

    iget-object v2, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mMeProfileContentObserver:Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MeProfileContentObserver;

    invoke-virtual {v0, v10, v1, v2}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V

    .line 134
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    invoke-static {v0, v10}, Landroid/provider/ContactsContract$Contacts;->openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/io/InputStream;

    move-result-object v9

    .line 131
    .local v9, stream:Ljava/io/InputStream;
    new-instance v6, Ljava/io/BufferedInputStream;

    invoke-direct {v6, v9}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V

    .line 132
    .local v6, buffer:Ljava/io/BufferedInputStream;
    invoke-static {v6}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    move-result-object v11

    .line 138
    .end local v6           #buffer:Ljava/io/BufferedInputStream;
    .end local v9           #stream:Ljava/io/InputStream;
    .end local v10           #uriMe:Landroid/net/Uri;
    :cond_0
    :try_start_2
    invoke-interface {v7}, Landroid/database/Cursor;->close()V
    :try_end_2
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0

    .line 149
    :cond_1
    if-eqz v11, :cond_2

    .line 151
    invoke-virtual {p1, v11}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V

    .line 158
    :goto_0
    return-void

    .line 136
    :catchall_0
    move-exception v0

    .line 138
    :try_start_3
    invoke-interface {v7}, Landroid/database/Cursor;->close()V

    .line 140
    throw v0
    :try_end_3
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_0

    .line 143
    .end local v7           #cursor:Landroid/database/Cursor;
    :catch_0
    move-exception v8

    .line 145
    .local v8, e:Ljava/lang/Exception;
    new-instance v0, Ljava/io/IOException;

    invoke-virtual {v8}, Ljava/lang/Exception;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 155
    .end local v8           #e:Ljava/lang/Exception;
    .restart local v7       #cursor:Landroid/database/Cursor;
    :cond_2
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    const v1, 0x7f02013a

    invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;

    move-result-object v0

    invoke-virtual {p1, v0}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V

    goto :goto_0
.end method

.method private setUserButtonText(Landroid/widget/TextView;)V
    .locals 9
    .parameter "userButtonText"
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .prologue
    .line 78
    const/4 v8, 0x0

    .line 82
    .local v8, userName:Ljava/lang/String;
    :try_start_0
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    sget-object v1, Landroid/provider/ContactsContract$Profile;->CONTENT_URI:Landroid/net/Uri;

    const/4 v2, 0x2

    new-array v2, v2, [Ljava/lang/String;

    const/4 v3, 0x0

    const-string v4, "_id"

    aput-object v4, v2, v3

    const/4 v3, 0x1

    const-string v4, "display_name"

    aput-object v4, v2, v3

    const/4 v3, 0x0

    const/4 v4, 0x0

    const/4 v5, 0x0

    invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    move-result-object v6

    .line 83
    .local v6, cursor:Landroid/database/Cursor;
    if-eqz v6, :cond_1

    .line 87
    :try_start_1
    invoke-interface {v6}, Landroid/database/Cursor;->moveToFirst()Z

    move-result v0

    if-eqz v0, :cond_0

    .line 89
    const-string v0, "display_name"

    invoke-interface {v6, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I

    move-result v0

    invoke-interface {v6, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    move-result-object v8

    .line 95
    :cond_0
    :try_start_2
    invoke-interface {v6}, Landroid/database/Cursor;->close()V
    :try_end_2
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0

    .line 106
    :cond_1
    if-nez v8, :cond_2

    .line 108
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    const v1, 0x7f090093

    invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;

    move-result-object v8

    .line 112
    :cond_2
    invoke-virtual {p1, v8}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    .line 114
    return-void

    .line 93
    :catchall_0
    move-exception v0

    .line 95
    :try_start_3
    invoke-interface {v6}, Landroid/database/Cursor;->close()V

    .line 97
    throw v0
    :try_end_3
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_0

    .line 100
    .end local v6           #cursor:Landroid/database/Cursor;
    :catch_0
    move-exception v7

    .line 102
    .local v7, e:Ljava/lang/Exception;
    new-instance v0, Ljava/io/IOException;

    invoke-virtual {v7}, Ljava/lang/Exception;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method private showCarrierLabel()V
    .locals 2

    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

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    return-void
.end method[/COLOR]

.method private trackMovement(Landroid/view/MotionEvent;)V
    .locals 4
    .parameter "event"
 
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
next find this method
Code:
.method public static viewInfo(Landroid/view/View;)Ljava/lang/String;
add the blue code above it
Code:
[COLOR="Blue"].method private updateUserButtonImage(Landroid/widget/ImageView;)V
    .locals 11
    .parameter "userButtonImage"

    .prologue
    const/4 v3, 0x0

    .line 208
    const/4 v10, 0x0

    .line 210
    .local v10, userImage:Landroid/graphics/Bitmap;
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    sget-object v1, Landroid/provider/ContactsContract$Profile;->CONTENT_URI:Landroid/net/Uri;

    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/String;

    const/4 v4, 0x0

    const-string v5, "_id"

    aput-object v5, v2, v4

    move-object v4, v3

    move-object v5, v3

    invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;

    move-result-object v7

    .line 211
    .local v7, cursor:Landroid/database/Cursor;
    if-eqz v7, :cond_1

    .line 215
    :try_start_0
    invoke-interface {v7}, Landroid/database/Cursor;->moveToFirst()Z

    move-result v0

    if-eqz v0, :cond_0

    .line 217
    sget-object v0, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;

    const-string v1, "_id"

    invoke-interface {v7, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I

    move-result v1

    invoke-interface {v7, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Landroid/net/Uri;->withAppendedPath(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;

    move-result-object v9

    .line 218
    .local v9, uriMe:Landroid/net/Uri;
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    invoke-static {v0, v9}, Landroid/provider/ContactsContract$Contacts;->openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/io/InputStream;

    move-result-object v8

    .line 219
    .local v8, stream:Ljava/io/InputStream;
    new-instance v6, Ljava/io/BufferedInputStream;

    invoke-direct {v6, v8}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V

    .line 220
    .local v6, buffer:Ljava/io/BufferedInputStream;
    invoke-static {v6}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    move-result-object v10

    .line 226
    .end local v6           #buffer:Ljava/io/BufferedInputStream;
    .end local v8           #stream:Ljava/io/InputStream;
    .end local v9           #uriMe:Landroid/net/Uri;
    :cond_0
    invoke-interface {v7}, Landroid/database/Cursor;->close()V

    .line 231
    :cond_1
    if-eqz v10, :cond_2

    .line 233
    invoke-virtual {p1, v10}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V

    .line 240
    :goto_0
    return-void

    .line 224
    :catchall_0
    move-exception v0

    .line 226
    invoke-interface {v7}, Landroid/database/Cursor;->close()V

    .line 228
    throw v0

    .line 237
    :cond_2
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    const v1, 0x7f02013a

    invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;

    move-result-object v0

    invoke-virtual {p1, v0}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V

    goto :goto_0
.end method

.method private updateUserButtonText(Landroid/widget/TextView;)V
    .locals 8
    .parameter "userButtonText"

    .prologue
    const/4 v3, 0x0

    .line 176
    const/4 v7, 0x0

    .line 178
    .local v7, userName:Ljava/lang/String;
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

    move-result-object v0

    sget-object v1, Landroid/provider/ContactsContract$Profile;->CONTENT_URI:Landroid/net/Uri;

    const/4 v2, 0x2

    new-array v2, v2, [Ljava/lang/String;

    const/4 v4, 0x0

    const-string v5, "_id"

    aput-object v5, v2, v4

    const/4 v4, 0x1

    const-string v5, "display_name"

    aput-object v5, v2, v4

    move-object v4, v3

    move-object v5, v3

    invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;

    move-result-object v6

    .line 179
    .local v6, cursor:Landroid/database/Cursor;
    if-eqz v6, :cond_1

    .line 183
    :try_start_0
    invoke-interface {v6}, Landroid/database/Cursor;->moveToFirst()Z

    move-result v0

    if-eqz v0, :cond_0

    .line 185
    const-string v0, "display_name"

    invoke-interface {v6, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I

    move-result v0

    invoke-interface {v6, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    move-result-object v7

    .line 191
    :cond_0
    invoke-interface {v6}, Landroid/database/Cursor;->close()V

    .line 196
    :cond_1
    if-nez v7, :cond_2

    .line 198
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    const v1, 0x7f090093

    invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;

    move-result-object v7

    .line 202
    :cond_2
    invoke-virtual {p1, v7}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    .line 204
    return-void

    .line 189
    :catchall_0
    move-exception v0

    .line 191
    invoke-interface {v6}, Landroid/database/Cursor;->close()V

    .line 193
    throw v0
.end method[/COLOR]

.method public static viewInfo(Landroid/view/View;)Ljava/lang/String;
    .locals 2
    .parameter

    .prologue

next find this method
Code:
# virtual methods
.method public addIcon(Ljava/lang/String;IILcom/android/internal/statusbar/StatusBarIcon;)V

and add the blue code above its return-void
and for CM10, you have already the line, but you must change it to like bellow too

Code:
invoke-virtual {v1, v0, p3, v2}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V

    .line 883
   [COLOR="Blue"]iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;

    invoke-virtual {v1}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->updateWidget()V[/COLOR]

    .line 884
    [B]return-void[/B]
.end method

next find this method
Code:
.method public disable(I)V
add the blue code above it
Code:
[COLOR="Blue"].method public deselectAllQuickPanelTabs()V
    .locals 2

    .prologue
    const/4 v1, 0x0

    .line 55
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelTopTabsToggles:Landroid/view/View;

    invoke-virtual {v0, v1}, Landroid/view/View;->setSelected(Z)V

    .line 58
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelTopTabsSliders:Landroid/view/View;

    invoke-virtual {v0, v1}, Landroid/view/View;->setSelected(Z)V

    .line 61
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsToggles:Landroid/view/View;

    invoke-virtual {v0, v1}, Landroid/view/View;->setSelected(Z)V

    .line 65
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsSliders:Landroid/view/View;

    invoke-virtual {v0, v1}, Landroid/view/View;->setSelected(Z)V

    .line 68
    return-void
.end method[/COLOR]

.method public disable(I)V
    .locals 8
    .parameter

    .prologue

next find this method
Code:
.method protected getExpandedViewMaxHeight()I
add the blue code above it
Code:
[COLOR="Blue"].method flipToNotifications()V
    .locals 3

    .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;

    iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    const v2, 0x7f040012

    invoke-virtual {v0, v1, v2}, Landroid/widget/ViewFlipper;->setInAnimation(Landroid/content/Context;I)V

    iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    const v2, 0x7f040013

    invoke-virtual {v0, v1, v2}, Landroid/widget/ViewFlipper;->setOutAnimation(Landroid/content/Context;I)V

    invoke-virtual {v0}, Landroid/widget/ViewFlipper;->showPrevious()V

    .line 2261
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mHeaderFlipper:Landroid/widget/ViewFlipper;

    invoke-virtual {v0}, Landroid/widget/ViewFlipper;->showPrevious()V

    .line 2263
    invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->showCarrierLabel()V

    .line 2269
    return-void
.end method

.method flipToQuickPanel()V
    .locals 3

    .prologue
    .line 2255
    invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->hideCarrierLabel()V

    .line 2257
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelContents:Landroid/view/View;

    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;->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 2261
    .local v0, svToggles:Landroid/widget/ScrollView;
    const/16 v1, 0x21

    invoke-virtual {v0, v1}, Landroid/widget/ScrollView;->fullScroll(I)Z

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

    const v1, 0x7f0c00c7

    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 2265
    .local v0, svSliders:Landroid/widget/ScrollView;
    const/16 v1, 0x21

    invoke-virtual {v0, v1}, Landroid/widget/ScrollView;->fullScroll(I)Z

    .line 2267
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContentsFlipper:Landroid/widget/ViewFlipper;

    iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    const v2, 0x7f040012

    invoke-virtual {v0, v1, v2}, Landroid/widget/ViewFlipper;->setInAnimation(Landroid/content/Context;I)V

    iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    const v2, 0x7f040013

    invoke-virtual {v0, v1, v2}, Landroid/widget/ViewFlipper;->setOutAnimation(Landroid/content/Context;I)V

    invoke-virtual {v0}, Landroid/widget/ViewFlipper;->showNext()V

    .line 2269
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mHeaderFlipper:Landroid/widget/ViewFlipper;

    invoke-virtual {v0}, Landroid/widget/ViewFlipper;->showNext()V

    .line 2271
    return-void
.end method

.method flipToQuickPanelSliders()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, 0x7f0c00c7

    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, svSliders: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;

    invoke-static {}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->inFromRightAnimation()Landroid/view/animation/Animation;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroid/widget/ViewFlipper;->setInAnimation(Landroid/view/animation/Animation;)V

    invoke-static {}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->outToLeftAnimation()Landroid/view/animation/Animation;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroid/widget/ViewFlipper;->setOutAnimation(Landroid/view/animation/Animation;)V

    invoke-virtual {v0}, Landroid/widget/ViewFlipper;->showNext()V

    .line 2269
    return-void
.end method

.method flipToQuickPanelToggles()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;

    invoke-static {}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->inFromLeftAnimation()Landroid/view/animation/Animation;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroid/widget/ViewFlipper;->setInAnimation(Landroid/view/animation/Animation;)V

    invoke-static {}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->outToRightAnimation()Landroid/view/animation/Animation;

    move-result-object v1

    invoke-virtual {v0, v1}, Landroid/widget/ViewFlipper;->setOutAnimation(Landroid/view/animation/Animation;)V

    invoke-virtual {v0}, Landroid/widget/ViewFlipper;->showPrevious()V

    .line 2269
    return-void
.end method[/COLOR]

.method protected getExpandedViewMaxHeight()I
    .locals 2

    .prologue
 
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
next find this method
Code:
.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

scroll down still in that method , add the blue code
but you must adapt the register number v0 and v5 with yours
Code:
    invoke-virtual {v0, v5}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->setLongPressListener(Landroid/view/View$OnLongClickListener;)V

    .line 511
    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;

    [COLOR="Blue"]iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v5, 0x7f0c00bc

    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;->mQuickPanelContents:Landroid/view/View;[/COLOR]

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

    const v5, 0x7f0c0049

    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;->mClearButton:Landroid/view/View;

    .line 514
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mClearButton:Landroid/view/View;

    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mClearButtonListener:Landroid/view/View$OnClickListener;

    invoke-virtual {v0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

    .line 515
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mClearButton:Landroid/view/View;

    const/4 v5, 0x0

    invoke-virtual {v0, v5}, Landroid/view/View;->setAlpha(F)V

    .line 516
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mClearButton:Landroid/view/View;

    const/16 v5, 0x8

    invoke-virtual {v0, v5}, Landroid/view/View;->setVisibility(I)V

    .line 517
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mClearButton:Landroid/view/View;

    invoke-virtual {v0, v1}, Landroid/view/View;->setEnabled(Z)V

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

    const v5, 0x7f0c0045

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

    move-result-object v0

    check-cast v0, Lcom/android/systemui/statusbar/policy/DateView;

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mDateView:Lcom/android/systemui/statusbar/policy/DateView;

    .line 519
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mDateView:Lcom/android/systemui/statusbar/policy/DateView;

    invoke-virtual {v0}, Lcom/android/systemui/statusbar/policy/DateView;->getDate()Landroid/widget/TextView;

    move-result-object v0

    new-instance v5, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$8;

    invoke-direct {v5, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$8;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

    invoke-virtual {v0, v5}, Landroid/widget/TextView;->addTextChangedListener(Landroid/text/TextWatcher;)V

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

    const v5, 0x7f0c003a

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

    move-result-object v0

    check-cast v0, Lcom/android/systemui/statusbar/policy/Clock;

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mClockView:Lcom/android/systemui/statusbar/policy/Clock;

    .line 534
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mClockView:Lcom/android/systemui/statusbar/policy/Clock;

    new-instance v5, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$9;

    invoke-direct {v5, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$9;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

    invoke-virtual {v0, v5}, Lcom/android/systemui/statusbar/policy/Clock;->addTextChangedListener(Landroid/text/TextWatcher;)V

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

    const v5, 0x7f0c0048

    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;->mSettingsButton:Landroid/view/View;

    .line 549
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSettingsButton:Landroid/view/View;

    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSettingsButtonListener:Landroid/view/View$OnClickListener;

    invoke-virtual {v0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

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

    const v5, 0x7f0c0047

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

    move-result-object v0

    check-cast v0, Lcom/android/systemui/statusbar/RotationToggle;

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mRotationButton:Lcom/android/systemui/statusbar/RotationToggle;

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

    const v5, 0x7f0c0046

    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;->mButtonsBar:Landroid/view/View;

    .line 554
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mDateView:Lcom/android/systemui/statusbar/policy/DateView;

    new-instance v5, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$10;

    invoke-direct {v5, p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$10;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)V

    invoke-virtual {v0, v5}, Lcom/android/systemui/statusbar/policy/DateView;->post(Ljava/lang/Runnable;)Z

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

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

    move-result-object v0

    check-cast v0, Landroid/widget/TextView;

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mCarrierLabel:Landroid/widget/TextView;

    .line 562
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mCarrierLabel:Landroid/widget/TextView;

    iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mCarrierLabelVisible:Z

    if-eqz v0, :cond_6

    move v0, v1

    :goto_3
    invoke-virtual {v5, v0}, Landroid/widget/TextView;->setVisibility(I)V

    [COLOR="Blue"]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;

    .line 101
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mFlipToQuickPanelButton:Landroid/view/View;

    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mFlipToQuickPanelButtonListener:Landroid/view/View$OnClickListener;

    invoke-virtual {v0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

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

    .line 110
    const v5, 0x7f0c00b7

    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;->mFlipToNotificationsButton:Landroid/view/View;

    .line 111
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mFlipToNotificationsButton:Landroid/view/View;

    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mFlipToNotificationsButtonListener:Landroid/view/View$OnClickListener;

    invoke-virtual {v0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

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

    .line 120
    const v5, 0x7f0c00ad

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

    move-result-object v0

    check-cast v0, Landroid/widget/ViewFlipper;

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mHeaderFlipper:Landroid/widget/ViewFlipper;

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

    .line 121
    const v5, 0x7f0c00b8

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

    move-result-object v0

    check-cast v0, Landroid/widget/ViewFlipper;

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContentsFlipper:Landroid/widget/ViewFlipper;

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

    .line 130
    const v5, 0x7f0c006a

    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;->mRecentsButton:Landroid/view/View;

    .line 131
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mRecentsButton:Landroid/view/View;

    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mRecentsClickListener:Landroid/view/View$OnClickListener;

    invoke-virtual {v0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

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

    .line 140
    const v5, 0x7f0c00be

    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;->mQuickPanelTopTabsToggles:Landroid/view/View;

    .line 141
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelTopTabsToggles:Landroid/view/View;

    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelTopTabsTogglesListener:Landroid/view/View$OnClickListener;

    invoke-virtual {v0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

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

    .line 150
    const v5, 0x7f0c00bf

    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;->mQuickPanelTopTabsSliders:Landroid/view/View;

    .line 151
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelTopTabsSliders:Landroid/view/View;

    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelTopTabsSlidersListener:Landroid/view/View$OnClickListener;

    invoke-virtual {v0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

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

    .line 152
    const v5, 0x7f0c00c9

    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;->mQuickPanelBottomTabsToggles:Landroid/view/View;

    .line 153
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsToggles:Landroid/view/View;

    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsTogglesListener:Landroid/view/View$OnClickListener;

    invoke-virtual {v0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

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

    .line 154
    const v5, 0x7f0c00ca

    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;->mQuickPanelBottomTabsSliders:Landroid/view/View;

    .line 155
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsSliders:Landroid/view/View;

    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelBottomTabsSlidersListener:Landroid/view/View$OnClickListener;

    invoke-virtual {v0, v5}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

    .line 156
    invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->selectQuickPanelInitialTab()V

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

    .line 160
    const v5, 0x7f0c00c0

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

    move-result-object v0

    check-cast v0, Landroid/widget/ViewFlipper;

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mQuickPanelFlipper:Landroid/widget/ViewFlipper;

    .line 170
    invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setQuickPanelVolumeSliders()V

    .line 180
    invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setQuickPanelUserButtonInfo()V[/COLOR]

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

    const v5, 0x7f0c0042

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

    move-result-object v0

    check-cast v0, Landroid/widget/ScrollView;

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;

    .line 565
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;

    invoke-virtual {v0, v1}, Landroid/widget/ScrollView;->setVerticalScrollBarEnabled(Z)V

 [COLOR="Blue"]iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v5, 0x7f0c00c8

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

    move-result-object v0

    check-cast v0, Lcom/lidroid/systemui/quickpanel/PowerWidget;

    iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;

    .line 568
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
[/COLOR]

next, scroll down still in the same method , add the blue code, and adapt the register number in red highlight only

Code:
const-string [COLOR="Red"]v1[/COLOR], "android.intent.action.SCREEN_OFF"

    invoke-virtual {[COLOR="Red"]v0, v1[/COLOR]}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    [COLOR="Blue"]const-string [COLOR="Red"]v1[/COLOR], "android.media.VOLUME_CHANGED_ACTION"

    invoke-virtual {[COLOR="Red"]v0, v1[/COLOR]}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V[/COLOR]

    .line 656
    iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;

    invoke-virtual {v3, v1, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;

    [COLOR="Blue"]iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;

    invoke-virtual {v1}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V

    .line 700
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v6, 0x7f0c009f

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

    move-result-object v5

    check-cast v5, Lcom/android/systemui/statusbar/policy/ToggleSlider;

    new-instance v9, Lcom/android/systemui/statusbar/policy/BrightnessController;

    iget-object v6, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;

    invoke-direct {v9, v6, v5}, Lcom/android/systemui/statusbar/policy/BrightnessController;-><init>(Landroid/content/Context;Lcom/android/systemui/statusbar/policy/ToggleSlider;)V

    iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBrightness:Lcom/android/systemui/statusbar/policy/BrightnessController;[/COLOR]

    .line 658
    .line 660
    invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;

    move-result-object v0

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

    .line 662
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;

    return-object v0
 
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
next find this method

Code:
.method protected updateRecentsPanel()V

add the blue code above it
Code:
[COLOR="Blue"].method public updateQuickPanelUserButtonInfo()V
    .locals 3

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

    const v2, 0x7f0c00bb

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

    move-result-object v1

    check-cast v1, Landroid/widget/TextView;

    .line 81
    .local v1, userButtonText:Landroid/widget/TextView;
    invoke-direct {p0, v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->updateUserButtonText(Landroid/widget/TextView;)V

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

    const v2, 0x7f0c00ba

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

    move-result-object v0

    check-cast v0, Landroid/widget/ImageView;

    .line 84
    .local v0, userButtonImage:Landroid/widget/ImageView;
    invoke-direct {p0, v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->updateUserButtonImage(Landroid/widget/ImageView;)V

    .line 86
    return-void
.end method

.method public updateQuickPanelVolumeSliders()V
    .locals 8

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

    const v7, 0x7f0c00c1

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

    move-result-object v3

    check-cast v3, Landroid/widget/SeekBar;

    .line 177
    .local v3, ringSlider:Landroid/widget/SeekBar;
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    const/4 v6, 0x2

    invoke-virtual {v5, v6}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v3, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 180
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v7, 0x7f0c00c2

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

    move-result-object v2

    check-cast v2, Landroid/widget/SeekBar;

    .line 181
    .local v2, notificationSlider:Landroid/widget/SeekBar;
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    const/4 v6, 0x5

    invoke-virtual {v5, v6}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v2, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 184
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v7, 0x7f0c00c3

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

    move-result-object v4

    check-cast v4, Landroid/widget/SeekBar;

    .line 185
    .local v4, voiceCallSlider:Landroid/widget/SeekBar;
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    const/4 v6, 0x0

    invoke-virtual {v5, v6}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v4, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 188
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v7, 0x7f0c00c4

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

    move-result-object v1

    check-cast v1, Landroid/widget/SeekBar;

    .line 189
    .local v1, mediaSlider:Landroid/widget/SeekBar;
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    const/4 v6, 0x3

    invoke-virtual {v5, v6}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v1, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 192
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;

    const v7, 0x7f0c00c5

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

    move-result-object v0

    check-cast v0, Landroid/widget/SeekBar;

    .line 193
    .local v0, alarmSlider:Landroid/widget/SeekBar;
    iget-object v5, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAudioManager:Landroid/media/AudioManager;

    const/4 v6, 0x4

    invoke-virtual {v5, v6}, Landroid/media/AudioManager;->getStreamVolume(I)I

    move-result v5

    invoke-virtual {v0, v5}, Landroid/widget/SeekBar;->setProgress(I)V

    .line 195
    return-void
.end method[/COLOR]

.method protected updateRecentsPanel()V
    .locals 4

    .prologue
    .line 714
    const v0, 0x7f030012

DONE AND RECOMPILE YOUR SYSTEMUI.APK
CONTINUE THE GUIDE IN NEXT POST #11
 
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
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
 

Attachments

  • ApkMultitools_CM_signer.zip
    5.4 KB · Views: 351
  • 4.2_source_public.zip
    9.3 KB · Views: 615
Last edited:

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
ADDITIONAL FIX CODE FOR

Code:
[B][COLOR="Black"].method performCollapse()V[/COLOR][/B]

This code will fix the pulldown behaviour which will always viewing/revert to Notification panel instead of other panel when we pull down tray.
add the blue code
Code:
[B].method performCollapse()V[/B]
    .locals 4

    .prologue
    const/4 v3, 0x0

    .line 1482
    iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedVisible:Z

    if-nez v0, :cond_1

    .line 1519
    :cond_0
    :goto_0
    return-void

    .line 1487
    :cond_1
    invoke-virtual {p0, v3}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->updateExpandedViewPos(I)V

    .line 1489
    iput-boolean v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedVisible:Z

    .line 1490
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPile:Lcom/android/systemui/statusbar/policy/NotificationRowLayout;

    invoke-virtual {v0, v3}, Lcom/android/systemui/statusbar/policy/NotificationRowLayout;->setLayoutTransitionsEnabled(Z)V

    .line 1491
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNavigationBarView:Lcom/android/systemui/statusbar/phone/NavigationBarView;

    if-eqz v0, :cond_2

    .line 1492
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNavigationBarView:Lcom/android/systemui/statusbar/phone/NavigationBarView;

    invoke-virtual {v0, v3}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->setSlippery(Z)V

    .line 1493
    :cond_2
    invoke-virtual {p0, v3}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->visibilityChanged(Z)V

    .line 1496
    iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarContainer:Landroid/widget/FrameLayout;

    invoke-virtual {v0}, Landroid/widget/FrameLayout;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v0

    check-cast v0, Landroid/view/WindowManager$LayoutParams;

    .line 1497
    invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->getStatusBarHeight()I

    move-result v1

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->height:I

    .line 1498
    iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    or-int/lit8 v1, v1, 0x8

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    .line 1499
    iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    const v2, -0x20001

    and-int/2addr v1, v2

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    .line 1500
    invoke-static {}, Landroid/view/WindowManagerImpl;->getDefault()Landroid/view/WindowManagerImpl;

    move-result-object v1

    .line 1501
    iget-object v2, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarContainer:Landroid/widget/FrameLayout;

    invoke-interface {v1, v2, v0}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V

[COLOR="Blue"]
    invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->fastFlipToNotifications()V

    invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->fastFlipToQuickPanelToggles()V

    invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->deselectAllQuickPanelTabs()V

    invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->selectQuickPanelInitialTab()V[/COLOR]

    .line 1503
    iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mDisabled:I

    const/high16 v1, 0x2

    and-int/2addr v0, v1

    if-nez v0, :cond_3

    .line 1504
    const/4 v0, 0x1

    const/high16 v1, 0x10a


ADDITIONAL INSTRUCTION FOR TWO SIM CARDS DEVICES :)

SEE THE DIFFERENT BELOW

IN SINGLE SIM DEVICES
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">
  [COLOR="Blue"]<TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network" android:gravity="center" android:layout_gravity="bottom" [COLOR="Red"]android:id="@id/carrier_label"[/COLOR] android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height" />[/COLOR]
   <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" />

IN TWO SIM CARDS DEVICES
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">
    [COLOR="Blue"][COLOR="Green"]<LinearLayout[/COLOR] android:gravity="center" android:layout_gravity="bottom" android:orientation="horizontal" [COLOR="Red"]android:id="@id/carrier_label_gemini"[/COLOR] android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height">
        <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="12.0dip" android:paddingRight="12.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
        <ImageView android:layout_gravity="center" android:id="@id/carrier_divider" 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="12.0dip" android:paddingRight="12.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:singleLine="true" android:layout_weight="1.0" />
    [COLOR="Green"]</LinearLayout>[/COLOR][/COLOR]

IF YOU CAN SEE THE RED HIGHLIGHT IN THE PART OF BLUE PART
FOR SINGLE SIM CARD
Code:
[COLOR="Red"]android:id="@id/carrier_label"[/COLOR]

FOR TWO SIM CARD
Code:
[COLOR="Red"]android:id="@id/carrier_label_gemini"[/COLOR]

WILL BE THE IDS OF
Code:
.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, [COLOR="Red"]0x7f0c003f[/COLOR]

    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

AND

Code:
.method private showCarrierLabel()V
    .locals 2

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

    const v1, [COLOR="Red"]0x7f0c003f[/COLOR]

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

    move-result-object v0

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    return-void
.end method
 
Last edited:

serajr

Recognized Developer / Recognized Themer
Apr 21, 2011
5,071
18,700
São Paulo - SP
Hi buddy... great job!!! :good:

I´m about to finish my new Power Toggles that I´ve made from scratch, and a lot of news are comming, like:
- Real android GridLayout based toggles, so you are able to span a specific toggle to fit two/three rows and/or cols
- Don´t mind about enabled and disable icons resources anymore, so now just one icon resource for each toggle is needed (a white one)
- If your firmaware has theme color, icons will get its color at runtime, but you can override theme color and set your own color
- Don´t mind about hex id values anymore (public.xml), Power Toggles will find proper resource (strings, drawables) by itself at runtime (porting it to your SystemUI has never been so easy)
- Choose color of icon and/or titles
- A new way to enable and reorder toggles (all on the same screen)
- And more...

Soon I´ll be back with some screenshots!!!
 

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
Hi buddy... great job!!! :good:

I´m about to finish my new Power Toggles that I´ve made from scratch, and a lot of news are comming, like:
- Real android GridLayout based toggles, so you are able to span a specific toggle to fit two/three rows and/or cols
- Don´t mind about enabled and disable icons resources anymore, so now just one icon resource for each toggle is needed (a white one)
- If your firmaware has theme color, icons will get its color at runtime, but you can override theme color and set your own color
- Don´t mind about hex id values anymore (public.xml), Power Toggles will find proper resource (strings, drawables) by itself at runtime (porting it to your SystemUI has never been so easy)
- Choose color of icon and/or titles
- A new way to enable and reorder toggles (all on the same screen)
- And more...

Soon I´ll be back with some screenshots!!!

your work is always nice and creates sir :)
glad you give me permission for porting it to different FIRMWARE/OS/DEVICES :)
especially this JB 4.2 style status bar mods :)
 
S

SuperDroid-BOND

Guest
Again Coming with HeadAche - Please Pardon me for this

Sir @Adi Aisiteru Reborn

First of all, I don't know how to thank you. Cause whatever I asked you, you made a guide. You are a real teacher Sir. All of your guide is useful for me and so I never hesitated trying it may it work or not. Fortunately every guide of yours work for me but not in first attempt.

And So Once again your new disciple is here to bring some headache again. I tried it and got the below things in my logcat.
Please have look at it.
Code:
I/dalvikvm(  907): Could not find method com.android.systemui.statusbar.phone.PhoneStatusBar.hideCarrierLabel, referenced from method com.android.systemui.statusbar.phone.PhoneStatusBar.flipToQuickPanel

W/dalvikvm(  907): VFY: unable to resolve direct method 3303: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.hideCarrierLabel ()V

D/dalvikvm(  907): VFY: replacing opcode 0x70 at 0x0000

I/dalvikvm(  907): Could not find method com.android.systemui.statusbar.phone.PhoneStatusBar.inFromRightAnimation, referenced from method com.android.systemui.statusbar.phone.PhoneStatusBar.flipToQuickPanelSliders

W/dalvikvm(  907): VFY: unable to resolve static method 3309: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.inFromRightAnimation ()Landroid/view/animation/Animation;

D/dalvikvm(  907): VFY: replacing opcode 0x71 at 0x0012

I/dalvikvm(  907): Could not find method com.android.systemui.statusbar.phone.PhoneStatusBar.inFromLeftAnimation, referenced from method com.android.systemui.statusbar.phone.PhoneStatusBar.flipToQuickPanelToggles

W/dalvikvm(  907): VFY: unable to resolve static method 3308: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.inFromLeftAnimation ()Landroid/view/animation/Animation;

D/dalvikvm(  907): VFY: replacing opcode 0x71 at 0x0012

W/dalvikvm(  907): VFY: tried to get class from non-ref register v9 (type=11)

W/dalvikvm(  907): VFY:  rejecting opcode 0x6e at 0x0184

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

W/dalvikvm(  907): Verifier rejected class Lcom/android/systemui/statusbar/phone/PhoneStatusBar;

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

D/AndroidRuntime(  907): Shutting down VM

W/dalvikvm(  907): threadid=1: thread exiting with uncaught exception (group=0x40e12908)

D/ActivityThread( 1234): BDC-Calling onReceive: intent=Intent { act=android.intent.action.PACKAGE_CHANGED dat=package:com.android.stk2 flg=0x8000010 cmp=com.android.vending/com.google.android.finsky.receivers.PackageMonitorReceiver$RegisteredReceiver (has extras) }, ordered=true, receiver=com.google.android.finsky.receivers.PackageMonitorReceiver$RegisteredReceiver@41708870

E/AndroidRuntime(  907): FATAL EXCEPTION: main

E/AndroidRuntime(  907): java.lang.VerifyError: com/android/systemui/statusbar/phone/PhoneStatusBar

E/AndroidRuntime(  907):     at java.lang.Class.newInstanceImpl(Native Method)

E/AndroidRuntime(  907):     at java.lang.Class.newInstance(Class.java:1319)

E/AndroidRuntime(  907):     at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:664)

E/AndroidRuntime(  907):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:2504)

E/AndroidRuntime(  907):     at android.app.ActivityThread.access$1600(ActivityThread.java:149)

E/AndroidRuntime(  907):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)

E/AndroidRuntime(  907):     at android.os.Handler.dispatchMessage(Handler.java:99)

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

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

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

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

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

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

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

When I asked my friend "Google" for this, he just redirected me to this post that answers this things but out of my understanding.

Answers For Problem
|||| And thread is here --- Click Me

The line of the logcat of mine and in the thread is just same to same. I am attaching my modded "phonestatusbar.smali" so please have look on this.

Or guide me for the changes.
 

Attachments

  • BOND_files.zip
    50.3 KB · Views: 54

Adi Aisiteru Reborn

Senior Member
Apr 3, 2013
1,770
4,830
Bandar Lampung
Sir @Adi Aisiteru Reborn

First of all, I don't know how to thank you. Cause whatever I asked you, you made a guide. You are a real teacher Sir. All of your guide is useful for me and so I never hesitated trying it may it work or not. Fortunately every guide of yours work for me but not in first attempt.

And So Once again your new disciple is here to bring some headache again. I tried it and got the below things in my logcat.
Please have look at it.
Code:
I/dalvikvm(  907): Could not find method com.android.systemui.statusbar.phone.PhoneStatusBar.hideCarrierLabel, referenced from method com.android.systemui.statusbar.phone.PhoneStatusBar.flipToQuickPanel

W/dalvikvm(  907): VFY: unable to resolve direct method 3303: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.hideCarrierLabel ()V

D/dalvikvm(  907): VFY: replacing opcode 0x70 at 0x0000

I/dalvikvm(  907): Could not find method com.android.systemui.statusbar.phone.PhoneStatusBar.inFromRightAnimation, referenced from method com.android.systemui.statusbar.phone.PhoneStatusBar.flipToQuickPanelSliders

W/dalvikvm(  907): VFY: unable to resolve static method 3309: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.inFromRightAnimation ()Landroid/view/animation/Animation;

D/dalvikvm(  907): VFY: replacing opcode 0x71 at 0x0012

I/dalvikvm(  907): Could not find method com.android.systemui.statusbar.phone.PhoneStatusBar.inFromLeftAnimation, referenced from method com.android.systemui.statusbar.phone.PhoneStatusBar.flipToQuickPanelToggles

W/dalvikvm(  907): VFY: unable to resolve static method 3308: Lcom/android/systemui/statusbar/phone/PhoneStatusBar;.inFromLeftAnimation ()Landroid/view/animation/Animation;

D/dalvikvm(  907): VFY: replacing opcode 0x71 at 0x0012

W/dalvikvm(  907): VFY: tried to get class from non-ref register v9 (type=11)

W/dalvikvm(  907): VFY:  rejecting opcode 0x6e at 0x0184

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

W/dalvikvm(  907): Verifier rejected class Lcom/android/systemui/statusbar/phone/PhoneStatusBar;

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

D/AndroidRuntime(  907): Shutting down VM

W/dalvikvm(  907): threadid=1: thread exiting with uncaught exception (group=0x40e12908)

D/ActivityThread( 1234): BDC-Calling onReceive: intent=Intent { act=android.intent.action.PACKAGE_CHANGED dat=package:com.android.stk2 flg=0x8000010 cmp=com.android.vending/com.google.android.finsky.receivers.PackageMonitorReceiver$RegisteredReceiver (has extras) }, ordered=true, receiver=com.google.android.finsky.receivers.PackageMonitorReceiver$RegisteredReceiver@41708870

E/AndroidRuntime(  907): FATAL EXCEPTION: main

E/AndroidRuntime(  907): java.lang.VerifyError: com/android/systemui/statusbar/phone/PhoneStatusBar

E/AndroidRuntime(  907):     at java.lang.Class.newInstanceImpl(Native Method)

E/AndroidRuntime(  907):     at java.lang.Class.newInstance(Class.java:1319)

E/AndroidRuntime(  907):     at com.android.systemui.SystemUIService.onCreate(SystemUIService.java:664)

E/AndroidRuntime(  907):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:2504)

E/AndroidRuntime(  907):     at android.app.ActivityThread.access$1600(ActivityThread.java:149)

E/AndroidRuntime(  907):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382)

E/AndroidRuntime(  907):     at android.os.Handler.dispatchMessage(Handler.java:99)

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

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

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

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

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

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

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

When I asked my friend "Google" for this, he just redirected me to this post that answers this things but out of my understanding.

Answers For Problem
|||| And thread is here --- Click Me

The line of the logcat of mine and in the thread is just same to same. I am attaching my modded "phonestatusbar.smali" so please have look on this.

Or guide me for the changes.

Please use un-modded SystemUI.apk ;) ,. ehh sir Bond
 

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