Quantcast
Channel: xda-developers - Android Themes
Viewing all articles
Browse latest Browse all 4090

[Guide][How to get Fmd L Panel]

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


Viewing all articles
Browse latest Browse all 4090

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>