Related
The Gmail app on my Hero (possibly on all Android devices?) has one big annoyance: I only get audio and vibration notifications for the first mail received after clearing notifications. If I missed the first notification for some reason, the phone will sit quiet for all subsequent incoming mail until I attend to the existing notification (the notification text will be updated on subsequent mail but no vibration/sound).
This is reported here
http://code.google.com/p/android/issues/detail?id=4190
Since Google seems to ignore this issue I decided to fix it my self. Here is a summary of how I did it, in case someone is interested in doing something similar.
Required knowledge is basic understanding of the Android SDK and some basic knowledge of the concepts of assembler. The latter is required since this involves modifying Dalvik assembly. Don't worry too much, it's MUCH easier than assembly for real CPUs.
Download smali/baksmali from http://code.google.com/p/smali/ (Thank you JesusFreke, you ROCK!).
Get hold of Gmail.apk either by pulling from your device or extracting it from your current ROM update.zip. Disassemble it with
Code:
java -jar baksmali.jar Gmail.apk
Now you have the Gmail source code in a subfolder called out. Use a descent search tool to search for a relevant section in the resulting files. I searched for "NotificationManager" since that handles Android notifications (using UltraEdit's Find in files).
There is one line found
Code:
invoke-virtual {v4, p0, v5}, Landroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
Register v5 contains the notification to be set (check SDK docs, it's the last argument of the method call). Scroll up to see what's being done to the Notification prior to showing it.
Code:
iget p0, v5, Landroid/app/Notification;->flags:I
or-int/lit8 p0, p0, 0x1
iput p0, v5, Landroid/app/Notification;->flags:I
This is the manipulation of the flags controlling notification properties. Here I cleared the FLAG_ONLY_ALERT_ONCE (check SDK docs) flag by adding a line:
Code:
iget p0, v5, Landroid/app/Notification;->flags:I
or-int/lit8 p0, p0, 0x1
[B]and-int/lit8 p0, p0, 0xf7[/B]
iput p0, v5, Landroid/app/Notification;->flags:I
When new mail arrived I noted this with logcat:
Code:
New email for [email protected] unreadCount:5 [B]getAttention:true[/B]
...
New email for [email protected] unreadCount:5 [B]getAttention:false[/B]
The first case gave me notifications, the other didn't. Let's make getAttention always true! Search for "getAttention". It's slightly above the previous edited section.
Code:
invoke-virtual {p2, v1, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
move-result v2
.line 287
.local v2, getAttention:Z
A local variable called getAttention is in register v2. Check some lines later to see that it's used to output the logs above. The right place! Now make the variable always true by loading 0x1 in register v2:
Code:
invoke-virtual {p2, v1, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z
move-result v2
[B]const/4 v2, 0x1[/B]
.line 287
.local v2, getAttention:Z
Done! Save the file (Utils.smali) and assemble it back into a classes.dex file. Back at the console:
Code:
java -jar smali.jar -o classes.dex out
You end up with a shiny new classes.dex. Replace the original one in Gmail.apk with the new file using your favorite zip manager. Also, remove the folder "META-INF" found in the apk. Now follow some guide on the net for signing the apk. This process adds a new "META-INF" folder.
Now push it to the phone, and reboot (make a nandroid backup first!).
Code:
adb remount
adb push Gmail.apk /system/app/Gmail.apk
adb shell rm /data/dalvik-cache/*Gmail*
adb shell reboot
Now my phone beeps and vibrates for every incoming mail. This process is not for everyone, but works for me. The adventurous can download my modified apk (based on MCR 3.0, which is based on 2.73.405.66)
http://www.mediafire.com/?uuzwhkc5nzy
http://www.filefactory.com/file/a1h98eh/n/Gmail.apk
http://www.filedropper.com/gmail
Obviously root required and nandroid recomended. No warranties.
Anyone have suggestions for other modifications or want to collaborate on some Dalvik hacking? This turned out to be quite fun
Dalvik info can be found here:
http://www.netmite.com/android/mydroid/dalvik/docs/dalvik-bytecode.html
http://www.netmite.com/android/mydroid/dalvik/docs/instruction-formats.html
this is a really cool hack, and dalvik hacking sounds quite interesting, but too high for me...
good job!
Great hack.... however having tried to do this myself ...... I'll leave it for you experts lol
This is an old thread - but super work!
"Gmail Notifier" in Android store now replaces this (I think that is also from you?) but your detective skills are an inspiration!
Thanks
Original Threads (deodexed ROM/Themes)
[MOD] [JVP] Statusbar Tweaks - EDT
[MODS][MORPH] Kahvitahra's mods - EDT TWEAK
How to get it working on an ODEXED ROM!
The only file we are going to modify is /system/app/SystemUI.apk
If you already got this apk deodexed skip to step#2 (you can check for it by opening SystemUI.apk and check if classes.dex is already present)
Step#1 (baksmali)
You need to baksmali SystemUI.apk, i suppose you already know how to do it, if not just use search button!!!
Step#2 (apk-manager)
I am using apk-manager, so before to continue make sure you already have this tool installed and working!
Copy deodexed SystemUI.apk to place-apk-here-for-modding folder
Start Script.bat (don't close this windows we will use it later on)
Select option "19) Select compression level for apk's" and hit 0
Set current project (option 22)
Decompile apk (option 9)
go to projects\SystemUI.apk\res\layout and overwrite status_bar.xml with the file attached
go to projects\SystemUI.apk\smali\com\android\systemui\statusbar and copy the following files from the attached zip file: BatteryText$1.smali, BatteryText$SettingsObserver.smali, BatteryText.smali, Clock$1.smali, Clock.smali, DateView.smali
go to projects\SystemUI.apk\smali\com\android\systemui\statusbar\policy and overwrite StatusBarPolicy.smali with the one inside the zip file attacched
go back to the apk-manager windows (cmd.exe windows started with Script.bat) and select "Compile apk" (option 11)
just answer "yes" to the two questions you will promt!
Now before to go ahead, you will notice that a new folder "keep" has been created, open up that folder and delete "classes.dex" and "resources.arsc" then go to res/layout folder and delete status_bar.xml
Go back to the apk-manager windows and press enter to continue!
At the end you will see in place-apk-here-for-modding folder you modified unsignedSystemUI.apk
Step#3 (odex back)
-Download and copy "dexopt-wrapper" on /system/bin
-In adb just type:
Code:
adb shell echo $BOOTCLASSPATH
you should use the above string later on!
-copy "unsignedSystemUI.apk" from your pc to your /sdcard/mod folder (create this folder) and rename it to SystemUI.apk
-copy /sdcard/mod/SystemUI.apk to /sdcard/mod/done/SystemUI.apk, now open without extract it (use 7zip winrar..) and delete classes.dex.
Code:
> adb remount
> adb shell
# su
# cd /system/bin
# busybox chmod 755 dexopt-wrapper
Now you have right permission for dexopt-wrapper
Let's create a new .odex file from the SystemUI.apk file
Code:
# cd /sdcard/mod
# dexopt-wrapper SystemUI.apk new.odex [BOOTCLASSPATH]
fill in the value of BOOTCLASSPATH, without the []
do NOT continue until this command succeeds!
At this point your new.odex file won't work because dalvik virtual Machine store checksum for each packages which means that your new.odex file cannot pass this check on boot.
We will fix it:
Copy over the "signature" from the current(original one in your /system/app) .odex file into the new .odex file.
Code:
# busybox dd if=/system/app/SystemUI.odex of=new.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
now replace the old .odex file with the new .odex file. Also we will copy the apk without classes.dex to /system/app
Code:
# cd /system/app
# busybox cp /sdcard/mod/new.odex SystemUI.odex
# busybox chmod 644 SystemUI.odex
# busybox cp /sdcard/mod/done/SystemUI.apk SystemUI.apk
# busybox chmod 644 SystemUI.apk
# sync
# reboot
That's it!
NOTE:
Remember to backup your system before you start doing it, because some time your phone won't boot, maybe because you made some mistake in the smali code you have changed...
I usualy prepare a zip package with the original file i am going to replace, therefore if something goes wrong i can flash them back via CWM the original one!
Hope it can help!
Thanks to Kahvitahra for source code and every single one in this community.
View attachment EDT_sources.zip
Hi mate!
I also moded dateview.smali to show clock in pulldownbar
kahvitahra said:
Hi mate!
I also moded dateview.smali to show clock in pulldownbar
Click to expand...
Click to collapse
Thanks Bro!
\Edit
OP has been updated!
Suggestion for thread title:
How to add EDT Tweaks support in your odexed ROM/Themes.
Another suggestion:
Put links for the original threads on first post:
[MOD] [JVP] Statusbar Tweaks - EDT
[MODS][MORPH] Kahvitahra's mods - EDT TWEAK
OK, after the 1st quick overview i must say...i like my LeoMAR ROM as it is now! ;o)
Never done something like that before and i don´t wanna challenge my luck too much...
Just wonderfull Many thanks
Second way
Edited post
mmmh?
Can i have an italian guide to apply this on my odexed rom? i never use this program...i know only how install a rom! now i have a tweaky rom v2 on my sgs
is it possible to do??? grazie infinite!!!
Hy. Can anyone make me this for XWKJ1 odexed rom pls?
Code:
.method private final updateClock()V
.locals 5
.prologue
.line 78
new-instance v0, Ljava/util/Date;
invoke-direct {v0}, Ljava/util/Date;-><init>()V
.line 85
.local v0, now:Ljava/util/Date;
const/4 v1, 0x2
const/4 v2, 0x0
invoke-static {v1, v2}, Ljava/text/DateFormat;->getDateTimeInstance(II)Ljava/text/DateFormat;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/android/systemui/statusbar/DateView;->setText(Ljava/lang/CharSequence;)V
.line 87
return-void
.end method
Sorry for reviving this thread but i have a question.
With this code in DateView.smali i got an am/pm clock and i use a 24h format.
Anyone knows how to edit DateView.smali or StatusBarPolicy.smali to get a 24H format on the clock in the notification pulldown?
I´ve been searching and found some references but it looks a little "grey" to me, because they only refer on removing the am/pm and not displaying 24h format.
Is there a way to get the correct time format from this line?
Code:
invoke-static {v1, v2}, Ljava/text/DateFormat;->getDateTimeInstance(II)Ljava/text/DateFormat;
Thanks
Edit: If i change system language to Portuguese, the clock displays 24h format, but in english it only displays 12h. Still no go, i want to use english.
battax said:
Code:
.method private final updateClock()V
.locals 5
.prologue
.line 78
new-instance v0, Ljava/util/Date;
invoke-direct {v0}, Ljava/util/Date;-><init>()V
.line 85
.local v0, now:Ljava/util/Date;
const/4 v1, 0x2
const/4 v2, 0x0
invoke-static {v1, v2}, Ljava/text/DateFormat;->getDateTimeInstance(II)Ljava/text/DateFormat;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/android/systemui/statusbar/DateView;->setText(Ljava/lang/CharSequence;)V
.line 87
return-void
.end method
Sorry for reviving this thread but i have a question.
With this code in DateView.smali i got an am/pm clock and i use a 24h format.
Anyone knows how to edit DateView.smali or StatusBarPolicy.smali to get a 24H format on the clock in the notification pulldown?
I´ve been searching and found some references but it looks a little "grey" to me, because they only refer on removing the am/pm and not displaying 24h format.
Is there a way to get the correct time format from this line?
Code:
invoke-static {v1, v2}, Ljava/text/DateFormat;->getDateTimeInstance(II)Ljava/text/DateFormat;
Thanks
Edit: If i change system language to Portuguese, the clock displays 24h format, but in english it only displays 12h. Still no go, i want to use english.
Click to expand...
Click to collapse
Hi!
Getdatetimeinstance gets time format depending to your locale, like you said. With simpledateformat you can achive that what you are looking for.
Im on phone now so cant paste links, but you can navigate to my thread from my signature. There is edt + custom date format. You can pick code from there or just use that the way its done. There is also moded settings.apk so that you can put any format you like in that notification date/time. Affected files are told in those posts.
Thanks i´ve already used your mod yesterday a awhile after my first post, but i will search the code.
Thanks
I believe you can have a deodexed app on your odexed rom. Just remember to remove (backup) the 2 odexed files and clear dalvik-cache.
PS: this is true only for files in the app folder! Not in the framework folder!
Pps: I should include some of this mod in my mod
Thanks!
Sent from my GT-I9100 using xda premium
I need to add some steps in standard StartupWizard.apk
Device is Archos 101 IT with installed SDE and UrukDroid1.5.
I've got /system/app/StartupWizard.apk by usb, unpack it by "apktool d StartupWizard.apk" (apktool1.4.1), and added 2 lines just for test:
in StartupWizard\smali\com\archos\startupwizard\Welcome.smali at end of onCreate:
Code:
iget-object v1, p0, Lcom/archos/startupwizard/Welcome;->mManager:Lcom/archos/startupwizard/WizardManager;
invoke-virtual {v1, p0}, Lcom/archos/startupwizard/WizardManager;->goNextStep(Landroid/app/Activity;)V
so end of onCreate method is:
Code:
.line 44
:cond_0
const-string v0, "Welcome"
const-string v0, "onCreate: no wizardPreTreatment"
invoke-static {v2, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
iget-object v1, p0, Lcom/archos/startupwizard/Welcome;->mManager:Lcom/archos/startupwizard/WizardManager;
invoke-virtual {v1, p0}, Lcom/archos/startupwizard/WizardManager;->goNextStep(Landroid/app/Activity;)V
goto :goto_0
.end method
i.e. I've added goNextStep() call and wizard should pass to Disclaimer view at start.
I've packed it back by "apktool b StartupWizard", got no errors in output.
Then copy this StartupWizard\dist\StartupWizard.apk to device by usb and then RootExplorer to /system/app/StartupWizard.apk
Now after device reboot StartupWizard should run automatically (I've not completed it after uruk install).
But reboot is looping - after boot-animation screen turns black for couple of seconds, then boot-animation is showed again, and again, and again...
Questions:
- what I'm doing wrong?
- how to lauch StartupWizard without reboot?
- in which logs can I see reason of looping?
- is it possible to replace files /system/app/ in such way? or how should I install new StartupWizard.apk?
- should StartupWizard.apk be processed with signjar и zipalign?
- is there error in added 2 lines of code? I copy-pasted it from previous onClick method, where goNextStep() called in normal program flow.
Please use the Q&A Forum for questions Thanks
Moving to Q&A
EDIT: post #3 now includes the steps so a guide to add it to your own files this information is from http://forum.xda-developers.com/showthread.php?t=811532 only modified to work with photon
ok guys i got it working im on skinny rev unlocked with dark fire theme so that is the framework apk i used but its easy to modify for the developers wanting to add this to there theme or rom.. just use my files android.policy.jar and framework.jar
to do this decompile and edit this xml in your framework.apk
Code:
"framework-res.apk\res\values\strings.xml"
add
Reboot
Recovery
next add png icons here
"framework-res.apk\res\drawable-hdpi"
make sure they are named
"ic_lock_reboot.png
"ic_lock_recovery.png
then recompile/build etc.. after you have build apk decompile it again
go here
frameworkres.apk\res\values\public.xml
you will see this with different id #s
and
these are what you need to change in the android.policy.jar
com\android\internal\policy\impl\GlobalActions.sma li"
at line 661
const v3, 0x1080501 (reboot icon)
const v4, 0x10404ed (reboot string)
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$10;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
const/4 v1, 0x5
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$11;
const v3, 0x1080502 (recovery icon)
const v4, 0x10404ee (recovery string)
the first set of icon ids are for reboot
first # is drawable icon second is string #
second set is recovery as in the ( ) 's
so now change these numbers to those in the public.xml as i described above
next recompile your android.policy.jar and its ready to add
thanks!
screenie here http://dl.dropbox.com/u/46879286/20120214113758.jpeg
colors are off sorry
chrystal0925 said:
ok guys i got it working im on skinny rev unlocked with dark fire theme so that is the framework apk i used but its easy to modify for the developers wanting to add this to there theme or rom.. just use my files android.policy.jar and framework.jar
download here http://dl.dropbox.com/u/46879286/photon.power.mod.zip
to do this decompile and edit this xml in your framework.apk
"framework-res.apk\res\values\strings.xml"
add
Reboot
Recovery
next add png icons here
"framework-res.apk\res\drawable-hdpi"
make sure they are named
"ic_lock_reboot.png
"ic_lock_recovery.png
then recompile/build etc.. after you have build apk decompile it again
go here
frameworkres.apk\res\values\public.xml
you will see this with different id #s
and
these are what you need to change in the android.policy.jar
com\android\internal\policy\impl\GlobalActions.sma li"
at line 661
const v3, 0x1080501 (reboot icon)
const v4, 0x10404ed (reboot string)
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$10;->(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
const/4 v1, 0x5
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$11;
const v3, 0x1080502 (recovery icon)
const v4, 0x10404ee (recovery string)
the first set of icon ids are for reboot
first # is drawable icon second is string #
second set is recovery as in the ( ) 's
so now change these numbers to those in the public.xml as i described above
next recompile your android.policy.jar and its ready to add
thanks!
screenie here http://dl.dropbox.com/u/46879286/20120214113758.jpeg
colors are off sorry
Click to expand...
Click to collapse
This is great I was working on it last night did you have to make changes to build prop?
Sent from my MB855 using xda premium
No I didn't and it works fine
edit: above may not work on other roms with my files so heres a guide need to be deodex odex is not working:
use apk_manager to decompile framework-res
open "values\strings.xml add this to it
Code:
<string name="reboot_recovery">Recovery</string>
<string name="reboot">Reboot</string>
next add png icons here (i attached some to use )
"framework-res.apk\res\drawable-hdpi"
make sure they are named
"ic_lock_reboot.png
"ic_lock_recovery.png
recompile then decompile to get it to auto generate the public id's
now to add the option to the shutdown
so decompile framework.jar and open "com\android\internal\app\ShutdownThread.smali
add to line 40 keep the lines spaced(skipping a line between )
Code:
.field public static mReboot:I
then at line 542 before "invoke-static {}, Landroid/os/Power;->shutdown()V" add this
Code:
sget v1, Lcom/android/internal/app/ShutdownThread;->mReboot:I
const/4 v2, 0x1
if-eq v1, v2, :reboot
const/4 v2, 0x2
if-eq v1, v2, :rebootRecovery
then at line 557 or about line 554 after this
.line 512
return-void
add this
Code:
:reboot
const-string v4, "now"
invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V
return-void
:rebootRecovery
const-string v4, "recovery"
invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V
return-void
next save and recompile
now decompile androidpolicy.jar
open com\android\internal\policy\impl\GlobalActions.smali
look for .method private createDialog()Landroid/app/AlertDialog;
and at line 624 edit to add two more methods
Code:
.line 232
const/4 v0, 0x4
(change the 0x4 to 0x6)
and at line 657 edit out the ids from your public.xml (]do not add this reference here )
add this
Code:
const/4 v1, 0x4
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$10;
const v3, 0x1080501 ([COLOR="Red"]change this to drawable reboot id[/COLOR])
const v4, 0x10404ed [COLOR="red"](reboot string id[/COLOR])
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$10;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
const/4 v1, 0x5
new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$11;
const v3, 0x1080502( [COLOR="red"]drawable recovery id[/COLOR])
const v4, 0x10404ee ([COLOR="red"]recovery string id[/COLOR])
invoke-direct {v2, p0, v3, v4}, Lcom/android/internal/policy/impl/GlobalActions$11;-><init>(Lcom/android/internal/policy/impl/GlobalActions;II)V
aput-object v2, v0, v1
so you need to go back to your framework.apk
open res/values/public to get the id's to change the above..
save and go to
GlobalActions$5.smali and copy it and name it GlobalActions$10.smali
open GlobalActions$10 and replace all instances ( so any where you see) of GlobalActions$5
with GlobalActions$10 then add this code
Code:
sput v2, Lcom/android/internal/app/ShutdownThread;->mReboot:I
to line 52 before
invoke-static {v0, v1}, Lcom/android/internal/app/ShutdownThread;->shutdown(Landroid/content/Context;Z)V
now copy GlobalActions$10.smali and name it GlobalActions$11.smali
replace all instances of GlobalActions$10 with GlobalActions$11
then save recompile and everything is now added to run this mod!
chrystal0925 said:
No I didn't and it works fine
Sent from my MB855 using XDA App
Click to expand...
Click to collapse
Sounds good,and Thanks
Sent from my MB855 using xda premium
Welcome hope it helps!
Sent from my MB855 using XDA App
If anyone needs send me your framework apk and I can mod it for you to use
Sent from my MB855 using XDA App
how to change android.policy.jar. when i open it, its only contain manifest.mf. there is also android.policy.odex.
zeguym said:
how to change android.policy.jar. when i open it, its only contain manifest.mf. there is also android.policy.odex.
Click to expand...
Click to collapse
you need baksmali to decompile it. which rom are you on? if you cant get it send me the policy and framework.. once you decompile the policy it turns it into a classes.dex then you zip the policy using 7zip or winrar and you replace the new classes.dex with the one in the zip..
chrystal0925 said:
you need baksmali to decompile it. which rom are you on? if you cant get it send me the policy and framework.. once you decompile the policy it turns it into a classes.dex then you zip the policy using 7zip or winrar and you replace the new classes.dex with the one in the zip..
Click to expand...
Click to collapse
I use stock rom.
Can you kindly give step by step how to decompile and compile it again.
I already have baksmali, but when trying to decompile it, it always failed.
is this because stock rom is odex ? not deodex ?
zeguym said:
I use stock rom.
Can you kindly give step by step how to decompile and compile it again.
I already have baksmali, but when trying to decompile it, it always failed.
is this because stock rom is odex ? not deodex ?
Click to expand...
Click to collapse
That could be why I'm using deodex files.. I'm not to sure on directions I use a tool like a script its simple it was 2 commands one to decompile other to recompile.. as far as I know deodex is for theming Modding etc..
I was trying to see if you can use my files but your framework I've had people use my reboot mod on the echo on stock but the framework apk was a deodex version and the rest odex I could deodex it n try if you can post the apk I dont think I have a stock file but if so then you would just decompile my files and edit what I listed after adding to the frameworkapk. You can try this way as well
Sent from my MB855 using XDA App
ive tried flashing on top of an odex version with a completely stock version just deodex it dont work it has to many looping issues so recommend that your rom is deodex..
wrong post. deleted.
A. android.policy.jar file:
1. Copy the contents of “to android.policy.jar” folder.
2. Decompile android.policy.jar by backsmali/smali program.
3. Go to classout\com\android\internal\policy\impl\sec\ folder open CircleUnlockRippleRenderer.smali and search for "const/16 v1, 0x4002" and change this line.
search
Code:
const/16 v1, 0x4002
if-ne v0, v1, :cond_138
change
Code:
const/16 v1, 0x4002
if-ne v1, v1, :cond_138
Now recompile android.policy.jar and push them to your device.
Credits. majdinj
Sorry for my English
Great! Havent tried it yet, but it should work.. Any other way though? Like to flash via recovery? I have 4.3 leaked, stock, rooted, twrp, odexed
Sent from my GT-N7100 using XDA Premium 4 mobile app
Could you share the files.. TQ
here it is.
please help me.
sorry for bothering you with my newbies question.
i have problem,, i hope you can help me regarding to this thread.
first i used [4.3][MI6]DN3(Ditto Note 3) ROM from Electron Team(E-team)
in that ROM the ripple effect is basically mod like in this thread, what i want to do is to reverse it to the original note 2 which is the ink only out when using s-pen.
i already follow steps like you said on post#1
1. copy my android.policy.jar to my sd and move to my computer
2. decompile with backsmali/smali program
3. unlike you i go to classout\com\android\internal\policy\impl\keyguard\sec folder open CircleUnlockRippleRenderer.smali and search for "const/16 v1, 0x4002" and change
i change the value
Code:
const/16 v1, 0x4002
if-ne v1, v1, :cond_138
into the original
Code:
const/16 v1, 0x4002
if-ne v0, v1, :cond_138
4. Recompile android.policy.jar and copy to my sdcard.
5. move the android.policy.jar with rootbrowser to its original location and replace the original android.policy.jar
but i ended with many error when i push the android.policy.jar that i mod with steps like you said in post#1.
my error is non stop FC and non stop TW, NFC, and etc stopped working.
can you tell me where do i made mistake? please give me solution about this problem, thanks before.
Safe way to replace any files in framework folder is using cwm.zip
Sent from my GT-N7100 using XDA Premium 4 mobile app
ink effect for kitkat 4.4.2 with fingers.
please go here
Thanks.
Hit THANKS button, If I helped You.