ALL IN ONE Guide for all TouchWiz3 Users !
NOTE : I haven't taken all other Tutorials and made a complete one , therefore some of the modifications are new and no tutorial on XDA has them !
What is Touchwiz3 ?
Touchwiz is more than a simple launcher.
It's a framework , a set of functions, developed by and for Samsung, available only to Samsung developers.
Those functions allow them to create Samsung's own launcher, Touchwiz UI, their unique Camera App, a few more apps as well as a whole bunch of Android customization specifically for the SGS3 or any other Android phone they come up with.
Click to expand...
Click to collapse
Post Navigation :
Page Indicators
Homescreen
App drawer
Dock Icons
Special Modifications
Click to expand...
Click to collapse
Firstly you need to decompile TouchWiz30Launcher.apk to make all this changes. If you don't know how to decompile simply follow this guide :
http://forum.xda-developers.com/showthread.php?t=2275713
Credits :
- Spacecaker - The best teacher ever had xD
- dali47 for 5 Icon dock , 5x5 Homescreen & Appdrawer
Click to expand...
Click to collapse
Caution : In case keep a secondary launcher if anything goes wrong !
OK , Now let's go
PAGE INDICATORS :
How to place Page indicators at the bottom ( As in TouchWiz4 ) :
1) Go to Res/Values-mdpi/Dimens.xml ( Values-xxxx depend on your resolution )
2) Find :
Code:
<dimen name="menu_top_offset">XXXdip</dimen>
Change XXX to any size you want. ( Normally use 6.0 dip )
3) Find :
Code:
<dimen name="workspace_pageindicator_top">XXXdip</dimen>
Again Change XXX to any size you want ( Normally use 385.0 dip )
4) Find :
Code:
<dimen name="pageindicator_top_offset">XXXdip</dimen>
Again Change XXX to any size you want ( Normally used 375.0 dip )
Recompile TouchWiz30Launcher.apk and test.
Click to expand...
Click to collapse
Disable/Enable Autohide of Page Indicators on Homescreen & App drawer :
- Go to Res/Values/Bools.xml
For homescreen change :
Code:
<bool name="pageindicator_showhide_enable">true</BOOL>
( True = Autohide enabled )
to:
Code:
<bool name="pageindicator_showhide_enable">false</BOOL>
( False = Autodhide disabled )
For AppDrawer change :
Code:
<bool name="workspace_pageindicator_showhide_enable">true</bool>
( True = Autohide enabled )
to :
Code:
<bool name="workspace_pageindicator_showhide_enable">false</bool>
( False = Autodhide disabled )
Click to expand...
Click to collapse
Remove number on Page Indicator :
Open /smali/com/sec/android/app/twlauncher/PageIndicator$Page.smali and delete :
Code:
invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
Click to expand...
Click to collapse
HOMESCREEN :
Set default screen counter :
Go to /res/xml-mdpi/launcher_config.xml
Change :
Code:
launcher:defaultScreenCount="3"
Number 3 from "1 to 7"
Click to expand...
Click to collapse
Set default homescreen :
Add this line on build.prop :
Code:
ro.csc.homescreen.defaultscreen=2
Click to expand...
Click to collapse
5x5 Icons Home screen (Widgets will look smaller)
Go to /res/layout-mdpi/workspace_screen.xml
Code:
shortAxisCells="[B]4[/B]"
Change to :
Code:
shortAxisCells="[B]5[/B]"
Here again find :
Code:
cellWidth="[B]80.0dip[/B]"
Change to :
Code:
cellWidth="[B]64.0dip[/B]"
Find again :
Code:
longAxisCells="[B]4[/B]"
Change to :
Code:
longAxisCells="[B]5[/B]"
One last time find :
Code:
cellHeight="[B]100.0dip[/B]"
Change to :
Code:
cellHeight="[B]80.0dip[/B]"
Go to /res/values-mdpi/styles.xml
Find :
Code:
<item name="android:layout_marginBottom">[B]4.0dip[/B]</item>
Change to :
Code:
<item name="android:layout_marginBottom">[B]2.0dip[/B]</item>
Click to expand...
Click to collapse
App Drawer :
Transparent app drawer :
Go to /res/values-mdpi/colors.xml
Code:
<color name="menu_background">#FF000000</color>
change FF to 80 (semi-transparent) or 99 (like TouchWiz4)
Click to expand...
Click to collapse
Enable concentration effect in app drawer :
Go to /res/xml-mdpi/launcher_config.xml
Add :
Code:
launcher:usemainmenuconcentrationeffect="true"
above launcher:use16bitwindow="xxx"
Click to expand...
Click to collapse
Enable list view option:
Go to /res/xml-mdpi/launcher_config.xml
add :
Code:
launcher:usemainmenulistmode="true"
Click to expand...
Click to collapse
Adding auto-alphabetical arrangement:
Go to /smali/com/sec/android/app/twlauncher/menumanager.smali
Find :
Code:
invoke-virtual {v0, v6}, lcom/sec/android/app/twlauncher/launchermodel$applicationinfocomparator;->setmode(i)v
.line 1770
[b]iget-object v0, p0, lcom/sec/android/app/twlauncher/menumanager;->mordercomparator:lcom/sec/android/app/twlauncher/launchermodel$applicationinfocomparator;[/b]
Change to :
Code:
invoke-virtual {v0, v6}, lcom/sec/android/app/twlauncher/launchermodel$applicationinfocomparator;->setmode(i)v
.line1770
[B]sget-object v0, lcom/sec/android/app/twlauncher/launchermodel;->app_name_comparator:ljava/util/comparator;[/B]
Click to expand...
Click to collapse
5 Column App drawer ( 5x4 & 5x5 ) :
Go to /res/xml-mdpi/launcher_config.xml
Find:
Code:
menuColumnCount="[B]4[/B]"
Change it to 5 ( This is number of Columns )
Find :
Code:
itemNumOfPage="16"
Change 16 to 20 if you want 5x4 app drawer , or 25 if you want 5x5 app drawer ( This is the number of icons per page )
If you're doing 5x5, do the following. if you're doing 5x4 then skip this.
Go to /res/values-mdpi/dimens.xml
Find :
Code:
<dimen name="menu_item_height">[B]92.0dip[/B]</dimen>
Change it to 73.6dip (this is the height of the drawer element)
Go to res/layout_mdpi/application_boxed.xml
Find :
Code:
maxLines="[B]2[/B]"
Change 2 to 1 (this is the number of lines in the app name in the drawer)
Click to expand...
Click to collapse
Dock Icons :
How to add title on dock icons :
Go to smali/com/sec/android/app/twlauncher/AppShortcutZone.smali
Find method :
Code:
.method public changeApplicationsIcon( )V
Find :
Code:
.locals 4
.prologue
Change to :
Code:
.locals 5
.prologue
#0x7f0a003d = <public type="string" name="homescreenedit_home" id="0x7f0a003d" /> change to your string name (homescreenedit_home)
const v4, 0x7f0a003d
In same method find :
Code:
iget-object v2, p0, Lcom/sec/android/app/twlauncher/AppShortcutZone;->mApplicationsDrawableNormal:Landroid/graphics/drawable/Drawable;
invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
Nnder them add these :
Code:
invoke-virtual {p0}, Lcom/sec/android/app/twlauncher/AppShortcutZone;->getContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
#<public type="string" name="group_applications" id="0x7f0a0012" />
const v3, 0x7f0a0012
invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setText(Ljava/lang/CharSequence;)V
Now find :
Code:
iget-object v2, p0, Lcom/sec/android/app/twlauncher/AppShortcutZone;->mApplicationsDrawableMenu:Landroid/graphics/drawable/Drawable;
invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
Under them add these lines :
Code:
invoke-virtual {p0}, Lcom/sec/android/app/twlauncher/AppShortcutZone;->getContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setText(Ljava/lang/CharSequence;)V
Now again find :
Code:
iget-object v2, p0, Lcom/sec/android/app/twlauncher/AppShortcutZone;->mApplicationsDrawableEdit:Landroid/graphics/drawable/Drawable;
invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
And under them add :
Code:
invoke-virtual {p0}, Lcom/sec/android/app/twlauncher/AppShortcutZone;->getContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Lcom/sec/android/app/twlauncher/MenuItemView;->setText(Ljava/lang/CharSequence;)V
In method .method public makeItemView
Find :
Code:
invoke-direct {v6, v7}, Lcom/sec/android/app/twlauncher/FastBitmapDrawable;-><init>(Landroid/graphics/Bitmap;)V
invoke-virtual {v5, v6}, Lcom/sec/android/app/twlauncher/MenuItemView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
Under those add :
Code:
iget-object v6, p1, Lcom/sec/android/app/twlauncher/ApplicationInfo;->title:Ljava/lang/CharSequence;
invoke-virtual {v5, v6}, Lcom/sec/android/app/twlauncher/MenuItemView;->setText(Ljava/lang/CharSequence;)V
Go to res/values-mdpi/dimens.xml
Find :
Code:
<dimen name="menu_top_item_height">XXXX</dimen>
( XXXX is a number (dip) but I used this as reference)
Change XXXX to 51.0dip
Now in same file find :
Code:
<dimen name="menu_topapp_top_offset">XXXX</dimen>
Again change XXXX to
Code:
<dimen name="menu_topapp_top_offset">6.0dip</dimen>
Click to expand...
Click to collapse
5(6) Icon Dock :
Go to /res/layout-mdpi/launcher.xml
Find :
Code:
iconColumnCount="[B]4[/B]"
Replace 4 with 5 ( Or 6 if you want 6 Icon Dock )
Go to /smali/com/sec/android/app/twlauncher/AppShortcutZone.smali
Find :
Code:
const/4 v8, 0x3
Replace 0x3 with 0x4 ( Or 0x5 for 6 Icon Dock )
Find:
Code:
const/4 v6,[B] 0x3[/B]
Replace0x3 with 0x4 ( Or 0x5 for 6 Icon Dock )
Click to expand...
Click to collapse
Special Modifications
Enable Auto-Rotation :
Go to AndroidManifest.xml
Find :
Code:
1. Change
Code:
screenOrentation="nosensor"
To :
Code:
screebOrentation="user"
Recomile launcher and sign it!
Always sign apks if you edit AndroidManifest.xml!
Click to expand...
Click to collapse
THANKS WOULD BE APPRECIATED :good:
Hello sir, nice work here. But can you just post the recompiled modded apk to here. Coz i dont really know how to do this. Sorry for disturbing
Sent from my GT-S5360 using xda app-developers app
default screen doesn't work, after editing the build.prop it still defaults to the first screen
LiquidAcidGasLAG said:
Hello sir, nice work here. But can you just post the recompiled modded apk to here. Coz i dont really know how to do this. Sorry for disturbing
Sent from my GT-S5360 using xda app-developers app
Click to expand...
Click to collapse
I don't have much time to make that. Even if i make it won't look good as I have Ace-I ( MDPI Device ) Arrangment will be a totally crap
You can make by yourself , it's easy though
( Only dock title which is highly complicated :silly: )
Tedi sir here
Good :good: I intend to try it
how to add the auto rotation? editing the AndroidManifest.xml always gives error.
viniciusptur said:
how to add the auto rotation? editing the AndroidManifest.xml always gives error.
Click to expand...
Click to collapse
Well that's what i am trying to find for now
Gotta learn and and add it on the guide soon...
Sent from my GT-S5830i using Tapatalk 2
Sniper Killer said:
ALL IN ONE Guide for all TouchWiz3 Users !
NOTE : I haven't taken all other Tutorials and made a complete one , therefore some of the guides are new and no tutorial on XDA has them !
Firstly you need to decompile TouchWiz30Launcher.apk to make all this changes. If you don't know how to decompile simply follow this guide :
http://forum.xda-developers.com/showthread.php?t=2275713
Caution : In case keep a secondary launcher if anything goes wrong !
OK , Now let's go
PAGE INDICATORS :
HOMESCREEN :
[/HIDE]
Click to expand...
Click to collapse
good tutorial man!!!!!!!!!!!!!!!!
Nice Job..!! :good:
Megatron007 said:
Nice Job..!! :good:
Click to expand...
Click to collapse
Thanks
this is from mdpi device? how about ldpi? because in this case, is so difficult to adjust dip from mdpi to ldpi -_-
ocoot said:
this is from mdpi device? how about ldpi? because in this case, is so difficult to adjust dip from mdpi to ldpi -_-
Click to expand...
Click to collapse
Doh.. :silly: you are god damn right! Dip changes on page indicators mods. I can't update the thread atm but there's a way. Find what dencity mdpi have ( correct dip! ) and then find the dip you want to make. Like 385/420 Make values smaller , also on percent. Do so with ldpi. It is like a math ex.. Like this :
385 X
____ = ____
420 240 ( Size of ldpi dip )
Than make the ex. It is easy !
Hope you understand me.
Thanks for noticing
Regards,
Teddy
Sniper Killer said:
Dock Icons :
[/HIDE]
[/HIDE]
THANKS WOULD BE APPRECIATED :good:
Click to expand...
Click to collapse
bro how to enable/ disable infinite scrolling in homepage??
Blaze said:
bro how to enable/ disable infinite scrolling in homepage??
Click to expand...
Click to collapse
Endless scrolling & rotate is what i am trying to find now. I will update the OP when I will find that OK?
Sent from my GT-S5830i using SGS3 ROM
OP Updated! Landscape Mode tutorial added.
AFAIK when edit androidmanifest.xml you have to sign all of apk/rom to avoid force close CMIIW
From ace-I themer to y themer:thumbup:
Sent from my GT-N7100 using xda app-developers app
as you sign the apk's? sign and tried not accept.
Related
++++++++++++++++++++++++++++++++++
UPDATED July 10, 2013: This GUIDE was written back for ICS firmware, although it might still work for JB - I couldn't confirm that due to the fact I had stopped developing/modding. Keep in mind you need to use the latest APKtool - From Here - for JB system. Also don't forget to copy from original apk "AndroidManifest.xml" file and "META-INF" folder for the New "modded" SystemUI.apk to work.
++++++++++++++++++++++++++++++++++
I was helping a member learn how to add the brightness bar slider to his/her status bar. Since I spend a good amount of time typing it up. So I might as well post it here for everyone
General Knowledge
LEARN how to decompile/Compile APK
APK Tool I used APK 1.5.0
Click to expand...
Click to collapse
PART I: Download resource file here: SystemX.zip
Decompile your SystemUI
Copy from the file/folder in SystemX to same location on your SystemUI:
icon: /res/drawable-hdpi/quickpanel_brightness_icon.png
(could be different folder based on your device, where ever your toggle icons put it there)
file: res/layout/quickpanel_brightness_settings.xml
folder: /smali/com/android/systemui/statusbar/quickpanel folder
PART II: Now you need to declare all added variants:
Ids - Open /res/values/ids.xml - Add these three lines at the end. Close & save.
Code:
<item type="id" name="title">false</item>
<item type="id" name="brightness_slider">false</item>
<item type="id" name="automatic">false</item>
Strings - Open /res/values/strings.xml - Add these two lines at the end. Close & save.
Code:
<string name="brightness_settings_title">Brightness</string>
<string name="brightness_settings_automatic">Fixed</string>
Public - Open /res/values/public.xml - Add to end of each section - Continue with the last id called out.
Code:
....
<public type="drawable" name="quickpanel_brightness_icon" id=[color=red]"0x7f020166"[/color] />
....
<public type="layout" name="quickpanel_brightness_settings" id=[color=red]"0x7f03001e"[/color] />
...
<public type="string" name="brightness_settings_title" id=[color=red]"0x7f08009e"[/color] />
<public type="string" name="brightness_settings_automatic" id=[color=red]"0x7f08009f"[/color] />
...
<public type="id" name="title" id=[color=red]"0x7f0e009d"[/color] />
<public type="id" name="brightness_slider" id=[color=red]"0x7f0e009e"[/color] />
<public type="id" name="automatic" id=[color=red]"0x7f0e009f"[/color] />
*Change those in red per your ids - best open public.xml in Excel, sort by id - you will see the last number was used in each section.
PART III: Now we need to edit the Smali associated with your Public.xml Id's:
Open /smali/com/android/systemui/statusbar/quickpanel/BrightnessSettingsView.smali in Notepad++ (or similar) - Change if needed:
@ line 201
Code:
const v1, [color=red]0x7f08009e[/color]
ID associated with public.xml string section name="brightness_setting_title"
@ line 207
Code:
const v1, [color=red]0x7f08009f[/color]
ID associated with public.xml string section name="brightness_settings_automatic"
@ line 257
Code:
const v1, [color=red]0x7f0e009d[/color]
ID associated with public.xml id section name="title"
@ line 267
Code:
const v1, [color=red]0x7f0e009e[/color]
ID associated with public.xml id section name="brightness_slider"
@ line 308
Code:
const v1, [color=red]0x7f0e009f[/color]
ID associated with public.xml id section name="automatic"
Save & Close.
Open /smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali in Notepad++ (or similar)
Find this Section:
Code:
....
.method protected makeStatusBarView()Landroid/view/View;
.locals 13
.prologue
const/16 v12, 0x8
.....
[i](very long find the last line in this section)[/i]
.....
[color=blue].line 382
return-object v4[/color]
.line 311
.end local v2 #filter:Landroid/content/IntentFilter;
.end local v6 #signalCluster:Lcom/android/systemui/statusbar/SignalClusterView;
.end local v7 #statSysNoSim:Landroid/widget/ImageView;
.end local v8 #tickerView:Lcom/android/systemui/statusbar/phone/TickerView;
:catch_0
move-exception v9
goto/16 :goto_0
.end method
.method onBarViewAttached()V
......
In between .line 382 (this line number is not important - ignore whatever it is, only make sure it's the last line in this section) and return-object v4 - Add:
Code:
[color=indigo][color=blue].line 382[/color]
const v6, [color=red]0x7f03001e[/color]
invoke-static {v0, v6, v11}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object v5
check-cast v5, Lcom/android/systemui/statusbar/quickpanel/BrightnessSettingsView;
invoke-virtual {v5}, Lcom/android/systemui/statusbar/quickpanel/BrightnessSettingsView;->init()V
iget-object v6, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedView:Lcom/android/systemui/statusbar/phone/ExpandedView;
const/4 p0, 0x1
invoke-virtual {v6, v5, p0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->addView(Landroid/view/View;I)V
[color=blue]return-object v4[/color][/color]
ID associated with public.xml layout section name="quickpanel_brightness_settings"
Note: If you already had Toggle Mod - It should look like this:
Code:
[color=blue].line 382[/color]
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBroadcastReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {v0, v9, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
const v6, 0x7f03001c
invoke-static {v0, v6, v11}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object v5
check-cast v5, Lcom/lidroid/systemui/quickpanel/PowerWidget;
invoke-virtual {v5}, Lcom/lidroid/systemui/quickpanel/PowerWidget;->setupWidget()V
iget-object v6, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedView:Lcom/android/systemui/statusbar/phone/ExpandedView;
invoke-virtual {v6, v5, v11}, Lcom/android/systemui/statusbar/phone/ExpandedView;->addView(Landroid/view/View;I)V
[color=indigo]const v6, [color=red]0x7f03001e[/color]
invoke-static {v0, v6, v11}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object v5
check-cast v5, Lcom/android/systemui/statusbar/quickpanel/BrightnessSettingsView;
invoke-virtual {v5}, Lcom/android/systemui/statusbar/quickpanel/BrightnessSettingsView;->init()V
iget-object v6, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mExpandedView:Lcom/android/systemui/statusbar/phone/ExpandedView;
const/4 p0, 0x1
invoke-virtual {v6, v5, p0}, Lcom/android/systemui/statusbar/phone/ExpandedView;->addView(Landroid/view/View;I)V
[color=blue]return-object v4[/color][/color]
Save & Close
PART IV: Compile & push to your system, don't forget to set your permission to rw-r--r-- ! DONE.
The End: That's all - Wasn't that hard, wasn't it ? :silly: .... Good Luck !!! :highfive:
Disclaimer:
I didn't write up the code for quickpanel brightness settings, it has been pass on from forum to forum - I do not know the original author. If it's your please let me know so we all can give proper thanks.
Click to expand...
Click to collapse
+1
+thanks for you.
Yeeeah, I think we need more people like you
thanks for the tutorial.
How would you go about removing the brightness bar (manually)?
fcb13 said:
How would you go about removing the brightness bar (manually)?
Click to expand...
Click to collapse
The quickest way is take out the Added code in the PhoneStatusBar.smali. You can ignore the rest. But it would be more clean if you reverse the guide.
is it working on other phone such samsung or only xperia??
d3cka said:
is it working on other phone such samsung or only xperia??
Click to expand...
Click to collapse
NO, this guide is for Xperia - Samsung had a different layout in SystemUI
Ohh thanks for the answer
Sent from my GT-S5360 using xda premium
can someuone upload the edited SystemUI? I dont have a pc right now only phone
Awesome work.
Worked for me. Can't say anything changes in touchscreen sensitivity, it was fine before. But the capacitive buttons were always kind of a pain in the .ss, now they respond much better. Thanks a lot for this mod. Xperia Ion.
My phone doesn't have phonestatusbar.smali
Sent from my XT530 using xda app-developers app
I don' t know if this work.
I have a problem, decompile e recompile SystemUI.apk without an error, but when use SystemUI recompileted it's don't work.
Can Someone help me?
Where I should add line from part III? In file extracted from systemX.zip I have no one "line" with needed id.
Oh, it was my mistake - i searched for ".line"
Thank you for this guide!
great tutorial:good:
+1 thanks
Sent from my LT26i using xda app-developers app
I wanna add the slider in 2.3 but i could not find phonestatubar.smali
what can I do?
i think you can code a patch to help every body
Great tutorial! thanks!
on other manufacturers phones, it is /smali/com/android/systemui/statusbar/StatusBarService.smali
hi guys. i'll tell you how to add Screenshot EPM. for screenies, check attach
first, download this file
https://www.dropbox.com/s/z0owyuwxmjm59dx/bahan.zip
note: DO BACKUP FIRST.
Stuff:
1. android.policy.jar
2. Framework-res.apk
3. Tools to decompile and compile .apk files like apk multitool or baksmali manager for .jar files . you can search it to google
4. brain
5. patient
+FIRST STEP:
1. decompile framework-res.apk
2. extract the files we have downloaded
3. put the ic_clock_screenshoot.png to the drawable-ldpi
4. open strings.xml
5. add this
Code:
<string name="screenshoot">Capture Image</string>
before line
Code:
</resources>
6. save and compile. make sure you don't get any errors when compiling
7. after all finished, decompile again the result was
8. go to public.xml
9. then see the hex code from the image and the strings that we created earlier like this
Code:
<public type="string" name="screenshoot" id="0x0[B]10404d6[/B]" />
<public type="drawable" name="ic_lock_screenshot" id="0x0[B]10804b4[/B]" />
10. the bold text is what we need for next step
+LAST STEP:
1. decompile android.policy.jar
2. put the GlobalActions$12.smali and GlobalActions$12$1.smali to the com\android\internal\policy\impl\here
3. then, open GlobalActions.smali
4. search this line
Code:
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
5. above it, there is const /4 v0, 0x3, change to const /4 v0, 0x4
6. then, look at the pict
7. add this line below it
Code:
const/4 v1, 0x3
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$12;
const v3, 0x108xxxx -> ic__lock_screenshoot.png
const v4, 0x104xxxx -> screencapture string
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$12;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
8. see on this
9. change const/4 v1, 0x3 to const/4 v1, 0x4
10. save and compile
11. after all steps completed, flash it via CWM
NB:
-i made this guide from original based stockrom DXLF, it will different if you have EPM (data mode, reboot mode, recovery mode, download mode) first. for who have epm first and will add this features, go to HERE
-if you don't understand / get error, report here and i'll help you
Will this work with other devices?
nolinuxnoparty said:
Will this work with other devices?
Click to expand...
Click to collapse
If you focus and understand, it will probably work on other devices
Nice guide, thanks pressed.
For who have epm
this is for you who have EPM (Sound mode, Data mode, Airplane mode, Reboot mode, Recovery mode, Download mode, Power Off). little modification on smali
Tuts:
1. for editing Framework-res.apk, it same as like first post
2. decompile android.policy.jar
3. search
Code:
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
4. look above it, if showing const/4 v0, 0x7 ignore it. if not, if showing anything else like const/4 v0, 0x6, change 0x6 to 0x7
5. on this step, you need to editing the download mode line (i think download mode is useless, the features like reboot/restart and doesn't lead to download mode)
6. change the bold to
Code:
const/4 v1, 0x3
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$12;
const v3, 0x108xxxx -> ic_lock_screenshoot.png
const v4, 0x104xxxx -> screenshoot string
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$12;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
7. save and compile. make sure you don't get errors
8. flash it via cwm
CharsiBabu said:
Nice guide, thanks pressed.
Click to expand...
Click to collapse
thankyou
Will try it now
Reserved.
jpdesuasido said:
Will try it now
Reserved.
Click to expand...
Click to collapse
good luck bro
ocoot said:
good luck bro
Click to expand...
Click to collapse
Thanks :angel: (2 times pressed )
up
doesnt understand
i have an epm but your smali and my smali differrent?
Just 1 word required to define this Guide. AWESOME
Sent from my GT-S6102 using Xparent BlueTapatalk 2
NgamTeroxx said:
i have an epm but your smali and my smali differrent?
Click to expand...
Click to collapse
i think you need a little bit more experience to learning smali bro
samsoul16 said:
Just 1 word required to define this Guide. AWESOME
Sent from my GT-S6102 using Xparent BlueTapatalk 2
Click to expand...
Click to collapse
thanks sirrrrr
I can not find it or anything like it, you can help me put it in another location not
Code:
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
zangge34 said:
I can not find it or anything like it, you can help me put it in another location not
Code:
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
Click to expand...
Click to collapse
you can see on the screenies sir. may on other phone/rom it's little bit different http://forum.xda-developers.com/showpost.php?p=43256383&postcount=2
I want you to help me review my file GlobalActions.smali.
If you help me I will be very happy and thank you.
mediafire.com/download/3wzk47a10w93cv9/GlobalActions.smali[/url]
thanks for the info
Good Job Broo
Great Guide .
I have successfully done step 1 but not able to do step 2 .
Can you help me ?? plz
As I know, this feature was hidden by google for any phone which screen size is smaller than 600 dp. ( dp = (px / dpi) * 160 ).
If you have root you can install GravityBox and easily get this tile. But if for some reason you do not wanna use gravitybox, there are few ways to do it:
How to simply enable it by changing framework.jar you can find here http://forum.xda-developers.com/showpost.php?p=29209182&postcount=13
How to enable this tile using only SystemUI.apk I'm gonna show you
1. SystemUI/res/values/bools.xml
find this bools and change them to true
Code:
<bool name="quick_settings_show_rotation_lock">true</bool>
<bool name="config_showRotationLock">true</bool>
Actually, I think this is not necessary. You can skip this step and return if it wont work
2.SystemUI\smali\com\android\systemui\statusbar\policy\RotationLockController.smali
Find this:
Code:
invoke-static {v0}, Lcom/android/internal/view/RotationPolicy;->isRotationLockToggleSupported(Landroid/content/Context;)Z
There will be four the same lines. And you should change it four times for each line.
Before:
Code:
invoke-static {v0}, Lcom/android/internal/view/RotationPolicy;->isRotationLockToggleSupported(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_0
After:
Code:
invoke-static {v0}, Lcom/android/internal/view/RotationPolicy;->isRotationLockToggleSupported(Landroid/content/Context;)Z
move-result v0
# if-eqz v0, :cond_0
3. SystemUI\smali\com\android\systemui\statusbar\phone\QuickSettings$15.smali
find method public refreshView
Before:
Code:
.line 1118
.local v0, "rotationLockState":Lcom/android/systemui/statusbar/phone/QuickSettingsModel$RotationLockState;
iget-boolean v1, v0, Lcom/android/systemui/statusbar/phone/QuickSettingsModel$RotationLockState;->visible:Z
if-eqz v1, :cond_2
const/4 v1, 0x0
After:
Code:
.line 1118
.local v0, "rotationLockState":Lcom/android/systemui/statusbar/phone/QuickSettingsModel$RotationLockState;
iget-boolean v1, v0, Lcom/android/systemui/statusbar/phone/QuickSettingsModel$RotationLockState;->visible:Z
#if-eqz v1, :cond_2
const/4 v1, 0x0
This is for XT1032 174.44.1.falcon_umts.Retail.en.US :http://forum.xda-developers.com/attachment.php?attachmentid=2674905&stc=1&d=1396965597 [LOCK.zip]
And I can not guarantee work on any other firmwares
Backup your original SystemUI.apk just in case if something goes wrong and you'll get bootloop or black screen.
thanks!!
Can you create others mods to add anothers functions on notification bar?
gameeater said:
thanks!!
Can you create others mods to add anothers functions on notification bar?
Click to expand...
Click to collapse
of course not. I didn't create it. It was created by google and I just let it be visible
not work
Thanks for your effort but this mod doesn't work on moto g xt1032 stock ROM and faux123 009m kernek ....
The issue is after flash this by CWM there is not any status bar anymore and there is not any navigation keys anymore
ekhatooni said:
Thanks for your effort but this mod doesn't work on moto g xt1032 stock ROM and faux123 009m kernek ....
The issue is after flash this by CWM there is not any status bar anymore and there is not any navigation keys anymore
Click to expand...
Click to collapse
Is your system version EXACTLY 174.44.1.falcon_umts.Retail.en.US ?Because as I said in 1st post
This is for XT1032 174.44.1.falcon_umts.Retail.en.US :http://forum.xda-developers.com/atta...1&d=1396965597 [LOCK.zip]
And I can not guarantee work on any other firmwares
Click to expand...
Click to collapse
Request
HI
you are right ..... My Version is 176.44.1.falcom_umts.TescoSL.en.GB
and my phones SystemUI.apk is already attached .....
Is it possible that enable the Rotation tile ????
thanks ....
Thanks, this worked on my Moto G. Not sure if I needed it because I never take off auto rotate but it's good to have it there.
My god! Why is it that you people never read the WHOLE post BEFORE flashing stuff?!
Sent from my XT1032 using XDA Free mobile app
For People with XT1032 EU Moto G
i just compiled the SystemUI.apk from the EU version of the Moto G XT1032 to make the Lock Rotation Tile visible
Maybe the Thread starter can put my apk as well to the first post ;D
Note that my modified SystemUI.apk is just for 176.44.1.falcon_umts.EURetail.en.EU (don't know if it works for other versions)
Hello guys
Happy new Year for first
This is my first tut in This new year 2016
All you need is Deodexed SystemUI.apk and Settings.apk
1. Decompile SystemUI.apk
2. Open SystemUI.apk/smali/com/android/systemui/qs/QSPanel.smali
3. Find this code
Code:
.field private mBrightnessPaddingTop:I
Below that add this code
Code:
.field private mBrightnessSliderEnabled:Z
4. Search for this Method
Code:
.method private setDetailRecord(Lcom/android/systemui/qs/QSPanel$Record;)V
and above that method add this complete method
Code:
.method private isBrightnessSliderEnabled()I
.locals 4
const/4 v3, 0x0
iget-object v0, p0, Lcom/android/systemui/qs/QSPanel;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "brightness_slider_show"
const/4 v2, 0x1
invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-eqz v0, :cond_0
const/4 v3, 0x1
:cond_0
iput-boolean v3, p0, Lcom/android/systemui/qs/QSPanel;->mBrightnessSliderEnabled:Z
return v3
.end method
5. Search for this method
Code:
.method private showDetail(ZLcom/android/systemui/qs/QSPanel$Record;)V
Above that method, add this method
Code:
.method private showBrightnessSlider()Z
.locals 5
const/16 v3, 0x8
const/4 v2, 0x0
const v1, 0x7f10012e
invoke-direct {p0}, Lcom/android/systemui/qs/QSPanel;->isBrightnessSliderEnabled()I
move-result v4
invoke-virtual {p0, v1}, Lcom/android/systemui/qs/QSPanel;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Lcom/android/systemui/settings/ToggleSlider;
if-eqz v4, :cond_0
iget-boolean v1, p0, Lcom/android/systemui/qs/QSPanel;->mBrightnessSliderEnabled:Z
if-eqz v1, :cond_0
iget-object v1, p0, Lcom/android/systemui/qs/QSPanel;->mBrightnessView:Landroid/view/View;
invoke-virtual {v1, v2}, Landroid/view/View;->setVisibility(I)V
invoke-virtual {v0, v2}, Lcom/android/systemui/settings/ToggleSlider;->setVisibility(I)V
:goto_0
invoke-virtual {p0}, Lcom/android/systemui/qs/QSPanel;->updateResources()V
iget-boolean v1, p0, Lcom/android/systemui/qs/QSPanel;->mBrightnessSliderEnabled:Z
return v1
:cond_0
iget-object v1, p0, Lcom/android/systemui/qs/QSPanel;->mBrightnessView:Landroid/view/View;
invoke-virtual {v1, v3}, Landroid/view/View;->setVisibility(I)V
invoke-virtual {v0, v3}, Lcom/android/systemui/settings/ToggleSlider;->setVisibility(I)V
goto :goto_0
.end method
6. Now Look for this Code
Code:
if-eqz p1, :[COLOR="red"]cond_3[/COLOR]
.line 216
iget-object [COLOR="Red"]v2[/COLOR], p0, Lcom/android/systemui/qs/QSPanel;->mBrightnessController:Lcom/android/systemui/settings/BrightnessController;
Add the code above the .line 216 ( this .line 216 will not be same with all devices )
Code:
invoke-direct {p0}, Lcom/android/systemui/qs/QSPanel;->showBrightnessSlider()Z
move-result [COLOR="red"]v2[/COLOR]
if-eqz [COLOR="red"]v2[/COLOR], :[COLOR="red"]cond_3[/COLOR]
Finally it looks like
Code:
if-eqz p1, [COLOR="blue"]:cond_3[/COLOR]
[COLOR="Red"] invoke-direct {p0}, Lcom/android/systemui/qs/QSPanel;->showBrightnessSlider()Z
move-result [COLOR="blue"]v2[/COLOR]
if-eqz [COLOR="blue"]v2[/COLOR], [COLOR="blue"]:cond_3[/COLOR][/COLOR]
.line 216
iget-object [COLOR="Blue"]v2[/COLOR], p0, Lcom/android/systemui/qs/QSPanel;->mBrightnessController:Lcom/android/systemui/settings/BrightnessController;
After adding that
replace this Public id
<public type="id" name="brightness_slider" id="0x7f10012e" />
6. Now compile the SystemUI.apk and sign it and replace
Now time to add in the settings look for post #2
adding to Settings
Welcome to easy part on adding the option to hide/show in settings
Method 1
1. Decompile the settings.apk
2. Download this View attachment Slider_Settings.zip and merge to your settings
3. Add the below code to your settings ( i had added to my own settings ) and your wish
Code:
<PreferenceScreen android:title="Statusbar Mod" android:key="statusmod" android:fragment="com.android.settings.rz.Statusmod" />
4. Compile it and Decompile and open
Settings.apk/smali/com/android/settings/rz/Statusmod.smali
5. Compare the Public ID and replace it and recompile
6. God you did man,,, now replace and have fun
Method 2
1. Decompile the Settings.apk
2. Download this View attachment settings.zip and merge to your settings
3. Add the below code to your settings ( i had added to my own settings.xml )
you can add in settings.apk/res/xml/Dispaly_settings.xml
HTML:
<com.android.settings.cyanogenmod.SystemSettingSwitchPreference android:title="Brightness Slider" android:key="brightness_slider_show" android:defaultValue="0" android:summaryOn="Brightness Slider Shown" android:summaryOff="Brightness Slider Hidden" />
and then compile/sign and replace your settings
OR
Try download this ROM Control application (View attachment app-release.apk ) where you can Easily control
All you is just install and have fun
Thanks to @daxgirl for the app source
now have fun guys
Thanks to cyanogenmod
Dont Forget to mention me if you used my work
that feels me happy
hello venkat ,
I 've implemented a tutor in, but why every time I switch Brightness Hide its always off if i back from settings..
Can you help me to fix it ???
aNgga - Fe Hung said:
hello venkat ,
I 've implemented a tutor in, but why every time I switch Brightness Hide its always off if i back from settings..
Can you help me to fix it ???
Click to expand...
Click to collapse
thanks for identifying this ( even it works the switch turns off)
i had forgot to define the return value of switch
now its fixed
just replace the settings.zip
and everything will be ok
venkat kamesh said:
thanks for identifying this ( even it works the switch turns off)
i had forgot to define the return value of switch
now its fixed
just replace the settings.zip
and everything will be ok
Click to expand...
Click to collapse
still the same as before ny : ' (
Can you help me bro ??
aNgga - Fe Hung said:
still the same as before ny : ' (
Can you help me bro ??
Click to expand...
Click to collapse
Impossible bro
Try from first if in case
I had tested and many of my team too got it working
venkat kamesh said:
Impossible bro
Try from first if in case
I had tested and many of my team too got it working
Click to expand...
Click to collapse
I try with ur new settings smali and still don't working the switch when I enable and then return to desactivate the switch is unable and don't hide the brightness bar
Bro i think that I found the problem I compare the two smali that u update on the hide show album art and this and are the same maybe u forgot to upload the new
raziel zarafan said:
I try with ur new settings smali and still don't working the switch when I enable and then return to desactivate the switch is unable and don't hide the brightness bar
Click to expand...
Click to collapse
raziel zarafan said:
Bro i think that I found the problem I compare the two smali that u update on the hide show album art and this and are the same maybe u forgot to upload the new
Click to expand...
Click to collapse
No way bro
I had updated both of same file
Tested Moor than enough
If not go through my setting bro
Bin thanks for your tut ! Can you do some tuto with navbar tuning ? Appreciate it
Envoyé de mon E6653 en utilisant Tapatalk
After adding that
replace this Public id
<public type="id" name="brightness_slider" id="0x7f10012e" />
bro i dont understand very well , the public id that i need to replace where i can find the new id , i know to i must open res/xml/public and replace the line that u publish but what new id i must put or where i can find it
raziel zarafan said:
After adding that
replace this Public id
<public type="id" name="brightness_slider" id="0x7f10012e" />
bro i dont understand very well , the public id that i need to replace where i can find the new id , i know to i must open res/xml/public and replace the line that u publish but what new id i must put or where i can find it
Click to expand...
Click to collapse
In the method you have const v1 0x7f10012e
Go to you public.xml and serch for <public type="id" name="brightness_slider, and the public id you have copy and change 0x7f10012e for you public id you copy
dark90 said:
In the method you have const v1 0x7f10012e
Go to you public.xml and serch for <public type="id" name="brightness_slider, and the public id you have copy and change 0x7f10012e for you public id you copy
Click to expand...
Click to collapse
The public id and the const value are the same bro .-. And when I replace the systemui and enable hide it don't work T-T
raziel zarafan said:
The public id and the const value are the same bro .-. And when I replace the systemui and enable hide it don't work T-T
Click to expand...
Click to collapse
You are right i tried and didnt work too
dark90 said:
You are right i tried and didnt work too
Click to expand...
Click to collapse
Maybe something is wrong bro
Not working for me too.. I think some problems with the smali file .. Waiting for OP's replay
raziel zarafan said:
The public id and the const value are the same bro .-. And when I replace the systemui and enable hide it don't work T-T
Click to expand...
Click to collapse
dark90 said:
You are right i tried and didnt work too
Click to expand...
Click to collapse
raziel zarafan said:
Maybe something is wrong bro
Click to expand...
Click to collapse
Rajeev said:
Not working for me too.. I think some problems with the smali file .. Waiting for OP's replay
Click to expand...
Click to collapse
Brothers every thing is working
I had already provided my settings
May be issue from settings
I will provide rom control app
Sure it helps you
venkat kamesh said:
Brothers every thing is working
I had already provided my settings
May be issue from settings
I will provide rom control app
Sure it helps you
Click to expand...
Click to collapse
Already compared ur settings and all bro. Not working..
Rajeev said:
Already compared ur settings and all bro. Not working..
Click to expand...
Click to collapse
Don't worry brother
I already had alternate for this to work
On all switch properties tuts of mine
Now just a moment back I fixed my pc
Once done I will update threads
dark90 said:
You are right i tried and didnt work too
Click to expand...
Click to collapse
raziel zarafan said:
Maybe something is wrong bro
Click to expand...
Click to collapse
Rajeev said:
Not working for me too.. I think some problems with the smali file .. Waiting for OP's replay
Click to expand...
Click to collapse
Brothers The Tut got updated
with new settings smali
i tough smali will make you confused so not provided
any how there are three ways and now its your wish
1.Smali
2.Smali with no Id
or the app control
Hello guys
After a long time here is a new Guide
Thanks to @kingdj and dedy (my friends)
a ParaS.H.I.T team
We worked for months spent sleepless nights on this mod
This mod got extinct on 4.4 seems lol
Now we successfully done till MM
This works for all variety of devices (samsung/sony/ all devices running MM )
Sony theme works so no worries
Check the Video on how it look like
Requirements:-
1. Make sure you had SuperUserMod
2. SystemUI.apk (deodexed)
3. Settings.apk (deodexed)
4. TickleMyAndroid by @Ticklefish or Advanced APK Tool
Start:- (also included with 3 Dot Menu)
1. Download this View attachment SystemUI.apk.zip
2. Decompile SystemUI.apk
3. Merge the complete files to your SystemUI.apk (no worries)
4. Open systemui.apk/res/values/colors.xml
add these
Code:
<color name="status_bar_background_opaque">@color/system_bar_background_opaque</color>
<color name="status_bar_background_semi_transparent">@color/system_bar_background_semi_transparent</color>
<color name="status_bar_background_transparent">@color/system_bar_background_transparent</color>
<color name="navigation_bar_background_opaque">@color/system_bar_background_opaque</color>
<color name="navigation_bar_background_semi_transparent">@color/system_bar_background_semi_transparent</color>
<color name="navigation_bar_background_transparent">@color/system_bar_background_transparent</color>
<color name="keyguard_default_primary_text_color">#ffffffff</color>
<color name="keyguard_default_secondary_text_color">#b3ffffff</color>
<color name="keyguard_default_icon_color">#ffffffff</color>
5. Compile and decompile
6. Compare Public ids and replace or Use this Amazing tool Public ID Converter by @loserskater as this tool replaces IDS
The Remain part continued in next post
SystemUI part 2
Continuation
1. Open SystemUI.apk/smali/com/android/systemui/statusbar/phone/PhoneStatusBar.smali
look for this code
Code:
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/systemui/statusbar/phone/PhoneStatusBar$DozeServiceHost;,
After this line
Code:
Lcom/android/systemui/statusbar/phone/PhoneStatusBar$DozeServiceHost;,
Add this Annotation
Code:
Lcom/android/systemui/statusbar/phone/PhoneStatusBar$100000023;,
Find this
Code:
# static fields
Below that add this
Code:
.field public static mExpandedVisible:Z
Find this line and Delete
Code:
.field mExpandedVisible:Z
Find this
Code:
# instance fields
Below add these lines
Code:
.field private mOverrideIconColor:I
.field private mPreviousOverrideIconColor:I
1.2. Now Find this method
Code:
.method public constructor <init>()V
find this line (v3 may vary)
Code:
iput v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNaturalBarHeight:I
Below add these lines
Code:
iput v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPreviousOverrideIconColor:I
iput v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mOverrideIconColor:I
1.3 Find this method
Code:
.method private addNavigationBar()V
Before that method add these methods
Code:
.method static synthetic access$L1000016(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)I
.locals 1
iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPreviousOverrideIconColor:I
return v0
.end method
.method static synthetic access$L1000017(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;)I
.locals 1
iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mOverrideIconColor:I
return v0
.end method
.method static synthetic access$S1000016(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;I)V
.locals 0
iput p1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPreviousOverrideIconColor:I
return-void
.end method
.method static synthetic access$S1000017(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;I)V
.locals 0
iput p1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mOverrideIconColor:I
return-void
.end method
1.4 now you need to change Instance to Static
Using Notepad++ find this mExpandedVisible:Z
so you get similar lines like this
Code:
[COLOR="red"]i[/COLOR]get-boolean v0, [COLOR="Blue"]p0,[/COLOR] Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->[COLOR="red"]mExpandedVisible:Z[/COLOR]
In the above line do changes
Replace iget-boolean to sget-boolean and delete blue p0,
and it look like this after Edit
Code:
[COLOR="Red"]s[/COLOR]get-boolean v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;-[COLOR="red"]>mExpandedVisible:Z[/COLOR]
So like this you need to change them (Around 8 need to be changed )
Comparing files are available below
1.5 Find this method
Code:
.method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
at the end of that method find this line
Code:
invoke-static {v4, v5}, Landroid/view/ThreadedRenderer;->overrideProperty(Ljava/lang/String;Ljava/lang/String;)V
After that line add these lines
Code:
const/4 v2, 0x1
new-array v2, v2, [Lcom/android/systemui/statusbar/phone/BarBackgroundUpdater$UpdateListener;
const/4 v3, 0x0
new-instance v4, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$100000023;
move-object/from16 v0, p0
move-object/from16 v1, p0
invoke-direct {v4, v0, v1}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$100000023;-><init>(Lcom/android/systemui/statusbar/phone/PhoneStatusBar;Ljava/lang/Object;)V
aput-object v4, v2, v3
invoke-static {v2}, Lcom/android/systemui/statusbar/phone/BarBackgroundUpdater;->addListener([Lcom/android/systemui/statusbar/phone/BarBackgroundUpdater$UpdateListener;)V
Now find this method
Code:
.method public setSystemUiVisibility(II)V
in that find this lines
Code:
move-object/from16 v0, p0
iget-object v5, v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mIconController:Lcom/android/systemui/statusbar/phone/StatusBarIconController;
above move-object/from16 v0, p0
Add this line
Code:
sget-boolean v5, Lcom/android/systemui/statusbar/phone/BarBackgroundUpdater;->mStatusEnabled:Z
save and close PhoneStatusBar.smali
2. Search for this mExpandedVisible:Z in child files of PhoneStatusBar$xx.smali
in Sony i found in PhoneStatusBar$11.smali
so same
from
Code:
[COLOR="Red"]i[/COLOR]get-boolean v0, [COLOR="Blue"]v0,[/COLOR] Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->[COLOR="red"]mExpandedVisible:Z[/COLOR]
to
Code:
[COLOR="red"]s[/COLOR]get-boolean v0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->[COLOR="red"]mExpandedVisible:Z[/COLOR]
3. Now open SystemUI.apk/smali/com/android/systemui/statusbar/phone/StatusBarIconController.smali
find this line
Code:
.field private final mHandler:Landroid/os/Handler;
Replace that line to this
Code:
.field public final mHandler:Landroid/os/Handler;
Now save and Close all
Complie and replace
For compare Download this files View attachment dsb_compare_statusbar.zip
Now you need to place the Lib to you SystemUI.apk
Merge this lib to system/priv-app ( use any root explorer )
For 64 bit devices :- View attachment 64bit_lib_systemui_dsb.zip
For ARM / 32 bit devices :- View attachment arm_32bit_lib_systemui_dsb.zip
For x86_x64 devices :- View attachment 3940776
After Placing lib replace systemUI.apk and reboot tada
Video soon available
For settings Look for next post
settings.apk final part and Video
Settings Final part:-
1. Decompile Settings.apk
2. Download this View attachment settings.apk.zip
3. Extract and Merge it
4. Open Settings.apk/res/values/strings.xml
add these lines
Code:
<string name="dynamic_system_bars_category_title">Dynamic system bars</string>
<string name="dynamic_status_bar_title">Dynamic status bar</string>
<string name="dynamic_status_bar_summary">Automatically update the background of the status bar</string>
<string name="dynamic_navigation_bar_title">Dynamic navigation bar</string>
<string name="dynamic_navigation_bar_summary">Automatically update the background of the navigation bar</string>
<string name="dynamic_system_bars_gradient_title">System bar gradient</string>
<string name="dynamic_system_bars_gradient_summary">Overlay a gradient on the system bars</string>
<string name="dynamic_status_bar_filter_title">Darker status bar</string>
<string name="dynamic_status_bar_filter_summary">Overlay a darkening filter on the status bar</string>
5. Add this any where to your settings (display_settings.xml or your wish)
Code:
<PreferenceScreen android:icon="@drawable/kryp_dsb" android:id="@+id/dsb" android:title="Dinamic Engine" android:summary="Amaze Your view of Status and Navigation Bar" android:fragment="com.android.settings.kryp.Dsb" />
6. As this mod also contain 3 Dot mod to add settings Follow this post
7. Compile and Decomopile the Settings.apk
Compare ids (provided my public.xml) and replace the Ids
Recompile and replace
reboot and test
This is Part of My Rom Kryptonian
Dont Forget to mention me if you use My work
That feels me Happy
does this framework running just like as flat style colored bar module on xposed?
Intriguing. I'll have to keep an eye on this thread..
SystemUI.apk.zip not failed extrack?
ryandxter said:
does this framework running just like as flat style colored bar module on xposed?
Click to expand...
Click to collapse
Check video below bro
Ticklefish said:
Intriguing. I'll have to keep an eye on this thread..
Click to expand...
Click to collapse
Sure i can seen your Blink eye
vandiaz_sairavinz said:
SystemUI.apk.zip not failed extrack?
Click to expand...
Click to collapse
download again and try bro
Here is the Video On how the mod works
@venkat kamesh as always , your done best
DSB to lolipop bro...
Do you Have tutorial....
Nice, great work Sir VK
and thanks you.
excuse me,,could you please help me,.. im in step 1,after this one :
3. Merge the complete files to your SystemUI.apk (no worries)
4. Open systemui.apk/res/values/colors.xml
add these
5. Compile and decompile
6. Compare Public ids and replace or Use this Amazing tool Public ID Converter by @loserskater as this tool replaces IDS
I have read the tool,and we need Source smail file for compare IDs,,but could you please tell me which smail file in this file 1. Download this SystemUI.apk.zip is Source smail
Nice nice
Does this require UB? also, can I install on X system UI on a z3c? The framework res is from z3c
panzerox123 said:
Does this require UB? also, can I install on X system UI on a z3c? The framework res is from z3c
Click to expand...
Click to collapse
You don't need UB and it will work on that framework and systemUI
DavidMKD said:
You don't need UB and it will work on that framework and systemUI
Click to expand...
Click to collapse
Thanks!
Will it work if I used zervices.Jar SuperUserMod by Rajeev?
panzerox123 said:
Thanks!
Will it work if I used zervices.Jar SuperUserMod by Rajeev?
Click to expand...
Click to collapse
It should, just backup in case
DavidMKD said:
It should, just backup in case
Click to expand...
Click to collapse
Ok. Thanks!
And will it work with Xperia X SystemUI on z3c?
panzerox123 said:
Ok. Thanks!
And will it work with Xperia X SystemUI on z3c?
Click to expand...
Click to collapse
It should work on any SystemUI as long it is MM and it has those lines
DavidMKD said:
It should work on any SystemUI as long it is MM and it has those lines
Click to expand...
Click to collapse
Ok thanks!
Question: HOW DO I REPLACE PUBLIC IDS!! omg im hyperventilating..... sorry/// But how do I replace public ids?