FORUMS

[Guide][How to get Fmd L Panel]

159 posts
Thanks Meter: 395
 
By itsraj011, Senior Member on 17th June 2015, 06:20 PM
Post Reply Email Thread
6th August 2016, 09:55 AM |#111  
Junior Member
Flag HCM
Thanks Meter: 3
 
More
SystemUI/res/layout/fmd_quick_settings.xml:19: eror:Eror: No resource found that matches the given name (at 'text' with value '@Striing/bluetooth')
SystemUI/res/layout/gemini_layout_status_bar_expanded.xml:6: eror:Eror: No resource found that matches the given name (at 'layout' with value '@layout/gemini_carrier_lable')
SystemUI/res/layout/gemini_layout_status_bar_expanded.xml:8: eror:Eror: No resource found that matches the given name (at 'id' with value '@id/toolBarSwitchPanel')
SystemUI/res/layout/gemini_layout_status_bar_expanded.xml:9: eror:Eror: No resource found that matches the given name (at 'layout' with value '@layout/toolbar_view')
SystemUI/res/layout/gemini_layout_status_bar_expanded.xml:10: eror:Eror: No resource found that matches the given name (at 'layout' with value '@layout/toolbarbar_indicator')
- what is it??? I can't found resource? can u help me. please.
26th March 2017, 07:50 AM |#112  
vinaykharayat's Avatar
Senior Member
Flag Pithoragarh
Thanks Meter: 34
 
Donate to Me
More
I got this error after Step 1
logfile is in attachment

P.S-Ok after googling i found this error came because I was using apktool ver 2.2.2
So I tried using apktool 1.5.2 but got this error
Exception in thread "main" brut.androlib.AndrolibException: Could not decode arsc file
As previously I already modified my framework using apktool ver 2.2.2
So can't you fix this issue
Attached Files
File Type: txt Log.txt - [Click for QR Code] (6.0 KB, 10 views)
13th April 2017, 01:11 PM |#113  
vinaykharayat's Avatar
Senior Member
Flag Pithoragarh
Thanks Meter: 34
 
Donate to Me
More
hey please upload smali for apktool 2.x.x i am getting error .
Apktool 1.5.2 isnt working (dunno why).
please bother to provide smali for apktool 2.x.x
14th April 2017, 10:40 AM |#114  
vinaykharayat's Avatar
Senior Member
Flag Pithoragarh
Thanks Meter: 34
 
Donate to Me
More
Quote:
Originally Posted by itsraj011

My system ui for compare.. And framework too... Download fromHere

unable to decompile systemui........
Can't find framework resources for package of id: 2. You must install proper framework files, see project website for more info.
I think this is because of custom signature maybe....
Damn!
19th April 2017, 05:30 AM |#115  
vinaykharayat's Avatar
Senior Member
Flag Pithoragarh
Thanks Meter: 34
 
Donate to Me
More
Process: com.android.systemui, PID: 3107
java.lang.NullPointerException
at com.android.systemui.statusbar.phone.PhoneStatusBa r.makeStatusBarView(PhoneStatusBar.java:494)
at com.android.systemui.statusbar.phone.PhoneStatusBa r.addStatusBarWindow(PhoneStatusBar.java:2410)
at com.android.systemui.statusbar.phone.PhoneStatusBa r.createAndAddWindows(PhoneStatusBar.java:2384)
at com.android.systemui.statusbar.BaseStatusBar.start (BaseStatusBar.java:258)
at com.android.systemui.statusbar.phone.PhoneStatusBa r.start(PhoneStatusBar.java:367)
at com.android.systemui.statusbar.SystemBars.createSt atusBarFromConfig(SystemBars.java:106)
at com.android.systemui.statusbar.SystemBars.onNoServ ice(SystemBars.java:58)
at com.android.systemui.statusbar.ServiceMonitor.star tService(ServiceMonitor.java:228)
at com.android.systemui.statusbar.ServiceMonitor.acce ss$000(ServiceMonitor.java:49)
at com.android.systemui.statusbar.ServiceMonitor$1.ha ndleMessage(ServiceMonitor.java:73)
at android.os.Handler.dispatchMessage(Handler.java:10 2)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.jav a:5372)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:970)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:786)
at dalvik.system.NativeStart.main(Native Method)

This is my log ,my system ui crashed even after applying last fix ,I also patched services.jar
Actually I got no resource error because some file were missing in my layout folder those files were gemini_carrier_label.xml , toolbarview.xml , toolbar_indicator.xml
to fix missing gemini_carrier_label.xml i renamed carrier label.xml to gemini_carrier_label.xml
but unable to find toolbarview.xml , toolbar_indicator.xml or related file so i removed
<include layout="@layout/toolbar_view" />
<include layout="@layout/toolbar_indicator" />

from gemini_statusbar_expended.xml i think this is the reason...some tell me how to fix this....
@itsraj011
7th March 2020, 01:12 PM |#116  
Junior Member
Thanks Meter: 0
 
More
help me !!!
:đang khóc::đang khóc::đang khóc::đang khóc:
Quote:
Originally Posted by 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

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

31st March 2020, 09:19 PM |#117  
Junior Member
Thanks Meter: 0
 
More
Thanks, that was very helpful!
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes