Media Gallery app for Android made with Jetpack Compose
  • Kotlin 98.7%
  • C++ 0.7%
  • Shell 0.5%
  • CMake 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-24 11:41:53 +03:00
.github ReFra 5.1.0 Release 2026-07-24 01:19:02 +03:00
app fix: keep RAW develop navigation enum 2026-07-24 11:41:53 +03:00
baselineprofile refactor: migrate build scripts to Gradle plugins, integrate gplay variant, add release download tables 2026-06-01 00:58:36 +03:00
commonMain/androidx/compose/foundation/layout chore: add commonMain Grid layout 2026-05-04 23:29:17 +03:00
docs/adr feat(cutout): polish UI/UX state, de-nest view and realign documentation 2026-06-24 15:47:28 +02:00
fastlane/metadata/android/en-US ReFra 5.1.0 Release 2026-07-24 01:19:02 +03:00
gradle Merge cloud and setup rework 2026-07-11 17:47:56 +03:00
libs fix(editor): don't zoom in when crop box is out of bounds 2026-06-18 18:32:17 +03:00
ml-models feat: on-device people scan/grouping, face-blur markup & auto face-blur 2026-07-14 22:23:26 +03:00
plugins refactor: migrate build scripts to Gradle plugins, integrate gplay variant, add release download tables 2026-06-01 00:58:36 +03:00
screenshots chore: [ASSETS] - Update screenshots & support banners 2026-04-12 23:10:51 +03:00
scripts feat(raw): in-editor RAW develop + memory-safe/fast TIFF decoding 2026-07-22 00:11:14 +03:00
.gitignore feat: on-device people scan/grouping, face-blur markup & auto face-blur 2026-07-14 22:23:26 +03:00
app.properties Merge cloud and setup rework 2026-07-11 17:47:56 +03:00
build.gradle.kts feat: [BUILD] - Upgrade to Gradle 9.3.1, AGP 9.1.0 & Kotlin 2.3.20 2026-04-12 23:10:50 +03:00
CONTEXT.md feat(cutout): polish UI/UX state, de-nest view and realign documentation 2026-06-24 15:47:28 +02:00
crowdin.yml Update Crowdin configuration file 2026-05-13 18:21:13 +03:00
gradle.properties perf: prefetch media preview on grid click for flicker-free transition 2026-05-29 23:44:36 +03:00
gradlew feat: pivot to single-pass MobileSAM and redesign cutout UI 2026-06-24 13:33:43 +02:00
gradlew.bat Update dependency gradle to v8.10 (#375) 2024-09-02 12:37:20 +03:00
LICENSE Gallery: Add LICENSE file 2023-04-10 13:15:40 +03:00
PQC_HYBRID_SIGNING_PLAN.md build(signing): scaffold PQC hybrid APK signing (#901) 2026-06-10 21:22:17 +03:00
README.md refactor: migrate build scripts to Gradle plugins, integrate gplay variant, add release download tables 2026-06-01 00:58:36 +03:00
renovate.json Add Renovate support 2023-06-30 10:10:23 +03:00
settings.gradle.kts Use another fork for JP2ForAndroid available on maven 2026-06-16 01:12:44 +03:00
stability_config.conf fix: resolve deprecation and lint warnings 2026-04-13 01:19:46 +03:00

ReFra

An Android Gallery app built with Jetpack Compose.

The goal of this project is to create and bring the Gallery app everyone wants, with the features everyone needs. FOSS

Downloads CI License Crowdin GitHub Repo stars

Crowdin Community

Download

Get it on F-Droid Get it on Google Play Get it on GitHub

Support

  • Translate the project using the link from above
  • Donations:
    • Use the links on the right side of the repo (Sponsor me)
    • More options available in-app (Settings -> Donate)

Frequent Questions

  • Why 'ReFra'?
    • Refra is a short form of 'refraction', which is the bending of light when it passes through different mediums. This app aims to refract our perception of media files, making them more accessible and easier to manage.
  • What is the offline variant?
    • The offline variant is a version of the app with all online features removed — maps, cloud provider support (Immich, ownCloud, etc.), and any functionality that requires an internet connection, even on a local network. This is useful for users who want a fully self-contained gallery with no network permissions.
  • Why Google Play version is 'Paid'?
    • It's just another way to support the project while getting back automatic updates via Google Play
  • Why Android 11 is the minimum version required?
    • Some Media features and APIs require Android 11 as a minimum version [Trash feature, most APIs used in the app]
  • Will you support lower android versions?
    • While this is not a priority right now, I do have in mind to include support for lower Android versions at a cost of reduced features. If anyone volntueers to do so before me can request a pull request.
  • Can I verify the downloaded APK file?
    • Checksums of APKs are provided in the release notes. The signing certificate fingerprint is listed below:
      • SHA-256: 78:46:05:DD:50:75:BE:05:82:78:A5:42:5C:BD:E5:21:31:62:CB:B4:59:1B:44:28:F4:4E:75:E0:8C:C6:43:8A
      • SHA-1: AD:93:69:27:F2:3B:33:99:FC:C0:B2:8A:25:44:C8:1C:AA:42:B0:9A
      • MD5: 73:FC:3C:60:14:D3:69:6D:1B:DA:34:F1:BF:5A:33:3C
  • Will you add [X] feature?
    • Please open a new feature request under 'Issues' tab and if the feature will be considered useful and possible can be added.
  • Can you remove permission [X]?
    • Several permissions (e.g. Internet connectivity, location) are for showing a map preview of your current photo location data. If you do not need this feature, you can download an offline release from the Releases page.