FORUMS
Remove All Ads from XDA
Honor 7x
Win an Honor 7X!
Post Reply Email Thread
Edit: with new Gear Manager (Jun release), this method doesn't work anymore. The new approach is to install a "contact synchroniser killer" app on the rooted watch. More details are in this post.

================================================== ================================================== ================================================== ============================

Hi all,

Ever since I started using my Gear 2 Neo with my HTC One M8 phone (using the guide in this forum), I noticed that my watch consumes battery significantly faster than most of the users have been reporting. Even more strangely, sometimes after resetting both the phone and the watch (and I've done this a lot while experimenting and trying to get more stuff working) I had streaks of stellar battery life, well in line with optimistic reports here and elsewhere, but then, after a while, it started deteriorating very quickly.

So I decided it was time to do something about it. I installed Tizen SDK, hooked the watch up and started poking around. The first thing I noticed my watch CPU was, most of the time, sitting on 40%! Well, that doesn't sound right, does it? Then I noticed the log (located under /var/log/dlog_main) was full with messages related to contact synchronisation. It turns out the damn thing synchronises all of my contacts every several seconds. The trouble is I have well over 1500 contacts (that's consolidated from different sources, the number of raw contacts should be well over 3000). So it takes significant time to do this, meaning my watch (and the phone!) are thrashed by these stupid full contact syncs all the time! What's even more striking is the fact it doesn't help when I change it to "favourites only". Apparently, this affects only the contacts displayed on the watch, however, the sync process still takes all of them.

At this point I started poking around Samsung APK files to try and understand what was going on. Apparently, the APK responsible for contact sync is called GOPROVIDERS. Indeed, if you kill it, the thrashing stops, however, other important functions cease working as well. Aside of Contacts vanishing from the Gear, "Find my phone" is gone as well, but, more importantly, notifications stop working. While I could tolerate the first two, the last one was too much to give up.

I started decompiling and analysing sources. Apparently, there is a process running every several seconds that analyses if any changes have been made to the contacts. It uses pretty bizarre logic which seems to be relying on Samsung-specific fields in the contacts. Now, this already sounds suspicious, and, apparently, leads to full sync every several seconds. Obviously, the more contacts you have, the harder you're hit.

An interesting point in all this is that I'm not 100% sure the logic is working properly even on Samsung devices, so it might well be that the same issue is affecting people with high number of contacts using Samsung phones as well. I'd be really interested to see any feedbacks regarding this.

So, long story short, instead of fixing the logic (which is quite difficult in SMALI), I made a simple change which dilutes this logic invocations, right now 1:64. Since then I'm enjoying MUCH improved battery life.

The fixed APK is attached. You're welcome to give it a try at your own risk (you need to enable installation from untrusted sources + reboot and clean dalvik cache).
Attached Files
File Type: apk goproviders-signed.apk - [Click for QR Code] (2.59 MB, 865 views)
File Type: apk goprovider-signed-20140529.apk - [Click for QR Code] (2.60 MB, 9689 views)
The Following 19 Users Say Thank You to mpogr For This Useful Post: [ View ] Gift mpogr Ad-Free
21st May 2014, 08:39 AM |#2  
JimSmith94's Avatar
Senior Member
Flag Irving, TX
Thanks Meter: 483
 
Donate to Me
More
Quote:
Originally Posted by mpogr

So, long story short, instead of fixing the logic (which is quite difficult in SMALI), I made a simple change which dilutes this logic invocations, right now 1:64. Since then I'm enjoying MUCH improved battery life.

Could you please explain your "logic invocations, right now 1:64" change?
21st May 2014, 08:41 AM |#3  
OP Senior Member
Flag Melbourne
Thanks Meter: 63
 
More
Quote:
Originally Posted by JimSmith94

Could you please explain your "logic invocations, right now 1:64" change?

In the fixed APK the logic is actually invoked 1 time out of 64 attempts. It makes its frequency about every 40 minutes instead of every 30 seconds.
The Following User Says Thank You to mpogr For This Useful Post: [ View ] Gift mpogr Ad-Free
21st May 2014, 08:44 AM |#4  
JimSmith94's Avatar
Senior Member
Flag Irving, TX
Thanks Meter: 483
 
Donate to Me
More
Quote:
Originally Posted by mpogr

In the fixed APK the logic is actually invoked 1 time out of 64 attempts. It makes its frequency about every 40 minutes instead of every 30 seconds.

Thanks, I understand now. Congratulations on your find and fix! I'm going to try it.
4th June 2014, 01:43 AM |#5  
Junior Member
Thanks Meter: 2
 
More
Quote:
Originally Posted by mpogr

In the fixed APK the logic is actually invoked 1 time out of 64 attempts. It makes its frequency about every 40 minutes instead of every 30 seconds.

So does this effect the time it takes to receive notifications then?
4th June 2014, 01:52 AM |#6  
OP Senior Member
Flag Melbourne
Thanks Meter: 63
 
More
Quote:
Originally Posted by Hasselbeck.todd

So does this effect the time it takes to receive notifications then?

It doesn't. The dilution is done only on contact sync frequency, nothing else.
4th June 2014, 01:58 AM |#7  
Junior Member
Thanks Meter: 2
 
More
Quote:
Originally Posted by mpogr

It doesn't. The dilution is done only on contact sync frequency, nothing else.

Sounds good. I just loaded on the phone had to force stop all the gear apps the clear data and cache, uninstall then install your APK. I'll post my battery drop in an hour or so it was dropping 8-10% an hour. currently at 45% I took it off the charger 4 hours ago and it was at 100%.
8th July 2014, 11:00 AM |#8  
Junior Member
Thanks Meter: 0
 
Donate to Me
More
how to do it
my phone can not read sim card, what can i do ?and i have restore the factory setting , and no use
14th July 2014, 04:03 PM |#9  
Junior Member
Thanks Meter: 0
 
More
Quote:
Originally Posted by evanlizhanzhang

my phone can not read sim card, what can i do ?and i have restore the factory setting , and no use

Same here
21st May 2014, 12:39 PM |#10  
Senior Member
League City, TX
Thanks Meter: 35
 
More
Quote:
Originally Posted by mpogr

The fixed APK is attached. You're welcome to give it a try at your own risk (you need to enable installation from untrusted sources + reboot and clean dalvik cache).

Someone who knows where this should be shared and divulged to the rest of the community should do so! It sounds like this is a pretty bad bug that should be addressed officially, but BIG TIME props to you for figuring this all out!!

Thank you!!!
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes