SecUSo / privacy-friendly-todo-list

Privacy Friendly App to manage To-Do lists on Android.
Apache License 2.0
83 stars 42 forks source link

Option for reoccuring tasks (or repeatable tasks) #82

Closed Kamuno closed 1 month ago

0xC0FFEEC0DE commented 6 months ago

Hi, I had some thoughts about how this enhancement and also #59 could look like and what needs to be done to realize them. Below "Deadline" and "Reminder" fields in the add_task_dialog two "Repetition" fields could be placed.

Repetion for Deadline could be selected as one out of n, as suggested at #59:

Repetion for Reminder could be selected as m out of n: [ ] -1 day [ ] -2 days [ ] -3 days [ ] -4 days [ ] -5 days [ ] -7 days [ ] -14 days

At the backup API no mechanism seems to be established to achieve backward compatibility, which means an backup of version x of the todo list app cannot be restored by version y of the app if between x and y the backup data format did change. Is that true? For the use case to transfer data from one phone to another, it seems to be acceptable because both should have the same version.

How to store the repetitions in the DB? I think the DB needs to be extended. The same way as from DB version 1 to 2?

I would try to realize that if you see a chance that my changes find their way into the official app. What do you think?

Kamuno commented 6 months ago

At the backup API no mechanism seems to be established to achieve backward compatibility, which means an backup of version x of the todo list app cannot be restored by version y of the app if between x and y the backup data format did change. Is that true? For the use case to transfer data from one phone to another, it seems to be acceptable because both should have the same version.

The backup api will store the current database version alongside the backup and also restore that database version. This means it will run the database migration on the restored database if it is restored onto a newer app version. But you are indeed correct, that you can not restore a newer database version onto an older app version, where the app would not know what to do with the restored database. In this case you would need to update the application first and then restore the data.

Regarding the feature discussion itself maybe @udenr can answer.

0xC0FFEEC0DE commented 1 month ago

PR #126 implements this feature.