[Android Themes] itsraj011:
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>

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

<style name="TextAppearance.StatusBar.Expanded.Clock" parent="@style/TextAppearance.StatusBar.Expanded">

Change it to make it like -

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

<style name="TextAppearance.StatusBar.Expanded.Date" parent="@style/TextAppearance.StatusBar.Expanded">

Change it to become like -

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

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

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

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

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

<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

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

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

bluetoothTile:Lcom/android/systemui/statusbar/phone/QuickSettingsTileView;

then scroll until you find

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-

dataconnectiontile:/Lcom/android/systemui/phone/Quicksettingstileview

then scroll until you find this

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

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

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:

.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

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