ankidroid / ankidroid/Anki-Android
architecture: Improve collection creation logic
- 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
Assessment
This issue has not been assessed yet.