Skip to content

File tree

1 file changed

+20
-109
lines changed

1 file changed

+20
-109
lines changed

README.md

Lines changed: 20 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,127 +1,38 @@
11
# Wikimedia Commons Android app [![Build status](https://api.travis-ci.org/commons-app/apps-android-commons.svg)](https://travis-ci.org/commons-app/apps-android-commons)
22

3-
The Wikimedia Commons Android app allows users to upload pictures from their Android phone/tablet to Wikimedia Commons. Download the app [here][8], or view our [website][9].
3+
The Wikimedia Commons Android app allows users to upload pictures from their Android phone/tablet to Wikimedia Commons. Download the app [here][1], or view our [website][2].
44

5-
Initially started by the Wikimedia Foundation, this app is now maintained by volunteers. Anyone is welcome to improve it, just choose among the [open issues](https://github.com/commons-app/apps-android-commons/issues) and send us a pull request :-)
5+
Initially started by the Wikimedia Foundation, this app is now maintained by volunteers. Anyone is welcome to improve it, just choose among the [open issues][3] and send us a pull request :-)
66

7-
We are currently applying for an [IEG renewal][15] to work on the app for the next 6 months. Feedback is very much welcomed.
7+
We are currently applying for an [IEG renewal][10] to work on the app for the next 6 months. Feedback is very much welcomed.
88

99
<a href="https://f-droid.org/repository/browse/?fdid=fr.free.nrw.commons" target="_blank">
1010
<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="90"/></a>
1111
<a href="https://play.google.com/store/apps/details?id=fr.free.nrw.commons" target="_blank">
1212
<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="90"/></a>
1313

14+
## Documentation
1415

15-
## Develop with Android Studio or IntelliJ ##
16+
We try to have an extensive documentation at [our wiki here at Github][5]:
1617

17-
[Download Android Studio][1] (recommended) or [IntelliJ][2].
18-
19-
1. Open Android Studio/IntelliJ. Open the project:
20-
``File`` > ``New`` > ``Project from Version Control...`` > ``Git``
21-
or
22-
(From Quick Start menu): ``Check out project from Version Control``
23-
2. Enter ``https://github.com/commons-app/apps-android-commons/`` as Git Repository URL. Specify a (new) local directory you would like to clone into and select ``OK``.
24-
25-
## Build Manually ##
26-
27-
### Requirements ###
28-
29-
1. Java SDK 8 (OpenJDK 8 or Oracle Java SE 8)
30-
2. [Android SDK][3] (Level 23)
31-
3. [Gradle][4]
32-
33-
### Build Instructions ###
34-
35-
1. Set the environment variable `ANDROID_HOME` to be the path to your Android SDK
36-
2. Set the environment variable `JAVA_HOME` to the path to your Java SDK
37-
3. Run `gradlew.bat assembleDebug` (Windows) or `./gradlew assembleDebug` (Mac / Linux) to build an unisgned apk
38-
4. Alternatively, you can also connect your Android device via USB and install the app on it directly by running `gradlew.bat installDebug` (Windows) or `./gradlew installDebug` (Mac / Linux)
39-
40-
There are more thorough instructions on the [Android Developers website][5]
18+
* [User Documentation][6]
19+
* [Contributor Documentation][7]
20+
* [Volunteers Welcome!][9]
21+
* [Developer Documentation][8]
4122

4223
## License ##
4324

44-
This software is open source, licensed under the [Apache License 2.0][6].
45-
46-
## Code Structure ##
47-
48-
Key breakdowns:
49-
50-
Activities started within the UI:
51-
* ContributionsActivity (ContributionsListFragment, MediaDetailPagerFragment, MediaDetailFragment) - main "my uploads" list and detail view
52-
* LoginActivity - login screen when setting up an account
53-
* SettingsActivity - settings screen
54-
* AboutActivity - about screen
55-
56-
Activities receiving intents:
57-
* ShareActivity (SingleUploadFragment, CategorizationFragment) - handles receiving a file from another app, accepting a title/desc, and slating it for upload
58-
* MultipleShareActivity (MultipleUploadListFragment, CategorizationFragment) - handles receiving a batch of multiple files from another app, accepting a title/desc, and slating them for upload
59-
60-
Services:
61-
* WikiAccountAuthenticatorService - authentication service
62-
* UploadService - performs actual file uploads in background
63-
* ContributionsSyncService - polls for updated contributions list from server
64-
* ModificationsSyncService - pushes category additions up to server
65-
66-
Content providers:
67-
* ContributionsContentProvider - private storage for local copy of user's contribution list
68-
* ModificationsContentProvider - private storage for pending category and template modifications
69-
* CategoryContentProvider - private storage for recently used categories
70-
71-
72-
## On-Device Storage ##
73-
74-
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?)
75-
76-
Preferences are stored in Android's SharedPreferences.
77-
78-
Information about past and pending uploads is stored in the Contributions content provider, which uses an SQLite database on the backend.
79-
80-
A list of recently-used categories is stored in the Categories content provider, which uses an SQLite database on the backend.
81-
82-
Captured files are not currently stored within the app, but are passed by content: or file: URI from other apps.
83-
84-
Thumbnail images are not currently cached.
85-
86-
## Volunteers welcome! ##
87-
88-
We are always looking for volunteers, feel free to step in! It is very easy:
89-
90-
1. Fork the repository and clone it to your computer, then follow the build instructions above.
91-
2. Choose an [unassigned issue](https://github.com/commons-app/apps-android-commons/issues?q=is%3Aopen+is%3Aissue+no%3Aassignee) that sounds interesting to you.
92-
3. Read the issue's comments to make sure you understand what is the bug, or what feature is being proposed.
93-
4. Write a "I start working on this" comment on the issue
94-
5. Write the code :-)
95-
6. Commit and push
96-
7. Go to your fork's Github webpage, select the "Pull Requests" tab and click "create a pull request", as a comment, write something like "Fix for issue #12345 crash when rotating screen", then submit the pull request.
97-
8. Within a few hours or days, a core developer will review your patch, and either merge it or suggest a few corrections.
98-
9. If you change your mind, or if it is too difficult, no problem, just write "Sorry I don't work on this anymore" on the issue, if possible including feedback (for instance what approaches failed) and ideas.
99-
100-
Thanks a lot!
101-
102-
## Translating the app ##
103-
104-
Thanks to the translation work of many volunteers this app is available in a multitude of languages.
105-
106-
Translation of the text content of the Wikimedia Commons Android app happens on the [Commons Android App project][10] on [translatewiki.net][11]. If you want to help translate the app please create an account there (to get "translate rights" edit 20 [random keys][13] or ask in their [chat][14]).
107-
108-
The translations from the translatewiki project are [periodically committed directly to this project][12] by the translatewiki team and later released with the normal updates to the Play Store.
109-
25+
This software is open source, licensed under the [Apache License 2.0][4].
11026

11127

11228

113-
[1]: https://developer.android.com/studio/index.html
114-
[2]: http://www.jetbrains.com/idea/download/index.html
115-
[3]: https://developer.android.com/sdk/index.html
116-
[4]: http://gradle.org/gradle-download/
117-
[5]: https://developer.android.com/studio/build/building-cmdline.html
118-
[6]: https://www.apache.org/licenses/LICENSE-2.0
119-
[7]: https://github.com/commons-app/apps-android-commons/issues
120-
[8]: https://play.google.com/store/apps/details?id=fr.free.nrw.commons
121-
[9]: https://commons-app.github.io/
122-
[10]: https://translatewiki.net/w/i.php?title=Special:Translate&group=commons-android
123-
[11]: https://translatewiki.net
124-
[12]: https://github.com/commons-app/apps-android-commons/commits/master?author=translatewiki
125-
[13]: https://translatewiki.net/wiki/Special:TranslationStash?
126-
[14]: https://translatewiki.net/wiki/Special:WebChat
127-
[15]: https://meta.wikimedia.org/wiki/Grants:Project/Improve_%27Upload_to_Commons%27_Android_App/Renewal
29+
[1]: https://play.google.com/store/apps/details?id=fr.free.nrw.commons
30+
[2]: https://commons-app.github.io/
31+
[3]: https://github.com/commons-app/apps-android-commons/issues
32+
[4]: https://www.apache.org/licenses/LICENSE-2.0
33+
[5]: https://github.com/commons-app/apps-android-commons/wiki
34+
[6]: https://github.com/commons-app/apps-android-commons/wiki#user-documentation
35+
[7]: https://github.com/commons-app/apps-android-commons/wiki#contributor-documentation
36+
[8]: https://github.com/commons-app/apps-android-commons/wiki#developer-documentation
37+
[9]: https://github.com/commons-app/apps-android-commons/wiki/Volunteers-welcome%21
38+
[10]: https://meta.wikimedia.org/wiki/Grants:Project/Improve_%27Upload_to_Commons%27_Android_App/Renewal

0 commit comments

Comments
 (0)