Skip to content

Radiokot/photoprism-android-client

Repository files navigation

Icon Gallery for PhotoPrism

GitHub discussions GitHub contributors Sponsors

This Android app brings a convenient mobile gallery experience for PhotoPrism.

It does not support all the official web app functionality, but nevertheless has plenty of useful features:

  • Sending photos and videos to Gmail, Telegram or any other app
  • Grouping the content by days and months
  • Timeline scroll that lets you quickly jump to a specific month
  • Configurable search
  • Search bookmarks that let you save search configurations and apply them later
  • Enhanced live photo viewer, which works best with Samsung and Apple shots
  • Full-screen slideshow with configurable speed and video autoplay
  • Deleting items without archiving them first
  • Importing photos and videos trough sharing
  • Endless session without the need to re-enter the password
  • Connection to both private and public libraries
  • Support of mTLS (mutual TLS), HTTP basic auth and SSO like Authelia, Cloudflare Access, etc.
  • TV compatibility to easily browse your library with a remote-control (Search is only available with a mouse for now. Install through APK)
  • ⭐ Extensions:
    • Memories – get a daily collection of photos and videos from the same day in past years
    • Photo frame widget – see random photos from your library on the home screen

The gallery is not intended to sync content with the library. For this, I recommend Autosync.

Compatibility

The gallery runs on Android 5.0+ and it is confirmed to work with the PhotoPrism release of September 15, 2024. Compatibility with older PhotoPrism versions may be partial.

Download

APK APK from the latest release

F-Droid F-Droid

Google Play Google Play (has no extension store)

Sponsors

Tim Omer Pablo Martín Ferraro raghubhaskar reverendj1 ₿logging₿itcoin PitRejection2359 Sayantan Santra Philipp Daniel Fuchs Hulmgulm Jonas Gustavsson Florian Voswinkel Koen Koppens Radon Rosborough Michael Mayer Theresa Gresch Juha Lehtiranta Neil Castelino Seth For Privacy C-Iaens Tobias Fiechter ippocratis
…and 7 anonymous sponsors.

I am very grateful to everyone supporting this project ❤️ To join this public list, email me the transaction reference once it is complete. By the way, sponsors get extensions for free.

License

I reject the concept of intellectual property. Claiming ownership over information that can be replicated perfectly and endlessly is inherently flawed. Consequently, any efforts to uphold such form of ownership inevitably result in some people gaining unjustifiable control over other's tangible resources, such as computers, printing equipment, construction materials, etc. 1 When talking specifically about source code licensing – without a state violently enforcing copyright monopolies, it would be ludicrous to assume that a mere text file in a directory enables someone to restrict processing copies of this information by others on their very own computers. However, there is such a file in this repository bearing the GPLv3 license. Why?

One would expect someone with such an attitude to not use the license at all, use a permissive license, or explicitly unlicense. But for me, to do so is to voluntarily limit my means of defense. To act as a gentleman with those who readily exploit state violence against you is to lose. In a world where copyright monopolies are violently enforced, I choose GPLv3 for the software I really care for, because under the current circumstances this license is a tool that:

  • Allows others to freely use, modify and distribute this software, without the risk of being sued;
  • Enables me to pull all the valuable changes from public forks back to the trunk, also without the risk of being sued;
  • Knocks down a peg individuals or companies willing to monopolize their use case or modifications of this software.

Tech stack

  • Kotlin
  • Classic views & ViewModel
  • RxJava for concurrency
  • Koin for dependency injection
  • OkHTTP & Retrofit for networking
  • Room database
  • kotlin-logging & slf4j-handroid for logging
  • Picasso for images & ExoPlayer for videos
  • FastAdapter for lists
  • Offline License Key for extensions activation