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.
Related
I'm editing this thread to now be a guide on how I was able port the QP from the i9000.
Here's how it was ported:
First I downloaded the i9000's (SGS) stock deodexed Systemui.apk and decompiled
Next I decompiled the SystemUI.apk from the Nexus S in apk manager 4.7 (4.9 gave me issues when attempting to recompile)
Once you decompile the SystemUI.apk from the i9000, navigate to out/smali/com/android/systemui/statusbar
You'll notice a folder in there called quickpanel. Open the same folder on the decompiled Nexus systemui.apk and copy the entire quickpanel folder to the Nexus. Now you have to edit all the xmls in the res folder, start with status bar expanded.xml in the res/layout. Then ids.xml, then strings.xml, then public.xml in your res/values folder. Basically your going to add in every value from the i9000 that starts with "quickpanel". The public is a doozy, you have to assign the new values their own unique hex value. You should really be familiar with the hex naming scheme in public before attempting this, it's easy to screw up but worse case scenario is it won't compile for you. The status_bar_expanded in the layout folder, you only want to add the top line to your file don't overwrite any of the xml files from the i9000, only merge the pieces of code that call the widget into display.
Next you have to move on to the smali code. Navigate to the decompiled folder res/values/ from both phones and open public.xml. After, navigate to /out/smali/com/android/systemui/statusbar/quickpanel/ from both phones, and open the autorotationsettingbutton.smali. What your going to be looking for first, is the hex codes that appear in public.xml.
Code:
.line 67
.local v2, rootView:Landroid/view/View;
const v5, 0x7f090023
Code:
.line 68
.local v0, icon:Landroid/widget/ImageView;
const v5, 0x7f090025
Code:
.line 82
return-void
.line 72
:pswitch_0
const v1, 0x7f020087
.line 73
const v4, 0x7f020085
.line 74
goto :goto_0
.line 76
:pswitch_1
const v1, 0x7f020086
.line 77
const v4, 0x7f020084
goto :goto_0
Each of these hex codes "0x7f0200xx" match up to a drawable in publix.xml. Start with the i9000 systemui.apk and see what picture it's pointing to by searching the number in the public.xml, then move over to the Nexus S systemui.apk and open the public (That you already modded and added the values in for the quickpanel items) and match to the name of the drawable in the i9000, to the name in public from Nexus, then copy the New hex code from the Nexus public to the autorotationsettingbutton.smali. This way your new smali file will be pointing to the correct drawable in the Nexus systemui.apk. Note all the way at the bottom of the smali file in both phones is 1 more hex value to change. Just scroll down to almost the bottom and look for another number that looks like the previous ones. Change that final hex and save your work. Now open all the other files ie bluetoothsettingsbutton gpssettingsbutton soundsettingsbutton, wifisettingsbutoon. Repeat the same steps for changing the hex values for picture display.
Now open the wifisettingsbutton.smali and we have to mod the code since our phones don't access the wifi the same.
Code:
.line 63
nop
:pswitch_data_0
.packed-switch 0x0
:pswitch_2
:pswitch_1
:pswitch_2
:pswitch_0
[B]:pswitch_1[/B]
.end packed-switch
.end method
In this code in wifisettingsbutton, the final line switch_1 is added, it's not present in the original. You must adjust this value.
Code:
.line 123
iget-object v1, p0, Lcom/android/systemui/statusbar/quickpanel/WifiSettingButton;->mWifiManager:Landroid/net/wifi/WifiManager;
const/4 v2, 0x1
invoke-virtual {v1, v2}, Landroid/net/wifi/WifiManager;->setWifiEnabledDialog(Z)Z
goto :goto_0
.end method
Code:
.line 123
iget-object v1, p0, Lcom/android/systemui/statusbar/quickpanel/WifiSettingButton;->mWifiManager:Landroid/net/wifi/WifiManager;
const/4 v2, 0x1
invoke-virtual {v1, v2}, Landroid/net/wifi/WifiManager;->setWifiEnabled(Z)Z
goto :goto_0
.end method
In the above two codes, the first is the i9000 wifisettingsbutton, notice the line >setWifiEnabledDialogue(Z)Z and under it the >setWifiEnabled(Z)Z, you must edit out the dialogue to keep it from erroing on the Nexus.
Up to now you have the code in place for this all to work, but you don't have the code in place to actually display the widget. Back out of the /quickpanel/ folder in file explorer and you should be in the /statusbar/ folder. Look for the smali file statusbarservice.smali
Search for the line .method private makeStatusBarView(Landroid/content/ContextV.
Mod the first line to look like this:
Code:
.locals 12
.parameter "context"
.prologue
const/4 v11, 0x0
const v10, 0x7f09000d
const/4 v9, 0x0
const/16 v8, 0x8
then your going to scroll down if your using notepad++ you'll look for line #776, you need to add in this line of code from the i9000
Code:
.line 371
const v6, 0x7f030006
invoke-static {p1, v6, v9}, 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/QuickSettingsView;
.line 373
.local v5, qsv:Lcom/android/systemui/statusbar/quickpanel/QuickSettingsView;
iget-object v6, p0, Lcom/android/systemui/statusbar/StatusBarService;->mExpandedView:Lcom/android/systemui/statusbar/ExpandedView;
invoke-virtual {v6, v5, v11}, Lcom/android/systemui/statusbar/ExpandedView;->addView(Landroid/view/View;I)V
.line 386
return-void
.end method
search for the same code inside the statusbarservice.smali from the i9000 source and you'll notice some changes like the last line invoke-virtual{v6, v5, v11} we can't use the same values as the i9000 because there is more code in that file than we need at the moment in the Nexus, so I had to figure out what numbers were compatible to both the phones. Also take note of this line
.line 371
const v6, 0x7f030006
This is calling an XML file into view that controls how the quickpanel looks on your phone. The number 0x7f03006 may very it depends on when you added the quickpanel items into public.xml, what value you gave the item quickpanelsettings. Quick panel settings is an xml file that can be found in the res/layout/ of the i9000 source systemui.apk and must be transferred over to the Nexus S systemui.apk res/layout/ as well.
This is all a broad guide to get you started, if you need more assistance, don't PM me, post here so everyone can learn together.
Here are all the source files from the i9000 and the properly modded files of the Nexus Systemui.apk
QuickPanel.zip
{
"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"
}
Would the help you're looking for be concurrent with the status bar issues being worked out in cm7?
Sent from my Nexus S 4G using Tapatalk
Have no clue tbh
I'm leaning toward the smali not calling the r.layout.quick_panel_settings.xml is it
Sent from my SPH-D700 using Tapatalk
Have u tried eclipse. It is generally pretty Good at telling u where the missing links are.
Sent from my Nexus S 4G using XDA Premium App
Looks like the framework.jar is going to have to be modded to accomplish this. My eyes are bleeding looking all this smali code but I did find one little snippet of code in the framework classes.dex located in com/android/internal/statusbar/
StatusBarNotification.smali
Code:
.method public isMiniCon()Z
.registers 2
.prologue
.line 126
iget-object v0, p0, Lcom/android/internal/statusbar/StatusBarNotification;->notification:Landroid/app/Notification;
iget v0, v0, Landroid/app/Notification;->twQuickPanelEvent:I
and-int/lit8 v0, v0, 0x1f
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
I incorporated this into our framework.jar recompiled and flashed. No display in the status bar still but no errors at all from the phone. I'm getting there but have to head to work now
Getting closer
Sent from my Nexus S 4G using Tapatalk
Dang! That looks fantastic! Good work man
suomaf said:
Dang! That looks fantastic! Good work man
Click to expand...
Click to collapse
Thanks been at it long time, can't get the on click listeners to work so the buttons don't click yet they just show up
Sent from my Nexus S 4G using Tapatalk
Now that's progress, good work!
Sent from my Nexus S 4G using XDA Premium App
raiderep said:
Now that's progress, good work!
Sent from my Nexus S 4G using XDA Premium App
Click to expand...
Click to collapse
Care to join in? I need fresh eyes mine are stumped I can catch you up to where I am
Sent from my SPH-D700 using Tapatalk
dreamsforgotten said:
Care to join in? I need fresh eyes mine are stumped I can catch you up to where I am
Sent from my SPH-D700 using Tapatalk
Click to expand...
Click to collapse
I know what you mean, sometimes you need to step back for a bit. Not sure where you're at on it but I'd be glad to have a look.
raiderep said:
I know what you mean, sometimes you need to step back for a bit. Not sure where you're at on it but I'd be glad to have a look.
Click to expand...
Click to collapse
I'll make you a zip matter of fact pm your email and I'll invite you in my dropbox share to centralize the work. I'll add in a txt change log of what files are modded tell you where I'm stuck, need to track down quick panel container its referenced in id and public
Sent from my Nexus S 4G using Tapatalk
dreamsforgotten said:
I'll make you a zip matter of fact pm your email and I'll invite you in my dropbox share to centralize the work. I'll add in a txt change log of what files are modded tell you where I'm stuck, need to track down quick panel container its referenced in id and public
Sent from my Nexus S 4G using Tapatalk
Click to expand...
Click to collapse
pm ur way...
Sent from my Nexus S 4G using XDA Premium App
Quick question, when you are done.do you think this would work on a nexus s i9100 t? The non 4g version?
suomaf said:
Quick question, when you are done.do you think this would work on a nexus s i9100 t? The non 4g version?
Click to expand...
Click to collapse
I'm sure you'll have to mod the files to match. It won't hurt to flash it and test but you'll have to compare the public.xml hex codes, the smali hex values inthe quick panel smali files.
Sent from my Nexus S 4G using Tapatalk
Progress update:
I'm am definitely on the verge of a release. I was hoping to contain all the code right inside the SystemUi.apk and there is still a slim chance I can mod the smali in there to speak with our framework.jar right. If not you'll have to flash SystemUi.apk and a modded framework.jar. Porting this to the non 4g version should be no harder than this was. I'm not going to port it, however I'll help out anyone who is willing to each step of the way. What works, auto rotation is done, works on and off. Gps is done, works just fine. Sound works 100%. Bluetooth, and wifi; however, do not work. Bluetooth turns on and off but the icon jumps over 1 slot and covers up the gps icon. You can then click the gps icon and get it to return to a gps image but I need to work this out. Wifi, don't work at all. It force closes the entire SystemUi.apk and you loose your status bar. I was able to get some good clean logcats and know where all the issues are located. It's only a matter of time to get this 100%. Now the last thing which is non important and will only take a second, is the length of the widget taking up all the real estate. That will be worked out as well.
dreamsforgotten said:
Progress update:
.. Porting this to the non 4g version should be no harder than this was. I'm not going to port it, however I'll help out anyone who is willing to each step of the way....
Click to expand...
Click to collapse
I would like to have a go at it, but I got no (ZERO/NADA/KAPUT) experience with this at all. I am the sort that believes in learn by doing however, if you are willing to help out, I could always do the grunt work. I have done a few android development tutorials but I don't think that they will help in this.
Very nice progress on this, I'm sure you'll get it done for us
raiderep said:
Very nice progress on this, I'm sure you'll get it done for us
Click to expand...
Click to collapse
I'm trying my ass off I'm using smali compiled for the i9000 sgs, and the handling of bluetooth and wifi are the only two settings that are different however searching through the decompiled frameworks.jar from both I'm just not seeing it.
Sent from my Nexus S 4G using Tapatalk
suomaf said:
I would like to have a go at it, but I got no (ZERO/NADA/KAPUT) experience with this at all. I am the sort that believes in learn by doing however, if you are willing to help out, I could always do the grunt work. I have done a few android development tutorials but I don't think that they will help in this.
Click to expand...
Click to collapse
You can do it with my help you just have to edit what I tell you so far its not too much to edit to point to our phones its hours of searching for the java files that the app is using. When its done there is no searching left I just show you the files. You have to edit public only cause your phone don't have 4g hex codes. Its not hard when you have a guide to do it.
Sent from my Nexus S 4G using Tapatalk
So..My friends asked me to write a manual how to make a transparent virtual buttons and status bar on JB. Ready? :angel:
Screenshots from my Sola JB eek:
{
"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"
}
1. Decompile android.policy.jar and open android.policy\smali\com\android\internal\policy\impl\PhoneWindowManager.smali
Blue- and to find through search
Red - Remove
Green- Add
Code:
.line 2552
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I
iput v0, p1, Landroid/graphics/Rect;->[color="blue"]top:I[/color]
.line 2553
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I
iput v0, p1, Landroid/graphics/Rect;->[color="blue"]right:I[/color]
.line 2554
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
iput v0, p1, Landroid/graphics/Rect;->[color="blue"]bottom:I[/color]
[color="red"] .line 2555
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_0
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 2557
:goto_0
return v0
.line 2556
:cond_0
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1
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_0
.line 2557
:cond_1
const/4 v0, 0x0
goto :goto_0[/color]
[COLOR="SeaGreen"][B]const/4 v0, 0x0
return v0[/B][/COLOR]
.end method
Compile android.policy.jar
2. Decompile SystemUI.apk and...
Open \SystemUI\res\values\drawables.xml
Code:
<item type="drawable" name="status_bar_background">#[B]5a[/B]000000</item>
5A - Transparency.
Open \SystemUI\res\layout\navigation_bar.xml and correct the same
Code:
<item type="drawable" name="status_bar_background">#[B]5a[/B]000000</item>
3. Open SystemUI\smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali and find "IIIII", near the code should be.
Green- Add, Red- Remove:
Code:
const/16 v3, 0x7e3
const v4, 0x4800068
[B][COLOR="Green"] const/4 v5, -0x3[/COLOR][/B]
move v2, v1
[COLOR="Red"] move v5, v1[/COLOR]
invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>([COLOR="Blue"]IIIII[/COLOR])V
Find "showNav" (second result in Notepad++) or "mPixelFormat:I", this code. Green- Add:
Code:
.line 417
.end local v3 #[COLOR="Blue"]showNav[/COLOR]:Z
:cond_1
:goto_2
[COLOR="Green"] const/4 v5, -0x3[/COLOR] [B][I](or [COLOR="Green"]const/4 v9, -0x3[/COLOR] for Z)[/I][/B]
iput v13, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->[COLOR="Blue"]mPixelFormat:I[/COLOR]
Compile SystemUI.apk.
upd: 10.05.2013
For the transparency of the open status bar (where the switches and notification)
Step 1:
Open PhoneStatusBar.smali (from SystemUI.apk) and find "PhoneStatusBar$FastColorDrawable". Immediately after that string is different, with "setBackground". Remove it. This line can appear twice.
Step 2:
We will adjust the transparency in the folder SystemUI\res\layout.Open-head status bar- status_bar_expanded_header.xml
Code:
android:background="@drawable/notification_header_bg"
change to
Code:
android:background="#[B]5A[/B]000000"
It is found in the file twice. Do everywhere.
The file status_bar_expanded.xml do by analogy, replace the reference to the background image on the color code. In this file, the background transparency notifications.
Download and Test
Click to expand...
Click to collapse
Bugs:- Transparency navibar only on the desktop \ status bar everywhere
- Works on stock launcher \ Apex, but the others were not checked
Click to expand...
Click to collapse
Do not say thanks, press thanks:angel:
Please,
Can you just post modded android.policy.jar and systemui.apk? I'm having troubles with decompiling
How make it completly transparent?
Sent from my C6603 using xda premium
alvizu said:
How make it completly transparent?
Click to expand...
Click to collapse
5A=>00
mmamedov said:
Can you just post modded android.policy.jar and systemui.apk? I'm having troubles with decompiling
Click to expand...
Click to collapse
I'm not sure that these files from my smartphone you fit. (Sola)
But ...
Archive for CWM. Do not forget to backup!
Nope, in Xperia Z is in framework-res.apk, thx anyway
Sent from my C6603 using xda premium
Thank you will try
u should've mentioned that it's only for deodexed system :good:
alvizu said:
Nope, in Xperia Z is in framework-res.apk, thx anyway
Click to expand...
Click to collapse
Not...:angel: Transparency of the whole system to do in \framework-res.apk\res\values\styles.xml, But it looks awful in applications. Background is taken from the wallpaper on your desktop.
What value would you use to achieve around 10-20% transparency?
fcb13 said:
What value would you use to achieve around 10-20% transparency?
Click to expand...
Click to collapse
Use this:
2,55 х (100-20%)=204
Find 204 in image= CC
This 20% transparency:angel:
I get a little confused, so many with C6603 chatting here.
Anyway, can you make it work for Xperia V (LT25i) with .140 firmware and give a download link to be flashed with CWM, Please?
Spaun_Studio said:
Use this:
2,55 х (100-20%)=204
Find 204 in image= CC
This 20% transparency:angel:
Click to expand...
Click to collapse
Im confused, how did you get that number of 204
datagubben said:
I get a little confused, so many with C6603 chatting here.
Click to expand...
Click to collapse
They may have changed the product model to use social life...like I have done in my rom...
Spaun_Studio said:
5A=>00
I'm not sure that these files from my smartphone you fit. (Sola)
But ...
Archive for CWM.
Click to expand...
Click to collapse
Thanks, but not working( my systemui is changed, but it's still not transparent. I will try to do by myself :fingers-crossed: .
Thank you for easy manual!
Dear Spaun, here is my Lt29i system file, please make a transparent status bar for me? Thank alot :fingers-crossed:
https://docs.google.com/file/d/0B0czuSfsIjehWVk1aTRGWEl2cDg/edit?usp=sharing
Edited
Sorry, i'm upload wrong file
so sad.:crying:
Im just a player ,not a dev.
I try my best to search how to decompile ,but I fail.
Help me ,please!
Please make it for me
Xperia V LT25i_4.1.2_9.1.A.1.140
http://www.mediafire.com/?fka0ja60vi90633
will dis mod enable navigation bar on phones dat doesnt have it before?
thanks...
help please..... i get smali error when recompiling!!!!
please dis is my decompiled SystemUI.apk in zip archieve, just unzip!!!! http://www12.zippyshare.com/v/18413360/file.html
please let me know what yhu edit.
whalesplaho said:
will dis mod enable navigation bar on phones dat doesnt have it before?
Click to expand...
Click to collapse
No, it is included in the framework. Therefore, if before that it was not, and never will.
ikarus_0209 said:
Dear Spaun, here is my Lt29i system file, please make a transparent status bar for me? Thank alot :fingers-crossed:
Click to expand...
Click to collapse
Can not download. On the other file storage, please.
knnam said:
Please make it for me
Xperia V LT25i_4.1.2_9.1.A.1.140
Click to expand...
Click to collapse
Wait, now let me do.
whalesplaho said:
help please..... i get smali error when recompiling!!!!
please dis is my decompiled SystemUI.apk in zip archieve, just unzip!!!!
.
Click to expand...
Click to collapse
I made all the changes and compiled.
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
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!
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