Media Gallery app for Android made with Jetpack Compose
  • Kotlin 98.8%
  • C++ 0.6%
  • Shell 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
IacobIonut01 a5a2f56c8d ReFra 5.2.0 Release
Prepare synchronized release metadata from all changes since 5.1.5.

Bump versionName to 5.2.0 and versionCode to 52001, rewrite the GitHub release body around the rebuilt People section, two-way cloud sync, NFS, server-side smart search, custom upload folders, capture-time ordering, verified cloud transfers and fluid viewer transitions, and add the matching Fastlane and in-app markdown changelogs.

Add six help tips (timeline_capture_date, people_fix_faces, cloud_two_way_sync, cloud_smart_search, cloud_upload_paths, cloud_transfer) marked sinceVersion 5.2.0 and wired into the changelog tips list, and refresh the people_grouping, cloud_add_server and settings_selection_actions tips for the new behavior.

Verification:
- ./gradlew :app:compileArm64-v8aNoMLStagingKotlin
- git diff --cached --check
2026-09-20 00:15:05 +03:00
.github ReFra 5.2.0 Release 2026-09-20 00:15:05 +03:00
app ReFra 5.2.0 Release 2026-09-20 00:15:05 +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.2.0 Release 2026-09-20 00:15:05 +03:00
gradle fix: harden cloud thumbnails and remote deletion 2026-09-17 18:43:52 +03:00
libs fix: keep the timeline scrubber visible longer 2026-09-13 12:11:43 +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 docs: add Obtainium download badge 2026-09-02 11:59:53 +03:00
scripts fix: preserve native script executability 2026-09-13 12:11:55 +03:00
.gitignore feat: delegate smart search to capable cloud providers 2026-09-18 22:02:55 +03:00
app.properties Enable NFS support 2026-09-17 10:49:52 +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 feat: optimize smart scans and background processing 2026-08-10 12:26:39 +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 docs: add Obtainium download badge 2026-09-02 11:59:53 +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 Get it on Obtainium

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.