https://bugs.kde.org/show_bug.cgi?id=495790

            Bug ID: 495790
           Summary: [Andoird] Auto-save on app minimization fails under
                    some curcumstances
    Classification: Applications
           Product: krita
           Version: git master (please specify the git hash!)
          Platform: Android
                OS: Android 14.x
            Status: REPORTED
          Severity: major
          Priority: NOR
         Component: General
          Assignee: krita-bugs-n...@kde.org
          Reporter: dimul...@gmail.com
  Target Milestone: ---

On Android the apps are supposed to sync the data to the persistent storage
on-the fly, so the system can close the app without any notification either
when too many apps are open or when the user swipes this app from the screen.

In Krita we don't have on-the-fly document storage, so we need to save the
document every time the user minimizes the app. That is why we have a special
foreground service named "DocumentSaverService" that is started every time
Krita app is minimized on Android. This service is supposed to auto-save the
document when the app is minimized. 

This design sometimes doesn't work:

Case A. Switch app (autosaving works fine)
=========================

1) Open big document in Krita, draw something
2) Swipe to enter task switcher
3) Either switch to another app or tap to jump to the start screen
4) **After** the app is minimized or a task switched, the service is started
and the document is autosaved correctly

Case B. Close app from the task switcher (autosaving fails)
===============================================

1) Open big document in Krita, draw something
2) Swipe to enter task switcher
3) Swipe the app from the screen (effectively close the app)
4) When the app is closed by swiping, the service is not started and no
autosave is initiated

Case C. Switch app while Krita is busy (autosaving fails)
===============================================

1) Open big document in Krita, draw something
2) Start some very long operation (e.g. start gradient on a huge canvas)
3) Swipe to enter task switcher, switch to some other task (or tap to enter
start screen)
4) The service is started, **but** autosaving fails because the image is busy.
There will be no retries to save the data.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to