v1.0.27: knot-inspired icon, fix media-not-found on photo open
Icon: two thick tube-style arcs with 3D glossy highlights.
Arc 1 (left side): coral #E8665A to orange #E8A040
Arc 2 (right side): steel blue #4A7FD4 to deep purple #7B5EA7
Arrowheads: orange and purple. Background: dark purple-black.
Inspired by the braided knot color palette.
Fix "media not found" when opening photos:
- Intent now sets ClipData alongside FLAG_GRANT_READ_URI_PERMISSION
so the permission correctly propagates through the system chooser
to whichever app the user picks.
- openFile() and downloadToCache() both call MediaScannerConnection
so newly synced/downloaded files appear in gallery MediaStore index
before the viewer launches.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.syncflow.ui.files
|
||||
|
||||
import android.content.Context
|
||||
import android.media.MediaScannerConnection
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.syncflow.data.db.SyncFileStateDao
|
||||
@@ -71,6 +72,8 @@ class FilesViewModel @Inject constructor(
|
||||
fun openFile(file: SyncFileStateEntity) {
|
||||
val resolved = resolveFile(file, emitErrorIfMissing = false)
|
||||
if (resolved != null) {
|
||||
// Ensure MediaStore knows about this file so gallery apps can open it
|
||||
MediaScannerConnection.scanFile(context, arrayOf(resolved.absolutePath), null, null)
|
||||
viewModelScope.launch { _fileAction.emit(FileAction.Open(resolved)) }
|
||||
} else {
|
||||
downloadAndOpen(file)
|
||||
@@ -192,6 +195,7 @@ class FilesViewModel @Inject constructor(
|
||||
cacheFile.outputStream().use { out ->
|
||||
provider.downloadFile("${pair.remotePath}/${file.relativePath}", out) { }.getOrThrow()
|
||||
}
|
||||
MediaScannerConnection.scanFile(context, arrayOf(cacheFile.absolutePath), null, null)
|
||||
cacheFile
|
||||
} catch (e: Exception) {
|
||||
Timber.e(e, "Download for preview failed: ${file.relativePath}")
|
||||
|
||||
Reference in New Issue
Block a user