mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 12:23:58 +01:00
Add some code & storage info to readme
This commit is contained in:
parent
0f495b8e77
commit
bc077f2c9f
1 changed files with 45 additions and 0 deletions
45
README.md
45
README.md
|
|
@ -46,6 +46,51 @@ This software is licensed under the [Apache License][5].
|
|||
|
||||
This software has no bugs. You can dispute this statement at [bugzilla][3]
|
||||
|
||||
## Code Structure ##
|
||||
|
||||
Key breakdowns:
|
||||
|
||||
Activities started within the UI:
|
||||
* ContributionsActivity (ContributionsListFragment, MediaDetailPagerFragment, MediaDetailFragment) - main "my uploads" list and detail view
|
||||
* LoginActivity - login screen when setting up an account
|
||||
* SettingsActivity - settings screen
|
||||
* AboutActivity - about screen
|
||||
|
||||
Activities receiving intents:
|
||||
* ShareActivity (SingleUploadFragment, CategorizationFragment) - handles receiving a file from another app, accepting a title/desc, and slating it for upload
|
||||
* MultipleShareActivity (MultipleUploadListFragment, CategorizationFragment) - handles receiving a batch of multiple files from another app, accepting a title/desc, and slating them for upload
|
||||
|
||||
Services:
|
||||
* WikiAccountAuthenticatorService - authentication service
|
||||
* UploadService - performs actual file uploads in background
|
||||
* ContributionsSyncService - polls for updated contributions list from server
|
||||
* ModificationsSyncService - pushes category additions up to server
|
||||
|
||||
Content providers:
|
||||
* ContributionsContentProvider - private storage for local copy of user's contribution list
|
||||
* ModificationsContentProvider - private storage for pending category and template modifications
|
||||
* CategoryContentProvider - private storage for recently used categories
|
||||
|
||||
|
||||
## On-Device Storage ##
|
||||
|
||||
Account credentials are encapsulated in an account provider. Currently only one Wikimedia Commons account is supported at a time. (Question: what is the actual storage for credentials?)
|
||||
|
||||
Preferences are stored in Android's SharedPreferences.
|
||||
|
||||
Information about past and pending uploads is stored in the Contributions content provider, which uses an SQLite database on the backend.
|
||||
|
||||
A list of recently-used categories is stored in the Categories content provider, which uses an SQLite database on the backend.
|
||||
|
||||
Captured files are not currently stored within the app, but are passed by content: or file: URI from other apps.
|
||||
|
||||
Thumbnail images are not currently cached. (?)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[1]: https://developer.android.com/sdk/index.html
|
||||
[2]: https://maven.apache.org/
|
||||
[3]: https://bugzilla.wikimedia.org/enter_bug.cgi?product=Commons%20App
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue