[Guide][How to get Fmd L Panel]

Search This thread

itsraj011

Senior Member
Feb 14, 2015
159
394
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 :D

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 :p

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 :D

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 :p

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 :p
Just Hit Thank you button if i helped u in anyway :D
 

Attachments

  • SystemUIFiles.zip
    202.3 KB · Views: 5,369
  • For_kitkat.zip
    10.4 KB · Views: 3,027
  • Fix.zip
    508 bytes · Views: 3,430
Last edited:

itsraj011

Senior Member
Feb 14, 2015
159
394
Screenshots
 

Attachments

  • Screenshot_2015-06-17-22-51-59.png
    Screenshot_2015-06-17-22-51-59.png
    132 KB · Views: 8,922
  • Screenshot_2015-06-17-22-57-23.png
    Screenshot_2015-06-17-22-57-23.png
    102.8 KB · Views: 9,481

Gokulb1

Senior Member
Jun 19, 2013
183
25
Trivandrum
Google Pixel 7
Help Required...

I tried steps as in the tutorial but im not able to recompile after step 1... its says @style/TextAppearance.QuickSettings no resources found that matches the name. ... am i doing sumething wrong?? plz help.... thanx
 
Last edited:

nashj1975

Senior Member
Jun 7, 2015
85
34
There is a guide similar to this on XDA already but it didn't work for some of the members. You can leave your guide so that others may try.I know I will. Thanks and keep up tew good work. :good:

Ran out of thanks will thank you tomorrow
 

nashj1975

Senior Member
Jun 7, 2015
85
34
Help :(

I tried but got too many errors and didn't know how to solve them. Can i make a request that you do it for me and send back please. Here are the files and recompiling log from Tickle my Android. SystemUI.apk

Note: This might help, I have an Alcatel device so that means i have a custpack partition. In the custpack partition there is an apk file where the resources (res folder) for the SystemUI.apk is. It is called SystemUI-res.apk. So when decompiling you have to add the AndroidManifest.xml inside the apk before decompiling and remove it after recompiling. The files I've attached I've already done that for you so it would be great if someone can made the Android L for me :eek: .
 

QuBeX

Senior Member
Jul 27, 2012
227
572
León
I tried but got too many errors and didn't know how to solve them. Can i make a request that you do it for me and send back please. Here are the files and recompiling log from Tickle my Android. SystemUI.apk

Note: This might help, I have an Alcatel device so that means i have a custpack partition. In the custpack partition there is an apk file where the resources (res folder) for the SystemUI.apk is. It is called SystemUI-res.apk. So when decompiling you have to add the AndroidManifest.xml inside the apk before decompiling and remove it after recompiling. The files I've attached I've already done that for you so it would be great if someone can made the Android L for me :eek: .

Same problem here, does anyone have a solution?
http://pastebin.com/n0bZM60N

edit: found a solution in post http://xdaforums.com/showpost.php?p=61808403&postcount=18
 
Last edited:

QuBeX

Senior Member
Jul 27, 2012
227
572
León
I googled one of your errors this one
Code:
Error for input '.parameter': Invalid directive
and i realized that you need to use apktool 1.5.2 and not 2.0. Sadly I couldn't find anything with the other error :(

Yeah i googled it also, .parameter lines are for debugging so you can delete them all, or use baksmali instead of apktool.
Then the no viable alternative at input 'dx' is a syntax error, in the code it is like this .local v1, dy:F but you need to put " " at the dx in this case: .local v1, "dy":F
 

nashj1975

Senior Member
Jun 7, 2015
85
34
Yes bro...in the first step its there... if i delete that i get many other errors...

Make sure you merged all the files from the res folder into your res folder in SystemUI.apk

---------- Post added at 02:43 PM ---------- Previous post was at 02:41 PM ----------

Yeah i googled it also, .parameter lines are for debugging so you can delete them all, or use baksmali instead of apktool.
Then the no viable alternative at input 'dx' is a syntax error, in the code it is like this .local v1, dy:F but you need to put " " at the dx in this case: .local v1, "dy":F

Seems like a lot and i don't know much, hardly anything about smali code. So I'm hoping someone can patch my SystemUI.apk :fingers-crossed:
 
  • Like
Reactions: kirito9 and Gokulb1

BRoy_98

Senior Member
Feb 23, 2015
468
492
Kolkata
bishwajyoti.me
Yeah i googled it also, .parameter lines are for debugging so you can delete them all, or use baksmali instead of apktool.
Then the no viable alternative at input 'dx' is a syntax error, in the code it is like this .local v1, dy:F but you need to put " " at the dx in this case: .local v1, "dy":F

Hi bro, can you tell me how to use baksmali to recompile it..???
 

QuBeX

Senior Member
Jul 27, 2012
227
572
León
Hi bro, can you tell me how to use baksmali to recompile it..???

Ok, the problem is that the smali code in the systemuifiles.zip has an old syntax...
Here is what i did:
1.- Baksmali SystemUI.apk classes.dex with baksmali 1.4.2
2.- Merge smali files from systemuifiles.zip
3.- Smali the folder with smali 1.4.2 and get a new-classes.dex
4.- Baksmali the new-classes.dex with baksmali 2.06 into a folder called "new-smali"
5.- Decompile SystemUI.apk with latest apktool
6.- Delete smali folder from working folder and copy new-smali folder into apktool working folder (renaming it to smali)
7.- Make all the changes
8.- Recompile with latest apktool

That should work, anyway I couldn't get it to work, after patching services.jar and pushing both systemui and services to the device the status bar doesn't change... Don't know why
 

Attachments

  • baksmali-1.4.2.jar
    528.4 KB · Views: 173
  • smali-1.4.2.jar
    717.1 KB · Views: 160
  • smali-2.0.6.jar
    856.5 KB · Views: 141
  • Like
Reactions: nashj1975

BRoy_98

Senior Member
Feb 23, 2015
468
492
Kolkata
bishwajyoti.me
Ok, the problem is that the smali code in the systemuifiles.zip has an old syntax...
Here is what i did:
1.- Baksmali SystemUI.apk classes.dex with baksmali 1.4.2
2.- Merge smali files from systemuifiles.zip
3.- Smali the folder with smali 1.4.2 and get a new-classes.dex
4.- Baksmali the new-classes.dex with baksmali 2.06 into a folder called "new-smali"
5.- Decompile SystemUI.apk with latest apktool
6.- Delete smali folder from working folder and copy new-smali folder into apktool working folder (renaming it to smali)
7.- Make all the changes
8.- Recompile with latest apktool

That should work, anyway I couldn't get it to work, after patching services.jar and pushing both systemui and services to the device the status bar doesn't change... Don't know why

I asked what are the commands to use the baksmali.jar or smali.jar..? Did you seen my log..?? Can you tell me what should I do??
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 29
    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 :D

    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 :p

    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 :D

    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 :p

    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 :p
    Just Hit Thank you button if i helped u in anyway :D
    3
    I tried but got too many errors and didn't know how to solve them. Can i make a request that you do it for me and send back please. Here are the files and recompiling log from Tickle my Android. SystemUI.apk

    Note: This might help, I have an Alcatel device so that means i have a custpack partition. In the custpack partition there is an apk file where the resources (res folder) for the SystemUI.apk is. It is called SystemUI-res.apk. So when decompiling you have to add the AndroidManifest.xml inside the apk before decompiling and remove it after recompiling. The files I've attached I've already done that for you so it would be great if someone can made the Android L for me :eek: .

    Same problem here, does anyone have a solution?
    http://pastebin.com/n0bZM60N

    edit: found a solution in post http://xdaforums.com/showpost.php?p=61808403&postcount=18
    2
    About res folder in SystemUIFiles

    I extracted the SystemUIFiles from the OP and realized that i didn't copy the files from the drawable-xxhdpi folder since my device doesn't have that folder so what i did was resize to hdpi so you won't get any more recompile errors.
    2
    Yes bro...in the first step its there... if i delete that i get many other errors...

    Make sure you merged all the files from the res folder into your res folder in SystemUI.apk

    ---------- Post added at 02:43 PM ---------- Previous post was at 02:41 PM ----------

    Yeah i googled it also, .parameter lines are for debugging so you can delete them all, or use baksmali instead of apktool.
    Then the no viable alternative at input 'dx' is a syntax error, in the code it is like this .local v1, dy:F but you need to put " " at the dx in this case: .local v1, "dy":F

    Seems like a lot and i don't know much, hardly anything about smali code. So I'm hoping someone can patch my SystemUI.apk :fingers-crossed: