3 WAY REBOOT OPTION TUTORIAL
All info is here so don't ask for further help, if you can't follow these instructions or want to read correctly don't even start.
{
"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"
}
What is this for?
You want to have the extra reboot options when pressing restart on your LG shutdown menu
Reboot = Normal reboot as you know it.
Hot Boot = Closes every service and app and does a quick reboot = you don't see the LG reboot logo = it jumps straight to the bootanimation = this is very fast reboot.
Recovery = Reboot into recovery mode.
What will we be needing?
(If you need Java , SDK or anything else , I don't know as my system already got that installed, a rom cook/dev will already got that installed and knows what I'm talking about)
Deodexed framework ( You don't know what that is or can't get it well stop here)
Notepad ++
Winrar or 7Zip (I prefer winrar)
Download the "Decompiler-jar_Files-updated" from the attachments.(Tool)
Extract the "Decompiler-jar_Files.zip".
Extract the "android.policy.jar" from your rom /system/framework/
Get to it part 1:
Put the "android.policy.jar" into the extracted "Decompiler-jar_Files-updated" folder.
Click the "1.bat" = you get a classout folder.
Navigate to .....\classout\com\android\internal\policy\impl\GlobalActions.smali
Open GlobalActions.smali with notepad++ and change the following lines after that close and save the changes.
Original Lines:
Code:
486 new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$3;
487
488 const v2, 0x2020269
489
490 const v3, 0x20b0001
491
492 invoke-direct {v1, p0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$3;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
New Code:
Code:
486 new-instance v1, Lcom/android/internal/policy/impl/GlobalActions$[COLOR=Red]99[/COLOR];
487
488 const v2, 0x2020269
489
490 const v3, 0x20b0001
491
492 invoke-direct {v1, p0, v2, v3}, Lcom/android/internal/policy/impl/GlobalActions$[COLOR=Red]99[/COLOR];-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
Get to it part 2:
Navigate to ....\classout\com\android\internal\policy\impl\GlobalActions$SinglePressAction.smali
Open GlobalActions$SinglePressAction.smaliwith notepad++ and add the following lines after that close and save the changes.
-Lines to add before line "# instance fields"
Code:
# static fields
.field protected static rebootMode:I
.field protected static final rebootOptions:[Ljava/lang/String;
-Lines to add after line "# direct methods"
Code:
.method static constructor <clinit>()V
.registers 3
const/4 v0, 0x3
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
const-string v2, "Reboot"
aput-object v2, v0, v1
const/4 v1, 0x1
const-string v2, "Hot Boot"
aput-object v2, v0, v1
const/4 v1, 0x2
const-string v2, "Recovery"
aput-object v2, v0, v1
sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
return-void
.end method
-It should look like this and the line numbers must be exact the same!(green are the new lines)
Code:
19
[COLOR=DarkGreen]20# static fields
21.field protected static rebootMode:I
22
23.field protected static final rebootOptions:[Ljava/lang/String;[/COLOR]
24
25
26# instance fields
27.field private final mIconResId:I
28
29.field private final mMessageResId:I
30
31
32# direct methods
[COLOR=DarkGreen]33.method static constructor <clinit>()V
34 .registers 3
35
36 const/4 v0, 0x3
37
38 new-array v0, v0, [Ljava/lang/String;
39
40 const/4 v1, 0x0
41
42 const-string v2, "Reboot"
43
44 aput-object v2, v0, v1
45
46 const/4 v1, 0x1
47
48 const-string v2, "Hot Boot"
49
50 aput-object v2, v0, v1
51
52 const/4 v1, 0x2
53
54 const-string v2, "Recovery"
55
56 aput-object v2, v0, v1
57
58 sput-object v0, Lcom/android/internal/policy/impl/GlobalActions$SinglePressAction;->rebootOptions:[Ljava/lang/String;
59
60 return-void
61.end method[/COLOR]
62
Get to it part 3:
You download the "99-jar-files.zip" from attachments and extract them.
Now you copy/past the 3 files into ....\classout\com\android\internal\policy\impl\..
After that and you have saved the changes you made you click on "2.bat" that is in the extracted "Decompiler-jar_Files" folder.
Now you get a "classes.dex" in the extracted "Decompiler-jar_Files-updated".
Open your "android.policy.jar" with winrar and drag the new "classes.dex" file into the "android.policy.jar"and replace the original "classes.dex".
Close winrar and replace the "android.policy.jar" in system/framework of your rom with the new one. You can do this with a root explorer or before you build your rom.
Enjoy and don't forget to give proper credit and push thanks.
Thanks:
I would like to thank kahvitahra for the original guide and 99 files.
I had to change some lines in the code and the 99 files to make it work on our LG X2 ICS roms.
Camera ShutterSound off option
What is this for?
V30B Germany doesn't got this option but it easy to get it
What will we be needing?
(If you need Java , SDK, a rom cook/dev will already got that installed and knows what I'm talking about)
CameraApp.apk (system/app) , framework-res.apk and lg-res.apk (system/framework) = all deodexed.
Notepad ++
Winrar or 7Zip (I prefer winrar)
APK-MultiTool and install this.
Get to it part 1:
Put the "framework-res.apk" and "lg-res.apk" in the "other" folder.
Rename the "lg-res.apk" to "com.htc.resources.apk" (If not decompiling will not be succesful. NOTE: also needed if you want to decompile the "SystemUI.apk for battery mods"
Click on the "Setup.bat" and select "2" and then "1" (This will set correct sources)
Again Click on the "Setup.bat" and select "2" and then "3" (This will set correct sources)
Again Click on the "Setup.bat" and select "3"(This will create the folders).
Get to it part 2:
Put the "CameraApp.apk" in the "place-apk-here-for-modding" folder.
Click on the "Script.bat" and Decompile the "CameraApp.apk" with the APK-MultiTool (set project .. = select the apk ...= select .. to decompile). (With my tool it is 25 to select project , 9 to decompile)
In "project" folder of the APK-MultiTool you will find the folder "CameraApp.apk"
Now go to /projects/CameraApp.apk/res/values/arrays.xml
Open "arrays.xml" with the notepad++ and search the following line: "star_camera_shutter_sound_entries" = Line 13258.
Now you will need to add a line just after this line "<string-array name="star_camera_shutter_sound_entries">"
You add the following line "item>@string/off</item>"
Now you will need to add a line just after this line " <string-array name="star_camera_shutter_sound_entryValues">"
You add the following line "<item>off</item>"
So it looks like this:
Code:
13258 <string-array name="star_camera_shutter_sound_entries">
13259 <item>@string/off</item>
13260 <item>@string/shutter_sound_1</item>
13261 <item>@string/shutter_sound_2</item>
13262 <item>@string/shutter_sound_3</item>
13263 <item>@string/shutter_sound_4</item>
13264 </string-array>
13265 <string-array name="star_camera_shutter_sound_entryValues">
13266 <item>off</item>
13267 <item>0</item>
13268 <item>1</item>
13269 <item>2</item>
13270 <item>3</item>
13271 </string-array>
Get to it part 3:
Safe the changes.
Now as a "Compile System APK files" (with me it is option 11)
It starts building............
If it asks "Aside from the signatures, would you like to copy......................." you click "y".
Now you get a second question .................................. , before you do anything you go to the newly created "keep" folder and delete "resources.arsc"
Return to the cmd and you press any key , it will finish the build if you did everything correct. (Please don't ask me to solve your errors)
Now go to the "place-apk-here-for-modding" and you will find the new "System_CameraApp.apk" (with older tools it is called "unsigned_.....")
Get to it part 4:
Extract the "System_CameraApp.apk" with winrar.
In that extracted folder select everything and create a new "CameraApp.zip" , now before you press the compress button you rename the .zip to .apk so it is like this "CameraApp.apk".
Now you press the compress button but make sure you compress into store mode.
Now it is all done and you can replace your old CameraApp.apk in system/app.
If you replace it with a root explorer a reboot and wipe of dalvik cache is needed.
Enjoy and don't forget to say thank you!
As always Thank you! I just read kahvitahra's Thread.. Awesome guide!
Thanks Civz! You are great as always..
Loving your contribution to this forum GURU
Thanks CIVZ
ah..nice to see this, thank u Civ!
"No comment" my friend...only Thanked for this:thumbup:
LG O2x[P990]TapaTalk v2.4.13
Nice guide and really usefull add-on.:good:
But I cannot decompile any of the two android.policy.jar files I tried (one from flex-icer 4.7 and the other from multi-flex 1.1).
I get this error:
Code:
D:\Downloads\Decompiler-jar_Files>1.bat
D:\Downloads\Decompiler-jar_Files>java -jar baksmali.jar -x android.policy.jar -
o classout
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: bad magic value: 64 65 78 0a 30 33 36 00
at org.jf.dexlib.DexFile.<init>(DexFile.java:377)
at org.jf.baksmali.main.main(main.java:250)
D:\Downloads\Decompiler-jar_Files>
Only the one from multi-flex 1.2 can be decompiled.
Am I doing something wrong?
civato said:
3 WAY REBOOT OPTION TUTORIAL
Click to expand...
Click to collapse
I have tried this with Django and it works. Thanks for the guide.
spyrosk said:
Nice guide and really usefull add-on.:good:
But I cannot decompile any of the two android.policy.jar files I tried (one from flex-icer 4.7 and the other from multi-flex 1.1).
I get this error:
Code:
D:\Downloads\Decompiler-jar_Files>1.bat
D:\Downloads\Decompiler-jar_Files>java -jar baksmali.jar -x android.policy.jar -
o classout
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: bad magic value: 64 65 78 0a 30 33 36 00
at org.jf.dexlib.DexFile.<init>(DexFile.java:377)
at org.jf.baksmali.main.main(main.java:250)
D:\Downloads\Decompiler-jar_Files>
Only the one from multi-flex 1.2 can be decompiled.
Am I doing something wrong?
Click to expand...
Click to collapse
Tried to decompile the file from both Civato`s rom and it get the job without errors.
But I have not used Decompiler-jar_Files tool to decompile/compile. Just took the smali part from this tutorial and do the job with tool which I use always. So maybe something is wrong with commands or smali version in Decompiler-jar_Files.
Edit:
Tried and have got the same error as you, spyrosk, using the tools from Decompiler-jar_Files, but with other tool which I use no errors, and it compile/decompile without errors.
spyrosk said:
Nice guide and really usefull add-on.:good:
But I cannot decompile any of the two android.policy.jar files I tried (one from flex-icer 4.7 and the other from multi-flex 1.1).
I get this error:
Code:
D:\Downloads\Decompiler-jar_Files>1.bat
D:\Downloads\Decompiler-jar_Files>java -jar baksmali.jar -x android.policy.jar -
o classout
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: bad magic value: 64 65 78 0a 30 33 36 00
at org.jf.dexlib.DexFile.<init>(DexFile.java:377)
at org.jf.baksmali.main.main(main.java:250)
D:\Downloads\Decompiler-jar_Files>
Only the one from multi-flex 1.2 can be decompiled.
Am I doing something wrong?
Click to expand...
Click to collapse
No , my bad , I will upload the fixed tool tomorrow. Got so many tools that I took the wrong one.
EDIT:
Tool is updated
Memhis said:
Edit:
Tried and have got the same error as you, spyrosk, using the tools from Decompiler-jar_Files, but with other tool which I use no errors, and it compile/decompile without errors.
Click to expand...
Click to collapse
civato said:
No , my bad , I will upload the fixed tool tomorrow. Got so many tools that I took the wrong one.
Click to expand...
Click to collapse
No problem.
BTW with apktool they can be decompiled/compiled just fine like Memhis said
New Mod Guide
Camera ShutterSound off option
What is this for?
V30B Germany and V30A EU doesn't got this option but it easy to get it
What will we be needing?
(If you need Java , SDK, a rom cook/dev will already got that installed and knows what I'm talking about)
CameraApp.apk (system/app) , framework-res.apk and lg-res.apk (system/framework) = all deodexed.
Notepad ++
Winrar or 7Zip (I prefer winrar)
APK-MultiTool and install this.
Get to it part 1:
Put the "framework-res.apk" and "lg-res.apk" in the "other" folder.
Rename the "lg-res.apk" to "com.htc.resources.apk" (If not decompiling will not be succesful. NOTE: also needed if you want to decompile the "SystemUI.apk for battery mods"
Click on the "Setup.bat" and select "2" and then "1" (This will set correct sources)
Again Click on the "Setup.bat" and select "2" and then "3" (This will set correct sources)
Again Click on the "Setup.bat" and select "3"(This will create the folders).
Get to it part 2:
Put the "CameraApp.apk" in the "place-apk-here-for-modding" folder.
Click on the "Script.bat" and Decompile the "CameraApp.apk" with the APK-MultiTool (set project .. = select the apk ...= select .. to decompile). (With my tool it is 25 to select project , 9 to decompile)
In "project" folder of the APK-MultiTool you will find the folder "CameraApp.apk"
Now go to /projects/CameraApp.apk/res/values/arrays.xml
Open "arrays.xml" with the notepad++ and search the following line: "star_camera_shutter_sound_entries" = Line 13258.
Now you will need to add a line just after this line "<string-array name="star_camera_shutter_sound_entries">"
You add the following line "item>@string/off</item>"
Now you will need to add a line just after this line " <string-array name="star_camera_shutter_sound_entryValues">"
You add the following line "<item>off</item>"
So it looks like this:
Code:
13258 <string-array name="star_camera_shutter_sound_entries">
13259 <item>@string/off</item>
13260 <item>@string/shutter_sound_1</item>
13261 <item>@string/shutter_sound_2</item>
13262 <item>@string/shutter_sound_3</item>
13263 <item>@string/shutter_sound_4</item>
13264 </string-array>
13265 <string-array name="star_camera_shutter_sound_entryValues">
13266 <item>off</item>
13267 <item>0</item>
13268 <item>1</item>
13269 <item>2</item>
13270 <item>3</item>
13271 </string-array>
Get to it part 3:
Safe the changes.
Now as a "Compile System APK files" (with me it is option 11)
It starts building............
If it asks "Aside from the signatures, would you like to copy......................." you click "y".
Now you get a second question .................................. , before you do anything you go to the newly created "keep" folder and delete "resources.arsc"
Return to the cmd and you press any key , it will finish the build if you did everything correct. (Please don't ask me to solve your errors)
Now go to the "place-apk-here-for-modding" and you will find the new "System_CameraApp.apk" (with older tools it is called "unsigned_.....")
Get to it part 4:
Extract the "System_CameraApp.apk" with winrar.
In that extracted folder select everything and create a new "CameraApp.zip" , now before you press the compress button you rename the .zip to .apk so it is like this "CameraApp.apk".
Now you press the compress button but make sure you compress into store mode.
Now it is all done and you can replace your old CameraApp.apk in system/app.
If you replace it with a root explorer a reboot and wipe of dalvik cache is needed.
Enjoy and don't forget to say thank you!
ALL INFO ALSO IN OP
great work GURU Civato
Thank you Civato i have include both mods in my OpGaNex rom right now
(Thanks button pressed too )
All Credits for this great mods goes to you!
sgspluss said:
Thank you Civato i have include both mods in my OpGaNex rom right now
(Thanks button pressed too )
All Credits for this great mods goes to you!
Click to expand...
Click to collapse
Hehehehehe ... Thank you both!
Ok after long test and a second test the shuttersound mod dosent work for me...
I do all as in the guide, result same as before no shuttersound off option
sgspluss said:
Ok after long test and a second test the shuttersound mod dosent work for me...
I do all as in the guide, result same as before no shuttersound off option
Click to expand...
Click to collapse
I made one for the v30A 4.7 Flex-Icer. It doesn't work for me too.
I also tried the already patched from MultiFlex 2.0. It doesn't work on V30A only on Multi-Flex.
Civato,
Is there a possibility that camera app is dependent on another system file that needs patching?
Or maybe something else must be changed in it's files also.
Which camera app have you used as source? the V30B-Germany?
Thanks
spyrosk said:
I made one for the v30A 4.7 Flex-Icer. It doesn't work for me too.
I also tried the already patched from MultiFlex 2.0. It doesn't work on V30A only on Multi-Flex.
Civato,
Is there a possibility that camera app is dependent on another system file that needs patching?
Or maybe something else must be changed in it's files also.
Which camera app have you used as source? the V30B-Germany?
Thanks
Click to expand...
Click to collapse
I think you need check necessary libs like in this mod:
www.forum.xda-developers.com/showthread.php?t=2163473. Also this mod already have noshuttersound option.
feav said:
I think you need check necessary libs like in this mod:
www.forum.xda-developers.com/showthread.php?t=2163473. Also this mod already have noshuttersound option.
Click to expand...
Click to collapse
I compared the additional libs and xml, included in this package you mentioned, between V30A Flex-Icer ones and Multi-Flex 2.0 ones and are identical.
No luck,
thanks anyway
spyrosk said:
I compared the additional libs and xml, included in this package you mentioned, between V30A Flex-Icer ones and Multi-Flex 2.0 ones and are identical.
No luck,
thanks anyway
Click to expand...
Click to collapse
Why you don't use my mod?
feav said:
Why you don't use my mod?
Click to expand...
Click to collapse
I was just trying to figure out why it doesn't work.
I will try it.
spyrosk said:
I was just trying to figure out why it doesn't work.
I will try it.
Click to expand...
Click to collapse
You can use CatLog app for debug.
Related
I've been trying this for ages but without success (read comments on first page) so I would like to ask for a total noob guide since I want to make sure I'm doing it right after all those tries
Thanks!
Which version of apktool do you use? I thought I have fixed this problem some time ago. Do this app build ok without your modifications? Could you post modified fragment of code?
Brut.all said:
Which version of apktool do you use? I thought I have fixed this problem some time ago. Do this app build ok without your modifications? Could you post modified fragment of code?
Click to expand...
Click to collapse
I'm pretty sure I'm using 1.3.2 but I'll try redownloading And yes the jar file builds without modifications. Do you mean the code from the .smali file I edited? If so here is a cut of the file:
Code:
invoke-direct {v2}, Landroid/os/Binder;-><init>()V
.line 485
.local v2, key:Landroid/os/IBinder;
const/4 v1, 0x1
const/4 v5, -0x100 [B]I edited this from -0x1[/B]
move-object v0, p0
move-object v3, p1
move-object v4, p2
invoke-direct/range {v0 .. v5}, Lcom/android/server/status/StatusBarService;->addPendingOp(ILandroid/os/IBinder;Lcom/android/server/status/IconData;Lcom/android/server/status/NotificationData;I)V
EDIT: It's in StatusBarService.smali BTW
EDIT2: Nope the redownload didn't work
C0mpu13rFr34k said:
I'm pretty sure I'm using 1.3.2 but I'll try redownloading
Click to expand...
Click to collapse
Just type "apktool" and version will be on top of usage help. It's much more reliable method, cause people sometimes mess up something in their system, so they use totally different files, than they think ;-)
C0mpu13rFr34k said:
Code:
const/4 v5, -0x100 [B]I edited this from -0x1[/B]
Click to expand...
Click to collapse
Yeah, I thought so. const/4 takes 4-bits value and -0x100 is bigger than that. Use const/8 instead
Brut.all said:
Just type "apktool" and version will be on top of usage help. It's much more reliable method, cause people sometimes mess up something in their system, so they use totally different files, than they think ;-)
Yeah, I thought so. const/4 takes 4-bits value and -0x100 is bigger than that. Use const/8 instead
Click to expand...
Click to collapse
Thanks for your help! And I have close to no idea what I'm doing. I'm just trying to change the text color in the "clear" button to black (I don't even know if it's the correct file I'm editting ) but I thaught I would give it a try to learn more about this But anyway do you know what file and line to edit to change that text color?
Thanks again
EDIT: Tried editing with the const/8 just to try but I got an error:
Code:
const/8 v5, -0x100 I edited this from -0x100 [B]my editing[/B]
C:\Users\Emil>apktool b out services.jar
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.Direc
toryException: java.io.FileNotFoundException: out (The system cannot find the fi
le specified)
at brut.androlib.Androlib.readMetaFile(Unknown Source)
at brut.androlib.Androlib.build(Unknown Source)
at brut.androlib.Androlib.build(Unknown Source)
at brut.apktool.Main.cmdBuild(Unknown Source)
at brut.apktool.Main.main(Unknown Source)
Caused by: brut.directory.DirectoryException: java.io.FileNotFoundException: out
(The system cannot find the file specified)
at brut.directory.ZipRODirectory.<init>(Unknown Source)
at brut.directory.ZipRODirectory.<init>(Unknown Source)
at brut.androlib.res.util.ExtFile.getDirectory(Unknown Source)
... 5 more
Caused by: java.io.FileNotFoundException: out (The system cannot find the file s
pecified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
... 8 more
I know error messages aren't always very informative, but at least try to read them, please
Code:
java.io.FileNotFoundException: out (The system cannot find the file specified)
And you have ran apktool with "out" argument, so how do you think, what it may be? ;-)
Also you have asked, whether I know, where to find this color (but then edited this out). No, I didn't know, but found it - it's quite easy if you have everything decoded. I have decoded framework-res.apk, searched for "notifications" in res dir and found "status_bar_latest_events_title" string resource. Then I searched for that "status_bar_latest_events_title" string in whole res dir and found layout/status_bar_expanded.xml file. I have opened it and found TextView object with android:id="@id/clear_all_button". This took me about 5 minutes.
Use force, Luke
Brut.all said:
I know error messages aren't always very informative, but at least try to read them, please
Code:
java.io.FileNotFoundException: out (The system cannot find the file specified)
And you have ran apktool with "out" argument, so how do you think, what it may be? ;-)
Also you have asked, whether I know, where to find this color (but then edited this out). No, I didn't know, but found it - it's quite easy if you have everything decoded. I have decoded framework-res.apk, searched for "notifications" in res dir and found "status_bar_latest_events_title" string resource. Then I searched for that "status_bar_latest_events_title" string in whole res dir and found layout/status_bar_expanded.xml file. I have opened it and found TextView object with android:id="@id/clear_all_button". This took me about 5 minutes.
Use force, Luke
Click to expand...
Click to collapse
Oh fail sorry hehe I was too fast But anyway I did try to change that once but it didn't work for me so I figured they must have changed it to services.jar with FroYo but I'll try the other thing again though
EDIT: Tried changing the "ff000000" to "00000000" which is black and that was what should be changed right? But it didn't work...
Changed the subject/title
Hello ladies and gentlemen
Im using launcher pro plus and i just want to change the color of the notification bubble from red to green, ive decompiled the apk and looked thru it hoping to find a PNG of the notification bubble that i can just edit but didnt find it....then my next place to look waas the XML files....i searched thru every xml file looking for the code and couldnt find it there iether....so if its not a png, i kno it should be somewhere in the xml files...any help?
From signals23's LPP widgets thread:
signals23 said:
How to change notification bubble color
Open this file:
smali/com/fede/launcher/QuickShortcut.smali
and change:
Code:
.line 197
iget-object v6, p0, Lcom/fede/launcher/QuickShortcut;->mCountBubblePaint:Landroid/graphics/Paint;
const/high16 v7, -0x56 [I](Original red color)[/I]
invoke-virtual {v6, v7}, Landroid/graphics/Paint;->setColor(I)V
to:
Code:
.line 197
iget-object v6, p0, Lcom/fede/launcher/QuickShortcut;->mCountBubblePaint:Landroid/graphics/Paint;
const v7, 0xffF117A5 [I](Remove /high16 and add any aarrggbb color)[/I]
invoke-virtual {v6, v7}, Landroid/graphics/Paint;->setColor(I)V
Click to expand...
Click to collapse
Dam, thank you so much, i cant believe i didnt find that thread...thanks again man
savir90 said:
Dam, thank you so much, i cant believe i didnt find that thread...thanks again man
Click to expand...
Click to collapse
No problem. In the future, just hit the 'thanks' button on a helpful post. Reduces clutter in the forum. Plus, the thanks-meter is pretty much the modern day equivalent of cool points.
help
Hey I am new to this and I was wondering if I could get your help. I too would like the change the colour of the notification and I have opened the apk I just renamed to .zip but from there I don`t know where to go. Is anything I am doing wrong or any program to read the xml files I need? Like how do I navigate to the specified folder, the smali/.... one. Thanks!!
Hi all, long time no post here but now i had to... how it's possible this: i have installed launcherpro but i have no "QuickShortcut.smali" file in my phone?! :-/
Can someone take a look and see if this works
jovy23 said:
Hello to all Developers and XDA members! I have come here to give you a guide on how you can use native tethering without restrictions and here is how you can do it!
What Is Required...
★ First you need to have experience and know how to decompile/recompile apks with Apktools, apkmanager, smali, and baksmali
★ Have 7-zip installed onto your computer/laptop
★ Make sure you have Notepad++ also installed!
★HOW TO EVADE/REMOVE DATA CAP THROTTLING★
This guide will show you how you can evade/remove data cap throttling and this is good for the people who don't have a unlimited data plan for their phone's carrier so here is how you can do it!
STEP 1
★ Go into your system/framework folder and take out your "services.jar"
★ Then use one of the applications such as apktool and then use baksmali commands to decompile and extract the classes.dex from the services.jar
★ Once you have decompiled the services.jar, go to:
Now open up "ThrottleService.smali" with your notepad++ for editing.
Once your in here go and find:
Code:
.method static synthetic access$1002(Lcom/android/server/ThrottleService;J)J
And then you will see something like this:
Code:
.method static synthetic access$1002(Lcom/android/server/ThrottleService;J)J
.registers 3
.parameter "x0"
.parameter "x1"
.prologue
.line 71
iput-wide p1, p0, Lcom/android/server/ThrottleService;->mMaxNtpCacheAge:J
return-wide p1
.end method
Now what your going to need to do is add an empty space below ".line 71" and then above "iput-wide" your going to add "const-wide/16 p1, 0x0", once you do it will look something like this:
Code:
.method static synthetic access$1002(Lcom/android/server/ThrottleService;J)J
.registers 3
.parameter "x0"
.parameter "x1"
.prologue
.line 71
[B]const-wide/16 p1, 0x0[/B]
iput-wide p1, p0, Lcom/android/server/ThrottleService;->mMaxNtpCacheAge:J
return-wide p1
.end method
By adding that, this will invoke the ".method private checkThrottleAndPostNotification(J)V" and also the clearThrottleAndNotification()V which are both in the "ThrottleService$MyHandler.smali" which looks like this:
Code:
.method private checkThrottleAndPostNotification(J)V
.registers 28
.parameter "currentTotal"
.prologue
.line 588
move-object/from16 v0, p0
iget-object v0, v0, Lcom/android/server/ThrottleService$MyHandler;->this$0:Lcom/android/server/ThrottleService;
move-object/from16 v21, v0
#getter for: Lcom/android/server/ThrottleService;->mPolicyThreshold:Ljava/util/concurrent/atomic/AtomicLong;
invoke-static/range {v21 .. v21}, Lcom/android/server/ThrottleService;->access$500(Lcom/android/server/ThrottleService;)Ljava/util/concurrent/atomic/AtomicLong;
move-result-object v21
invoke-virtual/range {v21 .. v21}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v15
.line 589
.local v15, threshold:J
const-wide/16 v21, 0x0
cmp-long v21, v15, v21
if-nez v21, :cond_18
.line 590
invoke-direct/range {p0 .. p0}, Lcom/android/server/ThrottleService$MyHandler;->clearThrottleAndNotification()V
.line 663
:cond_17
:goto_17
return-void
.line 596
:cond_18
move-object/from16 v0, p0
Now once your done with modifying the "ThrottleService.smali", Recompile your services.jar using apktool and smali commands and your DONE!
IMPORTANT REMINDER - This mod works best for the people who DON'T have a unlimited data plan so it will be good for devs to make a flashable.zip in their OP with this mod with their roms services.jar which could be different "since some devs maybe did other mods/tweaks into their roms services.jar" so the users that be having any throttling issues can flash it. Also use at your own risk!
Click to expand...
Click to collapse
Sent from my SGH-T679 using Tapatalk 2
Tethering
This is for people getting the up sell page
jovy23 said:
Hello to all Developers and XDA members! I have come here to give you a guide on how you can use native tethering without restrictions and here is how you can do it!
What Is Required...
★ First you need to have experience and know how to decompile/recompile apks with Apktools, apkmanager, smali, and baksmali
★ Have 7-zip installed onto your computer/laptop
★ Make sure you have Notepad++ also installed!
★HOW TO ENABLE NATIVE TETHERING WITHOUT RESTRICTIONS★
STEP 1
★ Go into your system/framework folder and take out your "framework-res.apk"
★ Then use one of the applications such as apktools or apkmanager and then use the commands to decompile the framework-res.apk
★ Once you have decompiled the framework-res.apk, go to:
Now with Notepad++ go and find:
Code:
And then it will look something like this:
Code:
com.sec.tetheringprovision
com.sec.tetheringprovision.TetheringProvisionActivity
Now what your going to need to do is remove both of the lines that has "tetheringprovision" in them, the "string-" in the first line, and then remove the whole from the last line, once you do it will look something like this:
Code:
Once your done now Recompile your framework-res.apk using apktools or apkmanager and your DONE!!!
NOTE: Remember by removing those "com.sec.tetheringprovision" lines in the arrays.xml, it bypasses all the checks, There will be no more popup message that's telling you to upgrade to a T-Mobile Hotspot Plan, and you will get no errors!. There is no need for any third party apps or creating a APN just to have Tether to work properly!
STEP 2
The next step that your going to have to do is go into your roms:
folder and then remove:
This TetheringProvision.apk is no longer needed. If you were to remove it without doing the framework-res.apk mod, you will get constant force closes and a "Tetheringprovision Is Not Responding Message" after you have enabled Mobile Hotspot on your Samsung Galaxy S3 device. But since you have modded it, you can just delete it.
STEP 3
Now for this step, this is going to give you the opportunity to edit/remove the locked APNS And also it will show you how you can see any of the hidden APN's from the "Access Point Names" Menu which is in Settings-More Settings-Mobile Networks-Access Point Names. Also this step your going to have to change the APN site name which makes you tether without bringing you into the T-Mobile Hotspot Browser Page.
First your going to have to go into your roms folder which is:
And then open up "customer.xml" with your notepad++ for editing.
Now go all the way to the bottom of this file and you will see the last APN Tethering setting which should looks like this:
Code:
T-Mobile
no
enable
T-Mobile Tethering
none
ps
http
off
pcweb.tmobile.com
Now what your going to have to do is change where it says no into yes. By changing this, this will give you the permission to edit/remove this APN setting. REMEMBER: This APN Tethering setting only shows after you first use Tethering! And once your done with that go to where it says pcweb.tmobile.com and change it into epc.tmobile.com. By changing this APN site name it should give you total access for you to tether without bringing you into the T-Mobile Hotspot Browser Page from your PC's internet browser.
Once done it will look like this:
Code:
T-Mobile
[B]yes[/B]
enable
T-Mobile Tethering
none
ps
http
off
[B]epc.tmobile.com[/B]
Now save this file with the new edits with Notepad++ and your DONE!
But your not done yet with this step, your going to have to do one last thing. The Tethering APN that you have modified from "above" is still hidden. Now what your going to have to do is go into your roms folder again to:
And then open up "feature.xml" with your notepad++ for editing.
Now with Notepad++ go and find:
Now DELETE THIS WHOLE LINE! [This hides the Tethering APN that you have modified from "above" from view]. Once your done save this file with Notepad++ and THATS IT! Now Go Enjoy Your Native Tethering!!!
STILL HAVING PROBLEMS WITH TETHERING EVEN AFTER THE MOD? - Go into "Settings-More Settings-Mobile Networks-Access Point Names" and then press your phone's "Menu Settings Key" on the bottom left of your phone and then select "Reset To Default" and see if that helps.
★HOW TO ENABLE BLUETOOTH TETHERING★
This guide will show you how you can enable bluetooth tethering so here is how you can do it!
STEP 1
★ Go into your system/framework folder and take out your "framework-res.apk"
★ Then use one of the applications such as apktools or apkmanager and then use the commands to decompile the framework-res.apk
★ Once you have decompiled the framework-res.apk, go to:
Now with Notepad++ go and find:
Code:
And then it will look something like this:
Code:
Now what your going to need to do is add "string-" right before the "array" in the beginning of the config_tether_bluetooth_regexs, then under it add bnep\\d and make sure that the from the beginning is aligned the same like the other from the arrays.xml. Once you do, add right under the "bnep\\d" line, then it will look something like this:
Code:
[B]
bnep\\d
[/B]
Once your done now Recompile your framework-res.apk using apktools or apkmanager and your DONE!!!
Click to expand...
Click to collapse
tazmaniondvl said:
This is for people getting the up sell page
Click to expand...
Click to collapse
You can avoid the upsell page for tethering simply by changing your browser user-agent to a mobile device, works 100% of the time.
Bump
Did any of or wonderful developers ever look into this?
Sent from my SGH-T679 using xda app-developers app
tazmaniondvl said:
Bump
Did any of or wonderful developers ever look into this?
Sent from my SGH-T679 using xda app-developers app
Click to expand...
Click to collapse
Did you write this code? This is the first method I've seen that leaves everything intact and modifies the code to disable it. This is how things are done properly. I saw a lot of people just deleting the throttle code and making there mobile settings crash.. Not very elegant. Did you write this? Who wrote this?
I think that this is awesome that You were willing to share your knowledge in a situation that has had many many people stumped for a long time and always trying to find a method that was satisfactory but nothing solid like this. Do understand that Your Humility has not gone unnoticed. I thank you for taking the time to share what you have done. It is certainly a very nice and humble act on your part and the thing is this.......You didn't have to at all. And that's why I'm grateful and I appreciate it. Thank You very much!
Is there a mod or a patch that removes the Beats icon, the headset icon, and the godawful NFC icon?
Particularly, the NFC and Beats icon. I don't want to turn off Beats because it makes the phone's speakers sound so much deeper. If there's an alternative that sounds better, I'm open to that. But the headset icon is completely uncecessary. I think I know when I have headphones plugged in. And the NFC icon is the most useless icon I've ever seen.
The mod is avaible in ViperOne
Never seen it out of the Viper
Xblast xposed module can remove all the left side icons
Sent from my HTCONE using Tapatalk 4
Guich said:
The mod is avaible in ViperOne
Never seen it out of the Viper
Click to expand...
Click to collapse
To remove the NFC icon when NFC is enabled, in /system/customize/ACC/default.xml... change:
Code:
<item type="integer" name="nfc_show_icon">1</item>
to
Code:
<item type="integer" name="nfc_show_icon">0</item>
__________________________________________________________________________________________________
To remove the Beats notification icon, decompile Framework.jar and open \smali\android\media\AudioService$HtcBeatsEffect.smali
and find this ".method public onMessageBeatsNotify()V" method. Towards the end of the method, you can change this:
Code:
invoke-virtual {p0, v1}, Landroid/media/AudioService$HtcBeatsEffect;->showBeatsIcon(I)V
to this
Code:
invoke-virtual {p0}, Landroid/media/AudioService$HtcBeatsEffect;->hideBeatsIcon()V
and Beats can still be enabled without the notification.
____________________________________________________________________________________________
it looks like the headset icon is called from SystemUI.apk \smali\com\android\systemui\statusbar\phone\HtcPhoneStatusBarPolicy.smali in method ".method private updateHeadsetStatus(Landroid/content/IntentV". In this method, find :cond_7 and copy everything between :cond_7 and :cond_8 - it should look like this:
Code:
iget-object v6, p0, Lcom/android/systemui/statusbar/phone/HtcPhoneStatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v7, "headset_plug"
invoke-virtual {v6, v7}, Landroid/app/StatusBarManager;->removeIcon(Ljava/lang/String;)V
goto :goto_4
Right above this, you will see :cond_6 - this is for the headset (with mic) notification icon. Replace everything between :cond_6 and :cond_7 with what you copied previously (make sure you don't copy over the lines for :cond_6 or :cond_7, just replace what's between)
Now scroll up until you find :goto_2 - this is for the headphones (no mic) notification icon. Replace everything between :goto_2 and :goto_3 with what you copied previously (make sure you don't copy over the lines for :goto_2 or :goto_3, just replace what's between)
Recompile, flash, no headset/headphone notifications.
^^^ someone with some xposed knowledge may be able to make a module for beats, headphones, and headset notifications.
homeslice976 said:
To remove the NFC icon when NFC is enabled, in /system/customize/ACC/default.xml... change:
Code:
<item type="integer" name="nfc_show_icon">1</item>
to
Code:
<item type="integer" name="nfc_show_icon">0</item>
__________________________________________________________________________________________________
To remove the Beats notification icon, decompile Framework.jar and open \smali\android\media\AudioService$HtcBeatsEffect.smali
and find this ".method public onMessageBeatsNotify()V" method. Towards the end of the method, you can change this:
Code:
invoke-virtual {p0, v1}, Landroid/media/AudioService$HtcBeatsEffect;->showBeatsIcon(I)V
to this
Code:
invoke-virtual {p0}, Landroid/media/AudioService$HtcBeatsEffect;->hideBeatsIcon()V
and Beats can still be enabled without the notification.
____________________________________________________________________________________________
it looks like the headset icon is called from SystemUI.apk \smali\com\android\systemui\statusbar\phone\HtcPhoneStatusBarPolicy.smali in method ".method private updateHeadsetStatus(Landroid/content/IntentV". In this method, find :cond_7 and copy everything between :cond_7 and :cond_8 - it should look like this:
Code:
iget-object v6, p0, Lcom/android/systemui/statusbar/phone/HtcPhoneStatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v7, "headset_plug"
invoke-virtual {v6, v7}, Landroid/app/StatusBarManager;->removeIcon(Ljava/lang/String;)V
goto :goto_4
Right above this, you will see :cond_6 - this is for the headset (with mic) notification icon. Replace everything between :cond_6 and :cond_7 with what you copied previously (make sure you don't copy over the lines for :cond_6 or :cond_7, just replace what's between)
Now scroll up until you find :goto_2 - this is for the headphones (no mic) notification icon. Replace everything between :goto_2 and :goto_3 with what you copied previously (make sure you don't copy over the lines for :goto_2 or :goto_3, just replace what's between)
Recompile, flash, no headset/headphone notifications.
Click to expand...
Click to collapse
I appreciate your knowledge, very much, sadly I know nothing of Smali.
Could I replace the icons with a 1pixel wide transparent PNG or will that cause some weird things to happen?
homeslice976 said:
To remove the NFC icon when NFC is enabled, in /system/customize/ACC/default.xml... change:
Code:
<item type="integer" name="nfc_show_icon">1</item>
to
Code:
<item type="integer" name="nfc_show_icon">0</item>
__________________________________________________________________________________________________
To remove the Beats notification icon, decompile Framework.jar and open \smali\android\media\AudioService$HtcBeatsEffect.smali
and find this ".method public onMessageBeatsNotify()V" method. Towards the end of the method, you can change this:
Code:
invoke-virtual {p0, v1}, Landroid/media/AudioService$HtcBeatsEffect;->showBeatsIcon(I)V
to this
Code:
invoke-virtual {p0}, Landroid/media/AudioService$HtcBeatsEffect;->hideBeatsIcon()V
and Beats can still be enabled without the notification.
____________________________________________________________________________________________
it looks like the headset icon is called from SystemUI.apk \smali\com\android\systemui\statusbar\phone\HtcPhoneStatusBarPolicy.smali in method ".method private updateHeadsetStatus(Landroid/content/IntentV". In this method, find :cond_7 and copy everything between :cond_7 and :cond_8 - it should look like this:
Code:
iget-object v6, p0, Lcom/android/systemui/statusbar/phone/HtcPhoneStatusBarPolicy;->mService:Landroid/app/StatusBarManager;
const-string v7, "headset_plug"
invoke-virtual {v6, v7}, Landroid/app/StatusBarManager;->removeIcon(Ljava/lang/String;)V
goto :goto_4
Right above this, you will see :cond_6 - this is for the headset (with mic) notification icon. Replace everything between :cond_6 and :cond_7 with what you copied previously (make sure you don't copy over the lines for :cond_6 or :cond_7, just replace what's between)
Now scroll up until you find :goto_2 - this is for the headphones (no mic) notification icon. Replace everything between :goto_2 and :goto_3 with what you copied previously (make sure you don't copy over the lines for :goto_2 or :goto_3, just replace what's between)
Recompile, flash, no headset/headphone notifications.
Click to expand...
Click to collapse
Hey mate, i know, but not all people are knowing how to.
So a rom or a mod for this will be better
In fact i advised a rom, and not this solution
Dr. Hax said:
I appreciate your knowledge, very much, sadly I know nothing of Smali.
Could I replace the icons with a 1pixel wide transparent PNG or will that cause some weird things to happen?
Click to expand...
Click to collapse
You could do that, it will just take up a space in the notification bar, so if another one is called it will skip that space and you'll have a hole where the icon would be.
@homeslice976 Thanks for that info! The NFC icon has disappeared. I was waiting for ARHD 22.1 to do this, nice to know that all it needed was vi.
And you've made me curious about modifying apks.
Yay, headset icon gone now too! Thanks for demystifying Android.
deeevan said:
@homeslice976 Thanks for that info! The NFC icon has disappeared. I was waiting for ARHD 22.1 to do this, nice to know that all it needed was vi.
And you've made me curious about modifying apks.
Yay, headset icon gone now too! Thanks for demystifying Android.
Click to expand...
Click to collapse
Can you please make a flashable of the removed headset and Beats icons?
Dr. Hax said:
Can you please make a flashable of the removed headset and Beats icons?
Click to expand...
Click to collapse
I've modified the apks from ARHD 30.0, which is Sense 5.5. Your results may vary on other ROMs.
deeevan said:
I've modified the apks from ARHD 30.0, which is Sense 5.5. Your results may vary on other ROMs.
Click to expand...
Click to collapse
I'm on ARHD 31 and have been dying to have these removed. Can you please upload the apk and let me know how to use it? Does it need to be pushed somewhere specific/ with certain permissions? Can I just install it? etc.
Thanks so much.
Remove headset icon
ARHD 30.0 (Android 4.3)
SystemUI.ARHD30.0.modified.apk (5.8 MB)
https://mega.co.nz/#!Ig4i1R6B!D_CKSzT816iqi_Pvuf_UCnwZJZ88qVEiqs9hyP_0RY0
ARHD 22.0 (Android 4.2)
SystemUI.ARHD22.0.modified.apk (5.3 MB)
https://mega.co.nz/#!4p4B0IIK!b6g7VwZD8OF5X001wUQt2C3RXHZVk3qpZF9uWsvQVzY
1. Backup your current /system/app/SystemUI.apk
2. Rename modified apk to SystemUI.apk and copy over to /system/app
Permissions should be: -rw-r--r-- root root
Remove Beats icon
ARHD 30.0 (Android 4.3)
framework.ARHD30.0.modified.jar (3.4 MB)
https://mega.co.nz/#!o5ISxTQK!H3MR-To44T_e594O6cIA5AI1J6pl5GHcnZSMit9LdE8
1. Backup your current /system/framework/framework.jar
2. Rename modified jar to framework.jar and copy over to /system/framework
Permissions should be: -rw-r--r-- root root
Sorry, no ARHD 22.0 version. I didn't really care about the Beats icon, so didn't bother with it until after I'd upgraded.
Seems to be working flawlessly on ARHD 31. No bugs or issues yet.
Amazing. I've been looking for a way to do this since I first got my HTC One. Thank you so much!!
I was going to have a look at Xposed, but it looks like someone's got it covered. Removal of Beats and headphones icons coming soon.
http://forum.xda-developers.com/showthread.php?t=2335241
[MOD][Oct 22] Xposed Statusbar Mods -- Tweaks, Icons, and more! [SENSE/GPE][4.1+]
Hi, as mentioned above, worked great on 31, and I used it on 31.6 as well.
I upgraded to 40.3, and the beats one seemed to work, but then i couldnt get past the htc one screen (though through adb i renamed framework.old to framework again and then i could boot back), and the headphone one doesnt at all- there doesnt seem to be a systemui anymore.
any idea how to port these mods to kitkat?
I know there is going to be an xposed tweak, but hes been saying that for a while, and meantime i love my clutter free status bar.
amirfk12 said:
Hi, as mentioned above, worked great on 31, and I used it on 31.6 as well.
I upgraded to 40.3, and the beats one seemed to work, but then i couldnt get past the htc one screen (though through adb i renamed framework.old to framework again and then i could boot back), and the headphone one doesnt at all- there doesnt seem to be a systemui anymore.
any idea how to port these mods to kitkat?
I know there is going to be an xposed tweak, but hes been saying that for a while, and meantime i love my clutter free status bar.
Click to expand...
Click to collapse
That was unlikely to work as ARHD 3x.x is Android 4.3 based and ARHD 4x.x is Android 4.4 based. Despite the lack of huge cosmetic differences, the underlying base would have changed enough to make boot fail. FYI SystemUI.apk is now in /system/priv-app but I strongly recommend not trying.
Xposed is the best way to create a mod that is ROM independent, but the method provided by homeslice976 requires modifications to the system files after each new release. If I have the free time, I'll look into the ARHD 40.x files.
If you want to port this yourself, I just found this which seems pretty user friendly for a Windows user:
http://forum.xda-developers.com/showthread.php?t=2326604
deeevan said:
That was unlikely to work as ARHD 3x.x is Android 4.3 based and ARHD 4x.x is Android 4.4 based. Despite the lack of huge cosmetic differences, the underlying base would have changed enough to make boot fail. FYI SystemUI.apk is now in /system/priv-app but I strongly recommend not trying.
Xposed is the best way to create a mod that is ROM independent, but the method provided by homeslice976 requires modifications to the system files after each new release. If I have the free time, I'll look into the ARHD 40.x files.
If you want to port this yourself, I just found this which seems pretty user friendly for a Windows user:
http://forum.xda-developers.com/showthread.php?t=2326604
Click to expand...
Click to collapse
Thank you for your reply, and hopefully you will have the free time. I'm new to android and even though I looked at your link, I still have no idea how to do what is required to make the mod work and would be scared to try.
deeevan said:
That was unlikely to work as ARHD 3x.x is Android 4.3 based and ARHD 4x.x is Android 4.4 based. Despite the lack of huge cosmetic differences, the underlying base would have changed enough to make boot fail. FYI SystemUI.apk is now in /system/priv-app but I strongly recommend not trying.
Xposed is the best way to create a mod that is ROM independent, but the method provided by homeslice976 requires modifications to the system files after each new release. If I have the free time, I'll look into the ARHD 40.x files.
If you want to port this yourself, I just found this which seems pretty user friendly for a Windows user:
http://forum.xda-developers.com/showthread.php?t=2326604
Click to expand...
Click to collapse
agentdr8 got his xposed thing working, so no need for this anymore!
[MOD][APP] Multi DPI Samsung Apps (Camera, Keyboard, Contacts/Dialer) & services.jar
Original thread: http://forum.xda-developers.com/gal...g-keyboard-t3139344/post61447011#post61447011
Samsung is known for releasing apps with crappy dpi scaling as I found out yet again when changing my dpi from 640 to 480. My main issue was with the camera app so I started there, but moved on to the keyboard and contacts app as well.
Available solutions ( http://forum.xda-developers.com/galaxy-s6/themes-apps/mod-fix-samsung-camera-app-device-dpi-t3131995 ) weren't working for me, so I decided to try it myself and I finally managed to create multi-dpi versions of the various apps.
They are based on the XtreStoLite Universal Deo-Mod Edition 1.5 ROM as I'm currently running that. So just give it a try (backup the original apks first! I usually just rename them to "filename.org") and let me know if it works for you. I tested on 480 and 520 dpi and that works here...
I basically modified the dimens.xml file to hardcoded pixel sizes instead of dip value, modifying dip value caused other issues for me (camcorder not working, pro mode messing up). Hopefully it's of use to some.
Installation for Camera and Keyboard:
1. Backup original apk (in system\app\SamsungCamera4 and/or systemm\app\SamsungIMEv2 )
2. Extract modded apk to the corresponding folder
3. Wipe data for the app
4. Reboot
Contacts and Dialer:
People were also requesting a fix for the COntacts/Dialer app which is the SecContacts_L.apk but that caused some issues. Basically these need some extra work to get running in the form of patching the services.jar file in the frameworks folder in order to disable signature verification...
For details and the method used, see:
http://forum.xda-developers.com/android/software-hacking/how-to-recompile-tw-contacts-phone-t3066350
http://forum.xda-developers.com/showthread.php?t=2725233
I supplied two flashable zips for the services.jar.
patched_services_jar-signed.zip; this flashes the patched services.jar file
restore_services_jar-signed.zip; this flashes the original (unpatched) services.jar file
Install:
In order to get multidpi contacts working, first flash the patched services.jar file. Then copy over the SecContacts_L.apk (in the correspdonding zip) as before with the camera and keyboard. Again, make backups of the original! This onlky works with the patched services.jar!
Note that this might cause issues (an invalid services.jar caused my phone to get stuck in boot... had to restore the original to be able to continue) so use at your own risk!
EDIT
Added TouchWiz Home, default mod caused the icon sizes (and text) to be way out of line (too large, icons overlapped by text). Tried fixing this by hand, but it's a bit of trial and error at the moment. Also, different people prefer different sizes anyway. So supplied file has this (partially) fixed, at least better then the straightforward conversion. But as I'm not even using TOuchWiz myself I let it to other to play with it more.
Might need the modded services.jar (tw-home is also in the priv-app folder) but not sure about that (running the patched services.jar by default now).
EDIT2
Missed the landscape layout issue with the samsung keyboard (was centered to the left). Fixed in the updated apk in this post... (values-land folder contains another dimens.xml file which can be changed)
EDIT3
Added clock apk
EDIT4
Added 5.1.1. odexed and deodexed camera. Contacts/dialer and clock seem to be fine by default in 5.1.1 (and keyboard patchting didn't work at first, have to re-check)
EDIT5
Added 5.1.1 deodexed samsung keyboard
Odexed 5.1.1. keyboard also attached, supplied by char101 ( http://forum.xda-developers.com/showpost.php?p=61891296&postcount=77 )
EDIT
Updated the toolkit, missed the landscape values which also need to be edited. Fixed this now...
This is chaging dimens.xml file in <name_output_folder>\res\values-land\ folder if that exists, this contains the landscape mode values.
EDIT2/U]
New version of toolkit simply searches for all dimens.xml files and changes them all...
*** Make samsung system apk multidpi compatible ***
Install APKTool v2
https://ibotpeaches.github.io/Apktool/
Copy Framework-res.apk and twframework-res.apk from framework folder to computer
Install frameworks in apktool using the following commands:
apktool if Framework-res.apk
apktool if twframework-res.apk
Copy relevant apk to folder
Decompile using apktool with the following command:
apktool d <name>.apk -o <name_output_folder>
Edit the dimens.xml file in <name_output_folder>\res\values\ folder (And also the dimens.xml file in <name_output_folder>\res\values-land\ folder if that exists, this contains the landscape mode values)
Change all the values "xxxdip", where xxx is a number, to "yyypx" where yyy is 4 times xxx. So "640dip" would become "2560px"
I created an awk script for this, which uses gawk on windows: replace_xml.awk. First copy the xml file to be edited (%xml_file%) to another location (%xml_copy%)
Next call the awk script on the copy, outputting to the xml file:
gawk -f replace_xml.awk %xml_copy% > %xml_file%
Recompile the apk, keeping the original META-INF content (which can be done because we don't change the manifest.xml file) using the following command:
apktool c <name_output_folder> -o <name_output_apk>
*** Contacts/Dialer & Patching Services.jar***
For the contacts/dialer an extra step has to be taken, that is patching services.jar to skip checks for properly signed files
Using the following method: http://forum.xda-developers.com/showthread.php?t=2725233
Copy services.jar from system\framework to computer
Decompile it:
apktool d services.jar -o services_jar
Open services_jar\smali\com\android\server\pm\PackageManagerService.smali ( I used notepad++ )
Change the following part (might not be the exact same):
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.locals 7
.parameter "s1"
.parameter "s2"
.prologue
.line 2160
if-nez p0, :cond_8
.line 2161
if-nez p1, :cond_6
const/4 v6, 0x1
.line 2180
:goto_5
return v6
.line 2161
:cond_6
const/4 v6, -0x1
goto :goto_5
.line 2165
:cond_8
if-nez p1, :cond_c
.line 2166
const/4 v6, -0x2
goto :goto_5
.line 2168
:cond_c
new-instance v3, Ljava/util/HashSet;
invoke-direct {v3}, Ljava/util/HashSet;-><init>()V
.line 2169
.local v3, set1:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;"
move-object v0, p0
.local v0, arr$:[Landroid/content/pm/Signature;
array-length v2, v0
.local v2, len$:I
const/4 v1, 0x0
.local v1, i$:I
:goto_14
if-ge v1, v2, :cond_1e
aget-object v5, v0, v1
.line 2170
.local v5, sig:Landroid/content/pm/Signature;
invoke-virtual {v3, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
.line 2169
add-int/lit8 v1, v1, 0x1
goto :goto_14
.line 2172
.end local v5 #sig:Landroid/content/pm/Signature;
:cond_1e
new-instance v4, Ljava/util/HashSet;
invoke-direct {v4}, Ljava/util/HashSet;-><init>()V
.line 2173
.local v4, set2:Ljava/util/HashSet;,"Ljava/util/HashSet<Landroid/content/pm/Signature;>;"
move-object v0, p1
array-length v2, v0
const/4 v1, 0x0
:goto_26
if-ge v1, v2, :cond_30
aget-object v5, v0, v1
.line 2174
.restart local v5 #sig:Landroid/content/pm/Signature;
invoke-virtual {v4, v5}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
.line 2173
add-int/lit8 v1, v1, 0x1
goto :goto_26
.line 2177
.end local v5 #sig:Landroid/content/pm/Signature;
:cond_30
invoke-virtual {v3, v4}, Ljava/util/HashSet;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_38
.line 2178
const/4 v6, 0x0
goto :goto_5
.line 2180
:cond_38
const/4 v6, -0x3
goto :goto_5
.end method
TO:
Code:
.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
.locals 7
const/4 v0, 0x0
return v0
.end method
Recompile the edited folder
apktool c services_jar -o services.jar
*** Toolkit ***
I created a toolkit with the various scripts to make all this a bit easier. Installing the frameworks still has to be done
but the other parts are more automated...
Basically running the apk_process.bat in the archive will make it go through the input folder, decompile all apk and jar files found in there. If it's an apk it will ask you if you want to patch the dimens.xml file. Then it will aks you to do any other modifications before continuing. Next it will recompile the apk and jar files placing them in the output folder...
Download dpi_mod_kit.zip and extract
This will give you a number of folders:
- input: Place apk and jar files which need to be edited here
- output: This is where the patched apk and jarfiles will be created
- decompiled: This is where the decompiled files will be put (here is where you can find the xml and other files to be edited)
- files: The various files, binaries, scripts and batch files used in this kit
apk_process.bat: The main file, run this to do decompilation, patching and rebuilding for all files in ínput'folder.
Place the (original) apk and jar file(s) in the input folder (don't use subdirectories)
Run apk_process.bat and wait a bit
The patched files can be found in the output folder. Copy these to your phone...
Camera, Keyboard, and Contacts all working great @ 560 on the AT&T variant running XtreStoLite. Thanks SO much for posting these!!
Do we need the modded services for camera and keyboard?
Also how exactly do we change dpi? No apps have seem to do it for me..Thanks for these releases though
Goronok said:
Camera, Keyboard, and Contacts all working great @ 560 on the AT&T variant running XtreStoLite. Thanks SO much for posting these!!
Click to expand...
Click to collapse
Great! Glad to hear it's working for others as well
Maqical said:
Do we need the modded services for camera and keyboard?
Also how exactly do we change dpi? No apps have seem to do it for me..Thanks for these releases though
Click to expand...
Click to collapse
Nope, camera and keyboard can be done without modded services. And I used romtoolbox (pro) to edit dpi.
There are 3 possible ro.sf.lcd_density values to change, if you change the first (top) one it works. You could even manually edit the build.prop if you want I think.
dagrim1 said:
Great! Glad to hear it's working for others as well
Nope, camera and keyboard can be done without modded services. And I used romtoolbox (pro) to edit dpi.
There are 3 possible ro.sf.lcd_density values to change, if you change the first (top) one it works. You could even manually edit the build.prop if you want I think.
Click to expand...
Click to collapse
Thanks for the reply, gonna try.
I took the liberty of making zip that flashes all the multi dpi files. I have attached it below.
I used the services.jar from AxisM and patched it as its my daily rom I'm currently using..
Cant thank @dagrim1 enough for posting the APK's ! Loving my DPI set to 520 !!
Offtopic: How did you decompile SecContacts.apk ?
TouchWiz Launcher is with an edge skew, leaving much to the right, you can resolve?
fOmey said:
I took the liberty of making zip that flashes all the multi dpi files. I have attached it below.
I used the services.jar from AxisM and patched it as its my daily rom I'm currently using..
Cant thank @dagrim1 enough for posting the APK's ! Loving my DPI set to 520 !!
Offtopic: How did you decompile SecContacts.apk ?
Click to expand...
Click to collapse
Thanks for that, should make things easier for others as well. And anytime! Happy to help
About your question, to be honest I'm not sure of my steps anymore (tried so much that I'm not sure which version worked anymore) but I'm planning on writing the steps and guide down the next few days and I want to reproduce the steps then so then I can answer.
I don't think I did too much special stuff in the end, decompiling with apktool2 (but I did try a few tools/wrappers with it). I also tried copying files to the original apk, resigning instead of copying the original manifest, etc. Shiuld be able to give an answer in the next few days! Mian trick was the patched services.jar though...
riirezende said:
TouchWiz Launcher is with an edge skew, leaving much to the right, you can resolve?
Click to expand...
Click to collapse
Would have to look into that as well, but again... give me a few days! Can't make any promises sooner...
*EDIT* Well, kinda... Did a quick try (default mod to pixels) but icons are too big then (everything is scaled up) and app labels in the drawer overlap the icons. So not too happy with it. Will check it out properly later.
riirezende said:
TouchWiz Launcher is with an edge skew, leaving much to the right, you can resolve?
Click to expand...
Click to collapse
Added modded touchwiz launcher, see remarks at the bottom of the opening post. The icon, text and other sizes are a bit off... But check it out to see if it works for you.
I updated to 5.1.1 and I will not be able to test, but I'll pass on to my friends in Brazil G + community. thank you for your work
Work fine. Now TouchWiz Launcher its OK.
Thanks @dagrim1, great Work. I will try on 5.1.1 xstrestolite 2.0
riirezende said:
Work fine. Now TouchWiz Launcher its OK.
Thanks @dagrim1, great Work. I will try on 5.1.1 xstrestolite 2.0
Click to expand...
Click to collapse
How did it work on 5.1.1
riirezende said:
Work fine. Now TouchWiz Launcher its OK.
Thanks @dagrim1, great Work. I will try on 5.1.1 xstrestolite 2.0
Click to expand...
Click to collapse
Hmmm, guessing it will have to be redone for 5.1.1 fw.
Is xstrestolite 2.0 beta downloadable anywhere? Would be happy to do it for that as well (and happy to testrun it, will also ask in the xtrestolite thread but saw it was pulled for now due to 5.0.2 bootloader incompatibility issues)
I could be a beta test ROM is very fast. is missing the Add-On Pack, I have a G920F installed 5.1.1 by Odin.
Multi DPI Dont Work on 5.1.1. ?
Dear dagrim1.
Thank you for great works!!!
CAMERA app works fine on SM-G925D(deodexed stock rom) /w DPI=520.
Tiga
Hi, can flash fire be used to flash the zips?
Thanks
fOmey said:
I took the liberty of making zip that flashes all the multi dpi files. I have attached it below.
I used the services.jar from AxisM and patched it as its my daily rom I'm currently using..
Cant thank @dagrim1 enough for posting the APK's ! Loving my DPI set to 520 !!
Offtopic: How did you decompile SecContacts.apk ?
Click to expand...
Click to collapse
I'm using axism now. Hate how things are so big. So all I have to do is flash that zip you linked to fix ALL those apps with dpi issues?
Actually, what steps should I take to flash this? still backup the apks..
is the axisM services.jar included in your .zip? should I change the dpi, then flash this? or flash then change dpi
Question/request
Can u make one for the calculator as well?
For the dialer and keyboard works freat but.
Keyboard in landscape its still to the left of the screen
Dialer while in call the menus are still top left
I was wondering if that can be resolved.
My apologies in advance.
Sent from my SM-G925A using XDA Free mobile app
Please guide me. Something went wrong. After replacing the camera apk the app went missing.
Now I managed to restore the backup, but the app won't work: camera has been stopped
Maybe too much or less privileges on the file?
I'm on stock 5.0.2