yashsingh1/xdaforums huggingface dataset:
[Vibrant Android Development] untermensch:
here you go
[Vibrant Android Development] dasunsrule32:
Installing now...
[Vibrant Android Development] PSP_Hacker:
I never thought of decompiling and tweaking it. Good job :D
[Vibrant Android Development] gravis86:
I just flashed the de-odex version and it sat on the "S" loading screen for about 2 minutes, but eventually booted and no force-closes yet :)

But it seems as though it's not really doing its job. I just got the popup. :(

EDIT: I'm too lazy to undo Voodoo just for so I can clear dalvik but I'd like to add that even though the popup still rears its ugly head, it only shows up once :) Which is actually fine with me I just didn't like it popping up repeatedly when I was trying to do stuff on the phone and left it plugged in.
[Vibrant Android Development] holysmokesbatty:
I still got the Battery Full pop up on mine after installing this. :(
[Vibrant Android Development] G00DFe77a:
Does this work on Euegene's Franken-Twiz update 3 rom?
[Vibrant Android Development] gravis86:
Why don't you try it and tell us?
[Vibrant Android Development] ttabbal:
Awww...sad... I got a popup. Nice try though. Hopefully you can get it working.
[Vibrant Android Development] dasunsrule32:
Still got a pop-up on stock f/w. Trying the deoxed version.
[Vibrant Android Development] dasunsrule32:
deodexed version didn't work either. :(
[Vibrant Android Development] untermensch:
I am absolutely sure it works, see attached image

try clearing dalvik-cache and rebooting a few times.
[Vibrant Android Development] MStrawder:
Running Franken-Twiz and it didn't work for me. Let me know if there's any logs or info I can give to help troubleshoot this as I really want it working.
[Vibrant Android Development] s0niqu3:
Hmmm, also not able to get this to work.

I tried your packaged services.jar, and I tried editing the smali file myself, and I see the message in the debug log saying the process was "KILLED" but I still get the battery popup too.

Anyway, great progress already, I'm sure we'll get this figured out for everyone soon enough.

Cheers
[Vibrant Android Development] mikey98277:
I just flashed it and cleared cache and dalv. cache, ill report back tomorrow if it worked or not, I am on frakin-twiz v3.
[Vibrant Android Development] untermensch:
very weird the next instruction after it prints to the log is return-void and I cant

think of any reason that instruction would be ignored.

you could try replacing the the whole method with this

.method private showFullChargePopup()V
.registers 8
return-void
.end method

if that does not work then decompile every thing in the framework dir

and grep for the resource id for the xml zzz_battery_alerting_popup

for UVJFD I would grep -R 1090076 *

EDIT:

I went ahead an attached a .zip with the mentioned empty method.
[Vibrant Android Development] mikey98277:
Ok, so I i flashed this last night, and charged like I normally do at night, and it did work for me, as I said in my last post I flashed it through clockwork, then cleared both caches and that seemed to work. I am running Frankin-Twiz v3, with Jac's OC/UV color fix kernal. Had voodoo on it, but had to disable it to clear the caches, have not re-enabled it again, but dont see how that would change anything moving the data. So thanks for this, works great for me so far. It worked the first charge and if for some reason it shows me the popup ill report back.
[Vibrant Android Development] s0niqu3:
Hey again,

Playing with this again, trying to get it to work, and was wondering if maybe I simply misunderstood the length of your .method edit.

when I diff the original .method and your method to replace it with, starting from .method private showFullChargePopup()V to and ending at the first .return-void in each, the only different/new lines in your method are to print the log entry.

const/4 v4, 0x1

const-string v4, "Xda"

const-string v5, "showFullChargePopup() - KILLED"

invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

The return-void you say should be killing the popup already exists in the original method, exactly the same way it appears in your edit, so I'm not sure at all why it would do anything new at all, lol.

.line 946
:goto_16
return-void

So did you mean to say to replace the entire .method with your new .method? That would seem to make sense to me, since then it literally removes all the code for the display popup, which occurs not long after that return-void in the .method

Or maybe you might have pasted incomplete/out-of-date text for the edit into your OP?

Anyway, trying the blank/empty method version now, though my battery will be charging still for a bit until I can verify if it works (I certainly can't imagine why the empty method hack wouldn't work, lol.)

And I apologize in advance if I've missed something terribly elementary, I'm still drinking my morning coffee =)

Cheers
[Vibrant Android Development] raiderep:
I have an Epic and want this to work too. I edited the above method to look like that and it still shows a popup. Hoping to see how this gets done so I can port this to epic too.

edit: I too noticed the return-void command already present in the code for that method

in my further tries at this I also found the line further down in the smali that calls on the method and replaced that command with return void just for the heck of it and no dice. Must be somewhere else or I'm not grasping how its done...
[Vibrant Android Development] untermensch:
try

busybox rm -fr /data/dalvik-cache/*

then reboot

if it is somewhere else start decompiling the framework dir and look for the resource ID's for the strings and xml used to build the alert dialog box.

this works for me on a stock clean flash of UVJFD.
[Vibrant Android Development] the3dman:
I am glad your working on this now... I gave up trying when it got down to editing more code and decompiling. Good luck! ;-)
[Vibrant Android Development] s0niqu3:
Another quick update, it seems the code in your provided deodexed version for clockwork doesn't match the code edit you say to make. Again, I'm not sure it really makes a difference, but the code in the version you provided is:

.method private showFullChargePopup()V
.registers 8

.prologue
const/4 v6, 0x0

.line 913
const-string v4, "StatusBarPolicy"

const-string v5, "showFullChargePopup()"

invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

.line 916
const-string v4, "service.gate.enabled"

invoke-static {v4}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;

move-result-object v4

const-string v5, "1"

invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v4

const/4 v4, 0x1

if-eqz v4, :cond_1f

const-string v4, "Xda"

const-string v5, "showFullChargePopup() - KILLED"

invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

.line 946
:goto_1e
return-void

So, any thoughts on how to reconcile everything?

I'm honestly not sure if the empty method hack is working correctly or not yet, my phone is hanging at Charging 99%, and not advancing to "charged"

Maybe this is a residual effect of removing the entire showFullChargePopup() method?

Anyway, I'll keep playing with this on my end when I have free time again later tonight.

cheers
[Vibrant Android Development] untermensch:
the code is the same. the labels for goto's and conditional's will be different because lines of code were added compiled and then decompiled.
[Vibrant Android Development] s0niqu3:
Ok, another quick update, my phone finally clicked over to "charged" and using the empty method hack, no battery popup.

=)
[Vibrant Android Development] untermensch:
sweet!

I think clearing the dalvik-cache causes the framework to be reloaded, as soon as

I figure out how to run a script with clockwork I will update the zips

this line tests if v4 = 0 and then branches to the code that builds the alert dialog

if-eqz v4, :cond_17

so adding

const/4 v4, 0x1

before the test will change v4 = 1 and prevent the popup

glad someone can confirm it is working for them.

EDIT:

clearing the dalvik with clockwork was easier that expected zip's updated.
[Vibrant Android Development] a400meter:
Just wanted to share my experience with this.

I installed the .zip (prior to the automated clear dalvik) and then waited for it to 'work'. But I still got the popup. Read today to clear the Dalvik, so i did and now i am not getting the battery full message!!

Glad to see that the new update should work by simply installing the .zip. Thanks for the work on this untermensch.

I just wanted to share my positive results. Thanks again!!!
[Vibrant Android Development] raiderep:
So I was looking at the wrong popup. The screen on one is gone now, any chance you have found the screen off one? It makes an odd noise now when its fully charged with screen off but it could have been that way all along. Thanx for the info.

sent by an Epic 4g through the cosmos
[Vibrant Android Development] untermensch:
the Epic is a bit different find this on line 5149

if-eqz v3, :cond_369

and insert this line before it

const/4 v3, 0x0

so it looks like this

const/4 v3, 0x0
if-eqz v3, :cond_369

so now if v3 = 0 the code jumps to the label :cond_369

which is this bit of code and the line we added sets v3 to 0

:cond_369
const-string v14, "StatusBarPolicy"

const-string v15, "batteryFullNotify is false"

invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

goto/16 :goto_1db

an then jumps to the label :goto_1db

:goto_1db
return-void

you wont have to make any changes to the method showFullChargePopup

like with the Vibrant.
[Vibrant Android Development] raiderep:
Thanx! Ill try this when I get home from work, no computer here besides the one in my hand. That would explain why I was having no luck.

sent by an Epic 4g through the cosmos
[Vibrant Android Development] untermensch:
after a day of no popups I just got one, the debug log showed

the KILLED message so for some reason some times that return-void

is ignored???

in response I have completely stripped the code for the popup

it's a private method so this should be OK.
[Vibrant Android Development] mikey98277:
not to sound dumb but what does it mean that you used a private method and it will be ok, the reason I ask as it worked for me the first full charge, but now i am getting the popup, but no noise, so that is good, but I would like to stop the message too, thanks for you work towards this.
[Vibrant Android Development] untermensch:
a private method is not accessible by other parts of the OS. if it were a public

method then if another part of the OS tried to use it there would be a "method

not found exception" and the user would see a Force Close. I can always replace

the removed method with an empty method if this turn out to be a problem.
[Vibrant Android Development] s0niqu3:
Ugh, it just won't die, even with the empty method, after no popups all day (and clearing cache/dalvik-cache many, MANY times) just got a popup, =(

I wonder if we can now delete the zzz_battery_alerting_popup.xml from framework-res.apk, or if its still referenced somewhere else?

Anyway, thanks again for all your work on this, cheers
[Vibrant Android Development] sublimnl:
not sure if anyone else saw this, but there is a thread on the android central forums about "secret codes" to unlock options on the epic 4g. and I quote:

Full Bat Popup

*#3844228#

This allows you to disable the full battery pop-up.

I have tested this and it works successfully.

Of course, you have to be able to access testmode first, which is apparently different on the Epic4g than on our vibrants. Who knows how to get into testmode so we can try the same code?
[Vibrant Android Development] 12paq:
*#3844225# does not work on my Vibrant. I did not enter "test mode" first for the simple reason I did not know what it was.

Thanks for all your hard work on this guys! My alarm clock app silences the battery full charge popup but not the very bright white popup that wakes up my wife. Its not good to have your wife cursing your many gadgets at 2:00am!

XDA app via my Vibrant
[Vibrant Android Development] untermensch:
are you getting the pop up only on the lock screen?

the reason why I ask is that the code I have been editing so far

should not show the popup when the lock screen is active and

I just got the popup with the lock screen active and last night

I found the sweet spot where I could repeatedly go from charging

to full in a few mins and did that about 15 times in a row and did

not get the pop up.

EDIT:

yep that seems to be it I only get the popup when the lock screen is active.

so an edit to android.policy is in order.
[Vibrant Android Development] pinoiryder:
will this work with bionix1.3_voodoo4?
[Vibrant Android Development] untermensch:
OK killed the lockscreen popup, since this mod now involves android.policy

I made some with the lock screen mod CAUTION install the lock screen mod

first then the popup killer if you fail to do so you will have FC's upon boot

and will have to odin or push the missing files with adb.
[Vibrant Android Development] untermensch:
this is the code for the Fascinate which has a FullbatPopup.apk

which will disable the full battery popup I may be able to port it

over to the Vibrant not sure yet.

*#*#3844228#*#*

the epic might have something like it to.
[Vibrant Android Development] s0niqu3:
can you post the android.policy.jar edit code so I can try this myself without flashing the puzzle lock mod?

Thanks again for all your hard work, cheers

=)
[Vibrant Android Development] untermensch:
in file LockPatternKeyguardView.smali in method onBatteryStatusInform

on about line 2754 you should find

if-eqz v4, :cond_13

add this line before it

const/4 v4, 0x1

so it looks like this

const/4 v4, 0x1
if-eqz v4, :cond_13

same idea as before, stop the code from branching and creating the

popup dialog box.
[Vibrant Android Development] s0niqu3:
Thanks again, I'm waiting for my phone to finish charging now to make sure that killed the lock-screen popup.

UPDATE: OK, phone just finished charging, an so far, 1 for 1 of no popup on lockscreen! The phone still turns on briefly, but I believe even my old G1 used to turn on the display once the battery was charged.

Of course, you manage to figure this out, just in time for the new updates (JI2/JI4/JI5/presumably all JIX series) to change from this popup method to an "ongoing" status icon and notification that can't be cleared, lol.

cheers
[Vibrant Android Development] mikey98277:
I wanna ask a simple question, OP which lockscreen MOD are you referencing to in the you must have it installed first or you will get FC's, I dont wanna assume and use the wrong one, that leads to soft bricks, as there are a few threads that have lockscreen MODs now.

Thanks.
[Vibrant Android Development] sublimnl:
is there a zip to undo this mod? I am not sure if it is related to this or not, but I am stuck at the galaxy S screen. I have the original mod (before the lock screen stuff) installed and my phone booted fine initially, but I rebooted it today for the first time since then and it will not boot. I would like to undo this mod and see if that helps before I go through the pain of reflashing the whole phone.

thanks.
[Vibrant Android Development] untermensch:
flash with clockwork
[Vibrant Android Development] hotwired34:
Raiderep...or anyone else for that matter...I also have an Epic and was looking to kill the popup. Did you have any success in porting this process to the Epic?

I found the areas to modify, however, since I am extremely noob...I am not sure how to recompile/odex the files back so I can put them on the phone.

Any advice?

Thanks.
[Vibrant Android Development] raiderep:
This mod only stops the popup when the screen is on. If its off the popup still works and when the phone is off it vibrates when full. Both of those are what I was hoping to eliminate so I guess epic is different. If all you want is the screen on part I can get that for you.

sent by an Epic4g through the cosmos
[Vibrant Android Development] hotwired34:
Yeah, that would be great. Also, could you help me learn the process to recompile? I wouldn't mind taking a look at what's under the hood and see if I can find any other areas that we can look at.

Thanks for the reply.
[Vibrant Android Development] raiderep:
I have to get off to work but later I can start a thread in the Epic section. I would be happy to help you through the baksmali/smali process. I want to find the other two instances too so we can complete the mod. I'll also add in the .zip I created for the current screen on only mod.
[Vibrant Android Development] hotwired34:
Alright, that would be awesome. Please put the link here so those looking can find it in the Epic section.
[Vibrant Android Development] raiderep:
here you go: http://xdaforums.com/showthread.php?p=8769284#post8769284
[Vibrant Android Development] anomalous3:
This method also seems to work in JI6 to prevent the statusbar icon from popping up.
[Vibrant Android Development] temporaryone:
Following this with interest...

Samsung Galaxy S (i9000 (vibrant?)) as stock in australia...

tried the *#*#3844228#*#* code from the call menu and it disappears when you hit the final *. Nothing else happens, and i still get the notification sound and vibrate when full (only tested on screen locked phone).

(should have entered it correct as *#0*# gives me the test screen)

Any other ideas?

This "feature" rates way up there with other stupid classic features like "No keyboard detected, press f1 to continue". Did noone at samsung think that people like, you know, charge there phone while sleeping? :eek:

It must die :mad:

p.s. i emailed samsung technical support asking for there assistance in this matter (and suggest everyone else also let their views be known!), BUT they havent even bothered to reply in a week. I'm thinking of returning it for a HTC DHD... Pity it just looks sooo good
[Vibrant Android Development] fosormic:
Took me almost a month to figure what was the &@$* beep that I would always get around 3AM, waking me up almost every single night until last night I finally caught it "in the act" of throwing the blasted notification... AARGH!

Yes, this notification must

DIE

!

Tried the .zips and also de/recompiling to no use (only works with screen on). For the time being, I'll start charging during the day. GRRRR
[Android Apps and Games] nemolus:
Hi,

I had the previous Version of G.P. (free), before the last Update. I tried the last update of this App, but than i had the Decoding-Problem and can't see my pictures anymore.

With hope of a fixed version i deinstalled the last update. But now it looks like there will be no bugfix soon. also no answer of the developer.

Is there any one who still have the working G.P. (free) version and can send a copy? (com.reverie.gallery)
[Android Apps and Games] TheDeadWalk:
im also looking for this, its been pulled from the market
[Android Apps and Games] springsymphony:
I installed this app,but I don't know if my version is the same as you.
[Android Apps and Games] ilbdbebe:
read my post here for free pro version of gallery private

http://xdaforums.com/showthread.php?p=9276261#post9276261
[Epic 4G General] mmediaman:
Can someone please explain how to configure ALL of the Juice Defender Ultimate options on the Epic?

I paid for the Ultimate version of Juice Defender and only some Icons are lit up. Icons such as "Night" still appear to be gray.

Given the big battery issues with Epic, this tools seem like a great workaround.
[Epic 4G General] goddimus:
You may have tried this but since you have purchased it why not try removing it from the device and then reinstalling from the market. This should ensure that you are installing the version you paid for.
[Epic 4G General] Kcarpenter:
You actually have to run "Ultimate Juice" before you run Juice Defender. IT will pop up and say this is just a license, run Juice Defender or something like that.
[Epic 4G General] mmediaman:
@goddimus, I tried uninstalling and reinstalling already.

@kcarpenter, where would I run "Ultimate Juice" from 1st because it does not appear in my APPS screens?

The good news is that the default auto config certainly seems to be helping a lot with battery life. Need to test for longer, but 24hrs without charge and very moderate use.
[Epic 4G General] oranges311:
i downloaded juicedefender and let it run in easy mode or w/e its called and didnt even get seven hours of battery life so i uninstalled it.
[Epic 4G General] mmediaman:
I'm really pleased with the results so far, I only want to know how to get control over the customizations it advertises. There is no response from the developer Latedroid.

When you think about it, it makes complete sense for the phone to not eat up battery when its not necessary. Its a stellar concept and checking around you can find some sort of similar apps.
[Epic 4G General] mmediaman:
Here is what I sent to Latedroid support:

Can I PLEASE get some help on how to customize Ultimate Juice Defender? Auto mode seems to work pretty good, but if I can squeeze more out of the battery based on personal profile, it will be even better. My fone is a Samsung EPIC (Galaxy S) The "WiFi" and "Schedule" icons and their settings for example seem grayed out and say "Do nothing" in the summary area. Only 4 of 9 features seem to be enabled in some way. I paid for Ultimate.

All I am asking for is an explanation of how to use the app. All of the documentation I find talks about what the app can do but nothing about how to configure each feature. What would be ultimately great is a new version of JD that actually has a much more usable and intuitive configuration UI.... or dare I say, more "normal" looking config UI.
[Epic 4G General] Envynet:
I had to uninstall this app cause it was messing with my cpu clocks..
[Epic 4G General] mlee0921:
ultimate juice definetely rocks. on the stock rom.

after flashing baked 1.0 and installing UJ again, i lost 25% in 15 mins. uninstalled UJ, and i'm getting 12 hrs of heavy usage.

go figure....
[Epic 4G General] cognitivel0gic:
I have been using juice defender with the UJ add on since I have had the phone with the suggested settings the first time you run the app. The only things I have edited are under the app setting I completely stopped google talk from sending or receiving data at any time. Also noticed that I use less batt when connected to a wifi network so I have locale handling turning my gps on and off when in known hotspots. Attached a screen shot of how JD is saving my batt.
[Epic 4G General] Kcarpenter:
Mine put an ultimate juice icon in my app tray.ran it once and it went away.
[Epic 4G General] mmediaman:
cognitivel0gic, thanks for the feedback, but do you find that only some of the 11 options are configurable in your JD?

What I need, and reason I started this thread is to get some help understanding how to configure all JD options. In my JD view, things like WiFi, Timeout, Night do not allow making any adjustments.

Yes I purchased the Ultimate addon from the Market.
[Epic 4G General] mapcom1:
wow X2.36

the most i got was 1.76, how is that measured? are you getting x.8 more life than me or thats compared to your previous settings? is it relative?
[Epic 4G General] cognitivel0gic:
@mmediaman

in response to your last post yes all of the options in juice defender allow me to edit them some of them like the standby option require a double click to edit
[Epic 4G General] blkr00t:
@OP....this may be an obvious question but on your JD settings screen does it say Enabled or Disabled?

If it is disabled that is the only way that I know that you won't be able to adjust your settings....If it is disabled, just click on that Disabled button to enable...

Hope this helps
[Epic 4G General] zeravla531:
I have a couple of questions about Juice Defender if someone could be so kind...

1) Is there really just no way to run Google Talk with this application?

2) I use the Google News & Weather app which refreshes every hour, last time i used JD, it prevented this from happening. Any workaround?