As title says, this mod brings you the multiple apps in multiple windows or flashbar! Since Shealth doesnt support the multiwindow, this mod makes a dirty trick to bypass the SHEALTH app from the multiwindow and making the rest of the app's to work on flashbar!
What it does?
All the applications which are installed in app drawer are available in flashbar! Even if new apps are installed, then those apps are also available in flashbar...hence you dont need any apk to control or add the applications in flashbar!
Screenshots
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Must Have
1. Apktool
2. Some knowledge about compiling and decompiling
3. 7zip
4. notepad++
5. backsmali
How to
1. Decompile the flashbarservice.apk which is available in system/app
Go to flashbarservice\smali\com\sec\android\app\FlashBar Service\FlashBarInfo.smali
Open the file FlashBarInfo.smali using notepad++
search for method .method public generateFlashBarList()V
and make the following changes:
PHP:
iget-object v8, v7, Landroid/content/pm/ResolveInfo;->filter:Landroid/content/IntentFilter;
- const-string v9, "android.intent.category.MULTIWINDOW_LAUNCHER"
+ const-string v9, "android.intent.category.LAUNCHER"
invoke-virtual {v8, v9}, Landroid/content/IntentFilter;->hasCategory(Ljava/lang/String;)Z
Now Save and recompile it and the first part is done!
2. Decompile services.jar which is available in system/framework folder
and go to services.jar.out\smali\com\android\server\am\Multi WindowManagerService.smali
Open the file MultiWindowManagerService.smali using notepad++ and make following changes
PHP:
#the value of this static final field might be set in the static constructor
.field static final synthetic $assertionsDisabled:Z = false
+.field private static final CONFIG_FILE:Ljava/lang/String; = "/system/etc/multiwindow_blacklist.txt"
+
.field public static START_ACTIVITY_WITH_LAST_PINUP:Z = false
.field private static final TAG:Ljava/lang/String; = "MultiWindowManagerService"
@@ -52,6 +54,17 @@
.field private mMinimizedSlotManager:Lcom/android/server/am/MultiWindowManagerService$MinimizedSlotManager;
+.field private mMultiWindowBlackList:Ljava/util/List;
+ .annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/util/List",
+ "<",
+ "Ljava/lang/String;",
+ ">;"
+ }
+ .end annotation
+.end field
+
.field private mSupportAllApps:Z
.field mSupportAppList:Ljava/util/ArrayList;
@@ -6344,39 +6357,104 @@
.end method
.method public isSupportApp(Ljava/lang/String;)Z
- .locals 1
+ .locals 4
.parameter "packageName"
.prologue
- .line 567
- iget-object v0, p0, Lcom/android/server/am/MultiWindowManagerService;->mSupportAppList:Ljava/util/ArrayList;
+ .line 15
+ iget-object v2, p0, Lcom/android/server/am/MultiWindowManagerService;->mMultiWindowBlackList:Ljava/util/List;
- invoke-virtual {v0, p1}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
+ if-nez v2, :cond_1
- move-result v0
+ .line 16
+ new-instance v2, Ljava/util/ArrayList;
- if-nez v0, :cond_0
+ invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
- const-string v0, "android"
+ iput-object v2, p0, Lcom/android/server/am/MultiWindowManagerService;->mMultiWindowBlackList:Ljava/util/List;
- invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+ .line 17
+ new-instance v2, Ljava/io/File;
- move-result v0
+ const-string v3, "/system/etc/multiwindow_blacklist.txt"
- if-eqz v0, :cond_1
+ invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
- .line 568
- :cond_0
- const/4 v0, 0x1
+ invoke-virtual {v2}, Ljava/io/File;->exists()Z
+
+ move-result v2
+
+ if-eqz v2, :cond_1
+
+ .line 19
+ :try_start_0
+ new-instance v1, Ljava/io/BufferedReader;
+
+ new-instance v2, Ljava/io/FileReader;
+
+ const-string v3, "/system/etc/multiwindow_blacklist.txt"
+
+ invoke-direct {v2, v3}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
- .line 571
+ invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
+
+ .line 22
+ .local v1, reader:Ljava/io/BufferedReader;
+ :cond_0
:goto_0
- return v0
+ invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
- :cond_1
- const/4 v0, 0x0
+ move-result-object v0
+
+ .local v0, pkgName:Ljava/lang/String;
+ if-eqz v0, :cond_1
+
+ .line 23
+ invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;
+
+ move-result-object v0
+
+ .line 24
+ invoke-virtual {v0}, Ljava/lang/String;->length()I
+
+ move-result v2
+
+ if-lez v2, :cond_0
+
+ .line 25
+ iget-object v2, p0, Lcom/android/server/am/MultiWindowManagerService;->mMultiWindowBlackList:Ljava/util/List;
+
+ invoke-interface {v2, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
+ :try_end_0
+ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
+
+ .line 28
+ .end local v0 #pkgName:Ljava/lang/String;
+ .end local v1 #reader:Ljava/io/BufferedReader;
+ :catch_0
+ move-exception v2
+
+ .line 33
+ :cond_1
+ iget-object v2, p0, Lcom/android/server/am/MultiWindowManagerService;->mMultiWindowBlackList:Ljava/util/List;
+
+ invoke-interface {v2, p1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
+
+ move-result v2
+
+ if-nez v2, :cond_2
+
+ const/4 v2, 0x1
+
+ :goto_1
+ return v2
+
+ :cond_2
+ const/4 v2, 0x0
+
+ goto :goto_1
.end method
.method public isSupportControlbar()Z
Make the above said changes and save it. Recompile and flash the same!
Attached multiwindow_blacklist.txt in this post. Download the same and copy to /system/etc adn change the permissions to make SHEALTH works!
After flashing, you will see all apps in app drawer will be listed in multiwindow / flashbar...Search for flashbar in data/data and then delete the folder. Now reboot...You will have all the apps in flashbar in sorted order!
Credits
-------------
Lidroid
Feel Helped, Press Thanks! Any one free to use this with due credits and link to this thread
S4 users are lucky to have developer like you:thumbup::thumbup::thumbup:
You love decoding....
We love to use them on Our device
It's too hard for a mathematic professor like me but thnx for sharing your competences.
People who don't want to go through this process of apktool , can use Samsung multi window manager app from the play store , it has been updated for S4.
Sent from my Octa Core S4
Akhil said:
People who don't want to go through this process of apktool , can use Samsung multi window manager app from the play store , it has been updated for S4.
Sent from my Octa Core S4
Click to expand...
Click to collapse
isin it paid application ? does shealth works after flashing
MWC app
grgsiocl said:
isin it paid application ? does shealth works after flashing
MWC app
Click to expand...
Click to collapse
It has both versions paid as well as free.
But free has all the options you will need to customise.
Sent from my Octa Core S4
Thank you grgsiocl...it works on I9505 too
.malo2000 said:
Thank you grgsiocl...it works on I9505 too
Click to expand...
Click to collapse
it works on every device which has flashbarservice.apk. The one advantage using this mod is , you dont have to reboot when you install new apps in order to show up in flashbar, where as using MWC app from playstore, you need to reboot every time when you install new application.
grgsiocl said:
it works on every device which has flashbarservice.apk. The one advantage using this mod is , you dont have to reboot when you install new apps in order to show up in flashbar, where as using MWC app from playstore, you need to reboot every time when you install new application.
Click to expand...
Click to collapse
Thank you for all your mods :good:
I've done a zip for I9505xxuamdm that delete flashbar folder
good thread, but same code with cybdani's mod
wrong credit :/
Sent from my SHV-E300S using XDA Premium HD app
aslak89 said:
good thread, but same code with cybdani's mod
wrong credit :/
Sent from my SHV-E300S using XDA Premium HD app
Click to expand...
Click to collapse
@aslak89 first you must know who has released this mod first on XDA . When NOTE II launched, i was the first person to provide the guide on this mod. CHeck here Later everyone followed. Go and check cybdanis mod when released. Infact everyone copied my guide without credits. Before you claim have a handful information! and lastly dont spam the thread with your faulty claims!
Go and ask your @cybdani's to give the credits to me or else i will take this up to moderator. Have a look at this thread. when he has released this mod compared to mine!. I have seen th thread earlier but did noot want to make up the issue as i know in XDA all this happens and thats the reason i stopping releasing ROMS!
Hi!
I've published this mod in i9505 section to share it.
I'm including this mod in my roms from S3.
I do not thing that you must give to me any credits for your work.
In my thread I said that if someone uses the mod (files) in his rom must give proper credits.
Best regards.
grgsiocl said:
@aslak89 first you must know who has released this mod first on XDA . When NOTE II launched, i was the first person to provide the guide on this mod. CHeck here Later everyone followed. Go and check cybdanis mod when released. Infact everyone copied my guide without credits. Before you claim have a handful information! and lastly dont spam the thread with your faulty claims!
Go and ask your @cybdani's to give the credits to me or else i will take this up to moderator. Have a look at this thread. when he has released this mod compared to mine!. I have seen th thread earlier but did noot want to make up the issue as i know in XDA all this happens and thats the reason i stopping releasing ROMS!
Click to expand...
Click to collapse
cybdani said:
Hi!
I've published this mod in i9505 section to share it.
I'm including this mod in my roms from S3.
I do not thing that you must give to me any credits for your work.
In my thread I said that if someone uses the mod (files) in his rom must give proper credits.
Best regards.
Click to expand...
Click to collapse
thanks mate! But someone claimed and thats the reason i replied. no worries!
grgsiocl said:
thanks mate! But someone claimed and thats the reason i replied. no worries!
Click to expand...
Click to collapse
No problem :good:
I've edited my thread and deleted asking for credits because I'm just sharing it.
Only a thing:
In i9505 this services.jar modification causes fc to shealth app.
Tested some times. Copying again services.jar deodexed only without this mods makes shealth app working again.
cybdani said:
No problem :good:
I've edited my thread and deleted asking for credits because I'm just sharing it.
Only a thing:
In i9505 this services.jar modification causes fc tuyo shealth app.
Tested some times. Copying again services.jar deodexed only without this mods makes shealth app working again.
Click to expand...
Click to collapse
I will provide the solution tomorrow. I am working on it to fix the bug
I have no experience in compiling and decompiling. It would be nice if someone can give me a CWM Zip of this Mod, hehe.
Paolonicus said:
I have no experience in compiling and decompiling. It would be nice if someone can give me a CWM Zip of this Mod, hehe.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?p=41407291
Sent from my GT-I9500 using Tapatalk 2
checked and got it,
I want to apologize for my fault.
I thought to see the dates of thread released, but too impatient conclusion.
thank you for explanations in spite of my rudeness.
I respect your work and contribusion of android devs.
also I've improved smaling for your guides since started.
Thanks
Best regards
Sent from my SHV-E300S using XDA Premium HD app
I cannot find where's the problem to solve shealth FC, but this is the first error when shealth is launched:
AndroidRuntime: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.FrameLayout.
Then we get errors like these:
AndroidRuntime: at com.sec.android.app.shealth.navigation.NavigationBar.initialize(NavigationBar.java:76)
AndroidRuntime: at com.sec.android.app.shealth.navigation.NavigationBar.<init>initialize(NavigationBar.java:71)
etc etc.
Hope this helps.
cybdani said:
I cannot find where's the problem to solve shealth FC, but this is the first error when shealth is launched:
AndroidRuntime: java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.FrameLayout.
Then we get errors like these:
AndroidRuntime: at com.sec.android.app.shealth.navigation.NavigationBar.initialize(NavigationBar.java:76)
AndroidRuntime: at com.sec.android.app.shealth.navigation.NavigationBar.<init>initialize(NavigationBar.java:71)
etc etc.
Hope this helps.
Click to expand...
Click to collapse
@cybdani bro if possible, can you send me the full logcat! I have not really gone through the code still, but i feel shealth doesnt like multiwindow support and there should be some check in shealth.apk
Related
MMS.apk mod for Samsung Galaxy Gio by greg_h_w (me)
First of all, I have to say Thanks to muveszur for his guide on Galaxy S2 thread
The Mms.apk has the following moddings:
- Message Skin (Default, Edge, Gloss, Sticky Note, Memo)
- Sent Time displayed instead of the Received Time
- No AutoConverting messages to MMS after 4 SMS. In my mod, it will be converted to MMS after 200 SMS.
- Possible to add to the message 200 contacts instead of 10 contacts.
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
HOW TO - For Developers
Change the AutoConverting:
In /res/xml/mms_config.xml change the following values
Code:
<int name="smsToMmsTextThreshold">4</int>
to:
Code:
<int name="smsToMmsTextThreshold">200</int>
Increase Contacts adding for the message
In /res/xml/mms_config.xml change the following values
Code:
<int name="recipientLimit">10</int>
to:
Code:
<int name="recipientLimit">200</int>
Display Sent Time instead of the Received Time
In /smali/com/android/mms/transaction/SMSReceiverService.smali there are 2 following value like this
Code:
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
change the first one to:
Code:
invoke-virtual {p1}, Landroid/telephony/SmsMessage;->getTimestampMillis()J
then the second one to:
Code:
invoke-virtual {v0}, Landroid/telephony/gsm/CbMessage;->getTimestampMillis()J
Activated Message Skin:
In /res/xml/preferences.xml add the following values
Code:
<ListPreference android:entries="@array/pref_entries_message_skin" android:title="@string/pref_title_message_skin" android:key="pref_key_message_skin" android:defaultValue="Default" android:dialogTitle="@string/pref_dialog_title_message_skin" android:entryValues="@array/pref_entry_values_message_skin" />
after
Code:
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
In /smali/com/android/mms/ui/MessagingPreferenceActivity.smali
Change the following values
Code:
.method public static getMessageSkin(Landroid/content/Context;)I
.locals 1
.parameter "context"
.prologue
.line 631
const/4 v0, 0x0
return v0
.end method
to :
Code:
.method public static getMessageSkin(Landroid/content/Context;)I
.locals 6
.parameter "context"
.prologue
.line 631
const/4 v4, 0x0
const-string v5, "Default"
.line 578
invoke-static {p0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;
move-result-object v0
.line 579
.local v0, pref:Landroid/content/SharedPreferences;
const-string v2, "pref_key_message_skin"
const-string v3, "Default"
invoke-interface {v0, v2, v5}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 580
.local v1, skinType:Ljava/lang/String;
const-string v2, "Default"
invoke-virtual {v5, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_0
move v2, v4
.line 591
:goto_0
return v2
.line 582
:cond_0
const-string v2, "Edge"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1
.line 583
const/4 v2, 0x1
goto :goto_0
.line 584
:cond_1
const-string v2, "Gloss"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
.line 585
const/4 v2, 0x2
goto :goto_0
.line 586
:cond_2
const-string v2, "Sticker note"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_3
.line 587
const/4 v2, 0x3
goto :goto_0
.line 588
:cond_3
const-string v2, "Memo"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_4
.line 589
const/4 v2, 0x4
goto :goto_0
:cond_4
move v2, v4
.line 591
goto :goto_0
.end method
Click to expand...
Click to collapse
For Stock Rom
1. Download the modified Mms.apk (Attached file)
2. Backup your Mms.apk and mms.odex in /system/app (Use Root Explorer).
3. Mount /system/app as R/W
3. Copy the modified Mms.apk to /system/app
4. Set the permissions to rw-r--r--
5. Delete mms.odex
6. Reboot
Click to expand...
Click to collapse
For Deodexed Rom
1. Download the modified Mms.apk (Attached file)
2. Backup your Mms.apk in /system/app (Use Root Explorer).
3. Mount /system/app as R/W
3. Copy the modified Mms.apk to /system/app
4. Set the permissions to rw-r--r--
5. Reboot
Click to expand...
Click to collapse
Note :
- Don't forget to Clear Messaging Data on Manage Application
- If you are using TouchWizLauncher, you have to erase the data of the launcher in the Settings
Click to expand...
Click to collapse
This mod working on Stock and Deodexed Rom
I tested on DXKT8 on Galaxy Gio and DXKK2 on Galaxy Y
If you like my work, give me a beer, or just hit the the Thanks button
DONATE
Thanks for the upload, that works with cm 7.2?
thexavier said:
Thanks for the upload, that works with cm 7.2?
Click to expand...
Click to collapse
I don't know. I don't try it yet. Maybe you can report it to me later.
But don't forget to backup your mms.apk before try it
The thems didnt work in stock... And its only in english?
greg_h_w said:
I don't know. I don't try it yet. Maybe you can report it to me later.
But don't forget to backup your mms.apk before try it
Click to expand...
Click to collapse
I tried, sadly don't works. i hope for an update.
I need to delete all the messages I already received, right?
This mod works on odex rom?
MatZ69 said:
The thems didnt work in stock... And its only in english?
Click to expand...
Click to collapse
I have try it on my stock rom DXKP6 without deodexed. I'm sorry, what do you mean only in english?
thexavier said:
I tried, sadly don't works. i hope for an update.
Click to expand...
Click to collapse
I'm so sorry. Maybe I can give the guide to Mod it.
Josenhans said:
I need to delete all the messages I already received, right?
Click to expand...
Click to collapse
Only need to clear the cache and I think it didn't delete all the message. cmiiw
Rausio said:
This mod works on odex rom?
Click to expand...
Click to collapse
yup..
I have update the first post. I give the tutorial how to mod it.
Ask it if someone have a question.
Hope it helpful
greg_h_w said:
I have try it on my stock rom DXKP6 without deodexed. I'm sorry, what do you mean only in english?
Click to expand...
Click to collapse
The definitions are in english while my room are in portuguese,but i will try to modify my own application
Thanks
MatZ69 said:
The definitions are in english while my room are in portuguese,but i will try to modify my own application
Thanks
Click to expand...
Click to collapse
you're welcome
MatZ69 said:
The definitions are in english while my room are in portuguese,but i will try to modify my own application
Thanks
Click to expand...
Click to collapse
Boas!
Chegaste a modificar o teu mms.apk para Portugues?
Se sim, podes enviar-me?
Obrigado!
Can this modified apk solves this problem;
not work on cyanogen 7.2 rc5.6
DarkShadow69 said:
Can this modified apk solves this problem;
Click to expand...
Click to collapse
according to your screenshot. You using go sms. So it can't solve your problem
iman1396 said:
not work on cyanogen 7.2 rc5.6
Click to expand...
Click to collapse
Have you try to mod it by your self ??
greg_h_w said:
Have you try to mod it by your self ??
Click to expand...
Click to collapse
i'm not, where is problem ?
I tried to change the skin but does not happen.
stock ROM DXKT4.
thank you so much you helped me a lot
thx for your share
thanks
thanks very much
Hello,
This is Xperia Z lockscreen ported for Galaxy S3 I9300. Mod is currently based on Samsung rom version ZSEMA1 & XXEMR2. I will try to add more rom version whenever possible.
This modified android.policy.jar. So please do not try it on other phone models.
If you have other mods in your android.policy.jar, this mod will break it.
This mod doesn't gives you toggle between Samsung Ripple lockscreen and Xperia Z lockscreen. You will get only Xperia Z lockscreen.
If you do not know how Xperia Z lockscreen looks like, watch this video prepared by MohammedAzi (included a guide to change lockscreen wallpaper) : YOUTUBE Thank you MohamedAzi.
How to install
1) Download the main mod zipfile below. Then choose the right framework for your phone. I'll try to add more
2) Backup your rom (Nandroid backup)
3) Flash the main mod zipfile first and then flash the chosen framework in CWM (Don't reboot in between)
4) Done
Bugs
1) Upon unlocking, Samsung lockscreen's wallpaper is still visible for about 0.3-0.5 second. Solution by JoFury: set fully black wallpaper for samsung lockscreen. Then go to settings - developers option and set windows animation to 0.5 or off. Thanks JoFury.
2) The music control/widget in lockscreen doesn't works with Samsung music player. Install third party apps as workaround.
3) The music control/widget always show "No Tracks Available". Maybe installing Sony music player would solve it.
4) No shortcut to change Xperia Z lockscreen wallpaper. Workaround:
Solution by RocketSauce83
Replace the UxpNxtLockscreen.apk with this version : http://forum.xda-developers.com/showthread.php?p=39354512
Thanks RocketSauce83
Solution by Hyperrunner :
http://forum.xda-developers.com/showthread.php?p=38960185
Thanks Hyperrunner
5) Samsung Ripple Effects will cause screen to freeze, so please turn it off when you're using XZ lockscreen.
That's it. Thanks
Download
Main Mod
http://www.mediafire.com/?un6239axlgsqys6
Choose framework based
XXEMB5
ZSEMA1
XXEMR2
XXEMB1
ELLC
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"
}
Guide
How to add XperiaZ lockscreen to Samsung based rom. I use stock rom 4.1.2 for this guide.
This is my method to mod XperiaZ lockscreen for Samsung based rom. This guide assume you already familiar with apktool/baksmali/smali process.
Required tools
1)Apktool and baksmali/smali program
2)7zip
3)Notepad ++
Required files from XperiaZ rom
1)UxpNxtLockScreen.apk (need to be modified)
2)WallpaperPicker.apk
3)com.sonyericsson.navigationbar_impl.jar from system/framework
4)SoMADigitLight.ttf from system/fonts
5)customization folder from system/etc
6)com.sonyericsson.navigationbar.xml from system/etc/permissions
7)XperiaZ framework-res.apk & SemcGenericUxpRes.apk from system/framework
8)XperiaZ android.policy.jar (for source code)
I already packed Item 1-6 into flashable zipfile as “main mod”. Download at OP. You can skip to step 2 if you want to use my main mod.
Step 1
1)Install XperiaZ frameworks in apktool
2)Decompile UxpNxtLockScreen.apk with apktool.
3)Find smali/com/sonyericsson/lockscreen/uxpnxt/UxpNxtLockScreen.smali and open it up
4)Find invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->isIccInvalidCard()Z
5)Samsung framework doesn’t support this method. So
6)Change it to invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->hasIccCard()Z
That’s it, recompile it with apktool
Step2
1)Decompile XperiaZ android.policy.jar with baksmali/smali program
2)From the output, go to smali/com/android/internal/policy/impl and copy ExtendedKeyguardScreen.smali and ExternalLockScreen.smali
3)ExternalLockScreen.smali need to be modified to prevent package validation
4)I’m sure there is easy way to turn package validation off but here’s what I did:
Find invoke-static {p0, v4}, Lcom/android/internal/policy/impl/ExternalLockScreen;->validateExternalLockScreen(Landroid/content/Context;Landroid/content/ComponentNameZ
Delete the red one
Code:
.line 238
sget-object v9, Lcom/android/internal/policy/impl/ExternalLockScreen;->sLockScreenInfoLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v9}, Ljava/util/concurrent/locks/Lock;->unlock()V
[COLOR="Red"] .line 241
if-nez v4, :cond_2[/COLOR]
.line 242
invoke-static {p0}, Lcom/android/internal/policy/impl/ExternalLockScreen;->getExternalLockScreenPackage(Landroid/content/Context;)Landroid/content/ComponentName;
move-result-object v4
[COLOR="red"].line 246
:cond_2
invoke-static {p0, v4}, Lcom/android/internal/policy/impl/ExternalLockScreen;->validateExternalLockScreen(Landroid/content/Context;Landroid/content/ComponentName;)Z
move-result v8
.line 250
if-eqz v8, :cond_3[/COLOR]
.line 251
invoke-virtual {v4}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v9
Find .method private static validateExternalLockScreen(Landroid/content/Context;Landroid/content/ComponentNameZ
Delete the red one
Code:
.method private static validateExternalLockScreen(Landroid/content/Context;Landroid/content/ComponentName;)Z
.locals 4
.parameter "context"
.parameter "info"
.prologue
const/4 v1, 0x0
.line 131
[COLOR="red"] if-eqz p1, :cond_0[/COLOR]
invoke-virtual {p1}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
move-result-object v2
[COLOR="red"] if-eqz v2, :cond_0[/COLOR]
invoke-virtual {p1}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v2
[COLOR="red"] if-nez v2, :cond_1
.line 132
:cond_0
const-string v2, "ExternalLockScreen"
const-string v3, "External lockscreen name and package info has not been set correctly!"
invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
[/COLOR]
.line 147
:goto_0
return v1
.line 140
:cond_1
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 141
.local v0, pm:Landroid/content/pm/PackageManager;
const-string v2, "com.sonyericsson.permission.EXTERNAL_LOCKSCREEN"
invoke-virtual {p1}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v2, v3}, Landroid/content/pm/PackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
move-result v2
[COLOR="red"] if-nez v2, :cond_2[/COLOR]
.line 143
const/4 v1, 0x1
goto :goto_0
[COLOR="red"] .line 146
:cond_2
const-string v2, "ExternalLockScreen"
const-string v3, "Validation of external lockscreen failed!!"
invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_0[/COLOR]
.end method
That's it. Save it.
Step 3
1)Next extract your phone/rom android.policy.jar and decompile it with baksmali/smali program. From the output, copy and paste the ExtendedKeyguardScreen.smali and the modified ExternalLockScreen.smali to smali/com/android/internal/policy/impl
2)Then open smali/com/android/internal/policy/impl/ LockPatternKeyguardView.smali. Add the codes (highlighted in blue) and amend the codes (highlighted in green) as below
Code:
.field private mHasDialog:Z
.field mInfoCallback:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor$InfoCallbackImpl;
[COLOR="Blue"].field private mIsExternallyLoadedLockScreenEnabled:Z[/COLOR]
.field private mIsTalkbackDrvModeOn:Z
Find # virtual methods.method public cleanUp()V
Code:
# virtual methods
.method public cleanUp()V
.locals 2
.prologue
const/4 v1, 0x0
[COLOR="blue"]const/4 v0, 0x0
iput-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsExternallyLoadedLockScreenEnabled:Z[/COLOR]
.line 1096
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockScreen:Landroid/view/View;
Find .method createLockScreen()Landroid/view/View;
Code:
.prologue
[COLOR="blue"] iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-static {v1, v2}, Lcom/android/internal/policy/impl/ExternalLockScreen;->getLockScreen(Landroid/content/Context;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)Landroid/view/View;
move-result-object v0
.local v0, lockView:Landroid/view/View;
if-eqz v0, :cond_1
const/4 v1, 0x1
:goto_0
iput-boolean v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsExternallyLoadedLockScreenEnabled:Z
.line 1038
iget-boolean v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsExternallyLoadedLockScreenEnabled:Z
if-nez v1, :cond_0[/COLOR]
.line 1268
new-instance v0, Lcom/android/internal/policy/impl/sec/LockScreen;
[COLOR="blue"] .end local v0 #lockView:Landroid/view/View;[/COLOR]
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;>mConfiguration:Landroid/content/res/Configuration;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;>mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;>mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;>mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/sec/LockScreen;->(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
.line 1274
[COLOR="Lime"] .restart local v0 #lockView:Landroid/view/View;[/COLOR]
[COLOR="blue"] :cond_0[/COLOR]
invoke-direct {p0, v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->initializeTransportControlView(Landroid/view/View;)V
.line 1275
return-object v0
[COLOR="Blue"] :cond_1
const/4 v1, 0x0
goto :goto_0[/COLOR]
.end method
That's it. Recompile it and push it together with all the required files (item1 - item6) mentioned above into your phone and reboot.
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
Any plan for XXEMB1
Sent from my GT-I9300
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
freddy1991 said:
Any plan for XXEMB1
Sent from my GT-I9300
Click to expand...
Click to collapse
You mind share the XXEMB1 android.policy.jar to me so that I can mod it
Sent from my GT-N7100 using Tapatalk 2
Here is the policy jar for XXEMB1 please if you could that would be great. Thank you..
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
Meemo23 said:
Here is the policy jar for XXEMB1 please if you could that would be great. Thank you..
Click to expand...
Click to collapse
Thanks. I'll get it done.
Sent from my GT-N7100 using Tapatalk 2
After the installing your mod, can I re-install and use my old mods?
Nice! Can you also mod the android.policy.jar file from the latest JKay release?
So the JKay framework will still work after flashing this.
Then it would be a really great add-on for my own rom (if I get your permission of course!)
EDIT: added the android.policy.jar from the latest JKay framework.
Hope you can do something with it!
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
I forgot to ask
Will this work on odexed firmware
Sent from my GT-I9300
Amazing work ! i will add more mods into android.policy.jar
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
Firaristt said:
After the installing your mod, can I re-install and use my old mods?
Click to expand...
Click to collapse
No if it is related to android.policy.jar unless you manually decompile it and apply other mods.
Sent from my GT-I9300 using Tapatalk 2
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
edgarf28 said:
Nice! Can you also mod the android.policy.jar file from the latest JKay release?
So the JKay framework will still work after flashing this.
Then it would be a really great add-on for my own rom (if I get your permission of course!)
EDIT: added the android.policy.jar from the latest JKay framework.
Hope you can do something with it!
Click to expand...
Click to collapse
Yes. No problem.
I'll try to mod your android.policy.jar
Sent from my GT-I9300 using Tapatalk 2
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
freddy1991 said:
I forgot to ask
Will this work on odexed firmware
Sent from my GT-I9300
Click to expand...
Click to collapse
No. I always screwed up with odexed files
Sent from my GT-I9300 using Tapatalk 2
Nice work :good:
mind posting a tutorial(so whenever an update to either fw or jkay comes we can do it our self)
& tipped for portal news
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
What about buema1..?
---------- Post added at 04:24 PM ---------- Previous post was at 04:20 PM ----------
What about BUEMA1..?
Yes, post a tutorial how we can modify the android.policy.jar file by our self please!
So that I can keep the lockscreen with every rom update.
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
ThilinaC said:
Nice work :good:
mind posting a tutorial(so whenever an update to either fw or jkay comes we can do it our self)
& tipped for portal news
Click to expand...
Click to collapse
edgarf28 said:
Yes, post a tutorial how we can modify the android.policy.jar file by our self please!
So that I can keep the lockscreen with every rom update.
Click to expand...
Click to collapse
Yes, I will try to write a guide to add this lockscreen into android.policy.jar
Sent from my GT-I9300 using Tapatalk 2
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
Sheik.AlQla said:
What about buema1..?
---------- Post added at 04:24 PM ---------- Previous post was at 04:20 PM ----------
What about BUEMA1..?
Click to expand...
Click to collapse
I need the android.policy.jar too. Can you send it to me.
Sent from my GT-I9300 using Tapatalk 2
Meemo23 said:
Here is the policy jar for XXEMB1 please if you could that would be great. Thank you..
Click to expand...
Click to collapse
Added the mod for XXEMB1. Download at OP.
Note: Signature is missing in your android.policy.jar. Hopefully it works fine for others user.
thx!
Re: [PORT][27 FEB] XperiaZ Lockscreen for I9300
Nice work mate
Sent from my GT-I9300 using xda app-developers app
Hi XDA !:silly:
Firstly, big thanks to Arsaw for his awesome mod
This MOD is compatible to any HDPI or XHDPI devices with Stock 4.1.2 ROM but so far only tested on
-Galaxy s2
-Galaxy s3
-Galaxy note
-Galaxy note 2
Requirement :
-android.policy.jar from your rom
-Smalis from the attachment
-Flashable zip that i provided
-At least 60 MB of system memory
-A little knowledge in decompiling using baksmali
So, let's start !
Step 1
1)Extract your phone/rom android.policy.jar and decompile it with baksmali/smali program. From the output, copy and paste the ExtendedKeyguardScreen.smali and the modified ExternalLockScreen.smali to smali/com/android/internal/policy/impl
2)Then open smali/com/android/internal/policy/impl/ LockPatternKeyguardView.smali. Add the codes (highlighted in blue) and replace the codes (highlighted in green) as below
Code:
.field private mHasDialog:Z
.field mInfoCallback:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor$InfoCallbackImpl;
[COLOR=Blue].field private mIsExternallyLoadedLockScreenEnabled:Z[/COLOR]
.field private mIsTalkbackDrvModeOn:Z
Find # virtual methods.method public cleanUp()V
Code:
# virtual methods
.method public cleanUp()V
.locals 2
.prologue
const/4 v1, 0x0
[COLOR=blue]const/4 v0, 0x0
iput-boolean v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsExternallyLoadedLockScreenEnabled:Z[/COLOR]
.line 1096
iget-object v0, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockScreen:Landroid/view/View;
Find .method createLockScreen()Landroid/view/View;
Code:
.prologue
[COLOR=blue] iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-static {v1, v2}, Lcom/android/internal/policy/impl/ExternalLockScreen;->getLockScreen(Landroid/content/Context;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)Landroid/view/View;
move-result-object v0
.local v0, lockView:Landroid/view/View;
if-eqz v0, :cond_1
const/4 v1, 0x1
:goto_0
iput-boolean v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsExternallyLoadedLockScreenEnabled:Z
.line 1038
iget-boolean v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mIsExternallyLoadedLockScreenEnabled:Z
if-nez v1, :cond_0[/COLOR]
.line 1268
new-instance v0, Lcom/android/internal/policy/impl/sec/LockScreen;
[COLOR=blue] .end local v0 #lockView:Landroid/view/View;[/COLOR]
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;>mConfiguration:Landroid/content/res/Configuration;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;>mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;>mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;>mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/sec/LockScreen;->(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallback;)V
.line 1274
[COLOR=Lime] .restart local v0 #lockView:Landroid/view/View;[/COLOR]
[COLOR=blue] :cond_0[/COLOR]
invoke-direct {p0, v0}, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->initializeTransportControlView(Landroid/view/View;)V
.line 1275
return-object v0
[COLOR=Blue] :cond_1
const/4 v1, 0x0
goto :goto_0[/COLOR]
.end method
Step 2
- Flash the ZIP provided in the Download link and you are done.
Flashable ZIP : http://www.mediafire.com/?un6239axlgsqys6
HOW TO CHANGE XPERIA Z LOCKSCREEN WALLPAPER :
Thanks to MohamedAzi.
TRICK ON LOCKSCREEN WALLPAPER STAYING FOR 1 SECOND :
Apply this image as Samsung lockscreen wallpaper ( apply from Display > Wallpaper > Lockscreen ), not XPERIA LOCKSCREEN WALLPAPER that the method provided by Mohamed Azi
{
"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"
}
Then go Developer Option in the setting, change the Window Animation scale to 0.5 or Off.
Trick By ME
EnJoY !
Thanks.
Very Nice.
A week ago I have tried to port for GS2, but bootlooped.
I follow guide from GS3 forum by Arsaw.
dr30ma said:
Thanks.
Very Nice.
A week ago I have tried to port for GS2, but bootlooped.
I follow guide from GS3 forum by Arsaw.
Click to expand...
Click to collapse
Try this and giv feedback :laugh:
One word Wooooooooooooooooooooooooooooow
---------- Post added at 09:04 AM ---------- Previous post was at 08:57 AM ----------
How much time left to upload the xperia rom, I need to go to school soon but i want to have the rom on my phone, please be faster thx.
And one more thing in the screenshots I the dots on the xperia z launcher are wrong. You should use the fix fo HDPI 800x480 for galaxy s2
Im still waiting
tested on cm10 and AOKP, they are working too (Both of them 4.1.2)
thanks for your guide =)
skys415 said:
tested on cm10 and AOKP, they are working too (Both of them 4.1.2)
thanks for your guide =)
Click to expand...
Click to collapse
Can you please give me the file for CM10? I don't know how to do all of this ..
does this work with aokp 4.2.2?
Could anybody make a flashable zip for official Sammy roms (JB) ? (with modified files)
Thx
Nice work , thank you.
But I have one question. If i want to add my own wallpaper and use it as lock screen wallpaper, how can I do it ?
is there any incoming notification for xperia z lockscreen ?
Sir help
Sir help because my device is in stock JB 4.1.2 rom. i try to do your tutorials but it seems my android policy jar smali codes is different to the smali codes example given can you help me to change it because i really dont understand smali codes my android.policy.jar is attach to this post thanks this will be really much appreciated
Is int identical to the s3 one ??
Sent from my GT-I9100G using xda premium
ICS_XD said:
Is int identical to the s3 one ??
Sent from my GT-I9100G using xda premium
Click to expand...
Click to collapse
no, it isn't
jaderxiii said:
no, it isn't
Click to expand...
Click to collapse
Goto s3 themes n apps section
Search for it by arsaw
Sent from my GT-I9100G using xda premium
ICS_XD said:
Goto s3 themes n apps section
Search for it by arsaw
Sent from my GT-I9100G using xda premium
Click to expand...
Click to collapse
The tutorial in this thread is the same on that thread
http://forum.xda-developers.com/showthread.php?t=2168411
have a look
jaderxiii said:
The tutorial in this thread is the same on that thread
http://forum.xda-developers.com/showthread.php?t=2168411
have a look
Click to expand...
Click to collapse
I think i said same ?
Sent from my GT-I9100G using xda premium
Hello, this work on S3 mini and a big thanks for this, I love the lockscreen
Envoyé depuis mon GT-I8190 avec Tapatalk
hi!! this work on htc one xl? thanks.. i dont know how to do this on my device
voenta paves
How to get the lockscreen in settings
what to do with this line?
Hello sir,
I have problem to do last line. There are several lines before .end method
It can't be recompiled if i push those line after
.line 938
return-object v0
but if i delete these lines it can't be recompiled too. so please help me what i have to do. Thank you before
here are the last lines/paragraph
.line 938
return-object v0
.line 930
.end local v0 #lockView:Landroid/view/View;
:cond_23
new-instance v0, Lcom/android/internal/policy/impl/LockScreen;
iget-object v1, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mContext:Landroid/content/Context;
iget-object v2, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mConfiguration:Landroid/content/res/Configuration;
iget-object v3, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;
iget-object v4, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mUpdateMonitor:Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;
iget-object v5, p0, Lcom/android/internal/policy/impl/LockPatternKeyguardView;->mKeyguardScreenCallback:Lcom/android/internal/policy/impl/KeyguardScreenCallback;
invoke-direct/range {v0 .. v5}, Lcom/android/internal/policy/impl/LockScreen;-><init>(Landroid/content/Context;Landroid/content/res/Configuration;Lcom/android/internal/widget/LockPatternUtils;Lcom/android/internal/policy/impl/KeyguardUpdateMonitor;Lcom/android/internal/policy/impl/KeyguardScreenCallbackV
.restart local v0 #lockView:Landroid/view/View;
goto :goto_1f
.end method
Here are original apk's from Xperia ZU system dump, ported to work on JB 4.3.
Whole porting process was done on my Xperia ZQ (ZL) running lastest JB 4.3 firmware, but they should work on any JB 4.3 device/firmware (to be confirmed)!
Warning:
As you know (I hope so), every device has its own framework-res.apk with its own resources/ids and the SystemUI.apk inherits a lot of them at run-time, so, if you install on a "non-ZQ" device 4.3 and face some wrong resources (pngs, strings, animations, ...) at your screen, it is a normal behavior, and this means that some SystemUI.apk edits are necessary to match your framework-res.apk resources.
Screenshots:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
.
Theme accent colored SystemUI
.
.
.
Others...
.
.
.
.
.
.
.
Warning:
- If you have Serajr Xperia Xposed v2 installed, uninstall it and then install module KK version and reboot!
- If you have any other xposed module that hooks SystemUI.apk, disable it!!!
You´re warned - TRY AT YOUR OWN RISK!!
Install instructions:
1. Update Xperia Xposed from above link (if applicable)
2. Backup your files (You´re warned again)
3. Download and put .zip at your sdcard
Download Mirrors:
v1.1 - Dev-Host <<< White SystemUI (original version)
(YOU CAN APPLY ACCENT COLOR UNDER EXPANDED CONTENTS WITH NEW XPERIA XPOSED KK MODULE)
v1.2 - Dev-Host <<< Runtime theme accent colored SystemUI
(DO NOT USE THIS VERSION WITH NEW XPERIA XPOSED KK MODULE !!!)
4. Flash it!
If you have problems with a big "back" key, get fixed version here or here.
Thanks @funky0308 and @Soheil_rf
Known Issues:
- Some minor issues causing fc on some devices!
Special Thanks:
- Sony
- @MN-Ming for Xperia ZU system dump
- @DooMLoRD for Xperia Z2 system dump
If you like it, press thanks... Simple so!!
.
Changelog
v1.2 - 16/03/2014
- Runtime theme accent colored SystemUI version (no reboot or restart required)
- Colored active tab glow
- Colored active tab title
- Colored expanded big clock
- Colored Clear recents button title (white border)
- Colored Edit quick settings button title (white border)
- Colored active quick settings toggles
- Fixed Recents empty background gap
v1.1 - 11/03/2014
- Fixed Wifi Hotspot and Location (GPS) toggles
- Fixed Search Panel at landscape orientation
- Removed vibration by taping near to home soft key
v1 - 10/03/2014
- Initial release
[Guide] Give your system bars a gradient immersive KK flag
WARNING: just do it if you are using OP 4.4 SystemUI.apk on JB 4.3 firmware (backup your files too)
Lockscreen Status Bar:
1. Decompile your JB 4.3 android.policy.jar
2. Go to \com\android\internal\policy\impl\keyguard\ folder and open (with Notepad++) KeyguardViewManager.smali file
3. Look for this method:
Code:
[B].method public declared-synchronized show(Landroid/os/Bundle;)V[/B]
4. Inside the method look for something like:
Code:
.line 126
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
invoke-virtual {v2}, Landroid/widget/FrameLayout;->getSystemUiVisibility()I
move-result v2
[COLOR="Red"]const/high16 v3, 0x20
or-int v1, v2, v3[/COLOR]
.line 128
.local v1, visFlags:I
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
invoke-virtual {v2, v1}, Landroid/widget/FrameLayout;->setSystemUiVisibility(I)V
5. Found! Now change above red lines to blue ones below:
Code:
.line 126
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
invoke-virtual {v2}, Landroid/widget/FrameLayout;->getSystemUiVisibility()I
move-result v2
[COLOR="Blue"]const/high16 v3, -0x1000
or-int/2addr v3, v2
move/from16 v1, v3[/COLOR]
.line 128
.local v1, visFlags:I
iget-object v2, p0, Lcom/android/internal/policy/impl/keyguard/KeyguardViewManager;->mKeyguardHost:Landroid/widget/FrameLayout;
invoke-virtual {v2, v1}, Landroid/widget/FrameLayout;->setSystemUiVisibility(I)V
6. Save, compile, replace it and DONE!
Walkman both Bars (I think the same can be applied on more Semc??? and Somc??? apks):
1. Decompile your JB 4.3 SemcMusic.apk
2. If you open smali folder and face folders/files titled like a, b, c... you have a "Proguarded version" (obfuscated code)!!! I've never thought Sony would encrypt its sources.. but It did it!! Mine is!!!!!
Words from Proguard page:
ProGuard now has a sibling optimizer and obfuscator for Android: DexGuard. It focuses on code protection, with additional features like string encryption and class encryption. It directly targets Dalvik bytecode and streamlines the Android build process.
Click to expand...
Click to collapse
3. Go to \com\sonymobile\ui\support\ folder and open (with Notepad++) SystemUiVisibilityWrapper.smali file
3 (Prograrded version). Go to \com\sonymobile\c\a\ folder and open (with Notepad++) a.smali file
4. Look for this method:
Code:
[B].method public setTranslucentBackground(Z)Lcom/sonymobile/ui/support/SystemUiVisibilityWrapper;[/B]
4 (Prograrded version). Look for this method:
Code:
[B].method public a(Z)Lcom/sonymobile/c/a/a;[/B]
5. Found! Now replace whole method from red to blue:
Code:
[COLOR="Red"].method public setTranslucentBackground(Z)Lcom/sonymobile/ui/support/SystemUiVisibilityWrapper;
.locals 1
.parameter "value"
.prologue
.line 309
sget v0, Lcom/sonymobile/ui/support/SystemUiVisibilityWrapper;->SYSTEM_UI_FLAG_TRANSPARENT:I
invoke-direct {p0, v0, p1}, Lcom/sonymobile/ui/support/SystemUiVisibilityWrapper;->setFlag(IZ)V
.line 310
return-object p0
.end method[/COLOR]
Code:
[COLOR="Blue"].method public setTranslucentBackground(Z)Lcom/sonymobile/ui/support/SystemUiVisibilityWrapper;
.locals 3
.parameter "value"
.prologue
.line 309
iget-object v0, p0, Lcom/sonymobile/ui/support/SystemUiVisibilityWrapper;->mView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getSystemUiVisibility()I
move-result v0
const/high16 v1, -0x1000
or-int/2addr v1, v0
move/from16 v2, v1
invoke-direct {p0, v2, p1}, Lcom/sonymobile/ui/support/SystemUiVisibilityWrapper;->setFlag(IZ)V
.line 310
return-object p0
.end method[/COLOR]
5 (Prograrded version). Found! Now replace whole method from red to blue:
Code:
[COLOR="Red"].method public a(Z)Lcom/sonymobile/c/a/a;
.locals 1
.parameter
.prologue
.line 309
sget v0, Lcom/sonymobile/c/a/a;->b:I
invoke-direct {p0, v0, p1}, Lcom/sonymobile/c/a/a;->b(IZ)V
.line 311
return-object p0
.end method[/COLOR]
Code:
[COLOR="Blue"].method public a(Z)Lcom/sonymobile/c/a/a;
.locals 3
.parameter
.prologue
.line 309
iget-object v0, p0, Lcom/sonymobile/c/a/a;->h:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getSystemUiVisibility()I
move-result v0
const/high16 v1, -0x1000
or-int/2addr v1, v0
move/from16 v2, v1
invoke-direct {p0, v2, p1}, Lcom/sonymobile/c/a/a;->b(IZ)V
.line 311
return-object p0
.end method[/COLOR]
6. Save, compile, replace it and DONE!
Album both Bars:
1. Decompile your JB 4.3 SemcAlbum.apk
2. Go to \com\sonyericsson\album\util\ folder and open (with Notepad++) BarUtils.smali file
3. Look for this method:
Code:
[B].method public static setDefaultSystemUiVisibility(Landroid/view/Window;)V[/B]
4. Insert blue lines
Code:
.method public static setDefaultSystemUiVisibility(Landroid/view/Window;)V
.locals 2
.parameter "window"
.prologue
.line 306
sget-boolean v1, Lcom/sonyericsson/album/util/BarUtils;->sIsKitKat:Z
if-eqz v1, :cond_0
.line 307
const/16 v0, 0xe00
.line 310
.local v0, flags:I
invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/view/View;->setSystemUiVisibility(I)V
.line 315
.end local v0 #flags:I
:goto_0
return-void
.line 312
:cond_0
invoke-static {p0}, Lcom/sonyericsson/album/util/BarUtils;->enableStatusBar(Landroid/view/Window;)Z
.line 313
invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v1
invoke-static {v1}, Lcom/sonyericsson/album/util/BarUtils;->showNavigationBar(Landroid/view/View;)V
[COLOR="blue"].line 314
invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v0
invoke-virtual {v0}, Landroid/view/View;->getSystemUiVisibility()I
move-result v0
const/high16 v1, -0x1000
or-int/2addr v1, v0
move/from16 v0, v1
.line 315
invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/view/View;->setSystemUiVisibility(I)V[/COLOR]
goto :goto_0
.end method
5. Save, compile, replace it and DONE!
Warning: if you are having any problem on compile/fc, try to put -0x100000 value instead of -0x1000 (thanks @niaboc79)
Screenshots:
.
Thumbs
Thumbs...
1st to sayyy woooowwwww great mate !!
Sent from my C6603 using Tapatalk
Awesome....I'm gonna flash it right away.
So, only "bug" you have in released version is that search bar bug?
Great work...!
Nice....mate...absolutely amazing..
Everything is working incredibly well...fast and fluid.
BTW - only "bug" I could found is that I should apply my theme again to get back my navigation bar icons...
I don't know is this is placebo or what but everything seems more fluid and smooth...
Also...do you maybe know how to fix this back icon (it's bigger that rest icons)
That was problem with some 136 firmwares on Z1 but I just used different systemUI - and I don't want to use another one anymore
Sent from my C6903 using Tapatalk
The new home is really great works in all theme ...i gues this is the first fully functional home without problems !! I like the drawer its now full screen
Edit: im still trying to get work the systemui
Sent from my C6603 using Tapatalk
Z1 users - don't enable systemUI customisation in Xperia Xposed - you'll end in systemUI FC.
Everything seems excellent for me.
Sent from my C6903 using Tapatalk
funky0308 said:
Z1 users - don't enable systemUI customisation in Xperia Xposed - you'll end in systemUI FC.
Everything seems excellent for me.
Sent from my C6903 using Tapatalk
Click to expand...
Click to collapse
Mate i also have that hjge back button hene
Sent from my Transformer TF101 using Tapatalk now Free
lyndonguti said:
Mate i also have that hjge back button hene
Sent from my Transformer TF101 using Tapatalk now Free
Click to expand...
Click to collapse
@niaboc79 had solution for that.
Mate, could you help a bit here...
I could resize it but that's not solution...that's improvising
In landscape is O.K but portrait is odd...
Sent from my C6903 using Tapatalk
funky0308 said:
@niaboc79 had solution for that.
Mate, could you help a bit here...
I could resize it but that's not solution...that's improvising
In landscape is O.K but portrait is odd...
Sent from my C6903 using Tapatalk
Click to expand...
Click to collapse
Yeah niaboc fix that....sure sera will know that too...anway yeah its odd but hey the system notification is just out of the box hehe
Sent from my Transformer TF101 using Tapatalk now Free
lyndonguti said:
Yeah niaboc fix that....sure sera will know that too...anway yeah its odd but hey the system notification is just out of the box hehe
Sent from my Transformer TF101 using Tapatalk now Free
Click to expand...
Click to collapse
Absolutely... @serajr knows that I didn't mean nothing bad, just reporting and because he did so much tonight I asked another Android wizard
Sent from my C6903 using Tapatalk
This one works freaking well on XT! Recommended
Sent from my LT30p using Tapatalk
funky0308 said:
Absolutely... @serajr knows that I didn't mean nothing bad, just reporting and because he did so much tonight I asked another Android wizard
Sent from my C6903 using Tapatalk
Click to expand...
Click to collapse
Yeah he know us such a huge supporters of those two gigantic hehe.….anyway i think im gonna enjoy the home for now ..so nice
Sent from my Transformer TF101 using Tapatalk now Free
I know it isn't made for such a different device, but I tried it anyway on my Tablet Z.
It half works. If I slide down the notification side, it doesn't show anything. The toggles side works nicely, except for the Location toggle, which thinks it is off, when everything is on.
Other thing is the bugged navigation bar. It is completely huge and requires a lot of tries to work. The rest seems to work somewhat well.
Once again, I know it isn't meant for such a different device, but it worth a try
Sent from my SGP311 using Tapatalk
@serajr could you port it to 4.1.2 please? it'd be really cool! I like that notification panel I want to make my Ion better until I get my Z2
funky0308 said:
@niaboc79 had solution for that.
Mate, could you help a bit here...
I could resize it but that's not solution...that's improvising
In landscape is O.K but portrait is odd...
Sent from my C6903 using Tapatalk
Click to expand...
Click to collapse
navigation_bar.xml
for all line with:
Code:
android:id="@id/back"
remove
Code:
android:scaleType="center"
niaboc79 said:
navigation_bar.xml
for all line with:
Code:
android:id="@id/back"
remove
Code:
android:scaleType="center"
Click to expand...
Click to collapse
As I said...he knows
Thanks mate - will do that tomorrow.
Tnx for fast answer
Sent from my C6903 using Tapatalk
@serajr
Amazing work my friend
Here's already my little variation with some theme accent color
Edit: GPS and Hotspot toggles are not working proprely
@serajr first thanks for your awesome work
Little bug : useless vibration when touch above navigation keys
Sent from my C6503 using Tapatalk
IMAGED BATTERYMOD
MOTO G XT1033 ASIA
{
"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"
}
BATTERY BLUE WHITE TEXT
GLOWING BATTERY
I have created the base ..
now its your turn to mod and come up with different battery mods
always give credits
PRESS THANKS IF YOU LIKED MY WORK
HOW THINGS WORK
ADAPTED FROM ORIGINAL POST
I basically used files from Android 4.3 to make Image theme on Stock XT1033.
I have modded PhoneStatusBar.smali.
used BatteryController.smali from Android4.3.
msim_status_bar.xml for imageview of @id/battery
AREA OF INTEREST :
PhoneStatusBar.smali line no : 8520
Code:
.line 1190
new-instance v0, Lcom/android/systemui/statusbar/policy/BatteryController;
iget-object v2, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
invoke-direct {v0, v2}, Lcom/android/systemui/statusbar/policy/BatteryController;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryController:Lcom/android/systemui/statusbar/policy/BatteryController;
[color=red]iget-object v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryController:Lcom/android/systemui/statusbar/policy/BatteryController;
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
const v4, 0x7f07002d
invoke-virtual {v0, v4}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
invoke-virtual {v3, v0}, Lcom/android/systemui/statusbar/policy/BatteryController;->addIconView(Landroid/widget/ImageView;)V[/color]
.line 1194
iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mIsMultiSimEnabled:Z
if-eqz v0, :cond_3e
.line 1195
new-instance v0, Lcom/android/systemui/statusbar/policy/MSimNetworkController;
IMPORTANT FILES :
ORIGINAL PHONESTATUSBAR.SMALI
BASED ON THE BEAUTIFUL WORKS OF MASTER @Ticklefish
And thanks to the guy who sent me SystemUI from JB4.3 !!
sidharth.gtm said:
THIS IS HALF BAKED ONLY FOR DEVELOPMENT (REGULAR USER PLZ DONT DOWNLOAD)
I basically used files from Android 4.3 to make Image theme on Stock XT1033.
I have modded PhoneStatusBar.smali.
used BatteryController.smali from Android4.3.
End Result :
some how this mod does not shows network icons
FILES : IMAGED BATTERY
AREA OF INTEREST :
PhoneStatusBar.smali line no : 8520
Code:
.line 1190
new-instance v0, Lcom/android/systemui/statusbar/policy/BatteryController;
iget-object v2, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
invoke-direct {v0, v2}, Lcom/android/systemui/statusbar/policy/BatteryController;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryController:Lcom/android/systemui/statusbar/policy/BatteryController;
[color=red]iget-object v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mBatteryController:Lcom/android/systemui/statusbar/policy/BatteryController;
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;
const v6, 0x7f07002d
invoke-virtual {v0, v6}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
invoke-virtual {v3, v0}, Lcom/android/systemui/statusbar/policy/BatteryController;->addIconView(Landroid/widget/ImageView;)V[/color]
.line 1194
iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mIsMultiSimEnabled:Z
if-eqz v0, :cond_3e
.line 1195
new-instance v0, Lcom/android/systemui/statusbar/policy/MSimNetworkController;
Removing red lines and compiling again bring backs the Network icon (Signal Cluster)
IMPORTANT FILES :
ORIGINAL PHONESTATUSBAR.SMALI
MODIFIED PHONESTATUSBAR.SMALI
Click to expand...
Click to collapse
Hmm..smali. Yuck.
I'll be honest, I don't know what's caused this. My understanding of smali is only about 10% or so.
But I can make a suggestion. If removing the red lines solves the issue, it's worth finding out if you actually need to remove all of them.
So remove the first red line, recompile, see what happens. If you get a FC or your statusbar goes wrong, remove the second line instead, recompile and see what happens then.
Tedious but that way you can narrow down precisely which bits of code are causing your signal icons to vanish. Then you'll be that bit closer fo working out what to do about it.
@sidharth.gtm
try do not delete red lines and do some changes:
#if-eqz v0, :cond_3e
see what happend
S0bes said:
@sidharth.gtm
try do not delete red lines and do some changes:
#if-eqz v0, :cond_3e
see what happend
Click to expand...
Click to collapse
Did not help !
Ticklefish said:
Hmm..smali. Yuck.
I'll be honest, I don't know what's caused this. My understanding of smali is only about 10% or so.
But I can make a suggestion. If removing the red lines solves the issue, it's worth finding out if you actually need to remove all of them.
So remove the first red line, recompile, see what happens. If you get a FC or your statusbar goes wrong, remove the second line instead, recompile and see what happens then.
Tedious but that way you can narrow down precisely which bits of code are causing your signal icons to vanish. Then you'll be that bit closer fo working out what to do about it.
Click to expand...
Click to collapse
Thanks Sir !
I was finally able to make this mod working !
Thanks for your support !!
nice job mate :good: , was waiting for this ever since i got moto g , now i can mod battery icon to xperia z2
sidharth.gtm said:
Thanks Sir !
I was finally able to make this mod working !
Thanks for your support !!
Click to expand...
Click to collapse
Anytime
Which line(s) did you end up removing?
Sent from my C6603 using Tapatalk
Ticklefish said:
Anytime
Which line(s) did you end up removing?
Sent from my C6603 using Tapatalk
Click to expand...
Click to collapse
Sir ,
i changed
Code:
const v6, 0x7f07002d
invoke-virtual {v0, v6}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->fin
move-result-object v0
TO
Code:
const v4, 0x7f07002d
invoke-virtual {v0, v4}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->fin
move-result-object v0
Frankly speaking sir , i dont come from programming background.. everything i have learnt here is from you and your guides ..
sidharth.gtm said:
....
Click to expand...
Click to collapse
awesome work bro can u add speed to the statusbar to this mod? and upload the systemui i like the speed thing.
sidharth.gtm said:
Sir ,
i changed
Code:
const v6, 0x7f07002d
invoke-virtual {v0, v6}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->fin
move-result-object v0
TO
Code:
const v4, 0x7f07002d
invoke-virtual {v0, v4}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->fin
move-result-object v0
Frankly speaking sir , i dont come from programming background.. everything i have learnt here is from you and your guides ..
Click to expand...
Click to collapse
Interesting, I wonder why that worked...hmm...
I did study software engineering but that was a long time ago and I'm a bit out of date. Smali still puzzles me..lol
Good to see you got it working, I'm going to have to try this on the Sony Xperia KK rom. That's got a partial xml solution, because Sony did things a little differently, but it'd be nice to get it working fully.
Guess I'll be learning from you.
Oh, and you need to edit the op. It's still asking about the signal cluster..
moded to xperia z2 icons
XT-107 said:
moded to xperia z2 icons
Click to expand...
Click to collapse
Thats awesome .. plz share pngs
sidharth.gtm said:
Thats awesome .. plz share pngs
Click to expand...
Click to collapse
here
took so much time to rename/edit .
XT-107 said:
here
took so much time to rename/edit .
Click to expand...
Click to collapse
i will integrate it to Og battery mod
no need to edit and rename
sidharth.gtm said:
i will integrate it to Og battery mod
no need to edit and rename
Click to expand...
Click to collapse
nice , but that zip has every icon , signal/wifi/navbar/battery icons .
Not compatible with 4.4.4
getting system.ui force close issue.
i try to port this mod in 4.4.4 as you said where you did changes i did the same but i end up with systemui force close. can you suggest me how can i port this. please i need this mod ):
w arun kumar said:
i try to port this mod in 4.4.4 as you said where you did changes i did the same but i end up with systemui force close. can you suggest me how can i port this. please i need this mod ):
Click to expand...
Click to collapse
Gravity box supports battery icon change now similar to cm11 feature. No need to mod this anymore
Sent from XT1033 India