[GUIDE][AOSP KK][4.4.2] 4 Way Reboot Menu (small fix changes) - Android Themes

This is just simple guide to add 4 way boot menu on reboot options. i'm already compare from @cargobr151 thread and finished my mod on 1 hours :cyclops:
I only make this tutorial and attach needed files. Everyone can use it way they want to, but give credit to me first :good:
Guide:
1. decompile your framework-res.apk first, then open public.xml (we really need this)
2. download attachment files first (we need it later)
3. decompile your android.policy.jar
4. now open your GlobalActions.smali and public.xml (from framework-res.apk) on the same time
5. Tricky part, be carefull on this part
6. find this line (another devices might have different number id on reboot button. You find right one by for example tracing reboot icon id from public.xml)
Code:
new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$6;
const v2, 0x108004d
const v3, 0x1040362
invoke-direct {v1, p0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$6;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
7. now, we find the smali to call reboot action on power menu. that is GlobalActions$6 (we no need to change line, cz it wont work)
8. now open the attach file, rename the files like the smali above and then open that files, rename all GlobalActions$6 lines like to smali above.
example: my att files called GlobalActions$6, and your smali to call reboot action mode is GlobalActions$7. so, you need to rename the att files to GlobalActions$7 and change all of name the smaliinside from GlobalActions$6 to be GlobalActions$7. i hope you understand, cz i'm bad on english to explanation
9. done for GlobalActions.smali, save it. now, move to GlobalActions$SinglePressAction.smali
10. before line "# instance fields" paste the code below
Code:
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
11. then after line "# direct methods" paste the code below
Code:
.method static constructor ()V
.registers 3
const/4 v0, 0x5
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Hot Boot"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Download"
aput-object v2, v0, v1
const/4 v1, 0x3
const-string v2, "Recovery"
aput-object v2, v0, v1
const/4 v1, 0x4
const-string v2, "Shutdown"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method
12. now, we done. save that file. then we move again to the GlobalActions$6 (the files we download earlier)
13. in file "GlobalActions$6.smali" there is id 0x1110010, you need to check that this id is same in your public.xml earlier. if not, chage the id with your id from public.xml, that id called config_sf_slowBlur
14. check also that ids 0x104000a="ok" -string and 0x1040000 = "cancel" -string matches in your public.xml
15. then, follow this guide http://forum.xda-developers.com/showpost.php?p=55357596&postcount=3
16. after done with all, save it. compile the jar file then flash. now you done
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"
}
Credits:
1. @kahvitahra for him guide 4 way reboot menu for JB
2. @cargobr151 for him mod Reboot mode for Nexus 5
NB:
Sorry if my english very very bad, forgive me :fingers-crossed:

Questions and Answer
A: it will work on any ROM running on Kitkat?
B: hmmm, not sure. but may will little bit different. just try it!
A: Hot reboot is not working!
B: Hot reboot uses command "pkill", so you need to have symlink for that command to the busybox binary. so, you need to download Busybox installer and instal the binary files to make it work

ok, i'm forgot to explaine small changes
1. open your GlobalAction$6.smali and GlobalAction$6$1.smali (from my att files)
2. find this line (line 74)
Lcom/android/internal/policy/impl/GlobalActions;->access$000(Lcom/android/internal/policy/impl/GlobalActionsLandroid/content/Context;
and this line (line 158)
Lcom/android/internal/policy/impl/GlobalActions;->access$000(Lcom/android/internal/policy/impl/GlobalActionsLandroid/content/Context;
3. now you need to change access$000 with your code from GlobalActions.smali (from your android.policy.jar). just find access$000 from your globalactions.smali, then your code must be like this
Code:
.method static synthetic access$000(Lcom/android/internal/policy/impl/GlobalActions;)Landroid/content/Context;
.registers 2
.parameter "x0"
.prologue
.line 94
iget-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mContext:Landroid/content/Context;
return-object v0
.end method
if not, just find this line Lcom/android/internal/policy/impl/GlobalActions;->mContext:Landroid/content/Context; and you'll get your access code
4. replace my code access$000 to your code access
example: my code is access$000 , and your code is access$200. just replace 000 to be 200
5. do it same thing on GlobalActions$6$1.smali. just replace access$000 to your access code

how to add screenshoot on power menu mastah ??

cleverior.ipul said:
how to add screenshoot on power menu mastah ??
Click to expand...
Click to collapse
check this out master http://forum.xda-developers.com/showpost.php?p=52943436&postcount=219
just download 2 attach files and compare with yours

i got errors
can you help me sir about my error's
thanks in advance

HELP master
i got issue can u help me master

tryman87 said:
i got issue can u help me master
Click to expand...
Click to collapse
maybe you miss something, try to rewrite again from begining sir

Done remodding
i start from scratch again but same result.. i already check compared my codes to your tuts but same output ... :crying::crying::crying:

Bug fix
i change the provided method on singlepressaction
.method static constructor ()V
to
.method static constructor <clinit>()V
recompile and success ..
thanks for this tutorial
:laugh:

tryman87 said:
i change the provided method on singlepressaction
.method static constructor ()V
to
.method static constructor <clinit>()V
recompile and success ..
thanks for this tutorial
:laugh:
Click to expand...
Click to collapse
nice. on some case, you need to improvise with your smali to make it works

Any idea for lollipop?

Do we have a tutorial for JB 4.2.2 sir?

ocoot said:
2. download attachment files first (we need it later)
Click to expand...
Click to collapse
You did not explained if these files are copies to the smali folder. the three files from the attached zip

thanks mastah, work on cm11

Related

{TUTORIAL}[How To] 4-Way Reboot + Theminig MediaTeK Devices - MTK & Low End Device

{TUTORIAL}[How To] 4-Way Reboot + Theminig MediaTeK Devices - MTK & Low End Device
Hello Everyone,
First Of All and Everything, Let me Thank Some People First To made it possible what I am posting Today.
Credits​@iBotPeaches - Without Him Decompiling and Recompiling any apk is a dream. So we must thank him for this (ApkTool).
@Ticklefish - For His Wonderful Tool TMA. Just loving to work with that at ease,
@Adi Aisiteru Reborn - A Wonderful Person, Very Helpful and have so many nice guides to go through and learn.
@majdinj- A wonderful Guide to get 4-way reboot method.
@bombaybadboy - A nice person and a really a nice contributor to this community.
@joehanh88 - A Good Guide to follow and will help you in everything you do.
@akash akya- A good friend who helped me in doing some nice thing for MediaTek Device and So many guides are also by him to follow with.
@ XDA Forum - Can't Say anything, As Its my school and being a student I will never like to hear anything wrong related to it.
@ To All Other Dev Who Made It possible or If I am including anything from yours so please PM to mention your name in Credits. Please....
Now Let's Star With this Guide :-
-: Transparent Status bar & Notification Full Down:-
​
The Most Common thing to get first but then also a difficult thing to figure it out.
Decompile your SystemUI.apk and go to SystemUI/res/values--
So the First thing is Changing the "Drawables.xml" -
Find this
Code:
<item type="drawable" name="status_bar_background">#[COLOR=Red]3f000000[/COLOR]</item>
Change this RED Values with anything that you want to as accordingly with the HEX Color values.
Wait we are not done with that.
Now Copy these lines at the end of drawable before this line "</resources>"
Code:
<item type="drawable" name="notification_header_bg">#[COLOR=Red]88000000[/COLOR]</item>
<item type="drawable" name="notification_panel_bg">#[COLOR=Red]88000000[/COLOR]</item>
<item type="drawable" name="status_bar_bg_tile">#[COLOR=Red]00000000[/COLOR]</item>
Again Same Change RED values with what your need is.
Now Open "Colors.xml"
and change this line -
Code:
<color name="notification_panel_solid_background">#[COLOR=Red]3f000000[/COLOR]</color>
The Transparency Values are like :-
Code:
#00000000 - black with 100% transparency
#3F000000 - black with 75% transparency
#7F000000 - black with 50% transparency
#BF000000 - black with 25% transparency
Now You need to find some ".9.png" and delete it.
So Go to - SystemUI/res/drwable-hdpi (as per the resolution of your devices).
Notification_panel_bg.9.png
Status_bar_bg_tile.9.png
Notification_header_bg.9.png
Delete this image where ever you find it in your SystemUI.apk
"Notification_panel_bg.9.png"
Deleting this will give you your notification panel transparency.
Now Lets Move To Editing Smali. So now go to SystemUI/smali/com/android/systemui/statusbar/phone/
And Open "PhoneStatusBar$FastColorDrawable.smali"
Find this
Code:
.parameter "canvas"
And in that method change this line
Code:
iget v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$FastColorDrawable;->mColor:I
To This
Code:
const v0, 0x[COLOR=Red]00000000[/COLOR]
. Again change RED to the transparency level to suit your need.
Now Decompile your "android.policy.jar"
And go to android.poliy.jar.out/smali/com/android/internal/policy/impl/---
Open "PhoneWindowManager.smali"
There do like mentioned below.
Delete RED Lines
Code:
.line 2627 ------*******
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->bottom:I ------ Find This line.
[COLOR=Red]
.line 3061
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
.line 3063
:goto_1a
return v0
.line 3062
:cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_26
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
goto :goto_1a
[/COLOR]
.line 3063 ------- *****This line number can be different in yours .
:cond_26
const/4 v0, 0x0
[COLOR=Blue]goto :goto_1a[/COLOR] -------- Change this to "[COLOR=Blue]return v0[/COLOR]"
.end method
Make Sure that the line marked with "******" will have a difference of 3.
So After Doing this it will look like this
Code:
.line 2627
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->bottom:I
.line 2630
:cond_1
const/4 v0, 0x0
return v0
.end method
Now Recompile your SystemUI.apk & android.policy.jar and flash it.
4-Way Reboot Menu - Thanks to majdinj sir​
Decompile Your "android.policy.jar"
Go To android.poliy.jar.out/smali/com/android/internal/policy/impl/
Open GlobalActions$3.smali and find this-***
Code:
invoke-interface {v0, v1}, Landroid/view/WindowManagerPolicy$WindowManagerFuncs;->reboot(Z)V
If its there then proceed and if not then find above line in all files with name "GlobalActions$#.smali" where "#" will be number.
Ok you find that so lets proceed.
Now in the same folder open "GlobalActions.smali"
And Change the lines (There will be two lines only) -
Code:
Lcom/android/internal/policy/impl/GlobalActions$3
Please Note :- You have to find the number same as in which you find the above *** mentioned lines.
So please make sure for this.
Now Change the "3" or "#" to "99" where "#" is the number in which you find the *** lines.
Done That.
Now Open - "GlobalActions$SinglePressAction.smali"
And Do like given -
Add the BLUE lines in that like its given below
Code:
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/internal/policy/impl/GlobalActions;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x40a
name = "SinglePressAction"
.end annotation
[COLOR=Blue][COLOR=Black] -----------------------Make Sure the gap will be of 2(two) lines[/COLOR]
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;[/COLOR]
[COLOR=Blue][COLOR=Black] -----------------------Make Sure the gap will be of 2(two) lines[/COLOR][/COLOR]
# instance fields
.field private final mIcon:Landroid/graphics/drawable/Drawable;
Now Find "#direct methods"
and paste these lines just after this and whithout any gap between "#direct methods" and the lines you pasted.
Code:
.method static constructor <clinit>()V
.registers 3
const/4 v0, 0x4
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Normal Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Soft Reboot"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Hard Reboot"
aput-object v2, v0, v1
const/4 v1, 0x3
const-string v2, "Recovery"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method
Now Download the given zip file and extract it. Copy all the files of the zip to -
"android.poliy.jar.out/smali/com/android/internal/policy/impl/ here" (here=files downloaded from this guide).
Done That. Now Recompile it and Flash it. Make sure to make a backup before you flash any MOD.
You Successfully Modded these things then Don't Forget To Hit "THANKS" Button for all the persons mentioned in the "CREDITS" section and to Me Also p) and Rate This Thread 5 star.
If you Got in Trouble then post it here. I will be there to help you out. I work as machine but very Unfortunate to say that I am also a human being and I too have Office work, personal life, friends, families, etc. So please have patience. The Time I will see your post, I promise, I will try my best to help you out.
Need More Guides- Find those in post #3.
Want To See My Contributions [ SuperDroid-BOND ]
Though I know, I haven't contributed much to the Community, but here are few of my Works:-
Older Ones (Till 2015)
External Apps Modded :-
SlimKat Camera for CM11 & CM12 ROMs
ROM :-
TURBO-Zet™ ROM for Micromax A110
SLT-Nexus-TSUNAMI for Micromax A110
SLT-HYBRID-Rainbow for Micromax A110
RECOVERY :-
Carliv Touch Recovery & CWM Recovery 6.0.4.0 for Micromax A110 | Cynus T2 | Wiko Cing King
Cannibal Open Touch [COT] Recovery for Micromax A110 | Cynus T2 | Wiko Cing King
MODS :-
1) Sony Xperia Small App For 4.2.2
2) Sony Small Apps For 4.1.1
3) The Hybrid-UI MOD
4) The Transparency MOD
5) The Lockscreen MOD
GUIDES :-
1) The Power Menu + Screenshot GUIDE
2) The 4-Way Reboot Menu Guide
3) The Extra Theme to Device and Moving Toggles to Bottom
#@# My Dev-Host Account
Newer Ones [Since 2017]
MODs :-
1) Sultan SnapCam
ROMs :-
1) Vanir AOSP for OnePlus 3/T Unified
2) ColtOS for OnePlus 3/T Unified
Usefull Links - For MediaTek Buddies & Other Low End Devices
1) MTK Referrence Thread By @akash akya
2) Moving Toggles To the Bottom of Pull Down Menu By BOND1987.
More Will be Added After wards. Just Have Patience......:victory::victory::victory:
BOND1987 said:
1) MTK Referrence Thread By @akash akya
2) Moving Toggles To the Bottom of Pull Down Menu By BOND1987.
More Will be Added After wards. Just Have Patience......:victory::victory::victory:
Click to expand...
Click to collapse
good one... :good:
small tip, also make sure in dimensions (res/values/dimen.xml) :
Code:
<item type="dimen" name="status_bar_icon_drawing_alpha">100.0%</item>
else transparency look bit odd...
Nice work m8 and a well put together guide, here is your first 5☆ :thumbup:
Sent from my GT-I9100 using xda premium
bombaybadboy said:
Nice work m8 and a well put together guide, here is your first 5☆ :thumbup:
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
All of your works sir but with MTK modification.
akash akya said:
good one... :good:
small tip, also make sure in dimensions (res/values/dimen.xml) :
Code:
<item type="dimen" name="status_bar_icon_drawing_alpha">100.0%</item>
else transparency look bit odd...
Click to expand...
Click to collapse
Will add that also brother. I know it's auto dimming feature by "daxgirl".
""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....""
Hi Bond, Very nice guide.. Now i'll also give it a try.. :good:
Implementing Auto-Close SystemUI feature
@ Devs @BOND1987 , @akash akya ,
There is no need to edit any thing else but only systemuiservice.smali.....
I have taken these resources from Suvi v12 rom by bsuhas. So actual credits to bsuhas
Just Replace your entire OnClick Method by the below method:-
Code:
[B][COLOR="black"].method public [COLOR="red"]SettingsButton[/COLOR](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, "[COLOR="Red"]com.android.settings[/COLOR]"
const-string v2, "[COLOR="red"]com.android.settings.Settings[/COLOR]"
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;
[COLOR="red"]invoke-virtual {v0}, Landroid/app/StatusBarManager;->collapse()V[/COLOR]
.line 1720
return-void
.end method[/COLOR][/B]
and then make the following changes
* replace red ones with the following -
in the 1st line, give any name to the button u want to define . eg:- .method public ProfileButton(Landroid/view/ViewV
in const-string v1, " * put target class name here*
in const - string v2, " * put the target class name as well as an activity to call it *
for eg:-
in const - string v1 ----- target class is to call the complete app ---------> com.android.contacts
and in const - string v2 ----- add package name + an activity to call it --------> com.android.contacts.activities.PeopleActivity
Lets take an example for defining a method and calling it . i'll call Settings here
Code:
.method public [COLOR="red"]settingsButton[/COLOR](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, "[COLOR="red"]com.android.settings[/COLOR]"
const-string v2, "[COLOR="red"]com.android.settings.Settings[/COLOR]"
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;->collapse()V
.line 1720
return-void
.end method
after this we have to call it on clicking a tile . so lets define it in the quickpanel_quick_settings_space.xml
Add this wherever you want the tile to appear .
Code:
<RelativeLayout android:id="@id/settings_button" android:background="@drawable/tile_toggle" android:layout_width="125.0px" android:layout_height="150.0px" android:layout_weight="1.0">
<Button android:layout_gravity="center_horizontal" android:background="@drawable/set" android:layout_width="wrap_content" android:layout_height="wrap_content" [COLOR="Red"][SIZE="4"]android:onClick="settingsButton"[/SIZE][/COLOR] />
<TextView android:textSize="14.0dip" android:textColor="#ffffffff" android:gravity="center" android:background="#00000000" android:layout_width="240.0px" android:layout_height="wrap_content" android:layout_marginBottom="3.0px" android:text="Settings" android:singleLine="true" android:layout_alignParentBottom="true" />
</RelativeLayout>
Video to Confirm it working. :highfive:
Sorry if the above explaination is too long :fingers-crossed::fingers-crossed:
easy & nice tut...
@BOND1987
-: Transparent Status bar & Notification Full Down:-
Click to expand...
Click to collapse
4-Way Reboot Menu - Thanks to majdinj sir
Click to expand...
Click to collapse
I've successfully made my own transparent statusbar & 4 way rebooter according to ur guide & works very charm on my stock deodex rom.
thanks alot bro... :good::good:
1 question: how to increase statusbar height?
sir
recovery reboot doesn't work please help
Hi, I tried the 4-way reboot menu and it just replaced the shutdown function on the dialog box. It says reboot, but when I tap it, phone shutsdown. I'm on MT6575 running GB 2.3.6 which doesn't have reboot/restart function.
iZLeeP said:
Hi, I tried the 4-way reboot menu and it just replaced the shutdown function on the dialog box. It says reboot, but when I tap it, phone shutsdown. I'm on MT6575 running GB 2.3.6 which doesn't have reboot/restart function.
Click to expand...
Click to collapse
OK brother,
Upload you android policy. Jar and I'll try to solve this in my free time.
WinchyHanepp said:
recovery reboot doesn't work please help
Click to expand...
Click to collapse
Brother,
Regarding your problem, I asked my ""MAGIC BOWL"" that what's the problem, but....
Come on Guys,
I'm not a astrologer to judge what's gone wrong. I need logs and apps for checking what's the problem.
Sent from my A110 using Tapatalk
SuperDroid-BOND said:
OK brother,
Upload you android policy. Jar and I'll try to solve this in my free time.
Attached file as requested. Thanks mate.
Click to expand...
Click to collapse
Hey @SuperDroid-BOND sir... I tried for transparency but when i recompile the apk then gets this error.. Please can you help me.. Hope you will help me..
See error here :::-
{
"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"
}
Abhinav_Rocks said:
Hey @SuperDroid-BOND sir... I tried for transparency but when i recompile the apk then gets this error.. Please can you help me.. Hope you will help me..
See error here :::-
Click to expand...
Click to collapse
Brother,
You have mentioned notification_header_bg two times in your drawable.xml inside the values folder.
Try deleting it. It will recompile easily.
Sent from my A110 using Tapatalk
SuperDroid-BOND said:
Brother,
You have mentioned notification_header_bg two times in your drawable.xml inside the values folder.
Try deleting it. It will recompile easily.
Sent from my A110 using Tapatalk
Click to expand...
Click to collapse
No sir.. Its only one time, See ::
Abhinav_Rocks said:
No sir.. Its only one time, See ::
Click to expand...
Click to collapse
If it's not there then how apktool is giving it's entries 2 times at line number 3 and 14.
If it's not there then get to compile it and if error occurs then give screenshot of the full error.
Sent from my A110 using Tapatalk
SuperDroid-BOND said:
If it's not there then how apktool is giving it's entries 2 times at line number 3 and 14.
If it's not there then get to compile it and if error occurs then give screenshot of the full error.
Sent from my A110 using Tapatalk
Click to expand...
Click to collapse
Sorry sir i m doing mistake.. really sorry.. mistake is that you say.. sorry again.. and now SystemUI.apk is recompiling done..
But in jar file recompiling this error, please help me out ::-
Here is my android.policy.jar file ::- Download
---------- Post added at 01:46 AM ---------- Previous post was at 12:54 AM ----------
Now trying once again.. working awesome.. Thanks a lot bro.. I m beginner and you are GURU of mine and i m CHELA.. I have learn so much from you.. Thanks again sir for this awesome thread with simple steps..
---------- Post added at 02:41 AM ---------- Previous post was at 01:46 AM ----------
Sir.. Can you please tell me whats the work of these lines.. please sir.. and check screen that i m right or wrong..?? If i m wrong then please guide me.. Thanks in advance sir..
Sir please reply.. its only take 2 mint.. Please..
SuperDroid /QUOTE said:
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99$1.smali[27,4] Error for input '.parameter': Invalid directive
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99$1.smali[42,4] Error for input '.parameter': Invalid directive
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99$1.smali[43,4] Error for input '.parameter': Invalid directive
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99$1.smali[42,15] mismatched input '"dialog"' expecting END_METHOD_DIRECTIVE
..\Decompiled_jar\android.policy\com\android\internal\policy\impl\GlobalActions$99.smali[78,4] Invalid literal value: 260. Low 16 bits must be zeroed out.
hmmm any advice?
Click to expand...
Click to collapse

[MOD][GUIDE][GB] WIFI & BT ON/OFF Switches on Settings ***HOT***

Hey dudes!
Ace-I Team is back with a new guide. One of the most advanced ICS Features now comes on Gingerbread! Admit it, Everyone has been attracted by this feature! That's why : THIS IS THE MOST WANTED GUIDE FOR GINGERBREAD DEVICES EVER!!
Wifi and bluetooth ON/OFF Switches on Settings!
Requirements :
-APK Multi Tool
-Notepad++
-Sources on the attachments
-High Smali & xml knowledge
-Brain
-Patience
Click to expand...
Click to collapse
Let's go!
PART I
1. Decompile Settings.apk
2. Extract the sources. Copy switch_holo_dark.xml from sources and paste it on drawable folder.
3. Copy the PNGs from the sources and paste them on drawable-mdpi folder.
4. Copy icon_checkbox_preference.xml from the sources and paste it on layout folder.
5. Go to res/values/styles.xml.
Paste this text on the end of the file before
Code:
<style name="Switch">
<item name="android:checkboxStyle">@style/Widget.CompoundButton.CheckBox.Holo.Dark</item>
</style>
<style name="Widget.CompoundButton.CheckBox.Holo.Dark" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/switch_holo_dark</item>
</style>
6. Go to res/values/public.xml
Paste this text on the end of he file before
Code:
<public type="layout" name="icon_checkbox_preference" id="0x7f03005a" />
</resources>
7. Go to xml/Settings.xml
Replace this :
{
"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"
}
With this :
Code:
<com.android.settings.IconCheckBoxPreference android:title="WIFI" android:key="toggle_wifi" settings:icon="@drawable/ic_settings_wireless" />
<com.android.settings.IconCheckBoxPreference android:title="Bluetooth" android:key="toggle_bluetooth" settings:icon="@drawable/ic_settings_bluetooth2" />
After editing it will look like this :
8. Recompile Settings.
Click to expand...
Click to collapse
PART II
1. Decompile Settings.apk again
2. Go to smali/com/android/settings
3. Copy icon_checkbox_preference.smali from the source on the that folder.
4. Open R$Styleable
- Find :
Code:
# static fields
.field public static final BatteryHistoryChart:[I
Below that paste :
Code:
.field public static final IconPreference:[I
.field public static final IconPreference_icon:I
Click to expand...
Click to collapse
- Find :
Code:
const v1, 0x7f010001
aput v1, v0, v2
Below that paste :
Code:
sput-object v0, Lcom/android/settings/R$styleable;->IconPreference:[I
.line 6450
new-array v0, v3, [I
const v1, 0x7f010001
aput v1, v0, v2
After the edit it will look like this :
Code:
const v1, 0x7f010001
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->IconPreference:[I
.line 6450
new-array v0, v3, [I
const v1, 0x7f010001
aput v1, v0, v2
sput-object v0, Lcom/android/settings/R$styleable;->IconPreferenceScreen:[I
Click to expand...
Click to collapse
5. Open Settings.smali
Below # instance fields paste this text :
Code:
.field private mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
.field private mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
2 Lines Above # instance fields paste this text :
Code:
# static fields
.field private static final KEY_TOGGLE_BLUETOOTH:Ljava/lang/String; = "toggle_bluetooth"
.field private static final KEY_TOGGLE_WIFI:Ljava/lang/String; = "toggle_wifi"
After edition it will look like this :
Code:
# static fields
.field private static final KEY_TOGGLE_BLUETOOTH:Ljava/lang/String; = "toggle_bluetooth"
.field private static final KEY_TOGGLE_WIFI:Ljava/lang/String; = "toggle_wifi"
# instance fields
.field private mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
.field private mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
.field private mIntentReceiver:Landroid/content/BroadcastReceiver
;
Click to expand...
Click to collapse
- Find :
Code:
invoke-virtual {p0, v4}, Lcom/android/settings/Settings;->addPreferencesFromResource(I)V
- Below that paste this text :
Code:
const-string v0, "toggle_wifi"
invoke-virtual {p0, v0}, Lcom/android/settings/Settings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v0
check-cast v0, Landroid/preference/CheckBoxPreference;
new-instance v1, Lcom/android/settings/wifi/WifiEnabler;
invoke-direct {v1, p0, v0}, Lcom/android/settings/wifi/WifiEnabler;->(Landroid/content/Context;Landroid/preference/CheckBoxPreference;)V
iput-object v1, p0, Lcom/android/settings/Settings;->mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
const-string v0, "toggle_bluetooth"
invoke-virtual {p0, v0}, Lcom/android/settings/Settings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v0
check-cast v0, Landroid/preference/CheckBoxPreference;
new-instance v1, Lcom/android/settings/bluetooth/BluetoothEnabler;
invoke-direct {v1, p0, v0}, Lcom/android/settings/bluetooth/BluetoothEnabler;->(Landroid/content/Context;Landroid/preference/CheckBoxPreference;)V
iput-object v1, p0, Lcom/android/settings/Settings;->mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
- Find :
Code:
.method protected onPause()V
- Replace the whole method with this method :
Code:
.method protected onPause()V
.locals 1
invoke-super {p0}, Landroid/preference/PreferenceActivity;->onPause()V
iget-object v0, p0, Lcom/android/settings/Settings;->mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
invoke-virtual {v0}, Lcom/android/settings/wifi/WifiEnabler;->pause()V
iget-object v0, p0, Lcom/android/settings/Settings;->mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
invoke-virtual {v0}, Lcom/android/settings/bluetooth/BluetoothEnabler;->pause()V
iget-object v0, p0, Lcom/android/settings/Settings;->mIntentReceiver:Landroid/content/BroadcastReceiver;
invoke-virtual {p0, v0}, Lcom/android/settings/Settings;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
.line 78
return-void
.end method
- Find :
Code:
.line 65
invoke-super {p0}, Landroid/preference/PreferenceActivity;->onResume()V
- Below that paste this text :
Code:
iget-object v1, p0, Lcom/android/settings/Settings;->mWifiEnabler:Lcom/android/settings/wifi/WifiEnabler;
invoke-virtual {v1}, Lcom/android/settings/wifi/WifiEnabler;->resume()V
iget-object v1, p0, Lcom/android/settings/Settings;->mBtEnabler:Lcom/android/settings/bluetooth/BluetoothEnabler;
invoke-virtual {v1}, Lcom/android/settings/bluetooth/BluetoothEnabler;->resume()V
Click to expand...
Click to collapse
8. Follow Part III by iamareebjamal
Click to expand...
Click to collapse
Part III : Adding switched and disabling signature check
Adding Buttons in Settings.apk by custom style and Disabling Signature Verification
If you were successful in accomplishing the above procedure. Be happy, but not too much because the key part is left, and that is - Adding those custom ICS Buttons in Settings by overriding the default GB tickview. Or else, you will get checkboxes instead of Switches. You don't wanna do that? Do you?
Enough talking let's roll
Part III (a)
1. Open AndroidManifest.xml located in decompiled Settings.apk
2. Find this:
Code:
<activity android:label="@string/settings_label_launcher" android:name="Settings"
3. Modify it like this:
Code:
<activity android:theme="@style/Switch" android:label="@string/settings_label_launcher" android:name="Settings"
It means you have to add android:theme="@style/Switch" between <activity and android:label="@string/settings_label_launcher"
4. Save the file.
5. Now, as you have edited the AndroidManifest.xml . Android system won't accept your app and refuse to load it as its signature should be changed.
So, sign the recompile the apk and sign it
6. But again, there's one little problem. Android doesn't load system apps with modified signatures for stability of OS, so your app will disappear from app drawer and if you try to open it from any other source, it will say "App isn't installed"
So?
So, sign ALL system apps and framework apps with same key
...OR...
Follow the workaround in (b) part
Click to expand...
Click to collapse
You may have accomplished the above thing but still something needs to be done to complete the procedure. Believe me, it's the last thing
Android System doesn't accept the apks that are signed by default. So we, here, will render that option obsolete by editing some files.
Let's start
Part III (b)
1. Pull services.jar from /system/framework/
2. Extract it's classes.dex and decompile it via my ROM Tolls
3. Go to com/android/server/PackageManagerService.smali
4. Open it and search for
Code:
.method checkSignaturesLP([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
5. Look below it, you should see something like this
Code:
.prologue
.line 1936
if-nez p1, :cond_1
6. Add this below .line 1936
Code:
const/4 v6, 0x0
return v6
Finally, it should look like this:
Code:
.method checkSignaturesLP([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.locals 7
.parameter "s1"
.parameter "s2"
.prologue
.line 1936
const/4 v6, 0x0
return v6
if-nez p1, :cond_1
7. Save the file and recompile classes.dex and then add it to services.jar
8. Now push services.jar and Settings.apk in their respective places and reboot the phone so that signature check changes are affected
9. Enjoy
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Sources
The source : http://www.mediafire.com/download.php?bvcj2fa8r1lv0h7
PNG source only :
- SGS3 : Adding ASAP
-JellyBean/Holo : Adding ASAP
F.A.Q
Q: SGS3 Switches are small even if the image is large enough?
Solution :
1. Go to Res/layout/icon_check box_preference.xml
2. Find android:layout_width="68.0 px"
3. Change it to "85.0 px"
4. Find android:layout_height="20.0px"
5. Change it to "40.0 px"
Actually changing those pixels will not resize the switch pngs. It will make height's and width's available space larger, therefore switches can be strechted easily on their original size.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Q: On Part II, when editing .method onPause()V, should I delete only the title "method on pause()V" or from method on pause to .end method?
Solution :
You must replace whole method. Delete the on pause()V method then place the code I have written on the same place.
Click to expand...
Click to collapse
Screenshots:
SGS3
Jelly Bean
​
Credits:
Biggest biggest thanks and full credits to b16h22 for making this awesome mod and his open source heart to share it with us and guiding us through on how to accomplish it and giving us permissions to make this thread
loSconosciuto for Signature Verification Disabling Guide
Click to expand...
Click to collapse
Sniper Killer for starting this initiative
iamareebjamal for fixing the AndroidManifest to display the switches in Settings and applying idea of signature verification
Click to expand...
Click to collapse
Ace-i Team for bringing this to you
More UI Changes for Ace-i... Thanks @Sniper Killer :good:
.....
Give a screenshot of those Wifi & BT ON/OFF Switches on Settings in the OP... :fingers-crossed:
brijeshep said:
More UI Changes for Ace-i... Thanks @Sniper Killer :good:
.....
Give a screenshot of those Wifi & BT ON/OFF Switches on Settings in the OP... :fingers-crossed:
Click to expand...
Click to collapse
Y u only Thank him
Wait till the guide is complete
brijeshep said:
More UI Changes for Ace-i... Thanks @Sniper Killer :good:
.....
Give a screenshot of those Wifi & BT ON/OFF Switches on Settings in the OP... :fingers-crossed:
Click to expand...
Click to collapse
SS on the OP.
And btw, thank areeb too as he found the fix of the image. Follow the tut later. I will upload the sources when areeb will complete editing his post.
Cant wait
Sent from my GT-S5830i using xda premium
This is what i am talking about ...wooohoo
All the devs from ace-i section Rockz
Nice team work .
Thanks for the guide.
Sent from my GT-S5830i using xda app-developers app
brijeshep said:
More UI Changes for Ace-i... Thanks @Sniper Killer :good:
.....
Give a screenshot of those Wifi & BT ON/OFF Switches on Settings in the OP... :fingers-crossed:
Click to expand...
Click to collapse
Brijeshep, next version of Ace-i-Sure. Could you put this mod on your next version ROM? I'm got feeling excited!
Hohoho . Guys! Where is the sourses????
Sent from my GT-S5830i using xda premium
misha1996 said:
Hohoho . Guys! Where is the sourses????
Sent from my GT-S5830i using xda premium
Click to expand...
Click to collapse
**** my computer is broken I will fix it today and will upload sources
Sent from my GT-S5830i using Tapatalk 2
If we edit AndroidManifest.xml we must resign all apk of the rom.
If we not do it, app be work before first wipe. And it will work, if we install it from stokk app(settings for example) if we install it for clean system it will say "not installed"
Sent from my GT-S5830i using xda premium
misha1996 said:
If we edit AndroidManifest.xml we must resign all apk of the rom.
If we not do it, app be work before first wipe. And it will work, if we install it from stokk app(settings for example) if we install it for clean system it will say "not installed"
Sent from my GT-S5830i using xda premium
Click to expand...
Click to collapse
Read my post again.
PS - Part III (b) to be specific
Oh....im noob noob noobest in english:banghead:
And i understand only part A
Else....is it be work with stock settings.apk??
Sent from my GT-S5830i using xda premium
---------- Post added at 06:53 PM ---------- Previous post was at 06:50 PM ----------
Also....can try do update-script with textkey, which be resign all apk, what install
Sent from my GT-S5830i using xda premium
misha1996 said:
If we edit AndroidManifest.xml we must resign all apk of the rom.
If we not do it, app be work before first wipe. And it will work, if we install it from stokk app(settings for example) if we install it for clean system it will say "not installed"
Sent from my GT-S5830i using xda premium
Click to expand...
Click to collapse
As @iamareebjamal has already mentioned,
iamareebjamal said:
Android System doesn't accept the apks that are signed by default. So we, here, will render that option obsolete by editing some files.
Click to expand...
Click to collapse
I'd suggest you to read Part III (b) of the guide.
Hope you got your answers.
What about stock settings.apk?
Sent from my GT-S5830i using xda premium
misha1996 said:
What about stock settings.apk?
Sent from my GT-S5830i using xda premium
Click to expand...
Click to collapse
Not tested but you can give it a try.
Sent from my GT-S5830i using Tapatalk 2

[Guide][T/V]How to make your lockscreen FULL SCREEN

As we all know,the lockscreen of Xperia T and V is not full screen ,there's my method to make a full screen lokscreen.
Step1:decomplie your android.policy.jar use apktool
Step2: open KeyguardViewManager.smali use notepad2 or other editor,add the following code at the very end of this file
Code:
.method public setFullscreen(Z)V
.locals 2
iget-object v1, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
if-nez p1, :cond_0
const/4 v0, 0x1
:goto_0
invoke-virtual {v1, v0}, Landroid/widget/FrameLayout;->setFitsSystemWindows(Z)V
iget-object v0, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
invoke-virtual {v0}, Landroid/widget/FrameLayout;->requestFitSystemWindows()V
return-void
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
Step3: open LockPatternKeyguardView.smali add the following code at the very end of this file
Code:
.method private isFullscreen(Lcom/android/internal/policy/impl/KeyguardScreen;)Z
.locals 3
const/4 v1, 0x0
instance-of v2, p1, Lcom/android/internal/policy/impl/ExtendedKeyguardScreen;
if-eqz v2, :cond_0
move-object v0, p1
check-cast v0, Lcom/android/internal/policy/impl/ExtendedKeyguardScreen;
invoke-interface {v0}, Lcom/android/internal/policy/impl/ExtendedKeyguardScreen;->isFullscreen()Z
move-result v1
:cond_0
return v1
.end method
Step4: open KeyguardWindowController.smali add the code below
Code:
.method public abstract setFullscreen(Z)V
.end method
Step5: add the ExtendedKeyguardScreen.smali (attachment) to android.policy
Setp6:compile the jar file
Setp7:replace the UxpNxtLockScreen.apk with the one from LT29
enjoy!
all the best
Untitled Xperia Team
thanks for dis mate.... bin wanting dis for a while!!!
Doesn't work on my lt30p, get bootloops...
sj8023ld said:
As we all know,the lockscreen of Xperia T and V is not full screen ,there's my method to make a full screen lokscreen.
Step1:decomplie your android.policy.jar use apktool
Step2: open KeyguardViewManager.smali use notepad2 or other editor,add the following code at the very end of this file
Code:
.method public setFullscreen(Z)V
.locals 2
iget-object v1, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
if-nez p1, :cond_0
const/4 v0, 0x1
:goto_0
invoke-virtual {v1, v0}, Landroid/widget/FrameLayout;->setFitsSystemWindows(Z)V
iget-object v0, p0, Lcom/android/internal/policy/impl/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
invoke-virtual {v0}, Landroid/widget/FrameLayout;->requestFitSystemWindows()V
return-void
:cond_0
const/4 v0, 0x0
goto :goto_0
.end method
Step3: open LockPatternKeyguardView.smali add the following code at the very end of this file
Code:
.method private isFullscreen(Lcom/android/internal/policy/impl/KeyguardScreen;)Z
.locals 3
const/4 v1, 0x0
instance-of v2, p1, Lcom/android/internal/policy/impl/ExtendedKeyguardScreen;
if-eqz v2, :cond_0
move-object v0, p1
check-cast v0, Lcom/android/internal/policy/impl/ExtendedKeyguardScreen;
invoke-interface {v0}, Lcom/android/internal/policy/impl/ExtendedKeyguardScreen;->isFullscreen()Z
move-result v1
:cond_0
return v1
.end method
Step4: open KeyguardWindowController.smali add the code below
Code:
.method public abstract setFullscreen(Z)V
.end method
Step5: add the ExtendedKeyguardScreen.smali (attachment) to android.policy
Setp6:compile the jar file
Setp7:replace the UxpNxtLockScreen.apk with the one from LT29
enjoy!
all the best
Untitled Xperia Team
Click to expand...
Click to collapse
Good work, please could you indicate the files to be modified in the file UxpNxtLockScreen.apk
thanks
working like a charm here..... just modded tha lockscreen to meet my needs though!
{
"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"
}
me n my gf.....
thanks for showing a result, but i'm not sure if i get it. for me it seems not fullscreen. isnt it your status bar at the top?
shown status bar=no fullscreen?
immerblind said:
thanks for showing a result, but i'm not sure if i get it. for me it seems not fullscreen. isnt it your status bar at the top?
shown status bar=no fullscreen?
Click to expand...
Click to collapse
seems dats how it works........ maybe OP ll give answers & how to hide status bar!
It`s seems this mod is for TX but not for T.
I have made android.policy.jar using this guide and have extracted android.policy.odex for the odex ROM on my Xperia T, and
the phone boots without problem with my (native) lockscreen - non-fullscreen. But with attached UxpNxtLockScreen.apk i have bootloops.
It seems for Xperia T we have to use another UxpNxtLockScreen.apk with the other parameters inside. Which one ? ...)
alex_307 said:
It`s seems this mod is for TX but not for T.
I have made android.policy.jar using this guide and have extracted android.policy.odex for the odex ROM on my Xperia T, and
the phone boots without problem with my (native) lockscreen - non-fullscreen. But with attached UxpNxtLockScreen.apk i have bootloops.
It seems for Xperia T we have to use another UxpNxtLockScreen.apk with the other parameters inside. Which one ? ...)
Click to expand...
Click to collapse
Odex rom? dnt think it ll work buddy...
nreuge said:
Doesn't work on my lt30p, get bootloops...
Click to expand...
Click to collapse
even on my lt30p
maybe, the file that causes the bootloop is ExtendedKeyguardScreen.smali... any solution?
alex_307 said:
It`s seems this mod is for TX but not for T.
I have made android.policy.jar using this guide and have extracted android.policy.odex for the odex ROM on my Xperia T, and
the phone boots without problem with my (native) lockscreen - non-fullscreen. But with attached UxpNxtLockScreen.apk i have bootloops.
It seems for Xperia T we have to use another UxpNxtLockScreen.apk with the other parameters inside. Which one ? ...)
Click to expand...
Click to collapse
juniorbryant said:
even on my lt30p
maybe, the file that causes the bootloop is ExtendedKeyguardScreen.smali... any solution?
Click to expand...
Click to collapse
Same for me, with attached UxpNxtLockScreen.apk i get bootloops...
Update :
- Flashing UxpNxtLockScreen.apk alone does not cause bootloops
- Flashing moded android.policy.jar alone does not cause bootloops
- Flashing both causes bootloops...
nreuge said:
Same for me, with attached UxpNxtLockScreen.apk i get bootloops...
Update :
- Flashing UxpNxtLockScreen.apk alone does not cause bootloops
- Flashing moded android.policy.jar alone does not cause bootloops
- Flashing both causes bootloops...
Click to expand...
Click to collapse
guess dia is something wrong.
whalesplaho said:
guess dia is something wrong.
Click to expand...
Click to collapse
During compiling android.policy.jar, I get the warning : "Could not find ressources". Maybe the cause of the problem...
It's normal it cannot find resources, because there are no resources, because it's jar, not apk.
i do use ApkMultiTool to decompile jar files...... nreuge yhu mind posting yur steps here?
i use Thebyani_baksmail-smali tool and i obtain bootloop without any error during compiling of android.policy.jar...
whalesplaho said:
i do use ApkMultiTool to decompile jar files...... nreuge yhu mind posting yur steps here?
Click to expand...
Click to collapse
I use apktool and get no error while decompiling and recompiling.
If someone succeed in getting full lock screen with no bootloops applying this how-to on xperia T, just tell me.
nreuge said:
I use apktool and get no error while decompiling and recompiling.
If someone succeed in getting full lock screen with no bootloops applying this how-to on xperia T, just tell me.
Click to expand...
Click to collapse
lets see whether another person ll get it working....
whalesplaho said:
lets see whether another person ll get it working....
Click to expand...
Click to collapse
This MOD( http://forum.xda-developers.com/showthread.php?t=2421770 ) works on my T, Only there is no navi bar when on Vertical screen.
davidment said:
This MOD( http://forum.xda-developers.com/showthread.php?t=2421770 ) works on my T, Only there is no navi bar when on Vertical screen.
Click to expand...
Click to collapse
no nav bar in landscape mode here but status bar didnt occupy all, dere was a little space remaining!

[GUIDE] [MOD] Add KitKat Easter Egg in your ROM [2.3+]

Hey Guys, I am back with another guide and this time i will show you how to add KitKat Easter Egg in your ROM.
Disclaimer: I and XDA are not responsible for the damage of your phone. Take necessary backup if you are indoubt.
Requirements:
framework.jar from your ROM
Know how to decompile APK
Easter Egg app attached below
Let's start
1. Decompile framework.jar
2. Go to smali/com/android/internal/app
and open PlatLogoActivity.smali
3. Select all and replace it with this code:
Code:
.class public Lcom/android/internal/app/PlatLogoActivity;
.super Landroid/app/Activity;
.source "PlatLogoActivity.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Landroid/app/Activity;-><init>()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.registers 7
.parameter "savedInstanceState"
.prologue
.line 16
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 18
new-instance v1, Landroid/content/Intent;
const-string v2, "android.intent.action.MAIN"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 19
.local v1, intent:Landroid/content/Intent;
new-instance v2, Landroid/content/ComponentName;
const-string v3, "ss.ms1410.kitkateasteregg"
const-string v4, "ss.ms1410.kitkateasteregg.PlatLogoActivity"
invoke-direct {v2, v3, v4}, Landroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v1, v2}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;
.line 23
:try_start_16
invoke-virtual {p0, v1}, Lcom/android/internal/app/PlatLogoActivity;->startActivity(Landroid/content/Intent;)V
:try_end_19
.catch Landroid/content/ActivityNotFoundException; {:try_start_16 .. :try_end_19} :catch_1d
.line 39
:goto_19
invoke-virtual {p0}, Lcom/android/internal/app/PlatLogoActivity;->finish()V
.line 41
return-void
.line 31
:catch_1d
move-exception v0
.line 35
.local v0, e:Landroid/content/ActivityNotFoundException;
const-string v2, "First install that app MuSaddiq told you to!"
const/4 v3, 0x0
invoke-static {p0, v2, v3}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v2
invoke-virtual {v2}, Landroid/widget/Toast;->show()V
goto :goto_19
.end method
4. Recompile framework.jar
Push it into system/framework
Set correct permissions(rw-r--r--)
5. Install this app by me, it contains the Easter Egg code and that smali above redirects to it:
Download:
For LDPI Devices
For HDPI Devices
For XHDPI Devices
6. Now go to your Settings and multiple tap on Android Version
{
"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"
}
Credits:
m4rinko2
iamareebjamal
Github Source
​
If you liked this MOD then just click here and here​
Reserved 01
Note: First you need to install Android 4.4's framework-res.apk to decompile KitKatEasterEgg.apk.
Change the letter K
To change the letter K follow the steps below
1. Decompile KitKatEasterEgg.apk
2. Go to smali/ss/ms1410/kitkateasteregg/
Open PlatLogoActivity.smali
3. Find
Code:
const-string v0, "K"
4. Change K to whatever your want.
5. Recompile and Sign the apk.
Change the ANDROID 4.4 Text
To change ANDROID 4.4 text follow the steps below
1. Decompile KitKatEasterEgg.apk
2. Go to smali/ss/ms1410/kitkateasteregg/
Open PlatLogoActivity.smali
3. Find
Code:
const-string v0, "ANDROID 4.4"
4. Change ANDROID 4.4 to whatever your want.
5. Recompile and Sign the apk.
Change the font
To change the font of letter K follow the steps below
1. Rename your font's file name to Roboto-Bold.
2. Decompile KitKatEasterEgg.apk
3. Copy and paste your font in assets folder
4. If asked to replace, click yes.
5. Recompile and Sign the apk.
To change the font of ANDROID 4.4 text follow the steps below
1. Rename your font's file name to Roboto-Light.
2. Decompile KitKatEasterEgg.apk
3. Copy and paste your font in assets folder
4. If asked to replace, click yes.
5. Recompile and Sign the apk.
Change the Android Logo
To change the Android Logo follow the steps below
1. Rename your Logo's file name to platlogo
2. Decompile KitKatEasterEgg.apk
3. Copy and paste your logo in res/drawable-nodpi folder
4. If asked to replace, click yes.
5. Recompile and Sign the apk.
Change the red background
To change the red background follow the steps below
1. Decompile KitKatEasterEgg.apk
2. Go to smali/ss/ms1410/kitkateasteregg/
Open PlatLogoActivity.smali
As the background color is in smali code so we can't use the hex color codes to change the bg color.
To get the color codes of smali use Android Color Converter.
Using Android Color Convertor:
Download and extract ACC.zip
Run ACC.
Paste the HEX color code in the HEX Tab.
Press the convert button.
It will automatically convert the hex color code into smali color code.
Now copy the smali color code from the SMALI Tab.
3. Find this line
Code:
.field static final BGCOLOR:I = [COLOR="Red"]-0x12E2DC[/COLOR]
Change the highlighted code(smali color code) to your code(smali color code)
4. Now find this line
Code:
const v0, [COLOR="red"]-0x12E2DC[/COLOR]
Again change the highlighted code(smali color code) to your code(smali color code)
5. Recompile and Sign KitKatEasterEgg.apk
Awesome job! I guess i don't have to sign the framework.jar Nd yeah will it work on CM7.2?
aniket.lamba said:
Awesome job! I guess i don't have to sign the framework.jar Nd yeah will it work on CM7.2?
Click to expand...
Click to collapse
No need to sign the framework.jar and I don't know about CM7.2 but there is no harm in trying.
MuSaddiq said:
No need to sign the framework.jar and I don't know about CM7.2 but there is no harm in trying.
Click to expand...
Click to collapse
Ok I'll try it right now.
aniket.lamba said:
Ok I'll try it right now.
Click to expand...
Click to collapse
It will surely work on CM7 rom....
Go ahead and try it
Nice work op
Wow! Awesome guide sir...
Here is my easter egg:
awesome guide frnd. I was waiting for it!!!!!!!!!
DC07 said:
Nice work op
Click to expand...
Click to collapse
GhostRider921 said:
Wow! Awesome guide sir...
Click to expand...
Click to collapse
kumar akarsh said:
awesome guide frnd. I was waiting for it!!!!!!!!!
Click to expand...
Click to collapse
Thank u everyone
Do I need to deodex first before using this guide? Sorry but I'm new to this.
Sent from my GT-S5300 using Tapatalk 2
If Galaxy y users ever get 4.0 then dont forget to try this app : http://forum.xda-developers.com/showthread.php?t=2569170
Its kitkat platlogo app for android 4.0+
luqman98 said:
Do I need to deodex first before using this guide? Sorry but I'm new to this.
Sent from my GT-S5300 using Tapatalk 2
Click to expand...
Click to collapse
Yes, u need to be deodexed.
Sent from my GT-I9192 using xda app-developers app
Very Nice Work
Nice Bro I like Your work:thumbup:
iamareebjamal said:
Very Nice Work
Click to expand...
Click to collapse
shadman0 said:
Nice Bro I like Your work:thumbup:
Click to expand...
Click to collapse
Thanks
good guide dude!!! Thanks!!
---------- Post added at 04:17 PM ---------- Previous post was at 04:13 PM ----------
please add instructions of how to decompile your kitkatapp ^_^ not all of us know how to decompile it.. thanks. :cyclops:
markmellarpes said:
please add instructions of how to decompile your kitkatapp ^_^ not all of us know how to decompile it.. thanks. :cyclops:
Click to expand...
Click to collapse
Why? Are you getting any error?
MuSaddiq said:
Why? Are you getting any error?
Click to expand...
Click to collapse
yup.. i dunno why.. there is no apktool.yml appearing.. error comes out when it is in the part of decompiling values xml
undefinedresobject: resource spec: 0x01030119
ill try to redownload the apk again
edit:same result ^_^
markmellarpes said:
yup.. i dunno why.. there is no apktool.yml appearing.. error comes out when it is in the part of decompiling values xml
undefinedresobject: resource spec: 0x01030119
ill try to redownload the apk again
edit:same result ^_^
Click to expand...
Click to collapse
I am really sorry, I totally forgot to tell that first you need to install Android 4.4's framework-res.apk to decompile this apk.
Btw i will add this in op too.

[guide][kk][aosp] replace progress dialog to pacbusydialog

PICTURE WILL EXPLAIN ALL THIS GUIDE ​
{
"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"
}
REQUIREMENTS:
1. FRAMEWORK-RES.APK
2. ANDROID.POLICY.JAR
3. FRAMEWORK.JAR
4. DOWNLOAD ATTACHMENT FILE
STEP 1: FRAMEWORK-RES.APK
1. decompile your framework-res.apk
2. download attachment file , exstract it and merge to your decompiled folder
3. open values/ids.xml and add this line below
Code:
<item type="id" name="busy_dlg_animation">false</item>
<item type="id" name="busy_dlg_title">false</item>
4. save and recompile your framework-res.apk
5. decompile the newly recompiled framework-res.apk and go to values/public.xml. open it and leave it, but keep it open (we need this later)
STEP 2: FRAMEWORK.JAR
1. decompile your framework.jar
2. download attachment, exstract it and merge to your decompiled folder
3. open BusyDialog.smali file
4. search for this and change it with the IDS you got earlier
Code:
0x103006f -> <public type="style" name="Theme.Holo.Dialog" id="0xxxxxxxxx" />
0x10900cb -> <public type="layout" name="busy_dlg" id="0xxxxxxxxx" />
0x1020395 -> <public type="id" name="busy_dlg_title" id="0xxxxxxxxx" />
0x1020394 -> <public type="id" name="busy_dlg_animation" id="0xxxxxxxxx" />
5. save it and compile
STEP 3: ANDROID.POLICY.JAR
1. decompile your android.policy.jar
2. download attachment, exstract it and merge to your decompiled folder
3. open PhoneWindowManager.smali
4. delete the red line and replace with the blue
Code:
# instance fields
.
.
.
[COLOR="Red"].field mBootMsgDialog:Landroid/app/ProgressDialog;[/COLOR]
[COLOR="Blue"].field mBootMsgDialog:Landroid/app/BusyDialog;[/COLOR]
5. search again for mBootMsgDialog and replace
Code:
mBootMsgDialog:Landroid/app/ProgressDialog;
with
mBootMsgDialog:Landroid/app/BusyDialog;
6. find this method .method public showBootMessage(Ljava/lang/CharSequence;Z)V and replace all inside the method with
Code:
.method public showBootMessage(Ljava/lang/CharSequence;Z)V
.registers 5
.parameter "msg"
.parameter "always"
.prologue
.line 6033
iget-boolean v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHeadless:Z
if-eqz v0, :cond_5
.line 6071
:goto_4
return-void
.line 6034
:cond_5
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;
new-instance v1, Lcom/android/internal/policy/impl/PhoneWindowManager$68;
invoke-direct {v1, p0, p1, p2}, Lcom/android/internal/policy/impl/PhoneWindowManager$68;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;Ljava/lang/CharSequence;Z)V
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
goto :goto_4
.end method
7. find again .method public hideBootMessages()V and replace the method with
Code:
.method public hideBootMessages()V
.registers 3
.prologue
.line 6075
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;
new-instance v1, Lcom/android/internal/policy/impl/PhoneWindowManager$69;
invoke-direct {v1, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$69;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
.line 6083
return-void
.end method
8. find the red line and add the blue code
Code:
[COLOR="Red"].method public setRotationLw(I)V
.
.
.
.end method[/COLOR]
[COLOR="Blue"].method public setPackageName(Ljava/lang/String;)V
.registers 2
.parameter "pkgName"
.prologue
.line 6018
if-nez p1, :cond_4
.line 6019
const-string p1, "dasar.kamu.jomblo.tukang.copy.paste"
.line 6021
:cond_4
sput-object p1, Lcom/android/internal/policy/impl/PhoneWindowManager;->currentPackageName:Ljava/lang/String;
.line 6022
return-void
.end method[/COLOR]
9. open PhoneWindowManager$68.smali, search for this and change it with the IDS you got in your own public.xml
Code:
<public type="string" name="android_upgrading_starting_apps" id="0x1040412" />
<public type="string" name="android_upgrading_title" id="0x1040410" />
<public type="style" name="Theme.Translucent.NoTitleBar" id="0x1030010" />
10. save all and then compile
11. all steps are done. and then flash all the file
NB:
1. ALWAYS DO NANDROID BACKUP BEFORE MOD YOUR OWN ROM
2. BACKUP BACKUP BACKUP!!!!
3. IF YOU HAVE AN ERROR, PLEASE ATTACH THE LOG FILE
4. THIS IS SHOULD BE WORK ON ALL KITKAT ROM WITH AOSP BASED ROM (MTK/CM/ETC)
CREDIT:
PAC-Man ROM
awesome ser
qoejohn said:
awesome ser
Click to expand...
Click to collapse
thankyou sir. but no feedback

Categories

Resources