-
-
Notifications
You must be signed in to change notification settings - Fork 144
Description
When you put Drawpile into the background on Android, the system suspends it and will prevent it from responding to network pings. To solve that, we need to implement a persistent background service, which will show a notification that Drawpile is running.
Not sure how exactly those services work, but presumably it would just buffer any messages it gets and respond to pings. When the application is brought to the foreground again, it can receive the messages and process them, maybe showing a "catching up" dialog or something.
If Qt doesn't provide anything in this regard, we might have to implement it in Java (or some other JVM language of choice) and delegate what's currently done by the MessageQueue class to this service instead. That in turn may require some rejigging of the existing code that currently deals with QSocket and QWebSocket directly, either by adding an Android pseudo-socket or, if not overly complicated, by sticking it behind some kind of interface that can have a platform-dependent implementation.