[HOW-TO]{GUIDE}Get Ultra Power Saving Mode and Settings menu of S5 to S4![5.0.1] - Galaxy S 4 Themes and Apps

EDIT : Guide how to port UPSM on S4 on Post #10
First of all IM not responsible if anything happens to your phone, first back it up!
This mod is tested ONLY on i9506, but you can test it on other S4 mobiles and then tell me if it works
And it works only on Stock rooted official Lollipop build
1. Download the zip file Here
2. Extract the file SecSettings.apk.
3. Use a root explorer from your mobile to move the existing Secsettings file to your sd(for backup purposes)
4. Go to /system/priv-app/SecSettings/ and move the file SecSettings.apk to /storage/extSdCard/oldsec.apk
5. Copy the new SecSettings.apk file to your sd.
6. Navigate to /storage/extSdCard and move the new SecSettings.apk to /system/priv-app/SecSettings
7. Give permissions rw--r---r---
8. Reboot device
What you get
Advanced Power saving mode with grayscale mode
All the new lockscreen settings with popping colors
And more..
What is not working
Ultra power saving mode, but i will try to port it.
Random fc on sound settings and data settings. Trying to fix them
If it fails after reboot, or want to revert back restore the original SecSettings.apk

nikosdd said:
First of all IM not responsible if anything happens to your phone, first back it up!
This mod is tested ONLY on i9506, but you can test it on other S4 mobiles and then tell me if it works
And it works only on Stock rooted official Lollipop build
1. Download the zip file Here
2. Extract the file SecSettings.apk.
3. Use a root explorer from your mobile to move the existing Secsettings file to your sd(for backup purposes)
4. Go to /system/priv-app/SecSettings/ and move the file SecSettings.apk to /storage/extSdCard/oldsec.apk
5. Copy the new SecSettings.apk file to your sd.
6. Navigate to /storage/extSdCard and move the new SecSettings.apk to /system/priv-app/SecSettings
7. Give permissions rw--r---r---
8. Reboot device
What you get
Advanced Power saving mode with grayscale mode
All the new lockscreen settings with popping colors
And more..
What is not working
Ultra power saving mode, but i will try to port it.
If it fails after reboot, restore the original SecSettings.apk
Click to expand...
Click to collapse
Thank you very much!
I am waiting for the Ultra power saving mode:good: Really awesomme if it will work.
Thank You
---------- Post added at 03:43 PM ---------- Previous post was at 02:58 PM ----------
faouz said:
Thank you very much!
I am waiting for the Ultra power saving mode:good: Really awesomme if it will work.
Thank You
Click to expand...
Click to collapse

faouz said:
Thank you very much!
I am waiting for the Ultra power saving mode:good: Really awesomme if it will work.
Thank You
---------- Post added at 03:43 PM ---------- Previous post was at 02:58 PM ----------
Click to expand...
Click to collapse
Everything is working except for the sound it is force closing

FC
Thanks, but I have 4-5 FC... on some icons in settings. And the sound its doesnt work.
If you wipe cache and change in build.prop "ro.product.name=SM-N9000" you have the settings app working after reboot.
Tried on i9506 stock.

superpulosu said:
Thanks, but I have 4-5 FC... on some icons in settings. And the sound its doesnt work.
If you wipe cache and change in build.prop "ro.product.name=SM-N9000" you have the settings app working after reboot.
Tried on i9506 stock.
Click to expand...
Click to collapse
I saw the fc later and I'm trying to fix them. Superpulosu changing product name does nothing to the fc

nikosdd said:
I saw the fc later and I'm trying to fix them. Superpulosu changing product name does nothing to the fc
Click to expand...
Click to collapse
Will this work on i9500?

I don't know. I tested it on 9506. If you can test it and write here again for the result but remember to backup your original apk file!

Ok, sorry. You right it does not change nothing if you change build.prop
I had another settings mod and its not working with your settings app.
I have FC on battery, data usage and the sound bug... Maybe you can make it work.
Thanks for your work.

Right now i've managed to port Ultra Power Saving Mode, but when i find time,i will write the procedure right here, or if anyone wants to send me his services.jar file(Please only from deodexed roms, otherwise first deodex rom and then send me the jar file otherwise it will not work), and to give you the short details how to install it. First before you send me this file, open it with winrar or 7zip and see if inside is a file named classes.dex. If not,deodex your rom, if yes send me this file and the model of the phone of course

Ultra Power Saving Mode port
Alright here is the details of how to port UPSM on lollipop rom
First, be sure that you are on a deodexed rom, otherwise search to the XDA about how to deodex your rom(its easy)
Download ApkTool (attached zip file)
Download Emergency apps(attached zip file)
Pull from your phone the services.jar located in /system/frameworks
Open the file services.jar with 7zip or winrar and extract the file classes.dex to the root of apktool
Drag and drop the classes.dex to the cmd file Quick-Baksmali.cmd
Wait for it to finish
Open the newly created folder Classout and go to classout\com\android\server
Open with notepad++ or other text editor the file SystemServer.smali
Search with the keyword "emergency" and you will find 1 result.
Delete the following result starting from - and ending to ...
Code:
.method static final startEmergencyModeService(Landroid/content/Context;)V
.
.
.
.end method
Now add right here this code
Code:
.method static final startEmergencyModeService(Landroid/content/Context;)V
.registers 6
.parameter "context"
.prologue
.line 2194
:try_start_0
invoke-static {p0}, Lcom/sec/android/emergencymode/EmergencyManager;->getInstance(Landroid/content/Context;)Lcom/sec/android/emergencymode/EmergencyManager;
move-result-object v1
.line 2195
.local v1, emMgr:Lcom/sec/android/emergencymode/EmergencyManager;
invoke-virtual {v1}, Lcom/sec/android/emergencymode/EmergencyManager;->readyEmergencyMode()V
:try_end_7
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_7} :catch_8
.line 2200
.end local v1 #emMgr:Lcom/sec/android/emergencymode/EmergencyManager;
:goto_7
return-void
.line 2196
:catch_8
move-exception v0
.line 2197
.local v0, e:Ljava/lang/Exception;
const-string v2, "SystemServer"
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Starting emergency service failed: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_7
.end method
Save this file, and drag n drop the hole folder Classout to the cmd file Quick-Smali.cmd
It will generate a new file named new-classes.dex
Open again services.jar with 7zip or winrar, delete the classes.dex file and insert this newly created dex file, rename it classes.dex and push this file to the device, overwriting the stock services.jar file
DO NOT forget to set permissions rw-r--r--
Copy all the files in the 1st attached zip to /system/apps/ and set the appropriate permissions
After this, you will be able to enable UPSM from the settings mod in post #1 and you can also add it to notification bar with SQLite editor
To do this you must go to settings storage,settings.DB,system and search for notification
Edit the following "notification_panel_active_app_list_for_reset" ,and after the last semicolon( add this
Code:
UltraPowerSaving;
Go to notification settings and restore the buttons and the U.Power saving button will appear
Reboot and everything will work if you followed the whole procedure right
What is not working
While in UPSM, you may not hear voice during a call. Trying to fix it. Stay on for an update

As for the Fc from the settings apk, im testing to see if it will work if i change and the settingsstorage and for now it looks stable.

what you actually did for grid menu ? can you share guide?

Any screenshots to the this new guide?

jagnik said:
what you actually did for grid menu ? can you share guide?
Click to expand...
Click to collapse
You mean for the settings apk?
michaelbelachev said:
Any screenshots to the this new guide?
Click to expand...
Click to collapse
Screenshots about how to install the new secsettings.apk or how to port UPSM? Im afraid that in every model of device, the services.jar is a bit different and the screenshots wont be correct.

nikosdd said:
EDIT : Guide how to port UPSM on S4 on Post #10
First of all IM not responsible if anything happens to your phone, first back it up!
This mod is tested ONLY on i9506, but you can test it on other S4 mobiles and then tell me if it works
And it works only on Stock rooted official Lollipop build
1. Download the zip file Here
2. Extract the file SecSettings.apk.
3. Use a root explorer from your mobile to move the existing Secsettings file to your sd(for backup purposes)
4. Go to /system/priv-app/SecSettings/ and move the file SecSettings.apk to /storage/extSdCard/oldsec.apk
5. Copy the new SecSettings.apk file to your sd.
6. Navigate to /storage/extSdCard and move the new SecSettings.apk to /system/priv-app/SecSettings
7. Give permissions rw--r---r---
8. Reboot device
What you get
Advanced Power saving mode with grayscale mode
All the new lockscreen settings with popping colors
And more..
What is not working
Ultra power saving mode, but i will try to port it.
If it fails after reboot, restore the original SecSettings.apk
Click to expand...
Click to collapse
Please create how to mod SecSettings.apk

Y3dx said:
Please create how to mod SecSettings.apk
Click to expand...
Click to collapse
Hello
You don't mod the secsettings file, you just change it with the file I give you to download. First remember to take a backup at your SD, or even better a nandroid backup. As I've mentioned it has some bugs and due to exams I don't have the required time to fix them in short time but I'm trying

Thanks for your great work. Any news about the FC in the settings app?

Problem solve!!!!!!!!!
I solve some problem..
download UPSM_fix form link.
and install new shealth.apk..................
Use this post for service.jar
http://forum.xda-developers.com/showpost.php?p=60192294&postcount=10
every problem solve...............
sorry I am new here............
thankx
UPSM_fix.zip
New_shealth.apk
setting fc fixed...........
Upsm_fix_v2
flash with cwm......

antugoogly said:
I solve some problem..
download UPSM_fix form link.
and install new shealth.apk..................
Use this post for service.jar
http://forum.xda-developers.com/showpost.php?p=60192294&postcount=10
every problem solve...............
sorry I am new here............
thankx
UPSM_fix.zip
New_shealth.apk
setting fc fixed...........
Upsm_fix_v2
flash with cwm......
Click to expand...
Click to collapse
what problem you actually fixed? Because S health is irrelevant to Settings ui and Ultra power saving mode(i guess so)

antugoogly said:
I solve some problem..
download UPSM_fix form link.
and install new shealth.apk..................
Use this post for service.jar
http://forum.xda-developers.com/showpost.php?p=60192294&postcount=10
every problem solve...............
sorry I am new here............
thankx
UPSM_fix.zip
New_shealth.apk
setting fc fixed...........
Upsm_fix_v2
flash with cwm......
Click to expand...
Click to collapse
antugoogly said:
I solve some problem..
download UPSM_fix form link.
and install new shealth.apk..................
Use this post for service.jar
http://forum.xda-developers.com/showpost.php?p=60192294&postcount=10
every problem solve...............
sorry I am new here............
thankx
UPSM_fix.zip
New_shealth.apk
setting fc fixed...........
Upsm_fix_v2
flash with cwm......
Click to expand...
Click to collapse
UPSM fix 2 is perfect but...
It's force close in lock screen widgets
{
"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"
}

Related

[MULTI-MOD] Reboot Option, Percentage Battery, Percentage WiFi, & ASU Signal Strength

[MULTI-MOD] Reboot Option, Percentage Battery, Percentage WiFi, & ASU Signal Strength
I managed to port untermensch's modification to add reboot option(s) to our power menu. See original thread for more information on the process.
Alternative versions also include the Super Circle Battery modification, my own WiFi percentage indicator and ASU network signal strength mods.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Requirements:
1. Root privileges
2. Choose appropriate firmware version below.
2.3_3.0.1.G.0.75_GENERIC
See this post for Reboot Option only.
See this post for Reboot Option & Percentage Battery.
See this post for Reboot Option & Percentage Battery & WiFi Percentage & ASU Signal Strength.
See this post for Reboot Option & Percentage Battery & WiFi Percentage & ASU Signal Strength + Roaming.
2.1.A.0.435_GLOBAL See this post.
2.0.2.A.0.24_GLOBAL See this post.
2.0.A.0.504_GLOBAL See this post's attachments.
Note: This replaces core system files, i.e. will remove previously installed themes and modifications. If you have problems, push back the original files.
Automatic (xRecovery) Installation:
Reboot into xRecovery and flash update.zip if supplied.
Automatic (ADB GUI) Installation:
Use the X10 Mod Tool, to push the files to the device.
SystemUI.apk goes in system/app if present, and rest in system/framework.
Manual (Terminal Emulator) Installation:
1. Unrar archive.
2. Copy extracted files to /sdcard, and
3. In Terminal Emulator:
a) make sure you have super user permissions (su),
b) remount /system partition as read-write (mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system),
c) replace framework.jar (dd if=/sdcard/framework.jar of=/system/framework/framework.jar),
d) replace android.policy.jar (dd if=/sdcard/android.policy.jar of=/system/framework/android.policy.jar),
e) replace SystemUI.apk (dd if=/sdcard/SystemUI.apk of=/system/app/SystemUI.apk) if present,
f) replace framework-res.apk (dd if=/sdcard/framework-res.apk of=/system/framework/framework-res.apk) if present, and
g) reboot device (reboot) if not automatic.
Thanks Mr. Rusch glad your also modding the x10
Tested on my Singapore X10i but it cannot boot up, I am repairing my X10 via the PC Companion now.
Under contruction
Percentage Battery
A. The 101 stat_sys_battery_X.png and 21 stat_sys_battery_charge_X.png images of which the modification is based, need to be inserted into framework-res.apk.
1. Decompile framework-res.apk with APK Tool or X10 Mod Tool.
2. Add images to res/drawable-hdpi/.
B. These images then need to be referenced in public.xml as drawables.
1. Open res/values/public.xml in e.g. Notepad.
2. Find last drawable-id and increment by one hexadecimal value (XxXXXXXXXX).
3. Create and add all of your drawables as below, incrementing by one hexadeimal value per item.
Code:
<public type="drawable" name="stat_sys_battery_X" id="XxXXXXXXXX" />
4. Save and Close.
C. The XMLs controlling the battery stats (stat_sys_battery.xml and stat_sys_battery_charge.xml) need to be adjusted to percentage levels (100 on battery, and 20 at charging).
1. Replace stat_sys_battery.xml with the one attached to this post.
2. Replace stat_sys_battery_charge.xml with the one attached to this post.
3. Recompile framework-res.apk with APK Tools or X10 Mod Tool.
Replace framework-res.apk on your device.
Reboot Option
A. The reboot.png needs to be inserted into the framework-res.apk.
1. Decompile framework-res.apk with APK Tool or X10 Mod Tool.
2. Add reboot.png to res/drawable-hdpi/.
B. This image is then to be referenced in public.xml as a drawable.
1. Open res/values/public.xml in e.g. Notepad.
2. Find last drawable-id and increment by one hexadecimal value (XxXXXXXXXX).
3. Create and add your drawable as below,
Code:
<public type="drawable" name="reboot" id="XxXXXXXXXX" />
C. The string "Reboot" needs to be added as well, in public.xml and strings.xml.
1. Find last string-id and increment by one hexadecimal value (XxXXXXXXXX).
2. Create and add your string as below,
Code:
<public type="string" name="reboot" id="XxXXXXXXXX" />
3. Save and Close public.xml.
5. Open res/values/strings.xml in e.g. Notepad.
6. Create and add your string as below,
Code:
<string name="reboot">Reboot</string>
7. Save and Close.
8. Recompile framework-res.apk with APK Tool or X10 Mod Tool.
D. ShutdownThread.java needs to be modified to handle the reboot-command from the power menu.
1. Decompile framework.jar with X10 Mod Tool or baksmali.jar.
2. Open com\android\internal\app\ShutdownThread.smali in e.g Notepad.
3. After the last entry in the "# static fields" section, add
Code:
.field public static mReboot:I
4. Search for "invoke-static {}, Landroid/os/Power;->shutdown()V", and add the following code before this line.
Code:
sget v1, Lcom/android/internal/app/ShutdownThread;->mReboot:I
const/4 v2, 0x1
if-eq v1, v2, :reboot
5. After the next return-void statement, add this code
Code:
:reboot
const-string v4, "now"
invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V
return-void
This will send the "now" command to the kernels shutdown process. When we get our kernels sorted, we can add other commands such as "recovery" or "download" here.
6. Save and Close.
7. Recompile framework.jar with X10 Mod Tool or smali.jar.
E. GlobalActions.java needs to be modified to present the reboot-
drawble/string in the power menu.
1. Decompile android.policy.jar with X10 Mod Tool or baksmali.jar.
2. Open com\android\internal\policy\impl\GlobalActions.smali in e.g Notepad.
3. In the "createDialog" method, extend the array by changing this
Code:
const/4 v0, 0x3
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
to this
Code:
const/4 v0, 0x[B]4[/B]
new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action;
Note here that depending on how many options that already exist in your power menu, this constant's value may differ. The point is - increment it by 1.
4. Add the reboot menu item by adding the following code after last instance of "aput-object v2, v0, v1"
Code:
const/4 v1, 0x3
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$7;
const v3, XxXXXXXXX # reboot icon resource id
const v4, YxYYYYYYY # reboot string resource id
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$7;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
Note: Swap XxXXXXXXX for the drawable-ID and YxYYYYYYY for the string-ID. The constant v1 decides the placement in the array we extended above. So you can adjust this if you want to place the entry somewhere other than at the end. But remember to adjust the other entries as well then.
5. Save and Close.
6. Now make a copy of GlobalActions$3.smali and rename it to GlobalActions$7.smali.
7. Open GlobalActions$7.smali in e.g Notepad.
8. Replace all instances of "GlobalActions$3" inside it, with "GlobalActions$7".
9. Search for "invoke-static {v0, v1}, Lcom/android/internal/app/ShutdownThread;->shutdown(Landroid/content/Context;Z)V", and add the following code in the line before
Code:
const/4 v2, 0x1
sput v2, Lcom/android/internal/app/ShutdownThread;->mReboot:I
10. Save and Close.
11. Recompile android.policy.jar with X10 Mod Tool or smali.jar.
Replace framework.jar, android.policy.jar and framework-res.apk on your device.
Percentage WiFi
A. The 21 stat_sys_wifi_signal_X.png images need to be inserted into framework-res.apk (<2.3.3) or SystemUI.apk (>2.3.3).
1. Decompile framework-res.apk with APK Tool or X10 Mod Tool.
2. Add images to res/drawable-hdpi/.
B. These images then need to be registered as drawables in public.xml.
1. Open res/values/public.xml in e.g. Notepad.
2. Find last drawable-id and increment by one hexadecimal value (XxXXXXXXXX).
3. Create and add all of your drawables as below, incrementing by one hexadeimal value per item.
Code:
<public type="drawable" name="stat_sys_wifi_signal_X" id="XxXXXXXXXX" />
4. Recompile framework-res.apk (<2.3.3) or SystemUI.apk (>2.3.3) with APKTool or X10 Mod Tool.
C. StatusBarPolicy.java needs to load the new WiFi-drawables into status bar.
1. Decompile services.jar with X10 Mod Tool.
2. Open StatusBarPolicy.smali in e.g. Notepad.
3. Go the start of the constructor at ".method static constructor <clinit>()V".
4. Increment " .locals X" by one decimal value.
5. Under " .prologue", add another registry to extend the array with,
Code:
const/16 vX, 0x21
Note: vX is also incremented by one decimal value.
6. Now search for "sput-object v0, Lcom/android/systemui/statusbar/policy/StatusBarPolicy;->sWifiSignalImages:[[I"
The three rows above this, will look like this
Code:
new-array vX, vY, [I
fill-array-data vX, :array_Q
aput-object vX, vZ, v4
6. In the first row, swap vY to the constant we created to initiate the array with.
7. From the second row, copy the ":array_Q" value and go to this marker.
8. Extend this array at the end with references to the drawables-IDs we registered in public.xml earlier.
Note: The ID-format is backwards, i.e.
0xXXt 0xYYt 0xZZt 0xQQt = 0xQQZZYYXX
9. Save and Close.
10. Recompile services.jar with X10 Mod Tool.
D. WifiManager's calculateSignalLevel() functions decision-logic needs to be modified for the 20 levels of WiFi (5% increments).
Note: This function should according to the APIs work as is, as it recieves the array-length as maximum value. For some reason though, I constantly face OutOfBoundsExceptions when using this. Instead, I have created my own logic in java, converted it into smali-code, and replaced the original function with it.
1. Decompile framework.jar with X10 Mod Tool or baksmali.jar.
2. Open WifiManager.smali in e.g. Notepad.
3. Replace the "calculateSignalLevel" function with the one attached to this post.
4. Save and Close.
5. Recompile framework.jar with X10Mod Tool or smali.jar.
Replace framework.jar, services.jar and framework-res.apk on your device.
ASU/dBm Signal Strength
A. The 33 stat_sys_signal_X.png images need to be inserted into framework-res.apk.
B. These images then need to be registered as drawables in public.xml.
C. StatusBarPolicy.java needs to be modified to choose drawable by ASU-value.
D. StatusBarPolicy.java needs to load the new ASU-drawables into status bar.
E. For roaming to work, same process (1-4) needs to be repeated for stat_sys_r_signal_X.png images.
Thank you very much for your mod, tested on my X10 with 2.1 Global Generic and work very well.
To serve options:
Recovery and Download?
Great Work
PD: It would be possible to modify the text of the options?:
Reboot----- for Reiniciar
Recovery----for Recuperar
Download--- for Descargar
It's because I have the X10 in Spanish
tiggerbcn said:
PD: It would be possible to modify the text of the options?:
Reboot----- for Reiniciar
Recovery----for Recuperar
Download--- for Descargar
It's because I have the X10 in Spanish
Click to expand...
Click to collapse
You'd have to mod the APK. So depends how comfortable you are with this.
Edit: Decompile the APK, modify strings.xml, and recompile.
Sent from my X10i using XDA App
Buffff, that will not do, be so kind to modify that file and put it here to download it?, I've put a link to this post in a forum Spanish and there are some who call me, but I have the tools to edit these files
Thanks
PD:and these options are used?
Recovery and Download
Hi, MrRusch. How can I install ONLY that grey battery icon with the percentage within it? Is it possible?
Thanks in advance
PS: I'm the one who asked tiggerbcn for the spanish translation btw
is it possible to modify it to have the reboot option only?
as I dont think I would be using the other options...and would rather not press them by mistake....he he
MrRusch said:
You'd have to mod the APK. So depends how comfortable you are with this.
Edit: Decompile the APK, modify strings.xml, and recompile.
Sent from my X10i using XDA App
Click to expand...
Click to collapse
where i can find that "stings.xml" ?
thks
rendeiro2005 said:
where i can find that "stings.xml" ?
thks
Click to expand...
Click to collapse
It's in res\values in the APK.
Zenghelis said:
Hi, MrRusch. How can I install ONLY that grey battery icon with the percentage within it? Is it possible?
Thanks in advance
PS: I'm the one who asked tiggerbcn for the spanish translation btw
Click to expand...
Click to collapse
You will find the battery mod itself in this thread.
tiggerbcn said:
Buffff, that will not do, be so kind to modify that file and put it here to download it?, I've put a link to this post in a forum Spanish and there are some who call me, but I have the tools to edit these files
Thanks
PD:and these options are used?
Recovery and Download
Click to expand...
Click to collapse
Sorry all, but I will not be making language-specific mods, as this would lead to requests for lots of different languages. If you want to modify it to your language, follow the instructions I have given here (or consult your national chef for help).
As for the latter part of your question - perhaps someone else here can answer this, as this is my first Android device.
mith500 said:
is it possible to modify it to have the reboot option only?
as I dont think I would be using the other options...and would rather not press them by mistake....he he
Click to expand...
Click to collapse
Yes, this version is coming.
MrRusch said:
It's in res\values in the APK.
Click to expand...
Click to collapse
thks a lot.
i`m trying to create a new theme with animations, battery info, etc and i don`t want just install.
thks
rendeiro2005 said:
thks a lot.
i`m trying to create a new theme with animations, battery info, etc and i don`t want just install.
thks
Click to expand...
Click to collapse
Now you got me
how the hell i`m suppoused to mess if i don`t have that folder???
yours don`t have it as mine
rendeiro2005 said:
Now you got me
how the hell i`m suppoused to mess if i don`t have that folder???
yours don`t have it as mine
Click to expand...
Click to collapse
You need to decompile it, not just extract it as an archive. Use apktool or client such as APK Manager to access meta-data from resources.arsc.
MrRusch said:
You need to decompile it, not just extract it as an archive. Use apktool or client such as APK Manager to access meta-data from resources.arsc.
Click to expand...
Click to collapse
forget it
i`m working with that now
thks
i`m sorry but i need your hel with one more thing
were i can find "com\android\internal\app\ShutdownThread.smali "?
it`s suppoused to be on framework but we only have framework-res andi can`t find that
thks
rendeiro2005 said:
i`m sorry but i need your hel with one more thing
were i can find "com\android\internal\app\ShutdownThread.smali "?
it`s suppoused to be on framework but we only have framework-res andi can`t find that
thks
Click to expand...
Click to collapse
No, sorry this is embedded in framework.jar, not framework-res.apk. You will need to deodex this file with baksmali to decompile, edit, and then recompile with smali. But FYI you don't need to touch anything but the APK if you only want to change the language. For this editing strings.xml is enough.
MrRusch said:
No, sorry this is embedded in framework.jar, not framework-res.apk. You will need to deodex this file with baksmali to decompile, edit, and then recompile with smali.
Click to expand...
Click to collapse
ooops
ok
thks
I have now added the single option version, only displaying the Reboot (normal) alternative. This one also comes in two versions, with the default battery indicator, or the percentage one. See screenshots in first post.
MrRusch said:
I have now added the single option version, only displaying the Reboot (normal) alternative. This one also comes in two versions, with the default battery indicator, or the percentage one. See screenshots in first post.
Click to expand...
Click to collapse
sorry again
what`s the command to compile android.policy.jar?
thks

[GUIDE] How to get Transparent App Drawer [Launcher2.apk or Trebuchet.apk]

Hi Guys,
I have been asked many times how I was able to do transparent app drawer.
Description:
Transparent app drawer by definition means you can see the homescreen wallpaper whilst in app drawer instead of the default black background.
Tools needed:
1) apktool
2) notepad++
3) 7zip
Files needed: (Depending on ROM type)
1) trebuchet.apk, or
2) Launcher2.apk
Steps [HOW TO]:
1) decompile trebuchet.apk or Launcher2.apk
2) go to \res\layout\apps_customize_pane.xml
replace android:background="#ff000000" with android:background="#00000000"
There are two instances in this file.
3) now SMALI CODE.
go to
\smali\com\cyanogenmod\trebuchet\
or
smali\com\android\launcher2\
4) open Launcher.smali and delete the following method: updateWallpaperVisibility
Also delete all its references in Launcher.smali and other smali files. Usually this method is referenced in Launcher$13.smali and Launcher$17.smali and AppsCustomizePagedView.smali
However, it could be different from file to file depending on how it was built from source. Therefore, to know the file names exactly, just use notepad++ and use Search in Files feature and search for updateWallpaperVisibility in the decompiled apk samli folder. It will tell you where this method is referenced.
Example of Smali:
Delete all this method starting from .method to .end mothod.
This code is in Launcher.smali.
.method updateWallpaperVisibility(Z)V
.locals 3
.parameter
.prologue
const/high16 v1, 0x10
.line 2322
if-eqz p1, :cond_1
move v0, v1
.line 2323
:goto_0
invoke-virtual {p0}, Lcom/android/launcher2/Launcher;->getWindow()Landroid/view/Window;
move-result-object v2
invoke-virtual {v2}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object v2
iget v2, v2, Landroid/view/WindowManager$LayoutParams;->flags:I
and-int/2addr v2, v1
.line 2325
if-eq v0, v2, :cond_0
.line 2326
invoke-virtual {p0}, Lcom/android/launcher2/Launcher;->getWindow()Landroid/view/Window;
move-result-object v2
invoke-virtual {v2, v0, v1}, Landroid/view/Window;->setFlags(II)V
.line 2328
:cond_0
return-void
.line 2322
:cond_1
const/4 v0, 0x0
goto :goto_0
.end method
Click to expand...
Click to collapse
Having done this deletion, use notepad++ to search for updateWallpaperVisibility
Use fine in files function in Notepadd++, it will tell you exactly where this method is referenced. Then delete all the lines containing this method reference.
Example:
invoke-virtual {p0, v0}, Lcom/android/launcher2/Launcher;->updateWallpaperVisibility(Z)V
Click to expand...
Click to collapse
so, you have to delete the above line completely, and also any lines in all smali files containing "updateWallpaperVisibility"
After deleting the method and all of its references, just compile the apk and make your flashsable zip.
I use APKTOOL and 7zip for that.
Example:
Before:
{
"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"
}
After:
Enjoy
wesamothman said:
Hi Guys,
I have been asked many times how I was able to do transparent app drawer.
Description:
Transparent app drawer by definition means you can see the homescreen wallpaper whilst in app drawer instead of the default black background.
Tools needed:
1) apktool
2) notepad++
3) 7zip
Files needed: (Depending on ROM type)
1) trebuchet.apk, or
2) Launcher2.apk
Steps [HOW TO]:
1) decompile trebuchet.apk or Launcher2.apk
2) go to \res\layout\apps_customize_pane.xml
replace android:background="#ff000000" with android:background="#00000000"
There are two instances in this file.
3) now SMALI CODE.
go to
\smali\com\cyanogenmod\trebuchet\
or
smali\com\android\launcher2\
4) open Launcher.smali and delete the following method: updateWallpaperVisibility
Also delete all its references in Launcher.smali and other smali files. Usually this method is referenced in Launcher$13.smali and Launcher$17.smali and AppsCustomizePagedView.smali
However, it could be different from file to file depending on how it was built from source. Therefore, to know the file names exactly, just use notepad++ and use Search in Files feature and search for updateWallpaperVisibility in the decompiled apk samli folder. It will tell you where this method is referenced.
After deleting the method and all of its references, just compile the apk and make your flashsable zip.
I use APKTOOL and 7zip for that.
Example:
Before:
After:
Enjoy
Click to expand...
Click to collapse
Superman™
---------- Post added at 07:25 PM ---------- Previous post was at 07:24 PM ----------
THis is nice
Superman™
Simple, usefull
Thanks for the tutorial, this really helped me, that's my first time modding.
I was looking for a transparent app drawer since i turn on my phone for the very first time.
THANK YOU
From france.
4) open Launcher.smali and delete the following method: updateWallpaperVisibility
Also delete all its references in Launcher.smali and other smali files. Usually this method is referenced in Launcher$13.smali and Launcher$17.smali and AppsCustomizePagedView.smali
However, it could be different from file to file depending on how it was built from source. Therefore, to know the file names exactly, just use notepad++ and use Search in Files feature and search for updateWallpaperVisibility in the decompiled apk samli folder. It will tell you where this method is referenced.
Click to expand...
Click to collapse
This confused me but i figured it out so i thought i might share incase others get confused as well.
To delete the method look in the Launcher.smali for a line that says ".method updateWallpaperVisibility" , delete everything after that until you get to ".end method" (make sure you delete the ".method updateWallpaperVisibility" and ".end method" line as well), to delete the references find each line that has "updateWallpaperVisibility" (using the "find in files" function in notepad++ as stated in OP) and delete the WHOLE LINE. after that recompile and sign the apk and put it into your phone
bfo12 said:
This confused me but i figured it out so i thought i might share incase others get confused as well.
To delete the method look in the Launcher.smali for a line that says ".method updateWallpaperVisibility" , delete everything after that until you get to ".end method" (make sure you delete the ".method updateWallpaperVisibility" and ".end method" line as well), to delete the references find each line that has "updateWallpaperVisibility" (using the "find in files" function in notepad++ as stated in OP) and delete the WHOLE LINE. after that recompile and sign the apk and put it into your phone
Click to expand...
Click to collapse
Deleting a method implicitly means all of it. From function header .method until .end.
I am glad you managed.
--------------------------------------
GT-N7000 - Note I
GT-N7100 - Note II
GT-N8000 - Note 10.1 3G
Motorola Xoom MZ601 - UMTS EURO
Hey, I don't get it at all, what to do here, is this windows os or android os :S (sry for my unknowledge :/ ) , and also don't get why would I need to use a laucher.apk when I already have a launcher on my CM9, I mean I just don't get it, do I modify the apk and then install it ? :/ Could you explain it to a beginner (who knows how to flash and root ) ?
CroVeXx said:
Hey, I don't get it at all, what to do here, is this windows os or android os :S (sry for my unknowledge :/ ) , and also don't get why would I need to use a laucher.apk when I already have a launcher on my CM9, I mean I just don't get it, do I modify the apk and then install it ? :/ Could you explain it to a beginner (who knows how to flash and root ) ?
Click to expand...
Click to collapse
-APK is android related.
-CM roms use trebuchet.apk while aokp uses launcher2.apk. modding way is the same for both. So you pick up the apk related to your rom type.
-then you follow the guide and make a flashable zip to install from recovery.
--------------------------------------
GT-N7000 - Note I
GT-N7100 - Note II
GT-N8000 - Note 10.1 3G
Motorola Xoom MZ601 - UMTS EURO
link to Trebuchet.apk
wesamothman said:
Hi Guys,
I have been asked many times how I was able to do transparent app drawer.
Description:
Transparent app drawer by definition means you can see the homescreen wallpaper whilst in app drawer instead of the default black background.
Tools needed:
1) apktool
2) notepad++
3) 7zip
Files needed: (Depending on ROM type)
1) trebuchet.apk, or
2) Launcher2.apk
Steps [HOW TO]:
1) decompile trebuchet.apk or Launcher2.apk
2) go to \res\layout\apps_customize_pane.xml
replace android:background="#ff000000" with android:background="#00000000"
There are two instances in this file.
3) now SMALI CODE.
go to
\smali\com\cyanogenmod\trebuchet\
or
smali\com\android\launcher2\
4) open Launcher.smali and delete the following method: updateWallpaperVisibility
Also delete all its references in Launcher.smali and other smali files. Usually this method is referenced in Launcher$13.smali and Launcher$17.smali and AppsCustomizePagedView.smali
However, it could be different from file to file depending on how it was built from source. Therefore, to know the file names exactly, just use notepad++ and use Search in Files feature and search for updateWallpaperVisibility in the decompiled apk samli folder. It will tell you where this method is referenced.
After deleting the method and all of its references, just compile the apk and make your flashsable zip.
I use APKTOOL and 7zip for that.
Example:
Before:
After:
Enjoy
Click to expand...
Click to collapse
Could you please paste a link to download original Trebuchet.apk, so that we can work on it? Thanks!
jago84 said:
Could you please paste a link to download original Trebuchet.apk, so that we can work on it? Thanks!
Click to expand...
Click to collapse
The original trebuchet.apk differs from rom to rom on how it was built from source. But you can get it from cm10. It is default launcher in cm10.
If you use another trebuchet from another rom of a different device, it might not work with your device.
--------------------------------------
GT-N7000 - Note I
GT-N7100 - Note II
GT-N8000 - Note 10.1 3G
Motorola Xoom MZ601 - UMTS EURO
I get an error rebuilding apk: integer types not allowed, referred to the 00000000 value of background color...
gpvecchi said:
I get an error rebuilding apk: integer types not allowed, referred to the 00000000 value of background color...
Click to expand...
Click to collapse
This error comes if your aapt of your apktool is not referring to the correct framework. So you have to get the framework apk file from the same rom where you got the launcher or trebuchet and install it in apktool first
Apktool -f framework-res.apk and then decomplile and do your changes and then build it.
-------------------------
Omega's Team Member
-------------------------
Devices:
---------
GT-N7000 - Note I
GT-N7100 - Note II
GT-N8000 - Note 10.1 3G
Motorola Xoom MZ601 - UMTS EURO
Ok... I don't understand the .smali part so I have done it wrong and I can't compile apk because I have edited somehow wrong the .smali files.. :/
manumanfred said:
Ok... I don't understand the .smali part so I have done it wrong and I can't compile apk because I have edited somehow wrong the .smali files.. :/
Click to expand...
Click to collapse
Use notepad++ to search for the method name i mentioned in op. Delete the method all if it and all the lines that refers to it. You have to do this in all smali files that have this reference. Use notepad++ search in files function to search for its all occurences. Or send me the apk and i will see.
-------------------------
Omega's Team Member
-------------------------
Devices:
---------
GT-N7000 - Note I
GT-N7100 - Note II
GT-N8000 - Note 10.1 3G
Motorola Xoom MZ601 - UMTS EURO
wesamothman said:
Use notepad++ to search for the method name i mentioned in op. Delete the method all if it and all the lines that refers to it. You have to do this in all smali files that have this reference. Use notepad++ search in files function to search for its all occurences. Or send me the apk and i will see.
-------------------------
Omega's Team Member
-------------------------
Devices:
---------
GT-N7000 - Note I
GT-N7100 - Note II
GT-N8000 - Note 10.1 3G
Motorola Xoom MZ601 - UMTS EURO
Click to expand...
Click to collapse
OK Thanks! but I use Linux to decompile and recompile + sign & to zipalign apps. so I use Gedit to edit .xml, .smali and other files.
But the issue is that I don't understand .smali files at all!
I can find the lines but I don't know which is the last line which is needed to be deleted, is it from .method x to .method y or to somewhere .line xy or what... :/
manumanfred said:
OK Thanks! but I use Linux to decompile and recompile + sign & to zipalign apps. so I use Gedit to edit .xml, .smali and other files.
But the issue is that I don't understand .smali files at all!
I can find the lines but I don't know which is the last line which is needed to be deleted, is it from .method x to .method y or to somewhere .line xy or what... :/
Click to expand...
Click to collapse
Soon, i will add the code here before and after so that you can do this...
wesamothman said:
Soon, i will add the code here before and after so that you can do this...
Click to expand...
Click to collapse
OK! Thank You!
manumanfred said:
OK! Thank You!
Click to expand...
Click to collapse
OP updated with example codes deletion of .smali files content. This should be straight forward now
In case you still have issues, let me know and I will be more than glad to assist you
Thank You!
It is easier now, but Nexus Launcher's (JB 4.2.2 JDQ39) Launcher.smali doesn't have:
.method updateWallpaperVibility
When I just put updateWallpaperVibility
then it is this one: (line 3117)
Code:
invoke-virtual {p0, v0}, Lcom/android/launcher2Launcher;->updateWallpaperVisibility(Z)V
.line 2691
invoke-virtual....
So it's different..
Anyway Thanks!
manumanfred said:
Thank You!
It is easier now, but Nexus Launcher's (JB 4.2.2 JDQ39) Launcher.smali doesn't have:
.method updateWallpaperVibility
When I just put updateWallpaperVibility
then it is this one: (line 3117)
Code:
invoke-virtual {p0, v0}, Lcom/android/launcher2Launcher;->updateWallpaperVisibility(Z)V
.line 2691
invoke-virtual....
So it's different..
Anyway Thanks!
Click to expand...
Click to collapse
Aha. This is for 4.2.2 jb. Okay. Send it to me and let me see
wesamothman said:
Aha. This is for 4.2.2 jb. Okay. Send it to me and let me see
Click to expand...
Click to collapse
OK, Thanks!
Here is the stock Launcher with rotation enabled:
http://forum.xda-developers.com/showthread.php?t=2145289

[MOD]/[HOWTO] 1x/3G Mod for S4 (MJA/MF9/MDL/JB)

Greetings and Salutations, Sprint Galaxy S4 Owners and other curious parties!
Disclaimer: Just reading this may cause your head to burst, your phone to catch fire, dogs and cats may do the tango! I am not responsible for any bad stuff that happens from you reading or acting on the information in this thread.
If any ROM authors want to use this fix in their ROMs, I'm completely cool with that. A quick kudos in your credits section would be nice, though.
Background: One of the things that really peeves me off about Sprint is that they want us to think we always have 3G service. I know that I don't have 3G in all of the areas I travel, and I also don't when I am roaming.
Thankfully, the fix is quite simple!
This was my primary reason for rooting my phone, that's how aggravating it is for me.
Let's change 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"
}
To this:
Credits
Calkulin - for getting me started on the crusade to expose Sprint's 1x evilness.
crawrj - for the stock rooted deodexed MDL/MF9 ROM I developed this on.
CNexus - for the stock rooted deodexed MJA ROM I developed this on.
Samsung - for a much better phone this time around than my previous E4GT.
The brave XDA members who try these instructions and report their success or failure!!!
XDA for being a great source of information!!!
XDA members for thinking outside of the box!!!
The fix:
This fix requires editing your SystemUI.apk file. If you are using one of the fine custom ROMs on XDA, be aware that the you or the author may have already made changes to the SystemUI.apk file, so using my file IS NOT RECOMMENDED.
If you are using the stock, deodexed MDL ROM or the Stock Rooted Deodexed ROM from crawrj, you can use my attached SystemUI.apk. There are also flashable ZIPs - flash at your own risk. BE SURE TO GET THE CORRECT VERSION FOR WHAT ROM YOU ARE ON! If you use the attached APKs, SystemUI.apk is for MDL, SystemUI-MF9.apk is for MF9, SystemUI-MJA.apk is for MFA. You must make sure the APK is called SystemUI.apk before pushing to your device.
This mod relies on the assumption that your ROM developer has not deleted any of the 1x graphic files in the ROM. The developer CAN theme or otherwise change the images as long as the file names remain the same.
What you need to perform this mod:
1. An Sprint Galaxy S4 ZIP file, or a phone running a Sprint Galaxy S4 ROM -- AOSP ROMs already have the correct indicators.
2. The Java SDK -- So you can run Smali.
3. Smali/Baksmali -- So you can decompile/compile the classes.dex file.
4. Android SDK -- To push/pull files from your phone (adb only).
5. Some sort of archive tool (such as WinRAR, 7zip, etc).
5. A text editor capable of editing UNIX-formatted files. I recommend Notepad++, personally.
Ease Of Use Tips: Install Java SDK first, then Android SDK (if you need adb). Download the smali files (smali-1.4.2.jar and baksmali-1.4.2.jar at the time of this writing) to a new "working" folder where we can do our magic. The beta smali/baksmali also work.
KEEP A COPY OF YOUR PRE-EDITED SYSTEMUI.APK FILE, just in case!
Instructions:
1a. [If you are using a ROM ZIP File]: Use 7zip/WinRAR/WinZip to open the ROM ZIP file. Navigate to system\app and extract SystemUI.apk to your "working" folder.
1b. [If you want to grab SystemUI.apk from your running phone]: Use adb to pull SystemUI.apk to your working folder. Example: adb pull /system/app/SystemUI.apk C:\Working\SystemUI.apk
To avoid problems, ONLY USE adb to pull/push SystemUI.apk. Phone apps may cause unknown issues.
2. Go to a command prompt in your "working" folder and run the following command: java -jar baksmali-1.4.2.jar -o SystemUI/ SystemUI.apk
3. Browse to your "working" folder and see that there is now an SystemUI folder inside, with other subfolders. Browse to SystemUI\com\android\systemui\statusbar\policy.
4. Edit the file called NetworkController.smali with your favorite UNIX-format compatible text editor and look for the following text. The key is to search for updateSPRDataNetType. Edit the line below that is in BOLD.
For MJA:
Code:
.line 1666
:pswitch_fc
[B]invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/NetworkController;->updateSPRDataNetType()V[/B]
goto/16 :goto_d
For MF9:
Code:
.line 1554
:pswitch_f2
[B]invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/NetworkController;->updateSPRDataNetType()V[/B]
goto/16 :goto_d
For MDL:
Code:
.line 1550
:pswitch_e3
[B]invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/NetworkController;->updateSPRDataNetType()V[/B]
goto/16 :goto_d
5. Change that line to say invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/NetworkController;->updateVZWDataNetType()V (change the SPR to VZW)
*** The above change will give you Verizon's data icons -- including their trademarked 4GLTE icon (instead of the default Sprint 4G icon). If you want the "correct" 4G icon, follow steps 5a-5c. If you like Verizon's icon, continue with step 6.
5a. Still in the NetworkController.smali file, look for the following text. The key is to search for DATA_4G_LTE: (please include the colon, because there are other DATA_4G_LTE lines for other carriers. Edit the lines below that are in BOLD.
For MJA:
Code:
.line 2219
:pswitch_11f
[B]sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_4G_LTE:[[I[/B]
iget v1, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mInetCondition:I
aget-object v0, v0, v1
iput-object v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataIconList:[I
.line 2220
[B]const v0, 0x7f0200e0[/B]
iput v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataTypeIconId:I
For MF9:
Code:
.line 1993
:pswitch_11f
[B]sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_4G_LTE:[[I[/B]
iget v1, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mInetCondition:I
aget-object v0, v0, v1
iput-object v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataIconList:[I
.line 1994
[B]const v0, 0x7f0200d2[/B]
iput v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataTypeIconId:I
For MDL:
Code:
.line 1980
:pswitch_11f
[B]sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_4G_LTE:[[I[/B]
iget v1, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mInetCondition:I
aget-object v0, v0, v1
iput-object v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataIconList:[I
.line 1981
[B]const v0, 0x7f0200d6[/B]
iput v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataTypeIconId:I
5b. Change the first line to say DATA_4G: instead of DATA_4G_LTE:. For MJA, change the second line to say 0x7f0200de instead of 0x7f0200e0. For MF9, change the second line to say 0x7f0200d0 instead of 0x7f0200d2. For MDL, change the second line to say 0x7f0200d4 instead of 0x7f0200d6.
5c. Your final version should look like this (my changes in BOLD):
For MJA:
Code:
.line 2219
:pswitch_11f
sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->[B]DATA_4G:[/B][[I
iget v1, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mInetCondition:I
aget-object v0, v0, v1
iput-object v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataIconList:[I
.line 2220
const v0, [B]0x7f0200de[/B]
iput v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataTypeIconId:I
For MF9:
Code:
.line 1993
:pswitch_11f
sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->[B]DATA_4G:[/B][[I
iget v1, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mInetCondition:I
aget-object v0, v0, v1
iput-object v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataIconList:[I
.line 1994
const v0, [B]0x7f0200d0[/B]
iput v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataTypeIconId:I
For MDL:
Code:
.line 1980
:pswitch_11f
sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->[B]DATA_4G:[/B][[I
iget v1, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mInetCondition:I
aget-object v0, v0, v1
iput-object v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataIconList:[I
.line 1981
const v0, [B]0x7f0200d4[/B]
iput v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mDataTypeIconId:I
6. Save NetworkController.smali
7. Go back to your command prompt, change to your "working" folder and issue the following command: java -jar smali-1.4.2.jar SystemUI/ -o newclasses.dex
8. If there weren't any errors, go ahead and rename the original classes.dex to classes.old and rename newclasses.dex to classes.dex.
9. Open SystemUI.apk in your favorite archiver (if you closed it earlier).
10. Drag the file called classes.dex from your "working" folder into SystemUI.apk and replace the one already in there.
11. Run the following commands to get the file on your phone:
Code:
adb remount
adb push SystemUI.apk /system/app/SystemUI.apk
adb reboot
You should hear your bootup sound and then the changes should be instantly applied.
To Test:
1. Dial ##DATA# (##3282#) on your phone.
2. Enter your MSL (can be found by typing getprop ril.MSL from Terminal Emulator or adb shell). You may have to dial ##3282# and press "OK" without entering anything first.
3. Scroll to Others at the bottom of the list.
4. Click on HDR/1X Selection
5. Change from LTE + CDMA + EVDO Mode to CDMA Only Mode. This puts your phone in 1X only mode.
6. Press OK.
7. Verify 1X icon comes within 30 seconds, if you have service. Try toggling Airplane Mode if you have issues seeing the 1X icon the first time.
8. Repeat steps 4-7, substituting LTE + CDMA + EVDO for CDMA Only Mode to switch back.
How I found this: Sprint's updateDataNetType doesn't properly identify 1X - it shows up as 3G. I haven't spent enough time dabbling in the file to determine which code block "should" be the 1X -- however, the Verizon updateDataNetType works perfectly for us. On the E4GT, this change was much easier because the code for 1X was easier to work with. I may update this in the future with a "proper" fix. I have tested this on 1x/3G/4G networks while roaming without issue.
Please let me know whether or not this worked for you. I'd like to make a list of ROMs (with applicable mods) this works for or doesn't work for.
I will do whatever I can to help if you are struggling. If there's something you don't understand, please let me know. I can update the instructions if I accidentally wrote something wrong.
Reserved
This one is mine
Reserved
This one is also mine!
Very nice. I can't stand this always on 3g icon either. I know I'm on 1x quite a bit around my area.
Sent from my SPH-L720 using Tapatalk 4 Beta
Worked perfect on the Stock Deodexed Rom. Many Thanks!!
What would happen with an unlocked Sprint S4 if used overseas on GSM carriers? Would it know to display 2G for GSM/GPRS/EDGE and 3G for UMTS/WCDMA/HSPA?
I believe that would be the case. If you plan on using it as a world phone, I'd be very interested in your results!
myphone12345 said:
What would happen with an unlocked Sprint S4 if used overseas on GSM carriers? Would it know to display 2G for GSM/GPRS/EDGE and 3G for UMTS/WCDMA/HSPA?
Click to expand...
Click to collapse
Sent from my SPH-L720 using Tapatalk 2
Great! Did you use the attached APK, or did you try out the tutorial? If you did the tutorial, I had a typo earlier -- the steps 5a-5c said to change the 0x7f0200d6 to 0x7f0200d4, but I forgot to change the 6 to a 4 in my "after" code view. I fixed that this morning. As a FYI, if you don't change the 6 to a 4, it will keep the 4GLTE icon.
piaa_nissan said:
Worked perfect on the Stock Deodexed Rom. Many Thanks!!
Click to expand...
Click to collapse
After trying for an hour to get adb to work I cheated and just threw the systemui file into the rom and reflashed.
Sent via Galaxy SIV
maradonaiconboy said:
This one is mine
Clubvegas999
Click to expand...
Click to collapse
Did u seriously have to quote the entire post for that 5 word reply?
Anyway thanks for the mod works like a charm. I did it the manual way not using ur apk tho
ForceROM 2.0
Sent from my SPH-L720 using xda premium
Is there any way this can be made into a flashable zip?
4 Door Skyline said:
Is there any way this can be made into a flashable zip?
Click to expand...
Click to collapse
Same question. Can make via zip flashable ? Thanks before
andytm said:
Same question. Can make via zip flashable ? Thanks before
Click to expand...
Click to collapse
+3 !
4 Door Skyline said:
Is there any way this can be made into a flashable zip?
Click to expand...
Click to collapse
andytm said:
Same question. Can make via zip flashable ? Thanks before
Click to expand...
Click to collapse
Joe0113 said:
+3 !
Click to expand...
Click to collapse
A flashable ZIP was added to the first post. ZIP worked for me. Let me know if there are any problems with it.
nivron said:
A flashable ZIP was added to the first post. ZIP worked for me. Let me know if there are any problems with it.
Click to expand...
Click to collapse
Much appreciated! :good:
Updated for MF9
I haven't tested this yet as I don't have time to install the ROM, but I went ahead and updated it for MF9. Please try it out and let me know how it works.
Also if you cook it in yourself, make sure to realize that there are separate instructions for MF9/MDL in the OP! :victory:
Just curious, will this work on either odexed or deodexed?
Nice work. It worked great on MDL and I'm about to try it on MF9.
Sent from my SPH-L720 using Tapatalk 2
It should work on odexed if you delete /system/app/SystemUI.odex. I think my ZIP files do that automatically.
Foulwx said:
Just curious, will this work on either odexed or deodexed?
Nice work. It worked great on MDL and I'm about to try it on MF9.
Sent from my SPH-L720 using Tapatalk 2
Click to expand...
Click to collapse
Sent from my SPH-L720 using Tapatalk 2
nivron said:
It should work on odexed if you delete /system/app/SystemUI.odex. I think my ZIP files do that automatically.
Sent from my SPH-L720 using Tapatalk 2
Click to expand...
Click to collapse
Ah yes, I see that in the updater-script. Thanks!
Connected to my Sprint Airave on 1x
Connected to my Sprint Airave on 3G
On Wifi I get 32 Mbps Down and 13 Mbps Up
Sent from my SPH-L720 using xda app-developers app
**Thanks for this btw, Flashed 1x3G-Mod-jfltespr-MF9.zip in TWRP on my Odexed MF9 Stock Rom and worked perfectly. I was overwhelmed with the directions before seeing the zip, lol.

[MOD] [HOW-TO] 4.4.2 TW Camera Shutter sound | Flash with low battery

Isn't my work all credits to @jobnik & @majdinj
original thread: http://forum.xda-developers.com/showthread.php?t=2038675
I made it only compatible with KitKat (4.4.2)
Root and deodexed SamsungCamera2.apk recommended.
Needed tools:
Backsmali/Smali
Notepad++
7Zip
1.) Baksmali SamsungCamera2.apk
1. Adding "Shutter Sound On/Off" option in Camera Menu:
Instead smali editing you can add this line to your others.xml (so you do not have to do step 2,3,4,5,6,7) :
Code:
<CscFeature_Camera_ShutterSoundMenu>TRUE</CscFeature_Camera_ShutterSoundMenu>
2.) Navigate to com\sec\android\app\camera\resourcedata folder
3.) Open CommonSettingsMenuResourceData.smali
find: "CscFeature_Camera_ShutterSoundMenu"
Add the blue line
Code:
.line 66
invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
move-result-object v0
const-string v1, [COLOR="DarkGreen"]"CscFeature_Camera_ShutterSoundMenu"[/COLOR]
invoke-virtual {v0, v1}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v0
[COLOR="Blue"]const/4 v0, 0x1[/COLOR]
if-eqz v0, :cond_a5
4.) Save and close
5.) Navigate to \com\sec\android\app\camera folder
6.) Open Camera.smali
find: "CscFeature_Camera_ShutterSoundMenu"
Add the blue line
Code:
const-string v22, "[COLOR="DarkGreen"]CscFeature_Camera_ShutterSoundMenu[/COLOR]"
invoke-virtual/range {v21 .. v22}, Lcom/sec/android/app/CscFeature;->getEnableStatus(Ljava/lang/String;)Z
move-result v21
[COLOR="Blue"]const/16 v21, 0x1[/COLOR]
if-nez v21, :cond_4a1
7.) Save and close
8.) Now open your customer.xml and delete the following line from it: <ShutterSound>on</ShutterSound>
Isn't included in every customer.xml..
Shutter sound selection will work only after Factory data reset
2. Camera can be used with flash in low battery state:
9.) Navigate to \com\sec\android\app\camera folder
10.) Open Camera.smali
find: .method protected handleLowBattery(Z)V
Add the blue line.
Code:
[COLOR="DarkGreen"].method protected handleLowBattery(Z)V[/COLOR]
.registers 9
.parameter "temp"
.prologue
const v6, 0x7f0c01cb
const v5, 0x7f0c001d
const/4 v4, 0x0
const/4 v3, 0x1
.line 3045
[COLOR="blue"]return-void[/COLOR]
const-string v1, "Camera2"
const-string v2, "handleLowBattery"
find: .method private handleBatteryChanged(Landroid/content/IntentV
now find: handleLowBattery(Z)V Delete the whole line which one contains it:
Code:
iput-object v2, p0, Lcom/sec/android/app/camera/Camera;->mPluggedLowBatteryPopup:Landroid/app/AlertDialog;
.line 2872
invoke-virtual {p0}, Lcom/sec/android/app/camera/Camera;->finishTimerCount()V
.line 2873
[COLOR="Red"]invoke-virtual {p0, v5}, Lcom/sec/android/app/camera/Camera;->[/COLOR][COLOR="DarkGreen"]handleLowBattery(Z)V[/COLOR]
find: .method private handleBatteryChanged(Landroid/content/IntentV
now find: handlePluggedLowBattery(Z)V
Delete the whole line which one contains it, delete only the next three lines (search down with Notepad++)
Code:
.line 2843
[COLOR="Red"]invoke-direct {p0, v6}, Lcom/sec/android/app/camera/Camera;->[/COLOR][COLOR="DarkGreen"]handlePluggedLowBattery(Z)V[/COLOR]
.line 2864
:cond_bf
:goto_bf
iget v2, p0, Lcom/sec/android/app/camera/Camera;->battLevel:I
iget v3, p0, Lcom/sec/android/app/camera/Camera;->mLowBatteryWarningLevel:I
Code:
.line 2878
[COLOR="red"]invoke-direct {p0, v5}, Lcom/sec/android/app/camera/Camera;->[/COLOR][COLOR="DarkGreen"]handlePluggedLowBattery(Z)V[/COLOR]
.line 2879
iget-object v2, p0, Lcom/sec/android/app/camera/Camera;->mEngine:Lcom/sec/android/app/camera/CommonEngine;
invoke-virtual {v2, v8}, Lcom/sec/android/app/camera/CommonEngine;->isCurrentState(I)Z
move-result v2
if-nez v2, :cond_e3
.line 2880
[COLOR="Red"]invoke-direct {p0, v5}, Lcom/sec/android/app/camera/Camera;->[/COLOR][COLOR="DarkGreen"]handlePluggedLowBattery(Z)V[/COLOR]
find: .method private handlePluggedLowBattery(Z)V
Add the blue line.
Code:
[COLOR="DarkGreen"].method private handlePluggedLowBattery(Z)V[/COLOR]
.registers 9
.parameter "temp"
.prologue
const v6, 0x7f0c019a
const v5, 0x7f0c0199
const/4 v4, 0x1
const/4 v3, 0x0
.line 3102
[COLOR="blue"]return-void[/COLOR]
const-string v1, "Camera2"
const-string v2, "handlePluggedLowBattery"
11.) Save your changes
12.) Smali classout folder
13.) Add the new classes.dex file to SamsungCamera2.apk with 7Zip
14.) Push to your Phone
Nice?
Yes Tkari4. Good dev man. This mod going to be in 1.3 rom i think. [emoji6]
Envoyé de mon SM-N9005 en utilisant Tapatalk
micky387 said:
Yes Tkari4. Good dev man. This mod going to be in 1.3 rom i think. [emoji6]
Envoyé de mon SM-N9005 en utilisant Tapatalk
Click to expand...
Click to collapse
Yes, of course!
Shutter sound mod is fixed in the OP.
Now Off option can be selected:
{
"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"
}
tkari4 said:
Shutter sound mod is fixed in the OP.
Now Off option can be selected:
Click to expand...
Click to collapse
did you do factory reset? I deleted <ShutterSound>on</ShutterSound> and changed features.xml, but still cannot swicht it off,
is it possible not to do factory reset??
pir0texnik said:
did you do factory reset? I deleted <ShutterSound>on</ShutterSound> and changed features.xml, but still cannot swicht it off,
is it possible not to do factory reset??
Click to expand...
Click to collapse
I think no, because it's in the csc.
Sent from my SM-N9005 using Tapatalk
tkari4 said:
I think no, because it's in the csc.
Sent from my SM-N9005 using Tapatalk
Click to expand...
Click to collapse
I tried changing customer.xml and features.xml on 4.4.2 (Noto 3) and 4.3 (S3, Note 2). In both cases it was possible to switch on shutter sound menu, but it never changes state. It is always on, taping does not work. I baksmalied SamsungCamera2.odex and converted to java to undertand how does it work, but I am not a big specialist in java, maybe someone can help finally kill the sound...
pir0texnik said:
I tried changing customer.xml and features.xml on 4.4.2 (Noto 3) and 4.3 (S3, Note 2). In both cases it was possible to switch on shutter sound menu, but it never changes state. It is always on, taping does not work. I baksmalied SamsungCamera2.odex and converted to java to undertand how does it work, but I am not a big specialist in java, maybe someone can help finally kill the sound...
Click to expand...
Click to collapse
1.) Add this line
Code:
<CscFeature_Camera_ShutterSoundMenu>TRUE</CscFeature_Camera_ShutterSoundMenu>
to others.xml or to features.xml. (if you have booth, than features xml will be used)
add over </FeatureSet>
Code:
<CscFeature_Camera_ShutterSoundMenu>TRUE</CscFeature_Camera_ShutterSoundMenu>
</FeatureSet>
</SamsungMobileFeauture>
2.) Delete <ShutterSound>on</ShutterSound> or <ShutterSound>off</ShutterSound> from customer.xml
3.) Factory data reset
Should work..
tkari4 said:
1.) Add this line
Code:
<CscFeature_Camera_ShutterSoundMenu>TRUE</CscFeature_Camera_ShutterSoundMenu>
to others.xml or to features.xml. (if you have booth, than features xml will be used)
add over </FeatureSet>
Code:
<CscFeature_Camera_ShutterSoundMenu>TRUE</CscFeature_Camera_ShutterSoundMenu>
</FeatureSet>
</SamsungMobileFeauture>
2.) Delete <ShutterSound>on</ShutterSound> or <ShutterSound>off</ShutterSound> from customer.xml
3.) Factory data reset
Should work..
Click to expand...
Click to collapse
This method is invalid, because I am in the China, code named CHN CSC
Is there a way to remove CSC restrictions?
lijianjunyonghu said:
This method is invalid, because I am in the China, code named CHN CSC
Is there a way to remove CSC restrictions?
Click to expand...
Click to collapse
Sorry I can't help more..
I'm using it without problem in my Rom...
1. I put <CscFeature_Camera_ShutterSoundMenu>true</CscFeature_Camera_ShutterSoundMenu> in features.xml
2. I deleted <ShutterSound>on</ShutterSound> from customer.xml
3. I did factory data reset.
Now menu really works, but sound plays no matter what option is chosen...
I even added ro.camera.sound.forced=0 in build.prop and did factory data reset without any effect, shutter still plays.
Device is Galaxy S3, 4.3
tkari4 said:
Sorry I can't help more..
I'm using it without problem in my Rom...
Click to expand...
Click to collapse
Thank you
An Error Occured ...
Hi,
if I try to Baksmali the SasmungCamera2.apk I get an error, please see uploaded pics.
Google couldnt help me. What am I doing wrong?
Thanks
Alec86 said:
Hi,
if I try to Baksmali the SasmungCamera2.apk I get an error, please see uploaded pics.
Google couldnt help me. What am I doing wrong?
Thanks
Click to expand...
Click to collapse
As I see you are trying to modify one apk file from an odexed Rom.
SamungCamera2.apk must be deodexed first.
You need SamungCamera2.apk & SamungCamera2.odex. Deodex it, than you can make changes.
If your Rom is odexed, than push the modified SamungCamera2.apk back to your phone, than delete SamungCamera2.odex and reboot.
deodexed apk
tkari4 said:
As I see you are trying to modify one apk file from an odexed Rom.
SamungCamera2.apk must be deodexed first.
You need SamungCamera2.apk & SamungCamera2.odex. Deodex it, than you can make changes.
If your Rom is odexed, than push the modified SamungCamera2.apk back to your phone, than delete SamungCamera2.odex and reboot.
Click to expand...
Click to collapse
First thank you for your response,
I tried to deodexe with "Universal_Deodexer_V5" , I followed the instructions for this tool and deodexed SamungCamera2.apk. But I cannt still "baksmali" the apk. Same error.
I uploaded the log file from "Universal_Deodexer_V5"
Any idea?
Thanks
Alec86 said:
First thank you for your response,
I tried to deodexe with "Universal_Deodexer_V5" , I followed the instructions for this tool and deodexed SamungCamera2.apk. But I cannt still "baksmali" the apk. Same error.
I uploaded the log file from "Universal_Deodexer_V5"
Any idea?
Thanks
Click to expand...
Click to collapse
Try with this version, because you have the same error: http://forum.xda-developers.com/showpost.php?p=55233256&postcount=1
deodexed apk
tkari4 said:
Try with this version, because you have the same error: http://forum.xda-developers.com/showpost.php?p=55233256&postcount=1
Click to expand...
Click to collapse
Hi,
thank you again. Meanwhile I tried to enable/disable the shutter sound over the " features.xml" and it worked immediately. The shutter sound is now disabled PERMANENTLY, no matter if it disabled or enabled in the camera settings. The camera settings disable only the autofocus sound. I haven't do the factory reset, only wiped cache.
By the way, the fixed "Universal_Deodexer" works well. I Smali classout folder with our scripts and get "Moded_SamsungCamera2.apk" . The new Moded apk dont worke on my Phone (force close), what should I do (for the further experince)? I pushed the classes.dex in the deodexed apk, but still force close.
Alec86 said:
Hi,
thank you again. Meanwhile I tried to enable/disable the shutter sound over the " features.xml" and it worked immediately. The shutter sound is now disabled PERMANENTLY, no matter if it disabled or enabled in the camera settings. The camera settings disable only the autofocus sound. I haven't do the factory reset, only wiped cache.
By the way, the fixed "Universal_Deodexer" works well. I Smali classout folder with our scripts and get "Moded_SamsungCamera2.apk" . The new Moded apk dont worke on my Phone (force close), what should I do (for the further experince)? I pushed the classes.dex in the deodexed apk, but still force close.
Click to expand...
Click to collapse
Did you deleted the SamsungCamera2.odex from your phone?
Normally the Moded_SamsungCamera2.apk must work. (maybe the raw folder compression causing the problem in the apk)
Set the compression level before baksmali to 0.
Try to wipe dalvik-cache.
compression level
tkari4 said:
Did you deleted the SamsungCamera2.odex from your phone?
Normally the Moded_SamsungCamera2.apk must work. (maybe the raw folder compression causing the problem in the apk)
Set the compression level before baksmali to 0.
Try to wipe dalvik-cache.
Click to expand...
Click to collapse
I sat the compression level to 0 and it works Thank you again
My shutter sound is still disabled PMANENTLY, no matter if it disabled or enabled in the camera settings. Is this supposet to be?
Thanks

[GUIDE] How to convert Chinese roms based to International [TouchWiz]

[GUIDE] How to convert Chinese roms based to International [TouchWiz]
Requeriments
Chinese firmware/ROM that want convert
Official European/American firmware/ROM of the same device (Ex: SM-G920F)
Tickle my Android or Advanced Apktool (Easy way)
Be sure to install WinRAR and Notepad+ in your PC
Patience, Time and Concentration
So now we can start to convert
- Create a folder with the chinese base and create another for the international one
- Decompress the 2 firmwares in the correspond folder
- Now in system delete all the chinese folders related like this: *Much of the apps contain this "chn" in his name
/system
/system/chn_sipdb (Chinese Keyboard)
/system/SOGOUDB (Chinese Keyboard)
/system/festival
/system/finder_cp
/system/CSC (Due to is configured to China region) *Backup features.xml and others.xml
/system/preload (It contain chinese store, depending of firmware)
/system/app
/system/app/CMAWeatherPhone201X
/system/app/ChinaHolidayProvider
/system/app/com.samsung.festival.chinadefault_* (If exist, delete all the folders with this name)
/system/app/SamsungChineseIMEvX
/system/app/EventNotificationPhase3
/system/app/Festivalchinadefault
/system/app/GreetingCard
/system/app/SLocation and /system/lib/slocation
/system/app/MyEventWidget
/system/app/InCallUI
/system/app/SearchBoxBaidu_OPEN
/system/app/YellowPage (Could be located in priv-app too)
/system/priv-app
/system/priv-app/AMapNetworkLocation, XNetworkLocation_Baidu, (If exist)
/system/priv-app/SAssistant (If exist)
/system/priv-app/EventCenter
/system/priv-app/SMusicChn
/system/priv-app/BstSpamCallService
/system/priv-app/SVoice* (Delete all SVoice related files including VoiceWakeUp)
/system/priv-app/SecContacts_X_CHN and /system/priv-app/SecMms_X_Chn
/system/etc and /system/lib
/system/etc/gps.conf and system/etc/gps.xml
/system/lib/slocation
- After to delete all the chinese bload related is time to add all the international apps (/system/app and /system/priv-app) and the 2 gps files (system/etc) that we delete it in the last step
- Now is time to decompile so is necessary Tickle my Android or Advanced Apktool
So from your chinese and international firmware/rom take /system/framework/framework-res.apk and decompile (Install the frameworks for dont get error while decompile)
- If dont get error we can continue, from international framework take all /framework-res.apk/res/raw-xx and /framework-res.apk/res/values-xx folders and copy to chinese framework without overwrite existent files
- Then go to /framework-res.apk/res/values folder and open arrays.xml
Search:
HTML:
config_locationProviderPackageNames
And replace the whole string-array by this:
HTML:
<string-array name="config_locationProviderPackageNames">
<item>com.google.android.gms</item>
<item>com.android.location.fused</item>
<item>com.amap.android.ams</item>
<item>com.amap.android.location</item>
<item>com.baidu.map.location</item>
</string-array>
Save it and open strings.xml
Search:
HTML:
config_networkLocationProviderPackageName
And replace the whole string by this:
HTML:
<string name="config_networkLocationProviderPackageName">@null</string>
Search:
HTML:
config_geocoderProviderPackageName
And replace the whole string by this:
HTML:
<string name="config_geocoderProviderPackageName">@null</string>
NOTE: In some custom roms like aurora, some extra features are added in /framework-res.apk/res/values/arrays.xml and /framework-res.apk/res/values/strings.xml so search at final of the xml if exist chinese strings, if exist so translated it, can use google translator if dont understand.
- Save it and recompile the chinese framework-res.apk
Now decompile android.policy.jar (Lollipop), services.jar (Marsmallow) from chinese firmware/rom
Lollipop
- Decompile android.policy.jar with Tickle my Android or any tool that decompile classes.dex
- Go to android.policy.jar/smali/com/android/internal/policy/impl and open GlobalActions$99.smali and GlobalActions$SinglePressAction.smali
- Chinese strings are decoded in unicode so u need search this with notepad+ "\u"
- In GlobalActions$99.smali search
HTML:
const-string v2, "\u
Replace "\u..." by:
HTML:
const-string v2, "Reboot Options"
- In GlobalActions$SinglePressAction.smali search
HTML:
const-string v2, "\u
Replace "\u..." by: *Some lines above u can see the correct order, but almost always this is the order
HTML:
const-string v2, "Reboot"
HTML:
const-string v2, "Hot Reboot"
HTML:
const-string v2, "Download"
HTML:
const-string v2, "Recovery"
HTML:
const-string v2, "Safe Mode"
- Save and recompile back android.policy.jar, be sure that the modified date is different and more recent than original, u can check it open the compiled file with winrar, because some android tools don't compile correctly the .jar files
*Updating guide..:
Reserved
Reserved
Great thread
I will try keep it updated with changes needed
Isn't it possible to just flash an european ROM via Odin?
Checkit53 said:
Isn't it possible to just flash an european ROM via Odin?
Click to expand...
Click to collapse
No You Will BRICK your Device
Ale95 said:
[GUIDE] How to convert Chinese roms based to International [TouchWiz]
Requeriments
Chinese firmware/ROM that want convert
Official European/American firmware/ROM of the same device (Ex: SM-G920F)
Tickle my Android or Advanced Apktool (Easy way)
Be sure to install WinRAR and Notepad+ in your PC
Patience, Time and Concentration
So now we can start to convert
- Create a folder with the chinese base and create another for the international one
- Decompress the 2 firmwares in the correspond folder
- Now in system delete all the chinese folders related like this: *Much of the apps contain this "chn" in his name
/system
/system/chn_sipdb (Chinese Keyboard)
/system/SOGOUDB (Chinese Keyboard)
/system/festival
/system/finder_cp
/system/CSC (Due to is configured to China region) *Backup features.xml and others.xml
/system/preload (It contain chinese store, depending of firmware)
/system/app
/system/app/CMAWeatherPhone201X
/system/app/ChinaHolidayProvider
/system/app/com.samsung.festival.chinadefault_* (If exist, delete all the folders with this name)
/system/app/SamsungChineseIMEvX
/system/app/EventNotificationPhase3
/system/app/Festivalchinadefault
/system/app/GreetingCard
/system/app/SLocation and /system/lib/slocation
/system/app/MyEventWidget
/system/app/InCallUI
/system/app/SearchBoxBaidu_OPEN
/system/app/YellowPage (Could be located in priv-app too)
/system/priv-app
/system/priv-app/AMapNetworkLocation, XNetworkLocation_Baidu, (If exist)
/system/priv-app/SAssistant (If exist)
/system/priv-app/EventCenter
/system/priv-app/SMusicChn
/system/priv-app/BstSpamCallService
/system/priv-app/SVoice* (Delete all SVoice related files including VoiceWakeUp)
/system/priv-app/SecContacts_X_CHN and /system/priv-app/SecMms_X_Chn
/system/etc and /system/lib
/system/etc/gps.conf and system/etc/gps.xml
/system/lib/slocation
- After to delete all the chinese bload related is time to add all the international apps (/system/app and /system/priv-app) and the 2 gps files (system/etc) that we delete it in the last step
- Now is time to decompile so is necessary Tickle my Android or Advanced Apktool
So from your chinese and international firmware/rom take /system/framework/framework-res.apk and decompile (Install the frameworks for dont get error while decompile)
- If dont get error we can continue, from international framework take all /framework-res.apk/res/raw-xx and /framework-res.apk/res/values-xx folders and copy to chinese framework without overwrite existent files
- Then go to /framework-res.apk/res/values folder and open arrays.xml
Search:
HTML:
config_locationProviderPackageNames
And replace the whole string-array by this:
HTML:
<string-array name="config_locationProviderPackageNames">
<item>com.google.android.gms</item>
<item>com.android.location.fused</item>
<item>com.amap.android.ams</item>
<item>com.amap.android.location</item>
<item>com.baidu.map.location</item>
</string-array>
Save it and open strings.xml
Search:
HTML:
config_networkLocationProviderPackageName
And replace the whole string by this:
HTML:
<string name="config_networkLocationProviderPackageName">@null</string>
Search:
HTML:
config_geocoderProviderPackageName
And replace the whole string by this:
HTML:
<string name="config_geocoderProviderPackageName">@null</string>
NOTE: In some custom roms like aurora, some extra features are added in /framework-res.apk/res/values/arrays.xml and /framework-res.apk/res/values/strings.xml so search at final of the xml if exist chinese strings, if exist so translated it, can use google translator if dont understand.
- Save it and recompile the chinese framework-res.apk
Now decompile android.policy.jar (Lollipop), services.jar (Marsmallow) from chinese firmware/rom
Lollipop
- Decompile android.policy.jar with Tickle my Android or any tool that decompile classes.dex
- Go to android.policy.jar/smali/com/android/internal/policy/impl and open GlobalActions$99.smali and GlobalActions$SinglePressAction.smali
- Chinese strings are decoded in unicode so u need search this with notepad+ "\u"
- In GlobalActions$99.smali search
HTML:
const-string v2, "\u
Replace "\u..." by:
HTML:
const-string v2, "Reboot Options"
- In GlobalActions$SinglePressAction.smali search
HTML:
const-string v2, "\u
Replace "\u..." by: *Some lines above u can see the correct order, but almost always this is the order
HTML:
const-string v2, "Reboot"
HTML:
const-string v2, "Hot Reboot"
HTML:
const-string v2, "Download"
HTML:
const-string v2, "Recovery"
HTML:
const-string v2, "Safe Mode"
- Save and recompile back android.policy.jar, be sure that the modified date is different and more recent than original, u can check it open the compiled file with winrar, because some android tools don't compile correctly the .jar files
*Updating guide..:
Click to expand...
Click to collapse
Excellent guide make one guide for xperia cs39h.
Sony developers said:
Excellent guide make one guide for xperia cs39h.
Click to expand...
Click to collapse
A) Would it kill you to be nicer? You catch more flies with honey than with vinegar.
B) Why don't YOU use what he gave you and try to modify it to work on your phone? Then you can post a tutorial to help out others as well
C) Why did you quote the WHOLE OP
Any chance this would work on a locked bootloader, though we have root, such as the s7?
Is it possible to convert the firmware Galaxy Folder 2 (SM-G1600)?
https://drive.google.com/file/d/0B2QhEXa2ySgkNTFFX1R2RnRCN2M/view?usp=sharing
Nice guide! Bro!
Nice guide.
I have a 1 question. How to remove Chinese clock date from Notification Header?
{
"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"
}
i have a marshmallow china rom
. but not deodexed, original stock. how to edit services.jar and framework... without deodexing whole roms
Garry050 said:
Nice guide.
I have a 1 question. How to remove Chinese clock date from Notification Header?
Click to expand...
Click to collapse
Its in system ui
Compare dateview smali with stock one

Categories

Resources