OK, the handler I updated in the 2 previous fixes didn't change from the previous version of "goproviders", so I hoped I could just use the same .class file, DEX it, stick into an APK, sign and be done with it. Unfortunately, it looks some other logic has changed, so now the same fix doesn't work anymore.
So I started investigating the other end, that is, the watch. The major difference is now we have ROOT on the Gear, so why not use it?
I quickly figured out that the offending process on the watch side was "w-contacts2-consumer". Apparently, if you just kill it, this stops Contact synchronisation only, while Contacts app on the watch remains fully functional. Unfortunately, this process is respawned every time Bluetooth connection is reestablished between the the phone and the watch.
I was looking for "cron" for Tizen, hoping to put "pkill" into a recurring task that'd run every couple of minutes. Unfortunately, I couldn't find "cron" on the watch, and the version of busybox suggested in one of the threads on this forum doesn't have it precompiled.
Then I thought: why the heck can't I just write a small app (command line) that would literally just do this:
After a bit of playing around with Tizen SDK, I managed to produce this executable (attached). You can put it into /sbin, making sure permissions are 755. One last thing is to make it run as a service:Code:while(1) { system("pkill w-contacts2"); sleep(120); }
I don't think it'll survive a reboot though, I'll get it sorted later.Code:systemd-run --unit=kill_contacts.nonsamsung --description="Automatically Kill Contacts Every 2 Minutes" /sbin/kill_contacts
Now battery consumption is back to normal, and contacts get synchronised every time the watch connects to the phone, which is more than fine with me.
Thank you for sharing this
I've got a question, should I insert this file into my Galaxy S4 or into my Gear 2? Because there are /sbin folders in the S4 and in the Gear 2
Thanks