Hello guys today iam going to teach you how to add lidroid toggles in grid view in AOSP/CM/Stock roms.
Maybe i have forgot something so dont blame me Let me know it first and i will change it.
Things REQUIRED.
1.Patience [Heavily Needed]
2.Lots of time.
3.My provided files.Here: Public.xml and Lidroid_Resources.zip
4.Notepad++ etc.
The guide is divide into two parts.
1.XML PART [Includes xml editing ]
2.SMALI PART [ Includes smali editing ]
Lets start with XML PART first.
STEP 1
Open ids.xml under res/values foler and add these in last above
Code:
<item type="id" name="quickpanel_button">false</item>
<item type="id" name="quickpanel_text">false</item>
<item type="id" name="quickpanel_image">false</item>
<item type="id" name="quickpanel_indicator">false</item>
<item type="id" name="Lidroid">false</item>
STEP 2
Open dimens.xml under res/values foler and add these in last above
Code:
</resources>
Code:
quickpanel_button_height">79.0px
STEP 3
Open strings.xml under res/values foler and add these in last above
Code:
<string name="quickpanel_wifi_text">Wi-Fi</string>
<string name="quickpanel_bluetooth_text">Bluetooth</string>
<string name="quickpanel_gps_text">GPS</string>
<string name="quickpanel_sound_text">Sound</string>
<string name="quickpanel_sound_vibration_text">"Sound Vibration"</string>
<string name="quickpanel_silent_text">Silent</string>
<string name="quickpanel_vibration_text">Vibration</string>
<string name="quickpanel_rotation_text">"Auto rotation"</string>
<string name="quickpanel_shutdown_text">Phone will be shutdown</string>
<string name="quickpanel_shutdown_confirm">Shutdown</string>
<string name="quickpanel_sound_vibrate">Vibrate</string>
<string name="quickpanel_sound_sound">Sound</string>
<string name="quickpanel_sound_silent">Silent</string>
<string name="quickpanel_sound_sound_vibrate">Sound Vibrate</string>
<string name="quickpanel_sync">Sync</string>
<string name="quickpanel_wifiap">Wifi Ap</string>
<string name="quickpanel_wifi">Wifi</string>
<string name="quickpanel_rotation">Auto Rotate</string>
<string name="quickpanel_airplane">Airplane</string>
<string name="quickpanel_bluetooth">Bluetooth</string>
<string name="quickpanel_brightness">Brightness</string>
<string name="quickpanel_flashlight">Flashlight</string>
<string name="quickpanel_gps">GPS</string>
<string name="quickpanel_lockscreen">Lockscreen</string>
<string name="quickpanel_mobiledata">Data</string>
<string name="quickpanel_reboot">Reboot</string>
<string name="quickpanel_reboot_text">Phone will reboot</string>
<string name="quickpanel_screen_timeout">Screen Timeout</string>
<string name="quickpanel_recovery">Recovery</string>
STEP 5
Delete these if they are already present
Code:
<string name="quickpanel_wifi_text">Wi-Fi</string>
<string name="quickpanel_bluetooth_text">Bluetooth</string>
<string name="quickpanel_gps_text">GPS</string>
<string name="quickpanel_sound_text">Sound</string>
<string name="quickpanel_sound_vibration_text">"Sound Vibration"</string>
<string name="quickpanel_silent_text">Silent</string>
<string name="quickpanel_vibration_text">Vibration</string>
<string name="quickpanel_rotation_text">"Auto rotation"</string>
STEP 6
Merge attached files with your SystemUI.apk
STEP 7
Recompile Your App.
STEP 8
Decompile it again.
STEP 9
Open Statusbar_expanded.xml or any other xml where you want to place lidroid toggles.
STEP 10
And Add this where you want to place the lidroid toggles.
Code:
<com.lidroid.systemui.quickpanel.PowerWidget android:id="@id/Lidroid" android:layout_width="fill_parent" android:layout_height="wrap_content" />
Now lets complete the SMALI PART
SMALI PART
STEP 11
Open com/android/systemui/statusbar/StatusBarService.smali
STEP12
In
Code:
# instance fields
Below
Code:
.field mPositionTmp:[I
Add this line
Code:
.field mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
STEP 13
In
Code:
.method private makeStatusBarView(Landroid/content/Context;)V
Add this in last above
Code:
.line (A numeric value will be there)
return-void
.line 656
iget-object v5, p0, Lcom/android/systemui/statusbar/StatusBarService;->mExpandedView:Lcom/android/systemui/statusbar/ExpandedView;
const v6, 0x7f090039
invoke-virtual {v5, v6}, Lcom/android/systemui/statusbar/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v5
check-cast v5, Lcom/lidroid/systemui/quickpanel/PowerWidget;
iput-object v5, p0, Lcom/android/systemui/statusbar/StatusBarService;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
iget-object v6, p0, Lcom/android/systemui/statusbar/StatusBarService;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v6}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V
STEP 14
Open your public.xml
Search for "Lidroid" id and copy its public id and replace it with id of above code i.e with "0x7f090039"
STEP 15
OPEN Statusbarservice.smali again
STEP 16
In
Code:
.method public addIcon(Ljava/lang/String;IILcom/android/internal/statusbar/StatusBarIcon;)V
Add this in last above
Code:
.line (A numeric value will be there)
return-void
Code:
.line 1900
iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarService;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v1}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->updateWidget()V
NOTE..
Here "0x7f090039" is the public id of id "Lidroid"
STEP17
Now open all files in com/lidroid/systemui/quickpanel folder
Search "0x7f" Copy the whole id .
Open my provided public.xml
Search for that id in my public.xml
Copy the text of that id.
Like if my Public id is "0x7f030011"
Then i will copy "quickpanel_button".
Now find same text in your public.xml
Copy its public id .
And replace the id of all smali files with your public.xml's id.
Similarly do this with all smali files available in quickpanel folder.
STEP 18
Now open your apps Android-Manifest.xml.
And add this in last above
Code:
</application>
Code:
<activity android:theme="@*android:style/Theme.NoTitleBar.Fullscreen" android:name="com.lidroid.systemui.quickpanel.FlashlightActivity" android:clearTaskOnLaunch="true" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation" />
Since You have edited Android-Manifest.xml you need to sign apk file.
STEP 19
Recompile it .
STEP 20
Sign it.
And push to system/app
CREDITS;;
ryanfebriyadi
PineappleOwl
MuSaddiq
Lidroid
serajr
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Reserved for more....
san122 said:
Reserved for more....
Click to expand...
Click to collapse
Bro,u wrote an awesome guide.
I think this mod will never be on my device because I think the systemui of my device is totally different.
I have a mt6575 gb 2.3.6 device with ldpi resolution.
It has 2 types of statusbar by stock which can be switched via build.prop.
1st type of statusbar is like :-
Lewa OS
2 sided panel ui with notification and toggles options.
The xml of these are zzz_statusbar_expanded_gemini_notification & zzz_statusbar_expanded_Gemini_toolkits.xml .
2nd type of statusbar is like :-
Simple dropdown with slidable toggles like galaxy y but 12 in number.
Don't know it's layout b'coz I haven't modded in this style.
I always mod the notification layout for all this.
It has it's custom smali's and other stuff's.
I could find the lines told by you in the guide but the mod isn't working though their is no error made by me.
I think this is not possible for my device so it's better to leave it as it's frustates when it's not get done again & again.
I will post all layouts name tomorrow as I forgot some.
Do you think it's possible?
Thanks for all the help.
nightwalker said:
Bro,u wrote an awesome guide.
I think this mod will never be on my device because I think the systemui of my device is totally different.
I have a mt6575 gb 2.3.6 device with ldpi resolution.
It has 2 types of statusbar by stock which can be switched via build.prop.
1st type of statusbar is like :-
Lewa OS
2 sided panel ui with notification and toggles options.
The xml of these are zzz_statusbar_expanded_gemini_notification & zzz_statusbar_expanded_Gemini_toolkits.xml .
2nd type of statusbar is like :-
Simple dropdown with slidable toggles like galaxy y but 12 in number.
Don't know it's layout b'coz I haven't modded in this style.
I always mod the notification layout for all this.
It has it's custom smali's and other stuff's.
I could find the lines told by you in the guide but the mod isn't working though their is no error made by me.
I think this is not possible for my device so it's better to leave it as it's frustates when it's not get done again & again.
I will post all layouts name tomorrow as I forgot some.
Do you think it's possible?
Thanks for all the help.
Click to expand...
Click to collapse
Anything is possible if we goes deep under it.Just share your systemui once .I want to take a look inside it
Sent from my GT-S5360 using Tapatalk 2
san122 said:
Anything is possible if we goes deep under it.Just share your systemui once .I want to take a look inside it
Sent from my GT-S5360 using Tapatalk 2
Click to expand...
Click to collapse
ok bro,my stock untouched one or the one which is modded by me in one of my mods?
thanks.
nightwalker said:
ok bro,my stock untouched one or the one which is modded by me in one of my mods?
thanks.
Click to expand...
Click to collapse
In which u followed my guide.
Sent from my GT-S5360 using Tapatalk 2
san122 said:
In which u followed my guide.
Sent from my GT-S5360 using Tapatalk 2
Click to expand...
Click to collapse
Bro,here are the resources Link
I have already given logcat,thanks a lot bro.
nightwalker said:
Bro,here are the resources Link
I have already given logcat,thanks a lot bro.
Click to expand...
Click to collapse
Link asks permission from you.
Sent from my GT-S5360 using Tapatalk 2
Every tym recompiling error...Wats d matr...
tryd very slowly bt stil error
deleted
Sir @san122 , how to add more button ?
san122 said:
Hello guys today iam going to teach you how to add lidroid toggles in grid view in AOSP/CM/Stock roms.
Maybe i have forgot something so dont blame me Let me know it first and i will change it.
Things REQUIRED.
1.Patience [Heavily Needed]
2.Lots of time.
3.My provided files.Here: Public.xml and Lidroid_Resources.zip
4.Notepad++ etc.
The guide is divide into two parts.
1.XML PART [Includes xml editing ]
2.SMALI PART [ Includes smali editing ]
Lets start with XML PART first.
STEP 1
Open ids.xml under res/values foler and add these in last above
Code:
<item type="id" name="quickpanel_button">false</item>
<item type="id" name="quickpanel_text">false</item>
<item type="id" name="quickpanel_image">false</item>
<item type="id" name="quickpanel_indicator">false</item>
<item type="id" name="Lidroid">false</item>
STEP 2
Open dimens.xml under res/values foler and add these in last above
Code:
</resources>
Code:
quickpanel_button_height">79.0px
STEP 3
Open strings.xml under res/values foler and add these in last above
Code:
<string name="quickpanel_wifi_text">Wi-Fi</string>
<string name="quickpanel_bluetooth_text">Bluetooth</string>
<string name="quickpanel_gps_text">GPS</string>
<string name="quickpanel_sound_text">Sound</string>
<string name="quickpanel_sound_vibration_text">"Sound Vibration"</string>
<string name="quickpanel_silent_text">Silent</string>
<string name="quickpanel_vibration_text">Vibration</string>
<string name="quickpanel_rotation_text">"Auto rotation"</string>
<string name="quickpanel_shutdown_text">Phone will be shutdown</string>
<string name="quickpanel_shutdown_confirm">Shutdown</string>
<string name="quickpanel_sound_vibrate">Vibrate</string>
<string name="quickpanel_sound_sound">Sound</string>
<string name="quickpanel_sound_silent">Silent</string>
<string name="quickpanel_sound_sound_vibrate">Sound Vibrate</string>
<string name="quickpanel_sync">Sync</string>
<string name="quickpanel_wifiap">Wifi Ap</string>
<string name="quickpanel_wifi">Wifi</string>
<string name="quickpanel_rotation">Auto Rotate</string>
<string name="quickpanel_airplane">Airplane</string>
<string name="quickpanel_bluetooth">Bluetooth</string>
<string name="quickpanel_brightness">Brightness</string>
<string name="quickpanel_flashlight">Flashlight</string>
<string name="quickpanel_gps">GPS</string>
<string name="quickpanel_lockscreen">Lockscreen</string>
<string name="quickpanel_mobiledata">Data</string>
<string name="quickpanel_reboot">Reboot</string>
<string name="quickpanel_reboot_text">Phone will reboot</string>
<string name="quickpanel_screen_timeout">Screen Timeout</string>
<string name="quickpanel_recovery">Recovery</string>
STEP 5
Delete these if they are already present
Code:
<string name="quickpanel_wifi_text">Wi-Fi</string>
<string name="quickpanel_bluetooth_text">Bluetooth</string>
<string name="quickpanel_gps_text">GPS</string>
<string name="quickpanel_sound_text">Sound</string>
<string name="quickpanel_sound_vibration_text">"Sound Vibration"</string>
<string name="quickpanel_silent_text">Silent</string>
<string name="quickpanel_vibration_text">Vibration</string>
<string name="quickpanel_rotation_text">"Auto rotation"</string>
STEP 6
Merge attached files with your SystemUI.apk
STEP 7
Recompile Your App.
STEP 8
Decompile it again.
STEP 9
Open Statusbar_expanded.xml or any other xml where you want to place lidroid toggles.
STEP 10
And Add this where you want to place the lidroid toggles.
Code:
<com.lidroid.systemui.quickpanel.PowerWidget android:id="@id/Lidroid" android:layout_width="fill_parent" android:layout_height="wrap_content" />
Now lets complete the SMALI PART
SMALI PART
STEP 11
Open com/android/systemui/statusbar/StatusBarService.smali
STEP12
In
Code:
# instance fields
Below
Code:
.field mPositionTmp:[I
Add this line
Code:
.field mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
STEP 13
In
Code:
.method private makeStatusBarView(Landroid/content/Context;)V
Add this in last above
Code:
.line (A numeric value will be there)
return-void
.line 656
iget-object v5, p0, Lcom/android/systemui/statusbar/StatusBarService;->mExpandedView:Lcom/android/systemui/statusbar/ExpandedView;
const v6, 0x7f090039
invoke-virtual {v5, v6}, Lcom/android/systemui/statusbar/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v5
check-cast v5, Lcom/lidroid/systemui/quickpanel/PowerWidget;
iput-object v5, p0, Lcom/android/systemui/statusbar/StatusBarService;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
iget-object v6, p0, Lcom/android/systemui/statusbar/StatusBarService;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v6}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V
STEP 14
Open your public.xml
Search for "Lidroid" id and copy its public id and replace it with id of above code i.e with "0x7f090039"
STEP 15
OPEN Statusbarservice.smali again
STEP 16
In
Code:
.method public addIcon(Ljava/lang/String;IILcom/android/internal/statusbar/StatusBarIcon;)V
Add this in last above
Code:
.line (A numeric value will be there)
return-void
Code:
.line 1900
iget-object v1, p0, Lcom/android/systemui/statusbar/StatusBarService;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v1}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->updateWidget()V
NOTE..
Here "0x7f090039" is the public id of id "Lidroid"
STEP17
Now open all files in com/lidroid/systemui/quickpanel folder
Search "0x7f" Copy the whole id .
Open my provided public.xml
Search for that id in my public.xml
Copy the text of that id.
Like if my Public id is "0x7f030011"
Then i will copy "quickpanel_button".
Now find same text in your public.xml
Copy its public id .
And replace the id of all smali files with your public.xml's id.
Similarly do this with all smali files available in quickpanel folder.
STEP 18
Now open your apps Android-Manifest.xml.
And add this in last above
Code:
</application>
Code:
<activity android:theme="@*android:style/Theme.NoTitleBar.Fullscreen" android:name="com.lidroid.systemui.quickpanel.FlashlightActivity" android:clearTaskOnLaunch="true" android:launchMode="singleTask" android:configChanges="keyboardHidden|orientation" />
Since You have edited Android-Manifest.xml you need to sign apk file.
STEP 19
Recompile it .
STEP 20
Sign it.
And push to system/app
Click to expand...
Click to collapse
..\Decompiled_apk\SystemUI2)_signed\smali\com\lidroid\systemui\MainActivity.smali[25,4] Error for input '.parameter': Invalid directive
..\Decompiled_apk\SystemUI2)_signed\smali\com\lidroid\systemui\MainActivity.smali[25,15] mismatched input '"newConfig"' expecting END_METHOD_DIRECTIVE
..\Decompiled_apk\SystemUI2)_signed\smali\com\lidroid\systemui\MainActivity.smali[42,4] Error for input '.parameter': Invalid directive
..\Decompiled_apk\SystemUI2)_signed\smali\com\lidroid\systemui\MainActivity.smali[42,15] mismatched input '"savedInstanceState"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: com/lidroid/systemui/MainActivity.smali
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:72)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:56)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:338)
at brut.androlib.Androlib.buildSources(Androlib.java:299)
at brut.androlib.Androlib.build(Androlib.java:285)
at brut.androlib.Androlib.build(Androlib.java:258)
at brut.apktool.Main.cmdBuild(Main.java:236)
at brut.apktool.Main.main(Main.java:88)
The system cannot find the file specified.
getting this error..well i have some toglles too but they arent in grid view..and i want to add this in spacecacker toggle..any solution?
i'm doing this in GB2.3.5
sssomnath474 said:
..\Decompiled_apk\SystemUI2)_signed\smali\com\lidroid\systemui\MainActivity.smali[25,4] Error for input '.parameter': Invalid directive
..\Decompiled_apk\SystemUI2)_signed\smali\com\lidroid\systemui\MainActivity.smali[25,15] mismatched input '"newConfig"' expecting END_METHOD_DIRECTIVE
..\Decompiled_apk\SystemUI2)_signed\smali\com\lidroid\systemui\MainActivity.smali[42,4] Error for input '.parameter': Invalid directive
..\Decompiled_apk\SystemUI2)_signed\smali\com\lidroid\systemui\MainActivity.smali[42,15] mismatched input '"savedInstanceState"' expecting END_METHOD_DIRECTIVE
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file: com/lidroid/systemui/MainActivity.smali
at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:72)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:56)
at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41)
at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:338)
at brut.androlib.Androlib.buildSources(Androlib.java:299)
at brut.androlib.Androlib.build(Androlib.java:285)
at brut.androlib.Androlib.build(Androlib.java:258)
at brut.apktool.Main.cmdBuild(Main.java:236)
at brut.apktool.Main.main(Main.java:88)
The system cannot find the file specified.
getting this error..well i have some toglles too but they arent in grid view..and i want to add this in spacecacker toggle..any solution?
i'm doing this in GB2.3.5
Click to expand...
Click to collapse
Did you modify MainActivity.smali??
If not change the apktool version to 1.5.2.
Sent from my GT-B5512 using Carbon rom
acermedo said:
Did you modify MainActivity.smali??
If not change the apktool version to 1.5.2.
Sent from my GT-B5512 using Carbon rom
Click to expand...
Click to collapse
yea that was problem of apktool..but i ahve also some problems..just think if i just want to add only wifi button
then if i call it by this
Code:
<FrameLayout android:background="@drawable/tile_toggle" android:layout_width="106.0px" android:layout_height="100.0px" android:layout_weight="1.0">
<com.lidroid.systemui.statusbar.quickpanel.BluetoothButton android:textSize="0.0dip" android:textStyle="normal" android:textColor="#ffffffff" android:gravity="center" android:id="@id/quick_operation_bluetooth_name" android:background="@drawable/quickpanel_button_selector_bg" android:paddingTop="58.0dip" android:paddingBottom="3.0dip" android:focusable="true" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/quickpanel_bluetooth_text" />
<ImageView android:layout_gravity="center_horizontal" android:id="@id/quick_operation_bluetooth_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="3.0px" android:src="@drawable/stat_bluetooth_off" />
<TextView android:textSize="12.0dip" android:textColor="#ffffffff" android:gravity="center" android:layout_gravity="bottom" android:background="#00000000" android:layout_width="106.0px" android:layout_height="wrap_content" android:layout_marginBottom="12.0px" android:text="" android:singleLine="true" android:layout_alignParentBottom="true" />
</FrameLayout>
will it work?
i did that and stausbar gone so here is the logcat
Code:
E/AndroidRuntime( 318): java.lang.RuntimeException: Unable to create service com.android.systemui.statusbar.StatusBarService: android.view.InflateException: Binary XML file line #13: Error inflating class com.lidroid.systemui.statusbar.quickpanel.BluetoothButton
acermedo said:
Did you modify MainActivity.smali??
If not change the apktool version to 1.5.2.
Sent from my GT-B5512 using Carbon rom
Click to expand...
Click to collapse
should i add something in statusbarservices.smali to?
sssomnath474 said:
should i add something in statusbarservices.smali to?
Click to expand...
Click to collapse
Yeah u hav to modify it also.
Follow this link http://forum.xda-developers.com/showthread.php?t=2315342 second post.
Sent from my GT-B5512 using Carbon rom
acermedo said:
Yeah u hav to modify it also.
Follow this link http://forum.xda-developers.com/showthread.php?t=2315342 second post.
Sent from my GT-B5512 using Carbon rom
Click to expand...
Click to collapse
actually i used that thread and modified a lilbit..those are not toggles those totally buttons.i want toggles seems need a large help to do that
sssomnath474 said:
actually i used that thread and modified a lilbit..those are not toggles those totally buttons.i want toggles seems need a large help to do that
Click to expand...
Click to collapse
Are toggles and buttons the samething ??
I didn't get you.Can u explain more what u want?
Sent from my GT-B5512 using Carbon rom
sir I did everything presisely.even double checked
but my statusbar gone and gettings fcs & my device is hdpi..is it becauz of that??? i added the lidroid toggles in spacecaker's quickpanel...can you check my systemui?
Related
About :
This is for make CM7 ROM like Jellybean ROM layout on statusbar.
Credits :
- To Cool
- GDX Team
- DCSMS
- big thanks goes to AChep
Contents :
Post one:
-> Set up
-> Make Clock, date and day
-> Make Network speed on statusbar
-> Customize clear button
Tool used :
-> Apk Tool / Apk Manager / ToolAlite
-> SystemUI.apk
-> Notepad++
Screenshot :
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
Guide 1.0 : How To Make Date, Time and Day on Status Bar Expanded
1. you need to decompile your SystemUI.apk (please dont tell me how to do that)
2. extract my jelly.zip.. download on attachment below
3. copy 2 files blablablajellyblablabla.smali to SystemUI.apk/smali/com/android/systemui/statusbar/here
4. now you need to modify status_bar_expanded.xml find on SystemUI.apk/res/layout/here
for first you need to find this line :
Code:
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/carrier_label_layout" android:layout_width="fill_parent" android:layout_height="wrap_content">
paste this code below :
Code:
<com.android.systemui.statusbar.StatusBarJellyHeaderView android:layout_width="wrap_content" android:layout_height="wrap_content" />
5. now recompile your file and push to system/app
=======================================================================================================
Screenshot :
Click to expand...
Click to collapse
Guide 2.0 : How To Create Network Traffic Speed on Status Bar
1. you need to decompile your SystemUI.apk (please dont tell me how to do that)
2. extract my network.zip.. download on attachment below
3. copy folder smali to SystemUI.apk/here
4. now you need to modify status_bar.xml find on SystemUI.apk/res/layout/here
for first you need to find this line :
Code:
<com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true" />
paste this code below :
Code:
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true">
<in.jmkl.dcsms.statusbargreper.DataTrafik android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
5. now recompile your file and push to system/app
=======================================================================================================
Screenshot :
Click to expand...
Click to collapse
Guide 3.0 : How To Make Customization Your Clear Button
1. you need to decompile your SystemUI.apk (please dont tell me how to do that)
2. extract my clearbutton.zip.. download on attachment below
3. copy 3 files to drawable-xxxx (xxxx is by your phone, mdpi, hdpi, ldpi or xhdpi)
4. now you need to modify xxx.xml (create by your self), styles.xml, status_bar_expanded.xml
for first you need to create clear_button.xml on drawable folder and copy this line to your xml file :
Code:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/btn_clear_focus" />
<item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/btn_clear" />
<item android:state_pressed="true" android:drawable="@drawable/btn_clear_pressed" />
<item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/btn_clear_focus" />
<item android:state_enabled="true" android:drawable="@drawable/btn_clear_focus" />
<item android:state_focused="true" android:drawable="@drawable/btn_clear_focus" />
<item android:drawable="@drawable/btn_clear_focus" />
</selector>
now, open the styles.xml on SystemUI.apk/res/values/here and copy this line in the end before </resources> line :
Code:
<style name="Awesome.Button" parent="@android:style/Widget.Button">
<item name="android:textAppearance">?android:textAppearanceSmallInverse</item>
<item name="android:textColor">#ffffffff</item>
<item name="android:gravity">center</item>
<item name="android:background">@drawable/clear_button</item>
<item name="android:focusable">true</item>
<item name="android:clickable">true</item>
</style>
note : this line on red colors is pointed to your new xml file
Code:
<item name="android:background">@drawable/[COLOR="Red"]clear_button[/COLOR]</item>
now, open the status_bar_expanded.xml on SystemUI.apk/res/layout/here and find this line :
Code:
<TextView android:layout_gravity="center_vertical" android:id="@id/clear_all_button"
modify the line styles or paste my line like this :
Code:
<TextView android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:paddingLeft="15.0dip" android:paddingRight="15.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4.0dip" android:layout_marginBottom="1.0dip" android:text="@string/status_bar_clear_all_button" style="@style/Awesome.Button" />
5. now recompile your file and push to system/app
Guide 4.0 : How to add settings button on Status Bar Expdanded
1. you need to decompile SystemUI.apk (please dont tell me how to do that)
2. download my zip from here and extract it
3. now you must modify status_bar_expanded.xml
for first you need to find this line :
Code:
<com.android.systemui.statusbar.CarrierLabel android:textSize="17.659973dip" android:textColor="#ffffffff android:layout_gravity="center_vertical" android:orientation="vertical" android:paddingBottom="1.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="5.0dip" android:layout_marginTop="1.0dip" android:layout_weight="1.0" />
after that line, add this line :
Code:
<ImageView android:layout_gravity="center_vertical" android:id="@id/settings_button" android:paddingLeft="0.0dip" android:paddingTop="0.0dip" android:paddingRight="8.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:src="@drawable/ic_notify_quicksettings" android:contentDescription="@string/accessibility_settings_button" />
now, you must open string.xml and add this line on bottom :
Code:
<string name="accessibility_settings_button">System settings.</string>
open ids.xml and add this line on bottom :
Code:
<item type="id" name="settings_button">false</item>
now, you must extract settingsshortcut.zip.. extract to your decompiled folder and then compile your SystemUI.apk this is for got public id number.. so after compiled, you must decompile again.
open public.xml and StatusBarService.smali. Find this line on public.xml :
Code:
<public type="id" name="settings_button" id="[COLOR="Red"]0x7f090027[/COLOR]" />
the red color may be different
find this line on StatusBarService.smali :
Code:
.field mScrollView:Landroid/widget/ScrollView
and then add this line below :
Code:
.field mSettingsBut:Landroid/view/View;
.field private mSettingsButListener:Landroid/view/View$. OnClickListener;
now, find this line :
Code:
iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarService;->mStopTracing:Ljava/lang/Runnable;
and then add this line below :
Code:
.line 1703
new-instance v0, Lcom/android/systemui/statusbar/StatusBarService$8;
invoke-direct {v0, p0}, Lcom/android/systemui/statusbar/StatusBarService$8;-><init>
(Lcom/android/systemui/statusbar/StatusBarService;)V
iput-object v0, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsButListener:Landroid/view/View $OnClickListener;
return-void.
find this line again :
Code:
iput v7, p0, Lcom/android/systemui/statusbar/StatusBarService;->mEdgeBorder:I
If not find, change v7 to v8
and then add this line below :
Code:
.line 333
const v7, [COLOR="Red"]0x7f090027[/COLOR]
invoke-virtual {v1, v7}, Lcom/android/systemui/statusba/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v7
iput-object v7, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsBut:Landroid/view/View;
.line 334
iget-object v7, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsBut:Landroid/view/View;
iget-object v8, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsButListener:Landroid/view/View $OnClickListener;
invoke-virtual {v7, v8}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
*for the red color on .line 333 you must change to your settings_button on your public.xml
*if your find iput v8, p0, Lcom/android/systemui/statusbar/StatusBarService;->mEdgeBorder:I so v7 change to v8. and the line will be like this :
Code:
.line 333
const v8, 0x7f090029
invoke-virtual {v2, v8}, Lcom/android/systemui/statusbar/ExpandedView;->findViewById(I)Landroid/view/View;
move-result-object v8
iput-object v8, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsBut:Landroid/view/View;
.line 334
iget-object v8, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsBut:Landroid/view/View;
iget-object v9, p0, Lcom/android/systemui/statusbar/StatusBarService;->mSettingsButListener:Landroid/view/View $OnClickListener;
invoke-virtual {v8, v9}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
now, copy StatusBarService$8.smali to SystemUI.apk/smali/com/android/systemui/statusbar/here after that compile and push to system/app.
================================================== ================================================== ===
Guide 5.0 : How to add carrier label on statusbar close on
1. you need to decompile SystemUI.apk (please dont tell me how to do that)
2. now you must modify status_bar_tracking.xml
for first you need to find this line :
Code:
<com.android.systemui.statusbar.CloseDragHandle
and then paste this line below :
Code:
<com.android.systemui.statusbar.CarrierLabel android:textSize="17.659973dip" android:textColor="#ffffffff" android:gravity="center_horizontal" android:paddingBottom="1.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="1.0dip" />
re-compile and push to system/app
for update
Nice tutorial
thanks
ariadelvana95 said:
Nice tutorial
thanks
Click to expand...
Click to collapse
with my pleasure..
I would spam your thanks button if you do this status bar for latest minicm7 2.2.1
Sent from my E15i using xda app-developers app
mantap !!! nice tutorial ! i've been searching for this tutorial and now i found it
what cm7 theme your using can u share?
heheh, that's my jelly bean statusbar
Where have I gone wrong?? Clear text is also displayed along with the image.
Have attached SystemUI.apk after doing all the mods (except network thing)
-------------------EDIT-----------------------------------
solved. Had to edit strings.xml
Now the problem is the clear button won't stay at the right corner. Screenshot attached..
Nice..
I like your guide..
Sent from my GT-S5660 using Tapatalk 2
CWM or AROMA installer???
Mobil cihazdan gönderildi..
aOS 2.3.6 BNC-GIO-R2
MMB-Tweaks_0.9_Fix
m.ali.ozkaya said:
CWM or AROMA installer???
Mobil cihazdan gönderildi..
aOS 2.3.6 BNC-GIO-R2
MMB-Tweaks_0.9_Fix
Click to expand...
Click to collapse
What is the point of your question??
:what:
Sent from my GT-S5660 using Tapatalk 2
Thanks man! nice guide
Next.....!
Guide 4.0 : How To Make Customization Your Setting Button ^0^
---------- Post added at 02:49 AM ---------- Previous post was at 02:47 AM ----------
Xr01d_GT said:
solved. Had to edit strings.xml
Now the problem is the clear button won't stay at the right corner. Screenshot attached..
Click to expand...
Click to collapse
how to edit strings.xml?
thanks
Doesn't work for me unfortunately. CM7 on LG P990. No status bar.
Xr01d_GT said:
Where have I gone wrong?? Clear text is also displayed along with the image.
Have attached SystemUI.apk after doing all the mods (except network thing)
-------------------EDIT-----------------------------------
solved. Had to edit strings.xml
Now the problem is the clear button won't stay at the right corner. Screenshot attached..
Click to expand...
Click to collapse
sorry mate I late for reply just have low connection on Indonesia.. for make dissapear "clear" text on clear button you need to edit string.xml
so, this is guide for it..
Open your string.xml on SystemUI.apk/res/values/here and find this line :
Code:
<string name="blablabla_clear_button">Clear</string>
now, you must modify the syntact like this :
Code:
<string name="blablabla_clear_button"/string>
do the same if you want dissapear the text for Notifications, On Going, No Notifications
Imperticus said:
Doesn't work for me unfortunately. CM7 on LG P990. No status bar.
Click to expand...
Click to collapse
please attach your logcat mate, maybe i can help you
x-dira said:
Thanks man! nice guide
Next.....!
Guide 4.0 : How To Make Customization Your Setting Button ^0^
---------- Post added at 02:49 AM ---------- Previous post was at 02:47 AM ----------
how to edit strings.xml?
thanks
Click to expand...
Click to collapse
Yes i will add this guide, but not now.. so wait for my guide updates..
m.ali.ozkaya said:
CWM or AROMA installer???
Mobil cihazdan gönderildi..
aOS 2.3.6 BNC-GIO-R2
MMB-Tweaks_0.9_Fix
Click to expand...
Click to collapse
This is mod guide, so you can modding systemui.apk by your self.. not flasable.zip
AiphNday said:
Nice..
I like your guide..
Sent from my GT-S5660 using Tapatalk 2
Click to expand...
Click to collapse
thanks mate will update if i not busy
Mockingbird said:
I would spam your thanks button if you do this status bar for latest minicm7 2.2.1
Sent from my E15i using xda app-developers app
Click to expand...
Click to collapse
just attach your systemui.apk
saldymhmd said:
mantap !!! nice tutorial ! i've been searching for this tutorial and now i found it
Click to expand...
Click to collapse
haha.. sama2 master
english : haha.. your welcome master
dredremon said:
what cm7 theme your using can u share?
Click to expand...
Click to collapse
i use my own rom.. not a theme
AChep said:
heheh, that's my jelly bean statusbar
Click to expand...
Click to collapse
yes mate.. hey everyone give thanks to AChep his owner of jelly layout date, time and day.. on updates i will add your name on OP post.. sorry i forget that.. i just remember you're a part of ginger dx team
Got it to work now
petrukgrinder said:
just attach your systemui.apk
Click to expand...
Click to collapse
Can u share systemui.apk
thanks
HOW TO PORT LIDROID TOGGLES
TO NON SAMSUNG JELLY BEAN ROM
Oke guys, I want to share how to port Lidroid toggle to all non Samsung Jelly Bean 4.1 rom ,
do not try this on 4.0/4.2/4.3 or you will ended with SystemUI force closes
Credit & Thank you very much , to lidroid, and Wanam for Guide [MOD][Android 4.1.2] Add Customizable 23 Statusbar Toggles To Samsung Jelly bean Roms,. and Thanks too to peetr_I learn some code from his thread [MOD][JB][ICS] Xperia T/TX/V port of Lidroid power widget,. and also thanks to
XDA.AGM I learn some code from his thread too [ JB ] [ A.0.400/1.100 ] [ XP-XU ]SystemUI with Lidroid Custom 18 Toggles [version 6], and you must thanks them too
and also thanks to @BOND1987 for testing it on mediatek device
and also Thanks to Recognized themer @serajr for some toggles created by him
so we are going to port 20 Lidroid toggles :
( -Lock screen/screen-off action, -Reboot action, -Shutdown action, -Airplane mode, -Bluetoth, -Brightness, -GPS, -Flashlight, -Lockscreen, -MobileData, -Orientation, -ScreenTimeOut, -Sound, -Sync, -Wi-fi, -Wi-fi Hotspot, Battery info, Stay awake, USB Connection mode, USB Debugging )
NOTE !! for CyanogenMod 10 , do not follow or use this guide,. you can just flash my mod from here http://forum.xda-developers.com/showthread.php?t=2333075
Many users from different device reported work on their devices
ok lets go to Guide:
first of all need some requirement for this MOD-GUIDE
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk file
- Know how to decompile/recompiling jar Apk file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else
1. Decompile settings.apk
go to : res/xml/settings_header.xml and add the Blue code :
Code:
<header android:icon="@drawable/ic_settings_cmlauncher" android:id="@id/launcher_settings" android:title="@string/launcher_settings_title" />
<header android:icon="@drawable/ic_settings_lockscreen" android:id="@id/lock_screen_settings" android:title="@string/lock_screen_title" android:fragment="com.android.settings.cyanogenmod.LockscreenInterface" />
<header android:icon="@drawable/ic_settings_themes" android:id="@id/themes_settings" android:title="@string/themes_settings_title">
<intent android:targetPackage="com.tmobile.themechooser" android:action="android.intent.action.MAIN" android:targetClass="com.tmobile.themechooser.ThemeChooser" />
</header>
<header android:icon="@drawable/ic_settings_system" android:id="@id/system_settings" android:title="@string/system_settings_title" android:fragment="com.android.settings.cyanogenmod.SystemSettings" />
[COLOR="Blue"]<header android:icon="@drawable/ic_settings_advanced" android:id="@id/adi_buttons" android:title="@string/adi_buttons_title">
<intent android:targetPackage="com.lidroid.settings" android:action="android.intent.action.MAIN" android:targetClass="com.lidroid.settings.Settings" />
</header>[/COLOR]
<header android:title="@string/header_category_device" />
<header android:icon="@drawable/ic_settings_sound" android:id="@id/sound_settings" android:title="@string/sound_settings" android:fragment="com.android.settings.SoundSettings" />
<header android:icon="@drawable/ic_settings_display" android:id="@id/display_settings" android:title="@string/display_settings" android:fragment="com.android.settings.DisplaySettings" />
- res/values/ids.xml
Code:
[COLOR="Blue"]<item type="id" name="adi_buttons">false</item>[/COLOR]
- res/values/strings.xml
Code:
[COLOR="Blue"]<string name="adi_buttons_title">Power Widget</string>[/COLOR]
- res/values/drawable-hdpi
add this PNG image http://d-h.st/mQp
Done & recompile : push to system/app with right permission
NOTE !!, you can skip steps for editing Settings.apk, but don't use Lidroid_setings.apk bellow,. you must use this Version Lidroid_settings.apk by @akash akya,. go here : http://forum.xda-developers.com/showpost.php?p=44062624&postcount=34
Credit & Thanks to @akash akya
Don't forget to press His THANKS BUTTON
2. Download this Lidroid_Settings.apk push to system/app with right permission
3. Decompile SystemUI.apk, Download this : Sources_Lidroid_SystemUI.apk
exstract it and merge to your decompiled SystemUI.apk
NOTE !!, if your device has arrays.xml in res/values/here
please do check again the Sources_Lidroid_SystemUI.apk and adapt the arrays.xml code in it with yours
4. Add the blue code :
- res/values/ids.xml
Code:
[COLOR="Blue"]<item type="id" name="power_widget_button_text">false</item>
<item type="id" name="power_widget_button_indic">false</item>
<item type="id" name="adi_widget">false</item>
<item type="id" name="automatic">false</item>
<item type="id" name="power_widget_button">false</item>
<item type="id" name="power_widget_button_image">false</item>[/COLOR]
- res/values/strings.xml
Code:
[COLOR="Blue"]
<string name="usb_connected_txt">USB connected</string>
<string name="quickpanel_wifi_text">Wi-Fi</string>
<string name="quickpanel_dc_text">Data</string>
<string name="quickpanel_network_mode_text">Network</string>
<string name="quickpanel_sound_text">Sound</string>
<string name="quickpanel_sound_vibration_text">Sound vibration</string>
<string name="quickpanel_silent_text">Silent</string>
<string name="quickpanel_vibration_text">Vibration</string>
<string name="quickpanel_rotation_text">Rotation</string>
<string name="quickpanel_bluetooth_text">Bluetooth</string>
<string name="quickpanel_gps_text">GPS</string>
<string name="quickpanel_autosync_text">Auto Sync</string>
<string name="quickpanel_brightness_text">Brightness</string>
<string name="quickpanel_screen_timeout_text">Timeout</string>
<string name="quickpanel_lockscreen_text">Lockscreen</string>
<string name="quickpanel_airplane_text">Flightmode</string>
<string name="quickpanel_flashlight_text">Flashlight</string>
<string name="quickpanel_reboot_text">Reboot</string>
<string name="quickpanel_shutdown_text">Shutdown</string>
<string name="airplane_mode">In Flight mode</string>
<string name="shutdown_confirm">Your phone will shut down.</string>
<string name="screen_timeout_seconds">Screen timeout set to: %d second(s)</string>
<string name="screen_timeout_minutes">Screen timeout set to: %d minute(s)</string>
<string name="screen_timeout_hours">Screen timeout set to: %d hour(s)</string>
<string name="hamster">Phone Options</string>
<string name="yes">OK</string>
<string name="no">Cancel</string>
<string name="reboot">Reboot</string>
<string name="reboot_recovery">Recovery</string>
<string name="reboot_download">Download</string>
<string name="quickpanel_nfc_text">NFC</string>
<string name="quickpanel_wifi_ap_text">Wifi AP</string>
<string name="quickpanel_lockscreen_action_text">Lock Now</string>
<string name="quickpanel_androidbeam_text">Android Beam</string>
<string name="brightness_settings_automatic">AUTO</string>
<string name="brightness_settings_title" />
<string name="quickpanel_usb_debugging_text">USB Debugging</string>
<string name="quickpanel_usb_connection_mode_text">USB Conn. Mode</string>
<string name="quickpanel_usb_current_mtp_title">Current mode: MPT</string>
<string name="quickpanel_usb_current_msc_title">Current mode: MSC</string>
<string name="usb_mpt_mode">MPT - Media Transfer</string>
<string name="usb_msc_mode">MSC - Mass Storage</string>
<string name="quickpanel_stay_awake_plugged_text">Stay Awake</string>
<string name="quickpanel_battery_info_text">Battery Info</string>
<string name="battery_info_info">Battery Information</string>
<string name="battery_info_usage">Battery Power Usage</string>
[/COLOR]
- res/values/integers.xml
Code:
[COLOR="Blue"]<integer name="quickpanel_scroll_threshold_port">5</integer>
<integer name="quickpanel_scroll_threshold_land">8</integer>[/COLOR]
- smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali
Code:
.field mPixelFormat:I
.field mPositionTmp:[I
.field mPostCollapseCleanup:Ljava/lang/Runnable;
[COLOR="Blue"].field mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;[/COLOR]
.field private mPreviousConfigFontScale:F
.field private mPrevioutConfigOrientation:I
.field mQueueLock:Ljava/lang/Object;
Next find this method
Code:
# virtual methods
.method public addIcon(Ljava/lang/String;IILcom/android/internal/statusbar/StatusBarIcon;)V
and Add the blue code above .return-void
Code:
invoke-virtual {v1, v0, p3, v2}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
[COLOR="Blue"]iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v1}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->updateWidget()V[/COLOR]
.line 826
return-void
.end method
Next find this method
Code:
.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
scroll down still in that method ,
find the Green code, and add the blue code above it
Code:
iget-object [COLOR="Red"]v9[/COLOR], p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
const [COLOR="Red"]v10[/COLOR], 0x7f0c0044
invoke-virtual {[COLOR="Red"]v9, v10[/COLOR]}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
move-result-object [COLOR="Red"]v9[/COLOR]
check-cast [COLOR="Red"]v9[/COLOR], Landroid/widget/ScrollView;
iput-object [COLOR="Red"]v9[/COLOR], p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;
.line 528
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mScrollView:Landroid/widget/ScrollView;
const/4 v10, 0x0
invoke-virtual {v9, v10}, Landroid/widget/ScrollView;->setVerticalScrollBarEnabled(Z)V
[COLOR="Blue"]iget-object [COLOR="Red"]v9[/COLOR], p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
.line 444
const [COLOR="Red"]v10[/COLOR], 0x7f0c00da
invoke-virtual {[COLOR="Red"]v9, v10[/COLOR]}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
.line 445
move-result-object [COLOR="Red"]v9[/COLOR]
check-cast [COLOR="Red"]v9[/COLOR], Lcom/lidroid/systemui/quickpanel/PowerWidget;
iput-object [COLOR="Red"]v9[/COLOR], p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;[/COLOR]
.line 530
[COLOR="Green"]new-instance v9, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MyTicker;
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
invoke-direct {v9, p0, v1, v10}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$MyTicker;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;Landroid/content/Context;Landroid/view/View;)V
iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mTicker:Lcom/android/systemui/statusbar/phone/Ticker;
[/COLOR]
Pay attentiion on the red code in the part of blue code, it have to be wriiten the same like above/previous part
Next go to post #2
Oke Next
still in that method, scroll down
add the red code
Mediatek device
Code:
const-string v9, "android.intent.action.SIM_INFO_UPDATE"
invoke-virtual {v7, v9}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 607
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSIMInfoReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v1, v9, v7}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
[COLOR="Red"]iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v1}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V[/COLOR]
Xperia/AOSP
Code:
const-string v7, "android.intent.action.SCREEN_OFF"
invoke-virtual {v1, v7}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 517
iget-object v7, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v0, v7, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
.line 518
[COLOR="Red"]iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v1}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V[/COLOR]
go to res/layout/ here
pay attention in this step of layout folder, you must adapt it to your device
below is example from my mod for CM10, where the notification panel is in
status_bar_expanded.xml, so I must put the lidroid toggle in it.
Code:
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginBottom="@dimen/close_handle_underlap">
<include android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" layout="@layout/status_bar_expanded_header" />
[COLOR="Red"]<com.lidroid.systemui.quickpanel.PowerWidget android:id="@id/adi_widget" android:layout_width="fill_parent" android:layout_height="wrap_content" />[/COLOR]
<include layout="@layout/adi_brightness" />
<RelativeLayout android:orientation="horizontal" android:background="#ff293945" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="15.0dip" android:textStyle="bold" android:textColor="#ffadc1d6" android:gravity="left|center" android:id="@id/latestNotificationText" android:paddingLeft="11.0dip" android:layout_width="fill_parent" android:layout_height="23.0dip" android:text="@string/status_bar_latest_events_title" android:layout_alignParentLeft="true" />
<TextView android:textSize="15.0dip" android:textColor="#ffffffff" android:gravity="center" android:id="@id/clear_all_button" android:background="@drawable/tw_btn_default_small" android:padding="0.100000024dip" android:focusable="true" android:clickable="true" android:layout_width="123.0dip" android:layout_height="24.0dip" android:layout_marginRight="4.0dip" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" android:contentDescription="@string/accessibility_clear_all" />
</RelativeLayout>
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Network.EmergencyOnly" android:gravity="center" android:id="@id/emergency_calls_only" android:paddingBottom="4.0dip" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:overScrollMode="always">
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/notification_row_min_height" />
</ScrollView>
</LinearLayout>
Recompile your systemUI.apk and decompile the newly Recompiled APK again
Next go to
res/values/public.xml
open it with Notepad++
leave it, but keep it open
next
- smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali
with Notepad++ , control+F
Code:
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
.line 444
const v10, [COLOR="Red"]0x7f0c00da[/COLOR]
invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
.line 445
move-result-object v9
check-cast v9, Lcom/lidroid/systemui/quickpanel/PowerWidget;
iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/lidroid/systemui/quickpanel/PowerWidget;
replace the red code 0x7f0c00da
with the new ids from public.xml of the second decompiled systemUI.apk
Code:
<public type="id" name="adi_widget" id="[COLOR="Red"]0x7fXXXXXX[/COLOR]" />
Next go to post#3
Next : Download this : source_public, and open it with Notepad++
so you have two public.xml now which is opened in the Notepad++
1. secod decompiled public.xml
2. source_public.xml
- go to , smali/com/lidroid/systemui/quickpanel/here...
there are a lot of smalis there
FIND ALL IDS in all that smalis THAT'S STARTED WITH
Code:
0x7fxxxxxx
EXAMPLE :
AirplaneButton.smali
find this :
Code:
const v0, [COLOR="Red"]0x7f0900b4[/COLOR]
find 0x7f0900b4 in source_public.xml
Code:
<public type="string" name="quickpanel_lockscreen_text" id="0x7f0900b3" />
<public type="string" name="[COLOR="Green"]quickpanel_airplane_text[/COLOR]" id="[COLOR="Red"]0x7f0900b4[/COLOR]" />
<public type="string" name="quickpanel_flashlight_text" id="0x7f0900b5" />
we find that 0x7f0900b4 is for quickpanel_airplane_text
Next, find quickpanel_airplane_text new ids in your second decompiled SystemUI.apk
Code:
<public type="string" name="quickpanel_airplane_text" id="[COLOR="Red"]0x7f??????[/COLOR]" />
change the ids in AirplaneButton.smali with your new ids from second decompiled systemui.apk.
Do it too, to all
Code:
0x7fxxxxxx
in all smalis in the lidroid folder.
, The last part
open Android.Manifest.xml
Before
Code:
[COLOR="Red"]<manifest android:versionCode="16"[/COLOR] android:versionName="4.1.2-eng.arco.20130605.050149" package="com.android.systemui" coreApp="true"
change it to :
Code:
[COLOR="Red"]<manifest android:sharedUserId="android.uid.system" android:process="system" android:versionCode="16"[/COLOR] android:versionName="4.1.2-eng.arco.20130605.050149" package="com.android.systemui" coreApp="true"
Next, add the red code
Code:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
[COLOR="Red"]<uses-permission android:name="android.permission.CAMERA" />[/COLOR]
<application android:label="@string/app_label" android:icon="@*android:drawable/platlogo" android:allowClearUserData="false" android:persistent="true" android:allowBackup="false" android:hardwareAccelerated="true">
<service android:name="SystemUIService" android:exported="true" />
Done & Compile, don't forget to sign it coz we've make change to the android.manifest.xml
I ussually use ApkMultitools to decompile/recompile/sign APK
so if you use ApkMultitools, you can use my signer keys
download attached file, exstract it and merge to your ApkMultitools / other / here
Done
Thanks @BOND1987 for the screenshot from Mediatek device
Additional Guide
[Porting Guide][CM10/JB] Mod 4.2 Statusbar Quicksettings ( TABS, Slider, Flip Anim )
wow... nice guide om
Do not follow the guide yet "!..
It hasn't finished yet,. Still so many missing part.
Later I'll continue
Sent from my GT-I8150 using xda app-developers app
Congrats buddy!!! :good:
I´m about to release my Power Toggles v2 implementation (built from scratch), so after that u´ll get 28 toggles at all, and with a totally new reorder toggles way (built from scratch too). See it on XZ forum, here.
serajr said:
Congrats buddy!!! :good:
I´m about to release my Power Toggles v2 implementation (built from scratch), so after that u´ll get 28 toggles at all, and with a totally new reorder toggles way (built from scratch too). See it on XZ forum, here.
Click to expand...
Click to collapse
That's cool sir
Oke guys, Guide Done now,.
Please do check again from the beginning of the guide ,.
have a nice modding
Adi Aisiteru Reborn said:
Click to expand...
Click to collapse
Sir Need Assistance, Getting this error.....
Code:
E/AndroidRuntime( 432): FATAL EXCEPTION: main
E/AndroidRuntime( 432): java.lang.NullPointerException
E/AndroidRuntime( 432): at com.lidroid.systemui.quickpanel.PowerButton.updateImageView(PowerButton.java:167)
E/AndroidRuntime( 432): at com.lidroid.systemui.quickpanel.PowerButton.access$000(PowerButton.java:29)
E/AndroidRuntime( 432): at com.lidroid.systemui.quickpanel.PowerButton$1.handleMessage(PowerButton.java:92)
E/AndroidRuntime( 432): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 432): at android.os.Looper.loop(Looper.java:153)
E/AndroidRuntime( 432): at android.app.ActivityThread.main(ActivityThread.java:5086)
E/AndroidRuntime( 432): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 432): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 432): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
E/AndroidRuntime( 432): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
E/AndroidRuntime( 432): at dalvik.system.NativeStart.main(Native Method)
Please guide.....
BOND1987 said:
Sir Need Assistance, Getting this error.....
Code:
E/AndroidRuntime( 432): FATAL EXCEPTION: main
E/AndroidRuntime( 432): java.lang.NullPointerException
E/AndroidRuntime( 432): at com.lidroid.systemui.quickpanel.PowerButton.updateImageView(PowerButton.java:167)
E/AndroidRuntime( 432): at com.lidroid.systemui.quickpanel.PowerButton.access$000(PowerButton.java:29)
E/AndroidRuntime( 432): at com.lidroid.systemui.quickpanel.PowerButton$1.handleMessage(PowerButton.java:92)
E/AndroidRuntime( 432): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 432): at android.os.Looper.loop(Looper.java:153)
E/AndroidRuntime( 432): at android.app.ActivityThread.main(ActivityThread.java:5086)
E/AndroidRuntime( 432): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 432): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 432): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
E/AndroidRuntime( 432): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
E/AndroidRuntime( 432): at dalvik.system.NativeStart.main(Native Method)
Please guide.....
Click to expand...
Click to collapse
How can you get Fatal error..
Did you apply the guide to stok unmodded apk or trying to combine it with other modded apk
Sent from my GT-I8150 using xda app-developers app
Don't know sir.
But it's not modded SystemUI. It's stock one from my favorite ROM. The errors are pointing towards power button.smali. I checked that too. But not able to understand. Now what to do.
Edit:-
Got the culprit. Rectifying problem. Will let you know if it's resolved. Almost close to solution.
EDIT-1:-
Glad to inform you sir. Issue resolved. No problem in guide. Actually my brain is the problem.
In couple of minutes uploading my new mod's screenshots.
Once again like to thank you sir. But not able to find any post where I haven't thanked yet.
""Hitting Thanks Don't Cost You Anything, then, Why You All Are Getting Bothered in Doing So. Hitting Thanks Increases My Motivation to Work for this Community....""
BOND1987 said:
Don't know sir.
But it's not modded SystemUI. It's stock one from my favorite ROM. The errors are pointing towards power button.smali. I checked that too. But not able to understand. Now what to do.
Edit:-
Got the culprit. Rectifying problem. Will let you know if it's resolved. Almost close to solution.
EDIT-1:-
Glad to inform you sir. Issue resolved. No problem in guide. Actually my brain is the problem.
In couple of minutes uploading my new mod's screenshots.
Once again like to thank you sir. But not able to find any post where I haven't thanked yet.
""Hitting Thanks Don't Cost You Anything, then, Why You All Are Getting Bothered in Doing So. Hitting Thanks Increases My Motivation to Work for this Community....""
Click to expand...
Click to collapse
I don't know Bond, the problem can be from installl wrong framework-res.apk,.
so in this case if you mod that rom, so you must use that rom res.apk too
Good to know
And first thanking the God of this Mod- @Adi Aisiteru Reborn.
Thanks a ton sir.
Presenting my new SystemUI mod.:beer::beer::beer:
Feeling like
""Hitting Thanks Don't Cost You Anything, then, Why You All Are Getting Bothered in Doing So. Hitting Thanks Increases My Motivation to Work for this Community....""
got it working in first try... thanks to adi..
well explained as always... but this one is gold..... :good::good:
my device mt6577
in my res/xml/settings_header.xm don't have this line:
<header android:icon="@drawable/ic_settings_system" android:id="@id/system_settings" android:title="@string/system_settings_title" android:fragment="com.android.settings.cyanogenmod.SystemSettings" />
Click to expand...
Click to collapse
Should I add this too ?
lucky92 said:
in my res/xml/settings_header.xm don't have this line:
Should I add this too ?
Click to expand...
Click to collapse
Paste the line mentioned in op above wireless setting line.
It will work good.
""Hitting Thanks Don't Cost You Anything, then, Why You All Are Getting Bothered in Doing So. Hitting Thanks Increases My Motivation to Work for this Community....""
lucky92 said:
in my res/xml/settings_header.xm don't have this line:
Should I add this too ?
Click to expand...
Click to collapse
you can add it anywhere....
ex... after :
<header android:icon="@drawable/ic_settings_wireless" android:id="@id/wifi_settings" android:title="@string/wifi_settings_title" android:fragment="com.android.settings.wifi.WifiSettings" />
actually its not compulsory, its nothing to do with maintoggles .. as i skipped this part... added shortcut using apex launcher....
Thank you all guys
I cannot press your all thnks , as only permited to 8 thanks
Btw, as additional , yes you can skip the settings.apk steps
I have another alternative
decompile Lidroid_Settings.apk, and make change to its android.manifest.xml
Code:
<activity android:label="@string/app_name" android:name="Settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.[COLOR="Red"]DEFAULT[/COLOR]" />
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name="SettingsActivity" />
This will make the Lidroid settings app show in app drawer
Code:
<category android:name="android.intent.category.[COLOR="Red"]LAUNCHER[/COLOR]" />
I'm sorry but I have a question, when i recompiling Settings.apk, systemui.apk by Apk-multi-tools, it's show: that
I: Checking whether sources has changed...
I: Checking whether resources has changed...
I: Building apk file...
The system cannot find the file specified.
it's normail or i do something wrong ? any idea ?
ICS??
Thank you for the amazing guide. Is there any way of making it work on ICS? I don't have JB on my MTK device, and there's no hope of getting it in the forseeable future..
HOW TO PORT JB 4.2 HORIZONTAL LIDROID TOGGLES
TO MTK / STOK BASE / NON CM / JB 4.2 /JB 4.3 / KK
Oke guys, I am back again here, I want to share how to port Lidroid toggle for Jelly Bean 4.2 up. : MTK / STOK BASE / NON CM / JB 4.2 / JB 4.3 / KK
do not try this on CM Base rom, or you will ended with SystemUI force closes :laugh::fingers-crossed:
Credit & Thank you very much , to
- lidroid, and Wanam for Guide [MOD][Android 4.1.2] Add Customizable 23 Statusbar Toggles To Samsung Jelly bean Roms,. and Thanks too to peetr_I learn some code from his thread [MOD][JB][ICS] Xperia T/TX/V port of Lidroid power widget,. and also thanks to
XDA.AGM I learn some code from his thread too [ JB ] [ A.0.400/1.100 ] [ XP-XU ]SystemUI with Lidroid Custom 18 Toggles [version 6], and you must thanks them too
- Recognized contributor @BOND1987
- Denny Mbol , Device Lenovo a316i MTK 6572
- CyanogenMod
- and also Thanks to Recognized Developer/themer @serajr for some toggles created by him
- [Unofficial Community] Galaxy Wonder CyanogenMod Indonesia
so we are going to port 21 Lidroid toggles :
( -Lock screen/screen-off action, -Reboot action, -Shutdown action, -Bluetoth, -GPS, -Flashlight, -Lockscreen, -MobileData, -Orientation, -ScreenTimeOut, -Sound, -Sync, -Wi-fi, -Wi-fi Hotspot, Battery info, USB Connection mode, USB Debugging, PlayPause, Next track, Previous track, Network mode 2G/3G )
ok lets go to Guide:
first of all need some requirement for this MOD-GUIDE
REQUIREMENT:
- BRAIN
- Patient
- experience
- Know how to decompile/recompiling Apk file
- Know how to decompile/recompiling jar Apk file
- notepad++
- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else[/B]
STEP - 1
Decompile your SystemUI.apk
- Download attached Merge_to_SystemUI.apk exstract it and merge to your decompiled systemUI.apk
- SystemUI.apk/res/layout/gemini_status_bar_expanded.xml
add the red line
Code:
<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.NotificationPanelView android:id="@id/notification_panel" android:background="@drawable/notification_panel_bg" android:paddingTop="@dimen/notification_panel_padding_top" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/notification_panel_margin_left"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<View android:id="@id/handle" android:background="@drawable/status_bar_close" android:visibility="invisible" android:layout_width="fill_parent" android:layout_height="@dimen/close_handle_height" />
<include android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="@dimen/carrier_label_height" android:layout_marginBottom="@dimen/close_handle_height" layout="@layout/gemini_carrier_label" />
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/close_handle_underlap" android:animateLayoutChanges="false">
<include android:layout_width="fill_parent" android:layout_height="@dimen/notification_panel_header_height" layout="@layout/status_bar_expanded_header" />
[COLOR="Red"]<com.adi.systemui.powerwidget.PowerWidget android:id="@id/adi_widget" android:layout_width="fill_parent" android:layout_height="wrap_content" />[/COLOR]
<FrameLayout android:id="@id/toolBarSwitchPanel" android:background="@drawable/notification_header_bg" android:layout_width="fill_parent" android:layout_height="103.0dip">
<include layout="@layout/toolbar_view" />
<include layout="@layout/toolbar_indicator" />
<include layout="@layout/toolbar_divider" />
</FrameLayout>
<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
<ViewStub android:id="@id/flip_settings_stub" android:layout="@layout/flip_settings" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="wrap_content" android:overScrollMode="ifContentScrolls">
<com.android.systemui.statusbar.policy.NotificationRowLayout android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" systemui:rowHeight="@dimen/notification_row_min_height" />
</ScrollView>
</FrameLayout>
</LinearLayout>
</com.android.systemui.statusbar.phone.NotificationPanelView>
- SystemUI.apk/res/values/arrays.xml
add the red lines, to end of it before </resources>
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="navbar_search_targets">
<item>@null</item>
<item>@*android:drawable/ic_action_assist_generic</item>
<item>@null</item>
<item>@null</item>
</array>
<array name="navbar_search_target_descriptions">
<item>@null</item>
<item>@*android:string/description_target_search</item>
<item>@null</item>
<item>@null</item>
</array>
<array name="navbar_search_direction_descriptions">
<item>@null</item>
<item>@*android:string/description_direction_up</item>
<item>@null</item>
<item>@null</item>
</array>
[COLOR="Red"]<string-array name="shutdown_reboot_options">
<item>@string/reboot</item>
<item>@string/reboot_recovery</item>
<item>@string/reboot_download</item>
</string-array>
<string-array name="shutdown_reboot_actions">
<item></item>
<item>recovery</item>
<item>download</item>
</string-array>
<string-array name="usb_connection_mode_options">
<item>@string/usb_mpt_mode</item>
<item>@string/usb_msc_mode</item>
</string-array>
<string-array name="usb_connection_mode_actions">
<item>mtp</item>
<item>mass_storage</item>
</string-array>
<string-array name="battery_info_options">
<item>@string/battery_info_info</item>
<item>@string/battery_info_usage</item>
</string-array>
<string-array name="battery_info_actions">
<item>battery_info</item>
<item>battery_usage</item>
</string-array>[/COLOR]
</resources>
- SystemUI.apk/res/values/ids.xml
add the red lines, to end of it before </resources>
Code:
<item type="id" name="sim_name">false</item>
<item type="id" name="sim_switch">false</item>
<item type="id" name="tool_bar_view">false</item>
<item type="id" name="close">false</item>
<item type="id" name="title">false</item>
<item type="id" name="bottom">false</item>
<item type="id" name="notification_inspect_item">false</item>
<item type="id" name="recent_remove_item">false</item>
<item type="id" name="recent_inspect_item">false</item>
[COLOR="Red"]<item type="id" name="adi_widget">false</item>
<item type="id" name="power_widget_button_text">false</item>
<item type="id" name="power_widget_button_indic">false</item>
<item type="id" name="power_widget_button">false</item>
<item type="id" name="power_widget_button_image">false</item>[/COLOR]
</resources>
- SystemUI.apk/res/values/integers.xml
add the red lines, to end of it before </resources>
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="config_maxNotificationIcons">5</integer>
<integer name="config_show_search_delay">200</integer>
<integer name="config_vibration_duration">0</integer>
<integer name="config_search_panel_view_vibration_duration">20</integer>
<integer name="one_finger_pop_duration_ms">10</integer>
<integer name="status_bar_recents_bg_gradient_degrees">90</integer>
<integer name="navigation_bar_deadzone_hold">333</integer>
<integer name="navigation_bar_deadzone_decay">333</integer>
<integer name="config_recent_item_min_alpha">3</integer>
<integer name="quick_settings_num_columns">3</integer>
<integer name="quick_settings_user_time_settings_tile_span">1</integer>
<integer name="quick_settings_brightness_dialog_short_timeout">2000</integer>
<integer name="quick_settings_brightness_dialog_long_timeout">4000</integer>
<integer name="blinds_pop_duration_ms">10</integer>
<integer name="notification_panel_layout_gravity">0x37</integer>
<integer name="settings_panel_layout_gravity">0x37</integer>
[COLOR="Red"]<integer name="quickpanel_scroll_threshold_port">5</integer>
<integer name="quickpanel_scroll_threshold_land">8</integer>[/COLOR]
</resources>
- SystemUI.apk/res/values/strings.xml
add the red lines, to end of it before </resources>
Code:
<string name="status_bar_help_text">"Access them anytime by swiping down.
Swipe down again for system controls."</string>
<string name="shutdown_prompt_title">Shutdown</string>
<string name="shutdown_prompt_message">Low battery and then will be auto shutdown</string>
<string name="shutdown_prompt_message_before">Low battery ! Your phone will shutdown in</string>
<string name="shutdown_prompt_message_after">seconds</string>
[COLOR="Red"]<string name="quickpanel_wifi_text">Wi-Fi</string>
<string name="quickpanel_dc_text">Data</string>
<string name="quickpanel_network_mode_text">Network</string>
<string name="quickpanel_sound_text">Sound</string>
<string name="quickpanel_sound_vibration_text">Ring.vibrate</string>
<string name="quickpanel_silent_text">Silent</string>
<string name="quickpanel_vibration_text">Vibration</string>
<string name="quickpanel_rotation_text">Rotation</string>
<string name="quickpanel_bluetooth_text">Bluetooth</string>
<string name="quickpanel_gps_text">GPS</string>
<string name="quickpanel_autosync_text">Auto Sync</string>
<string name="quickpanel_brightness_text">Brightness</string>
<string name="quickpanel_screen_timeout_text">Timeout</string>
<string name="quickpanel_lockscreen_text">Lockscreen</string>
<string name="quickpanel_airplane_text">Flightmode</string>
<string name="quickpanel_flashlight_text">Flashlight</string>
<string name="quickpanel_reboot_text">Reboot</string>
<string name="quickpanel_shutdown_text">Shutdown</string>
<string name="airplane_mode">In Flight mode</string>
<string name="shutdown_confirm">Your phone will shut down.</string>
<string name="screen_timeout_seconds">Screen timeout set to: %d second(s)</string>
<string name="screen_timeout_minutes">Screen timeout set to: %d minute(s)</string>
<string name="screen_timeout_hours">Screen timeout set to: %d hour(s)</string>
<string name="hamster">Phone Options</string>
<string name="yes">OK</string>
<string name="no">Cancel</string>
<string name="reboot">Reboot</string>
<string name="reboot_recovery">Recovery</string>
<string name="reboot_download">Download</string>
<string name="quickpanel_nfc_text">NFC</string>
<string name="quickpanel_wifi_ap_text">Wifi AP</string>
<string name="quickpanel_lockscreen_action_text">Sleep</string>
<string name="quickpanel_androidbeam_text">Android Beam</string>
<string name="brightness_settings_automatic">AUTO</string>
<string name="brightness_settings_title" />
<string name="quickpanel_usb_debugging_text">Debugging</string>
<string name="quickpanel_usb_connection_mode_text">USB Mode</string>
<string name="quickpanel_usb_current_mtp_title">Current mode: MPT</string>
<string name="quickpanel_usb_current_msc_title">Current mode: MSC</string>
<string name="usb_mpt_mode">MPT - Media Transfer</string>
<string name="usb_msc_mode">MSC - Mass Storage</string>
<string name="quickpanel_stay_awake_plugged_text">Stay Awake</string>
<string name="quickpanel_battery_info_text">Battery</string>
<string name="battery_info_info">Battery Information</string>
<string name="battery_info_usage">Battery Power Usage</string>
<string name="quickpanel_playpause_text">Play-Pause</string>
<string name="quickpanel_next_text">Next</string>
<string name="quickpanel_previous_text">Previous</string>
<string name="quickpanel_screenshots_text">Screenshot</string>[/COLOR]
</resources>
- Done and recompile your systemUI.apk
NOTE :
if you are using Apk Tool 2.0 or newer, and gettings error recompiling in the smali file,. check this explanation by :
- Recognized Themer @lacoursiere18 , here http://forum.xda-developers.com/showpost.php?p=53798727&postcount=34
and by Recognized Themer @Ticklefish, here http://forum.xda-developers.com/showpost.php?p=53824313&postcount=37
Credits and Thanks to them
STEP - 2
- Decompile the newly Recompiled APK again
Next go to
res/values/public.xml
open it with Notepad++
leave it, but keep it open
- smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali
add the red lines :
Code:
.field private mOldPlmn:Ljava/lang/String;
.field mPixelFormat:I
.field private mPlmnLabel:Landroid/widget/TextView;
.field mPositionTmp:[I
.field mPostCollapseCleanup:Ljava/lang/Runnable;
[COLOR="Red"].field mPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;[/COLOR]
.field private mPreviousConfigFontScale:F
.field private mPrevioutConfigOrientation:I
.field mQS:Lcom/android/systemui/statusbar/phone/QuickSettings;
.field mQueueLock:Ljava/lang/Object;
.field private mRecentsClickListener:Landroid/view/View$OnClickListener;
Code:
.end local v6 #signal:Landroid/view/View;
.end local v7 #systemIcons:Landroid/view/View;
:cond_0
iget-object v8, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mLightsOutAnimation:Landroid/animation/Animator;
invoke-virtual {v8}, Landroid/animation/Animator;->cancel()V
.line 2213
iget-object v8, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mLightsOnAnimation:Landroid/animation/Animator;
invoke-virtual {v8}, Landroid/animation/Animator;->cancel()V
.line 2215
if-eqz p1, :cond_1
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mLightsOutAnimation:Landroid/animation/Animator;
.line 2216
.local v0, a:Landroid/animation/Animator;
:goto_0
invoke-virtual {v0}, Landroid/animation/Animator;->start()V
.line 2218
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setAreThereNotifications()V
.line 2219
return-void
.line 2215
.end local v0 #a:Landroid/animation/Animator;
:cond_1
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mLightsOnAnimation:Landroid/animation/Animator;
goto :goto_0
.end method
[COLOR="Red"].method private setupPowerWidget()V
.locals 2
.prologue
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarWindow:Lcom/android/systemui/statusbar/phone/StatusBarWindowView;
const v1, [COLOR="Blue"]0x7f08012a[/COLOR]
invoke-virtual {v0, v1}, Lcom/android/systemui/statusbar/phone/StatusBarWindowView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Lcom/adi/systemui/powerwidget/PowerWidget;
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;
invoke-virtual {v0}, Lcom/adi/systemui/powerwidget/PowerWidget;->setupWidget()V
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPowerWidget:Lcom/adi/systemui/powerwidget/PowerWidget;
invoke-virtual {v0}, Lcom/adi/systemui/powerwidget/PowerWidget;->updateWidget()V
return-void
.end method[/COLOR]
.method private showAlwaysAskOrInternetCall(J)V
.locals 3
.parameter "simId"
.prologue
const/4 v2, 0x0
.line 3231
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSimIndicatorIconShow:Z
.line 3232
const-wide/16 v0, -0x2
cmp-long v0, p1, v0
if-nez v0, :cond_0
.line 3233
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSimIndicatorIcon:Landroid/widget/ImageView;
const v1, 0x7f020137
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setBackgroundResource(I)V
.line 3239
:goto_0
iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mAirplaneMode:Z
if-nez v0, :cond_2
.line 3240
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSimIndicatorIcon:Landroid/widget/ImageView;
invoke-virtual {v0, v2}, Landroid/widget/ImageView;->setVisibility(I)V
.line 3245
:goto_1
return-void
.line 3234
:cond_0
const-wide/16 v0, -0x3
cmp-long v0, p1, v0
if-nez v0, :cond_1
.line 3235
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSimIndicatorIcon:Landroid/widget/ImageView;
const v1, 0x7f020136
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setBackgroundResource(I)V
goto :goto_0
.line 3237
:cond_1
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mSimIndicatorIcon:Landroid/widget/ImageView;
const v1, 0x7f020135
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setBackgroundResource(I)V
goto :goto_0
change this, 0x7f08012a according to the value you got in your own public.xml
Code:
<public type="id" name="adi_widget" id="0x7f??????" />
search this method
Code:
.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
scroll down in that method and add the red line
Code:
move-object/from16 v0, p0
iget-object v1, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v11, v1, v12}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
.line 772
invoke-direct/range {p0 .. p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->resetUserSetupObserver()V
[COLOR="Red"] invoke-direct/range {p0 .. p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setupPowerWidget()V[/COLOR]
.line 774
new-instance v20, Landroid/content/IntentFilter;
invoke-direct/range {v20 .. v20}, Landroid/content/IntentFilter;-><init>()V
.line 775
.local v20, simInfoIntentFilter:Landroid/content/IntentFilter;
const-string v1, "android.intent.action.SIM_SETTING_INFO_CHANGED"
OR
you can put the line here
Code:
iget-object v1, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mMediaEjectBroadcastReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v11, v1, v15}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
.line 800
move-object/from16 v0, p0
[COLOR="Red"] invoke-direct/range {p0 .. p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setupPowerWidget()V[/COLOR]
iget-object v1, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
return-object v1
.line 440
.end local v12 #filter:Landroid/content/IntentFilter;
.end local v14 #indicator:Lcom/android/systemui/statusbar/toolbar/ToolBarIndicator;
.end local v15 #mediaEjectFilter:Landroid/content/IntentFilter;
.end local v19 #signalCluster:Lcom/android/systemui/statusbar/SignalClusterViewGemini;
.end local v20 #simInfoIntentFilter:Landroid/content/IntentFilter;
.end local v21 #tickerView:Lcom/android/systemui/statusbar/phone/TickerView;
:cond_d
const/4 v1, 0x0
goto/16 :goto_0
NOTE !! if your device / os
Code:
.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
doesn't have this line
Code:
move-object/from16 v0, p0
change this
Code:
invoke-direct/range {p0 .. p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setupPowerWidget()V
to like this
Code:
invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->setupPowerWidget()V
STEP -3
Next : Download attached Powerwidget_public, and open it with Notepad++
so you have two public.xml now which is opened in the Notepad++
1. secondly decompiled public.xml
2. Powerwidget_public.xml
- go to , smali/com/adi/systemui/powerwidget/here...
there are a lot of smalis there
FIND ALL IDS in all that smalis THAT'S STARTED WITH
Code:
0x7fxxxxxx
EXAMPLE :
AutoRotateButton.smali
Code:
.method protected getText()I
.locals 1
const v0, [COLOR="Red"]0x7f0b00f9[/COLOR]
return v0
.end method
find this const v0, 0x7f0b00f9 in PowerWidget_public.xml what is calling for
and we find that is for
Code:
<public type="[COLOR="Red"]string[/COLOR]" name="[COLOR="Red"]quickpanel_rotation_text[/COLOR]" id="[COLOR="Blue"]0x7f0b00f9[/COLOR]" />
the IDS can be strings, ids, integer, arays, drawable, or layout, so you have to pay attention to this
next go to your own public.xml search for the value you got
Code:
<public type="[COLOR="Red"]string[/COLOR]" name="[COLOR="Red"]quickpanel_rotation_text[/COLOR]" id="[COLOR="Blue"]0x7f0??????[/COLOR]" />
and change the IDS in the smali with your own value
Code:
.method protected getText()I
.locals 1
const v0, [COLOR="Blue"]0x7f0??????[/COLOR]
return v0
.end method
Do it too, to all
Code:
0x7fxxxxxx
in all smalis in the Powerwidget folder.
STEP - 4
- Disable signature check
here : http://forum.xda-developers.com/showthread.php?t=1698352
or in here : http://forum.xda-developers.com/showpost.php?p=47592101&postcount=3
- AndroidManifest.xml
add the red line
Code:
<manifest [COLOR="Red"]android:sharedUserId="android.uid.system" android:process="system"[/COLOR] android:versionCode="17" android:versionName="4.2.2-eng.njdbuild03.1389868812" package="com.android.systemui" coreApp="true"
Code:
<uses-permission android:name="android.permission.ACCESS_ALL_DOWNLOADS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
[COLOR="Red"]<uses-permission android:name="android.permission.REBOOT" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />[/COLOR]
<application android:label="@string/app_label" android:icon="@*android:drawable/platlogo" android:allowClearUserData="false" android:persistent="true" android:allowBackup="false">
<service android:name="SystemUIService" android:exported="true" />
<service android:name=".screenshot.TakeScreenshotService" android:exported="false" android:process=":screenshot" />
Code:
<service android:label="@string/jelly_bean_dream_name" android:name=".BeanBagDream" android:enabled="false" android:exported="true">
<intent-filter>
<action android:name="android.service.dreams.DreamService" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</service>
<activity android:theme="@*android:style/Theme.Wallpaper.NoTitleBar" android:label="@string/start_dreams" android:icon="@mipmap/ic_launcher_dreams" android:name=".Somnambulator" android:exported="true" android:excludeFromRecents="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.DESK_DOCK" />
</intent-filter>
</activity>
[COLOR="Red"]<receiver android:name="com.adi.systemui.powerwidget.NetworkModeReceiver" android:process="com.android.phone">
<intent-filter>
<action android:name="com.serajr.powertoggles.POWERTOGGLES_CHANGE_NETWORK_MODE" />
<action android:name="com.serajr.powertoggles.POWERTOGGLES_NEW_NETWORK_MODE" />
</intent-filter>
</receiver>[/COLOR]
</application>
</manifest>
- Done and recompile it , don't forget to sign it,
I ussually use ApkMultitools to decompile/recompile/sign APK
so if you use ApkMultitools, you can use my signer keys
download attached file, exstract it and merge to your ApkMultitools / other / here
- Download Attached Powerwidget.apk and Torch.apk, push it to your system/app/reboot
- edit your build.prop , to make USB connection mode toggle working properly
Code:
ro.sys.usb.storage.type=mtp[COLOR="Red"],mass_storage[/COLOR]
Additional :
- if the Flashlight toggle force closes, try to use this Torch.apk by raffie_archildz http://d-h.st/n99
- But if still force closes try to use this guide
if the Flashlight toggle from the guide doesn't work, try to use this smali http://d-h.st/mgb
- and don't forget to match the IDS too,.
- AndroidManifest.xml
Code:
<uses-permission android:name="android.permission.ACCESS_ALL_DOWNLOADS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
[COLOR="Red"]<uses-permission android:name="android.permission.CAMERA" />[/COLOR]
[COLOR="Blue"]<uses-permission android:name="android.permission.REBOOT" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />[/COLOR]
<application android:label="@string/app_label" android:icon="@*android:drawable/platlogo" android:allowClearUserData="false" android:persistent="true" android:allowBackup="false">
<service android:name="SystemUIService" android:exported="true" />
Screenshots
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
fertamax om :victory: !!
Thread Updated !, please use New_PowerWidget.apk,.
cuz re-order prefrence doesn't work on the old PowerWidget.apk
:laugh:
Finally EPIC mod for Mediatek has come.
Thanx mastah!
Thanks a lot
Thanks a lot SIR for making a guide for MTK Devices ..Will try today .....
Great job!!
Another awesome write up!! Congrats bro!!
And you have used my network mode receiver too... great! :highfive:
thanx...
Thanks a ton !!! Great Guide
got working in 2nd try on my Mediatek mt6577 (LAVA IRIS 405) DEVICE with JB 4.2.2 ...
thanks a lot ....
But if i toggle to 3g mode then no network .
still i need to fix reboot and flashlight rest all working fine i've attached logcat of reboot fc pls have a look, i googled didn't find anything useful
Again thanks a lot for this mod :good:
pavan kr said:
got working in 2nd try on my Mediatek mt6577 (LAVA IRIS 405) DEVICE with JB 4.2.2 ...
thanks a lot ....
But if i toggle to 3g mode then no network .
still i need to fix reboot and flashlight rest all working fine i've attached logcat of reboot fc pls have a look, i googled didn't find anything useful
Again thanks a lot for this mod :good:
Click to expand...
Click to collapse
please check again all IDS in your smali got the correct value
ihiirrrrr love it ....work like a charm mastah...on imo raptor...:good:
wow
:good:work ...thx teacher
your awesome...another great guides from u... sungkem dulu ama guru... _/|\_
thanks...
Sent from my GT-I9152 using Tapatalk
It's touchwiz 4.2 :good::laugh:
budi78 said:
:good:work ...thx teacher
Click to expand...
Click to collapse
sitifire said:
your awesome...another great guides from u... sungkem dulu ama guru... _/|\_
thanks...View attachment 2791477
Sent from my GT-I9152 using Tapatalk
Click to expand...
Click to collapse
awesome guide suhu sangat sangat Thanks :good:
thanks lord adi...
Working in my MTK device..
Working in my MTK device.. But pls someone help me to understand the Steps .. Wrongs icons and names and icons merging with the toggle names
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.... :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
Screenshots
Great work..
Thanks bhai for your grat work.....
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
Gokulb1 said:
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
Click to expand...
Click to collapse
have add that line on your style?
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
nophyan said:
have add that line on your style?
Click to expand...
Click to collapse
Yes bro...in the first step its there... if i delete that i get many other errors...
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 .
Samsung SystemUI Support?
Is this method support samsung SystemUI..???
nashj1975 said:
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 .
Click to expand...
Click to collapse
Same problem here, does anyone have a solution?
http://pastebin.com/n0bZM60N
edit: found a solution in post http://forum.xda-developers.com/showpost.php?p=61808403&postcount=18
QuBeX said:
Same problem here, does anyone have a solution?
http://pastebin.com/n0bZM60N
Click to expand...
Click to collapse
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
nashj1975 said:
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
Click to expand...
Click to collapse
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
Gokulb1 said:
Yes bro...in the first step its there... if i delete that i get many other errors...
Click to expand...
Click to collapse
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 ----------
QuBeX said:
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
Click to expand...
Click to collapse
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:
BRoy_98 said:
Is this method support samsung SystemUI..???
Click to expand...
Click to collapse
I think so... Give a try
@itsraj011 Can you help me? Are you in the process of helping? If so then my bad.
itsraj011 said:
I think so... Give a try
Click to expand...
Click to collapse
Hi, I am getting some error... Log is in attachment. Please help me.
QuBeX said:
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
Click to expand...
Click to collapse
Hi bro, can you tell me how to use baksmali to recompile it..???
BRoy_98 said:
Hi bro, can you tell me how to use baksmali to recompile it..???
Click to expand...
Click to collapse
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
QuBeX said:
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
Click to expand...
Click to collapse
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??
nashj1975 said:
@itsraj011 Can you help me? Are you in the process of helping? If so then my bad.
Click to expand...
Click to collapse
U r getting error in styles.xml if I m right.. Search for the lines before adding them. Only change their values if it is already there Or wait for some days, I'll do it for u when i shall get time
Dynamic Status Bar (JB 4.2)
TESTED and is 100% working on GSmart Aku A1 and Stock Rom Lenovo a369i Row Lite S008 Deodexed
Original tutorial here: MOD Edit :- Links Removed
-----------------------------------------------------
Requirements:
Apktool version 1.52
01.DECOMPILE Settings.apk
02.Copy and merge all files from folder Settings in Settings.apk (after decompile)
03.Open and paste the following code in res/values/strings.xml (before </resources>)
<string name="dynamic_status_bar_title">Dynamic status bar</string>
<string name="dynamic_status_bar_color_title">Dynamic status bar color</string>
<string name="dynamic_status_bar_color_summary">Automatically update background color of the status bar</string>
<string name="dynamic_status_bar_gradient_title">Gradient</string>
<string name="dynamic_status_bar_gradient_summary">Overlay a gradient on the status bar</string>
<string name="dynamic_status_bar_filter_title">Darkening</string>
<string name="dynamic_status_bar_filter_summary">Overlay a darkening filter on the status bar</string>
(Save)
04.Open and paste this code in res/xml/display_settings.xml : <PreferenceCategory androidersistent="false" android:title="@string/display_personalize" android:key="display_personalize">
<PreferenceScreen android:title="@string/dynamic_status_bar_title" android:fragment="com.android.settings.oplosandev.DSBSettings" />
</PreferenceCategory>
(Save)
05.RECOMPILE Settings.apk & DECOMPILE again to edit some public ids.
06.Open public.xml in res/values/public.xml and find "deuge_dsb_settings". Copy that id.
07.Open DSBSettings.smali in folder smali/com/android/settings/oplosandev. Find const v0, 0x7f060052 and replace with id which you copied earlier.
08.Save & RECOMPILE
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
09.DECOMPILE SystemUI.apk
10.Merge folder SystemUI with SystemUI.apk (after decompile)
11.Open and paste the following code in res/values/ids.xml (before </resources>)
<item type="id" name="dynamic_status_bar_color">false</item>
<item type="id" name="dynamic_status_bar_filter">false</item>
<item type="id" name="dynamic_status_bar_gradient">false</item>
<item type="id" name="dynamic_status_bar_lockscreen_filter">false</item>
(Save)
12.Open gemini_status_bar in res\layout. Find android:background="@drawable/status_bar_background". Replace this way: android:background="#00000000"
13.Add this code in the begining of the script: xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<com.fmd.statusbarcolor.color android:id="@id/dynamic_status_bar_color" android:layout_width="fill_parent" android:layout_height="fill_parent">
<View android:id="@id/dynamic_status_bar_filter" android:background="#30000000" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" />
<View android:id="@id/dynamic_status_bar_gradient" android:background="@drawable/dynamic_status_bar_drawable_gradient" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" />
</com.fmd.statusbarcolor.color>
<View android:id="@id/dynamic_status_bar_lockscreen_filter" android:background="#83000000" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" />
14.RECOMPILE SystemUI.apk & DECOMPILE again to edit some public ids.
15.DECOMPILE using your ROM framework-res.apk and open public.xml in res/values. Find "status_bar_height" and copy that id. If you can't find it: go to res/values, open dimens.xml, add a new dimension with this id (status_bar_height), set dimension to 25dip (or you will get a buggy tinting, but this number may differ so test more dimensions until it works because this is the height of the part which will be scanned to get the color) then compile and recompile and try to get the id.
16.Open color.smali in systemui/smali/com/fmd/statusbarcolor. Find const v4, 0x105000c and replace with the id which you copied earlier.
17.Open public.xml in res/values. Find and copy this ids:
"dynamic_status_bar_color"
"dynamic_status_bar_filter"
"dynamic_status_bar_gradient"
18.Open color.smali in systemui/smali/com/fmd/statusbarcolor. Find and replace ids:
const v0, 0x7f08012b ("dynamic_status_bar_color") - ada 2 -
const v0, 0x7f08012c ("dynamic_status_bar_filter") - ada 2 -
const v0, 0x7f08012d ("dynamic_status_bar_gradient") - ada 2 -
(Save)
19.RECOMPILE, SIGN, PUSH (Settings.apk & SystemUI.apk) in /system/app & set permissions to rw-r-r & reboot.
20.Go to Dynamic Status Bar opening Settings > Display settings > Dynamic Status Bar.
CREDIT: Alex & rK
http://the-daffi.blogspot.ro/2015/11/guide-tutorial-buat-dinamic-statusbar.html?m=1
Translated by minealex2244 (I'm not Indonesian, I'm Romanian ) from indonesian.
P. S. I added a line in original guide to fix an error and an important note reffering to status_bar_height which is important.
Don't expect miracles I'm only 17 years old
Would give it a shot. I am on TW Samsung rom and I guess the concept is still the same, exept some changes in resources
Sent from my SM-N920I using Tapatalk
Sir would you please make an auto tint guide for gb roms?thanks.
Android小楼阁-QQ群 439637151
来自搭载Android 2.3 GingerBread的华为Y220-T10
hi i cant find oplosandev in my settings.what should i do?'
thanks
pro1001 said:
hi i cant find oplosandev in my settings.what should i do?'
thanks
Click to expand...
Click to collapse
Hi! Sorry but I was inactive a time oplosandev in in attachment, just add it in your settings.
zhaozihanzzh said:
Sir would you please make an auto tint guide for gb roms?thanks.
Android小楼阁-QQ群 439637151
来自搭载Android 2.3 GingerBread的华为Y220-T10
Click to expand...
Click to collapse
Sorry but GB doesn't support auto tinting.
minealex2244 said:
Sorry but GB doesn't support auto tinting.
Click to expand...
Click to collapse
You're welcome.I found another guidehttp://forum.xda-developers.com/android/general/how-to-tinted-status-bar-using-app-t3048978 can tint GB status bar,it needs to replace app package and hex color.
Sorry for my bad english.
来自华为荣耀畅玩4C CHM-TL00H -天生急性子 Android 小楼阁
zhaozihanzzh said:
You're welcome.I found another guidehttp://forum.xda-developers.com/android/general/how-to-tinted-status-bar-using-app-t3048978 can tint GB status bar,it needs to replace app package and hex color.
Sorry for my bad english.
来自华为荣耀畅玩4C CHM-TL00H -天生急性子 Android 小楼阁
Click to expand...
Click to collapse
That's cool. I didn't know that GB got this awesome feature . And your english is very good
cant find This Ids
17.Open public.xml in res/values. Find and copy this ids:
"dynamic_status_bar_color"
"dynamic_status_bar_filter"
"dynamic_status_bar_gradient"
18.Open color.smali in systemui/smali/com/fmd/statusbarcolor. Find and replace ids:
const v0, 0x7f08012b ("dynamic_status_bar_color") - ada 2 -
const v0, 0x7f08012c ("dynamic_status_bar_filter") - ada 2 -
const v0, 0x7f08012d ("dynamic_status_bar_gradient") - ada 2 -
i cant find These Ids and when i compile and decompile i dont find the smali folder
TheBlackCoder7 said:
17.Open public.xml in res/values. Find and copy this ids:
"dynamic_status_bar_color"
"dynamic_status_bar_filter"
"dynamic_status_bar_gradient"
18.Open color.smali in systemui/smali/com/fmd/statusbarcolor. Find and replace ids:
const v0, 0x7f08012b ("dynamic_status_bar_color") - ada 2 -
const v0, 0x7f08012c ("dynamic_status_bar_filter") - ada 2 -
const v0, 0x7f08012d ("dynamic_status_bar_gradient") - ada 2 -
i cant find These Ids and when i compile and decompile i dont find the smali folder
Click to expand...
Click to collapse
Please use Apktool v1.5.2, import framework-res from /system/framework plus mediatek-res.apk.
It's simple to find the IDs, just follow my guide and you will learn something new
how can i immplement or add option or app into SecSettings.apk with android 6.0.1
awadh730 said:
how can i immplement or add option or app into SecSettings.apk with android 6.0.1
Click to expand...
Click to collapse
Adding a new option in TW 6.0 Settings is really hard and I never tested that. There are some tutorials on XDA of how to add (link) an app in Settings and for new options if you search how to add new options in settings on XDA you will find what you need (this task is for devs only because is about adding features). Hope it helps
I'll stop supporting this thread as I no longer have a device to test this feature.