AquaMail Forum

English - Android => General Discussion => Topic started by: DevEngineer1 on January 26, 2019, 05:18:24 pm

Title: AquaMail Battery Drain - Constant Multiple Network Connections w/ Push Disabled!
Post by: DevEngineer1 on January 26, 2019, 05:18:24 pm
Note - this post is for technical users that have a good understanding of networking and how things such as push notifications, EWS, ActiveSync, GCM, and FCM work.

I'm using AquaMail with a single Office 365 account. I've been trying to eliminate unnecessary battery drain on my phone. I use an app called "Network Connections" to monitor the network connections and network utilization of my apps. Despite having disabled push mail (Settings > Mail, receiving > Push Mail - unchecked), and sync set to every 15 minutes, I always see 3, and sometimes 4 separate network connections from AquaMail in an established state to various 40.97.x.x addresses (Microsoft IP addresses). I can also see this in an su terminal session with the command netstat -napW. I'm only syncing 3 weeks of email in my Inbox. Furthermore, the bytes transferred will often stay constant while the connections are left open. I have a different app that syncs every 15 minutes with a service, which opens a single network connection, and that connection properly closes each time when it's done syncing.

I'm guessing this hasn't been caught as an issue/bug because no one has monitored the app like I have.

First, can anyone else that's using AquaMail with Office 365 please confirm this issue with a netstat, the Network Connections app, or something that will provide the same data?
Second, why is AquaMail opening 3 or more separate network threads?
Lastly, why are the connection staying open persistently despite having disabled push notifications in the app settings?

Here's an example of a netstat (IPs obscured). The destination IPs are usually the same, but I have seen them vary on occasion. As you can see from the 3 distinct source ports, this indeed shows AquaMail is building 3 separate network connections to the server(s), all of which are left open.


herolte:/ $ su
herolte:/ # netstat -napW | grep Aqua
tcp        0      0 ::ffff:A.B.C.D:50155                         ::ffff:40.97.188.XXX:443                            ESTABLISHED 13039/org.kman.AquaM
tcp        0      0 ::ffff:A.B.C.D:50154                         ::ffff:40.97.188.XXX:443                            ESTABLISHED 13039/org.kman.AquaM
tcp        0      0 ::ffff:A.B.C.D:50156                         ::ffff:40.97.188.XXX:443                            ESTABLISHED 13039/org.kman.AquaM


Thanks!