This is a guide by Fmd devs to get L panel in kitkat and jellybean devics...
It is time consuming and u need to be very patient.
It isn't for extreme noob but i shall try my best understand u in all possible ways
Take a backup of ur current systemUI.apk before following it
if this guide is already on xda, then let me know i'll close the thread
Let's start now
Things u need -
Apktool 1.5.2
SystemUI.apk
Notepad++
Brain.jar
Step 1:
- Decomile ur systemUI.apk (i m not gonna explain u how to decomile and recomile , there are already many guides for that )
Download systemuiFiles.zip from attachments, extract it merge the files to respective folders
- Go res/values
open ids.xml
Copy the codes below and paste them before </resources>
Save the xml
- Open dimens.xml search for <dimen name="quick_settings_cell_height"> change its value to 90.0dip
Also search for <dimen name="quick_settings_cell_gap"> and replace its value with 0.0dip
Then save it
- Now open styles.xml
Find this -
Change it to make it like -
Now find -
Change it to become like -
Add the codes below at the bottom before </resources>
Done Now save the xml
- Open arrays.xml
Add these codes at the bottom before</resources>
Save arrays.xml
Search for them before adding, if these are already there, then skip this process...
- Open colors.xml
Copy the codes below and paste them before </resources>
Before doing this, search for them seperately , u must not add them twice.. If u find them, change the hex code only..
Save it...
- Open strings.xml
Add the codes below before </resources>
Save the xml
Skip it if it is already there..
- Go back and open AndroidManifest.xml
Paste these codes below at the bottom before </application>
Save the xml
- Now go to smali/com/android/systemui
Open SystemUIService.smali
Copy the codes below and paste them after #virtual methods
Don't forget to add 1 gap after .end method
Done Step 1, u can recompile systemui apk
Wait Wait!!!
If u're a KitKat user, u may get compiling error "no resource found @id/header_settings_button" something like that.. Then follow step 2.. If u hve succefully recompiled then skip that step...
Step 2:
- Download For_KitKat.zip from attachments and copy the files to respective folders
- Navigate to res/values , open ids.xml add the code below before </resources>
Done, Recompile ur systemui...
now u can proceed to Step 3
Step 3:
This step is for Id replacement, u must hve heard about it
- Decompile newly compiled systemUI.apk
- Open LBatteryBar$1.smali in /smali/com/fmd/btn
Search
0x7f020145
replace with the value of
<public type="drawable" name="stat_sys_battery_charge" from your public.xml
Search
0x7f02013c
replace with the value of
<public type="drawable" name="stat_sys_battery" from your public.xml
- Open SlideBrightness.smali in /smali/in/jmkl/dcsms/statusbargreper
Search
0x7f020263
replace with the value of
<public type="drawable" name="progress_horizontal" from your public.xml
Search
0x7f020270
replace with the value of
<public type="drawable" name="thumb" from your public.xml
- Open Profile.smali in /smali/com/android/settings
search code and replace with your public.xml
0x7f04004d = <public type="layout" name="profile_cover"
0x7f08012b = <public type="id" name="photo_picker_cover"
0x7f08012c = <public type="id" name="owner_cover"
0x7f08012d = <public type="id" name="name_field_cover"
0x7f08012e = <public type="id" name="name_edit_cover"
0x7f08012f = <public type="id" name="image_cover"
0x7f020264 = <public type="drawable" name="fmd_me"
- Open ProfilePicture$1.smali in /smali/com/android/settings
search code and replace with your public.xml
0x7f020264 = <public type="drawable" name="fmd_me"
- Open ProfilePicture.smali
Search code and replace with your public.xml
0x7f08000b = <public type="id" name="image"
0x7f020264 = <public type="drawable" name="fmd_me"
Done!!
Now ur Systemui is of FMD panel but the wifi and bt toggles are two, one is that of fmd and 2nd one is of ur stock.... :angel:
So, follow next step...
Step 4:
Open Quicksettings.smali in smali/com/android/systemui/statusbar/phone
For Jellybean -
To remove bluetooth toggle find this-
then scroll until you find
delete all that including the invoke
(note: just scroll dont use search button so you won't
get confused)
For data connection toggle find-
then scroll until you find this
Delete it..
now just search for other tiles that you want to remove in the quicksettings..
For Kitkat-
Copy the line below search for it
that is the tile of audio profile if you want to remove it from your panel then scroll find this in the method:
delete that whole line including the .line at the top of it
also delete the gaps because there must be only 1 gap
if you want to delete wifi tile from your panel
then search:
that is the tile of wifi if you want to remove it from your panel then just find again the this line in the method
delete that whole line including the .line at the top of it
Do it with all the toggles which u wanna remove
This step is slightly confusing, just skip it if u r not getting
Step 5:
Now What! Recompile ur systemui
Patch ur services.jar, yes! U have edited Androidmanifest.xml , so u gotta sign it with custom signature
Don't know how to patch services.jar.. Just search on XDA, there are many guides
Now make flashable zip of systemUI.apk and flash it.
SystemUi force closed , same as mine! Don't Worry Follow next step
Step 6:
Download fix.zip from attachments below.. Copy png to res/drawable-hdpi folder
Recompile ur systemui.apk and again decomile it
Open SignalToggle in /smali/com/fmd/qset
find 0x7f0201f3
replace with
<public type="drawable" name="stat_sys_signal_null"
from your public.xml
Ah! Done Now. Recompile ur systemui and flash it.. Enjoy
Credits-
Fmd Devs
Klark Luis Peralta
Jeff Rivera
Aljhun Bumaya
b16h22
Maaadr
i m not so cheap to take credit only for sharing it
Just Hit Thank you button if i helped u in anyway
It is time consuming and u need to be very patient.
It isn't for extreme noob but i shall try my best understand u in all possible ways
Take a backup of ur current systemUI.apk before following it
if this guide is already on xda, then let me know i'll close the thread
Let's start now
Things u need -
Apktool 1.5.2
SystemUI.apk
Notepad++
Brain.jar
Step 1:
- Decomile ur systemUI.apk (i m not gonna explain u how to decomile and recomile , there are already many guides for that )
Download systemuiFiles.zip from attachments, extract it merge the files to respective folders
- Go res/values
open ids.xml
Copy the codes below and paste them before </resources>
Code:
<item type="id" name="recents_clear">false</item>
<item type="id" name="LayE2">false</item>
<item type="id" name="owner">false</item>
<item type="id" name="photo_picker_cover">false</item>
<item type="id" name="owner_cover">false</item>
<item type="id" name="name_field_cover">false</item>
<item type="id" name="name_edit_cover">false</item>
<item type="id" name="image_cover">false</item>
<item type="id" name="photo_picker">false</item>
<item type="id" name="name_field">false</item>
<item type="id" name="name_edit">false</item>
<item type="id" name="colored_bar">false</item>
<item type="id" name="thumbnail_border">false</item>
Save the xml
- Open dimens.xml search for <dimen name="quick_settings_cell_height"> change its value to 90.0dip
Also search for <dimen name="quick_settings_cell_gap"> and replace its value with 0.0dip
Then save it
- Now open styles.xml
Find this -
Code:
<style name="TextAppearance.StatusBar.Expanded.Clock" parent="@style/TextAppearance.StatusBar.Expanded">
Change it to make it like -
Code:
<style name="TextAppearance.StatusBar.Expanded.Clock" parent="@style/TextAppearance.StatusBar.Expanded">
<item name="android:textSize">14.0sp</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:fontFamily">sans-serif-medium</item>
</style>
Now find -
Code:
<style name="TextAppearance.StatusBar.Expanded.Date" parent="@style/TextAppearance.StatusBar.Expanded">
Change it to become like -
Code:
<style name="TextAppearance.StatusBar.Expanded.Date" parent="@style/TextAppearance.StatusBar.Expanded">
<item name="android:textSize">14.0sp</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#b2ffffff</item>
</style>
Add the codes below at the bottom before </resources>
Code:
<style name="TextAppearance.QuickSettings.Toggle" parent="@style/TextAppearance.QuickSettings">
<item name="android:textSize">12.0sp</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">#b3ffffff</item>
<item name="android:fontFamily">sans-serif-regular-systemui</item>
</style>
<style name="Theme.Lalalee" parent="@*android:style/Theme.Holo.Light.Dialog">
<item name="android:windowBackground">@*android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
</style>
Done Now save the xml
- Open arrays.xml
Add these codes at the bottom before</resources>
Code:
<integer-array name="batterymeter_color_levels">
<item>4</item>
<item>15</item>
<item>100</item>
</integer-array>
<array name="batterymeter_color_values">
<item>#ffff3300</item>
<item>#ffff3300</item>
<item>#ffffffff</item>
</array>
<integer-array name="batterymeter_bolt_points">
<item>73</item>
<item>0</item>
<item>392</item>
<item>0</item>
<item>201</item>
<item>259</item>
<item>442</item>
<item>259</item>
<item>4</item>
<item>703</item>
<item>157</item>
<item>334</item>
<item>0</item>
<item>334</item>
</integer-array>
Save arrays.xml
Search for them before adding, if these are already there, then skip this process...
- Open colors.xml
Copy the codes below and paste them before </resources>
Code:
<color name="qset_text_color_off">#b3ffffff</color>
<color name="qset_text_color_on">#b3ffffff</color>
<color name="qs_tile_normal">#ff263238</color>
<color name="batterymeter_charge_color">@android:color/white</color>
<color name="batterymeter_bolt_color">#b2000000</color>
Before doing this, search for them seperately , u must not add them twice.. If u find them, change the hex code only..
Save it...
- Open strings.xml
Add the codes below before </resources>
Code:
<string name="battery_meter_very_low_overlay_symbol">!</string>
Save the xml
Skip it if it is already there..
- Go back and open AndroidManifest.xml
Paste these codes below at the bottom before </application>
Code:
<activity android:theme="@style/Theme.Lalalee" android:name="com.android.settings.Profile">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
Save the xml
- Now go to smali/com/android/systemui
Open SystemUIService.smali
Copy the codes below and paste them after #virtual methods
Don't forget to add 1 gap after .end method
Code:
.method public FMDProfPic(Landroid/view/View;)V
.locals 3
.parameter "v"
.prologue
.line 2431
new-instance v0, Landroid/content/Intent;
invoke-direct {v0}, Landroid/content/Intent;-><init>()V
.line 2432
const-string v1, "com.android.systemui"
const-string v2, "com.android.settings.Profile"
invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
const/high16 v2, 0x1000
invoke-virtual {v0, v2}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
move-result-object v0
.line 2433
invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
const-string v1, "statusbar"
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/StatusBarManager;
invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapsePanels()V
.line 1720
return-void
.end method
Done Step 1, u can recompile systemui apk
Wait Wait!!!
If u're a KitKat user, u may get compiling error "no resource found @id/header_settings_button" something like that.. Then follow step 2.. If u hve succefully recompiled then skip that step...
Step 2:
- Download For_KitKat.zip from attachments and copy the files to respective folders
- Navigate to res/values , open ids.xml add the code below before </resources>
Code:
<item type="id" name="header_settings_button">false</item>
Done, Recompile ur systemui...
now u can proceed to Step 3
Step 3:
This step is for Id replacement, u must hve heard about it
- Decompile newly compiled systemUI.apk
- Open LBatteryBar$1.smali in /smali/com/fmd/btn
Search
0x7f020145
replace with the value of
<public type="drawable" name="stat_sys_battery_charge" from your public.xml
Search
0x7f02013c
replace with the value of
<public type="drawable" name="stat_sys_battery" from your public.xml
- Open SlideBrightness.smali in /smali/in/jmkl/dcsms/statusbargreper
Search
0x7f020263
replace with the value of
<public type="drawable" name="progress_horizontal" from your public.xml
Search
0x7f020270
replace with the value of
<public type="drawable" name="thumb" from your public.xml
- Open Profile.smali in /smali/com/android/settings
search code and replace with your public.xml
0x7f04004d = <public type="layout" name="profile_cover"
0x7f08012b = <public type="id" name="photo_picker_cover"
0x7f08012c = <public type="id" name="owner_cover"
0x7f08012d = <public type="id" name="name_field_cover"
0x7f08012e = <public type="id" name="name_edit_cover"
0x7f08012f = <public type="id" name="image_cover"
0x7f020264 = <public type="drawable" name="fmd_me"
- Open ProfilePicture$1.smali in /smali/com/android/settings
search code and replace with your public.xml
0x7f020264 = <public type="drawable" name="fmd_me"
- Open ProfilePicture.smali
Search code and replace with your public.xml
0x7f08000b = <public type="id" name="image"
0x7f020264 = <public type="drawable" name="fmd_me"
Done!!
Now ur Systemui is of FMD panel but the wifi and bt toggles are two, one is that of fmd and 2nd one is of ur stock.... :angel:
So, follow next step...
Step 4:
Open Quicksettings.smali in smali/com/android/systemui/statusbar/phone
For Jellybean -
To remove bluetooth toggle find this-
Code:
bluetoothTile:Lcom/android/systemui/statusbar/phone/QuickSettingsTileView;
then scroll until you find
Code:
Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
delete all that including the invoke
(note: just scroll dont use search button so you won't
get confused)
For data connection toggle find-
Code:
dataconnectiontile:/Lcom/android/systemui/phone/Quicksettingstileview
then scroll until you find this
Code:
invoke-virtual {v0, v7}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
Delete it..
now just search for other tiles that you want to remove in the quicksettings..
For Kitkat-
Copy the line below search for it
Code:
.method private addAudioProfileTile(Landroid/view/ViewGroup;Landroid/view/LayoutInflater;)V
that is the tile of audio profile if you want to remove it from your panel then scroll find this in the method:
Code:
Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
delete that whole line including the .line at the top of it
also delete the gaps because there must be only 1 gap
if you want to delete wifi tile from your panel
then search:
Code:
.method private addWifiTile(Landroid/view/ViewGroup;Landroid/view/LayoutInflater;)V
that is the tile of wifi if you want to remove it from your panel then just find again the this line in the method
Code:
Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
delete that whole line including the .line at the top of it
Do it with all the toggles which u wanna remove
This step is slightly confusing, just skip it if u r not getting
Step 5:
Now What! Recompile ur systemui
Patch ur services.jar, yes! U have edited Androidmanifest.xml , so u gotta sign it with custom signature
Don't know how to patch services.jar.. Just search on XDA, there are many guides
Now make flashable zip of systemUI.apk and flash it.
SystemUi force closed , same as mine! Don't Worry Follow next step
Step 6:
Download fix.zip from attachments below.. Copy png to res/drawable-hdpi folder
Recompile ur systemui.apk and again decomile it
Open SignalToggle in /smali/com/fmd/qset
find 0x7f0201f3
replace with
<public type="drawable" name="stat_sys_signal_null"
from your public.xml
Ah! Done Now. Recompile ur systemui and flash it.. Enjoy
Credits-
Fmd Devs
Klark Luis Peralta
Jeff Rivera
Aljhun Bumaya
b16h22
Maaadr
i m not so cheap to take credit only for sharing it
Just Hit Thank you button if i helped u in anyway
Attachments
Last edited: