Skip to content

Add Android service to keep connected in the background #1500

@askmeaboutlo0m

Description

@askmeaboutlo0m

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    androidAndroid-specific issuefeatureNew features or improvements to existing ones

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions