[Galaxy S III Android Development] wanam:
This mod is based on Lidroid work so all credits goes to him, he updated his framework (lidroid-res) to api level 16 but he didn't port it to Samsung Jely bean Roms yet, so i decided to try to do it my self.

​

I packaged needed sources into SystemUI, to make it easy to port on next updates.

Let start, you need to decompile SystemUI.apk (use my repacked Apk_Manager if you get any issue).

Edit "SystemUI.apk\res\layout\tw_status_bar_expanded.xml" and make these changes, this will hide the stock status bar and use the new one:

<include android:layout_width="fill_parent" android:layout_height="@dimen/tw_notification_panel_header_height" layout="@layout/tw_status_bar_expanded_header" />
<com.wanamlite.systemui.quickpanel.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/notification_panel_header_height" />
<HorizontalScrollView android:id="@id/quicksetting_scroller" android:scrollbars="none" android:layout_width="wrap_content" android:layout_height="@dimen/quick_setting_button_height" android:layout_marginTop="@dimen/tw_notification_panel_header_height">
<com.android.systemui.statusbar.policy.quicksetting.QuickSettingPanel android:orientation="horizontal" android:id="@id/quicksetting_container" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:divider="@drawable/tw_black_bg" android:showDividers="middle" />
</HorizontalScrollView>

Edit "SystemUI.apk\res\values\ids.xml" and add this Id:

++ <item type="id" name="exp_power_stat">false</item>

Edit "SystemUI.apk\smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali" and make these changes :

Add mPowerWidget field :

.field mPostCollapseCleanup:Ljava/lang/Runnable;

++.field mPowerWidget:Lcom/wanamlite/systemui/quickpanel/PowerWidget;

.field mQueueLock:Ljava/lang/Object;

Method "addIcon" :

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

.line 1086
++iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/wanamlite/systemui/quickpanel/PowerWidget;

++invoke-virtual {v1}, Lcom/wanamlite/systemui/quickpanel/PowerWidget;->updateWidget()V

return-void

Method "makeStatusBarView" :

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

++move-object/from16 v0, p0

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

++const v14, 0x7f0d0109

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

++move-result-object v13

++check-cast v13, Lcom/wanamlite/systemui/quickpanel/PowerWidget;

++move-object/from16 v0, p0

++iput-object v13, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/wanamlite/systemui/quickpanel/PowerWidget;

.line 716
new-instance v13, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MyTicker;

move-object/from16 v0, p0

iget-object v13, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;

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

++move-object/from16 v0, p0

++iget-object v13, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/wanamlite/systemui/quickpanel/PowerWidget;

++invoke-virtual {v13}, Lcom/wanamlite/systemui/quickpanel/PowerWidget;->setupWidget()V

.line 806
sget-boolean v13, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->useTouchWizGUI:Z

Extract attached "wanamlite.zip" and copy both folders "com" & "wanamlite" to your "SystemUI.apk\smali\".

That's all, recompile your SystemUI.

After building, make sure your Id "exp_power_stat" got the public id "0x7f0d0109", if you got a different Id, use your new public Id in the "makeStatusBarView" method.

Download attached "system.zip" , you need to copy Toggle buttons resources "lidroid-res.apk" to "system/framework", and "QuickPanelSettings.apk" to "/system/app" (with permissions 644).

Use this updated guide to mod lidroid-res.

Enjoy!