ankidroid / ankidroid/Anki-Android

architecture: Improve collection creation logic

Open
#21,204 1 comment 0 reactions 1 assignee Claimed by @david-allison View on GitHub
Keep Open
Dominant language
Kotlin
Stars
11.8k
Forks
2.9k
Avg merge
2d 3h
Merged PRs (30d)
171

Description

Over the years, we have had many issues with 'startup paths' aside from `AnkiDroidApp` -> `IntentHandler` -> `DeckPicker`

In addition, we want to make this more complicated, by making `MANAGE_EXTERNAL_STORAGE` optional.

* https://github.com/ankidroid/Anki-Android/issues/13574
* https://github.com/ankidroid/Anki-Android/issues/16786

**Aims:**
* In the `full` flavor: `MANAGE_EXTERNAL_STORAGE` becomes optional
* The collection directory creation is deferred until a user has made the above decision
* All launchable activities need to handle 'user has not decided on `MANAGE_EXTERNAL_STORAGE`'
* `withCol`/`getColUnsafe`/etc... will be modified to throw, until this decision has been made
* This means that setting the collection path is explicit, no longer implicitly performed in `withCol`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.