Skip to content

pydio/cells-android-client

Repository files navigation

Cells Client for Android

Pydio Cells Android application is a light Android Client to manage your files on your Android Device.

A custom Android app, why?

On your Android device, you can use any web browser to directly interact with your distant Cells server with "usual" user interface. The web application is reactive and can be easily used like you would do from your personal computer, only on a smaller screen.

With a limited subset of features, the Android application can yet prove to be useful because it has been optimized for mobile usage:

  • It manages and caches authorization, no need to re-log at each connection.
  • It has a aggressive cache optimisation strategy to avoid downloading the files when not necessary.
  • You can configure what you download depending on your connection status (e.g. only download tumbnails when you are on an un-metered network).
  • When offline, you can access the sub-parts of the remote server that have been already cached.
  • You can also mark parts of you distant document repository as "offline": corresponding files are then downloaded and regularly synchronized when you are online, providing full access to these later when you are offline.
  • You control the disk usage of the app on your device and can clear the cache to gain space on demand.

Built with

For the v3 version, we have re-written the Android application from scratch, using Kotlin and latest Android libraries, e.g. Androidx and Jetpack.

The main third party libraries that we rely upon are:

  • Cells SDK for Java: a thin wrapper around the swagger generated API that handles low-level communication with the remote Pydio servers
  • Room: wrapper around SQLite databases
  • AWS S3 Sdk: manage file transfer with the remote server S3 API
  • Koin: dependency injection
  • Material 3: the latest version of Material Design for Android
  • Glide: a very efficient image loading library

Contributing

Please read CODE_OF_CONDUCT.md for details on our code of conduct, and CONTRIBUTING.md for details on the process for submitting pull requests to us. You can find a comprehensive Developer Guide on our website. Our online docs are open-source as well, feel free to improve them by contributing!

We are also looking for help to translate the Cells interface in various languages. It is really easy to participate: just navigate to our page in the Crowdin translation tool, create an account and get started.

Testing

Warning: the procedure described below is not "backward" compatible:
you will have to un-install and fully re-install the application to be able to have the current main released version on your device. Handle with care!

Beta testing from the store

You can test beta version by registering as a beta tester in the Play Store. After a few minutes, you should be able to update and run the latest beta version.

You can directly opt-in:

Once you have opt-in to be a beta tester, it might seem difficult to opt out and start again to use the app as a normal user. To do so:

  • Open the testing link for web browser,
  • Log in your google account (the same you have used when registering as beta tester),
  • Click on the LEAVE THE PROGRAM button,
  • Uninstall the app,
  • Once you are not a tester anymore (it can take time due to some processing on Google's side), re-install the app.

Build and test from Android Studio

Please refer to the developer corner in the same repository.