I have re-written the guide by @evanlocked with his permission as some people had trouble following his guide so I'll try to make it simple to follow steps
Full credit goes to him for the original guide and steps - All I have done is present it and re-write it in a different way to make it more understandable and iv also added steps for different layouts depending on what rom you are using
The original thread can be found
http://xdaforums.com/showthread.php?t=2152370
1 - Download the attachment and unzip the folder
2 - Decompile your SystemUI.apk with apktool
3 - Open the downloaded attachment and copy the files within to the following locations to your decompiled SystemUI folder
Note if you dont have the folder for the smali eg lidroid just create it
smali\com\lidroid\systemui\quickpanel
BrightnessSlider$BrightnessSettingsObserver.smali
BrightnessSlider.smali
smali\com\android\systemui\statusbar
SlideBrightness$1.smali
SlideBrightness$2.smali
SlideBrightness.smali
smali\com\android\systemui\statusbar\quickpanel
BrightnessSettingsView$1.smali
BrightnessSettingsView$AutomaticObserver.smali
BrightnessSettingsView$BrightnessObserver.smali
res\drawable
brightness_seekbar.xml
res\layout
qp_brightness.xml
quickpanel_brightness_settings.xml
res\drawable-ldpi (or -mdpi and so on depending on your phone res)
brightness_bg.png
ic_brightness.png
quickpanel_brightness_icon.png
4 - Open res/values/strings.xml with notepad++
above </resources> place the following
Code:
<string name="brightness_settings_title" />
<string name="brightness_settings_automatic" />
5 - Open res/values/ids.xml with notepad++
above </resources> place the following (note cm9 dont add <item type="id" name="brightness">false</item> as its already defined)
Code:
<item type="id" name="title">false</item>
<item type="id" name="brightness">false</item>
<item type="id" name="automatic">false</item>
6 - Open res/layout/status_bar_expanded.xml
This step will vary depending on rom so I will give a few examples
Example 1 - Stock Gingerbread (deodexed)
Under
Code:
<com.android.systemui.statusbar.NotificationLinearLayout android:orientation="vertical" android:id="@id/notificationLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="6.0dip">
Place
Code:
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
<include layout="@layout/qp_brightness" />
</LinearLayout>
Example 2 - CM7
If you have a header you can place it under it like this (note your header name maybe different from StatusBarJellyHeaderView)
Under
Code:
<com.android.systemui.statusbar.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:textSize="14.0sp" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:paddingLeft="15.0dip" android:paddingRight="15.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginBottom="1.0dip" android:text="@string/status_bar_clear_all_button" style="StatusBar.ClearButton" />
Place
Code:
<include layout="@layout/qp_brightness" />
Or if you dont have a header or you dont want it within the header you can place it under the power widget
Under
Code:
<com.android.systemui.statusbar.powerwidget.PowerWidget android:id="@id/exp_power_stat" android:layout_width="fill_parent" android:layout_height="wrap_content" />
Place
Code:
<include layout="@layout/qp_brightness" />
Example 3 - CM9
Above
Code:
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0">
Place
Code:
<LinearLayout android:orientation="horizontal" android:background="@drawable/notification_header_bg" android:layout_width="fill_parent" android:layout_height="wrap_content">
<include layout="@layout/qp_brightness" />
</LinearLayout>
<View android:background="@drawable/status_bar_hr" android:layout_width="fill_parent" android:layout_height="2.0dip" />
7 - This step is optional and is for the icon next to the brightness slider
open res/layout/qp_brightness.xml
Look at
Code:
<ImageView android:paddingLeft="3.0px" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_brightness" />
note - to change the icon just replace ic_brightness.png that you placed in res/drawable-ldpi (or mdpi and so on) with one of your choice but make sure the filename remains ic_brightness.png
8 - Recompile and sign - if you are using cm7/9 sign the apk with a platform key using zip signer (playstore)
9 - Put in a flashable zip and flash in cwm with system mounted
credits
evanlocked
Attachments
Last edited: