GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - boro741/apps-android-commons: Upload pictures from Android to Wikimedia Commons. Looking for volunteers! Come say hi at https://groups.google.com/d/forum/commons-app-android and install at https://play.google.com/store/apps/details?id=fr.free.nrw.commons

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

2,452 Commits
2,452 Commits

Folders and files

NameName
Last commit message
Last commit date
app
app
 
 
assets-source
assets-source
 
 
design
design
 
 
gradle/wrapper
gradle/wrapper
 
 
script/style
script/style
 
 
update-license-info
update-license-info
 
 
.gitignore
.gitignore
 
 
.gitreview
.gitreview
 
 
.travis.yml
.travis.yml
 
 
CHANGELOG.md
CHANGELOG.md
 
 
COPYING
COPYING
 
 
CREDITS
CREDITS
 
 
README.md
README.md
 
 
RELEASE-CHECKLIST.md
RELEASE-CHECKLIST.md
 
 
build.gradle
build.gradle
 
 
find-broken-strings-variables.sh
find-broken-strings-variables.sh
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
settings.gradle
settings.gradle
 
 
sign.sh
sign.sh
 
 

Repository files navigation

Wikimedia Commons Android app Build status

The Wikimedia Commons Android app allows users to upload pictures from their Android phone/tablet to Wikimedia Commons. Download the app here, or view our website.

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 and send us a pull request :-)

Get it on F-Droid Get it on Google Play

Develop with Android Studio or IntelliJ

Download Android Studio (recommended) or IntelliJ.

  1. Open Android Studio/IntelliJ. Open the project: File > New > Project from Version Control... > Git
    or
    (From Quick Start menu): Check out project from Version Control
  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.

Build Manually

Requirements

  1. Java SDK 8 (OpenJDK 8 or Oracle Java SE 8)
  2. Android SDK (Level 23)
  3. Gradle

Build Instructions

  1. Set the environment variable ANDROID_HOME to be the path to your Android SDK
  2. Set the environment variable JAVA_HOME to the path to your Java SDK
  3. Run gradlew.bat assembleDebug (Windows) or ./gradlew assembleDebug (Mac / Linux) to build an unisgned apk
  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)

There are more thorough instructions on the Android Developers website

License

This software is open source, licensed under the Apache License 2.0.

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.

About

Upload pictures from Android to Wikimedia Commons. Looking for volunteers! Come say hi at https://groups.google.com/d/forum/commons-app-android and install at https://play.google.com/store/apps/details?id=fr.free.nrw.commons

Resources

Readme
License
Activity

Stars

0 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.