diff --git a/CHANGELOG.md b/CHANGELOG.md
index 09cb77c2d..752ec0678 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file.
## [Unreleased]
-## [v1.11.12] - 2024-09-16
+## [v1.11.13] - 2024-09-17
### Added
@@ -19,6 +19,8 @@ All notable changes to this project will be documented in this file.
- crash when cataloguing some malformed MP4 files
- inconsistent launch screen
+## [v1.11.12] - 2024-09-16 [YANKED AGAIN!]
+
## [v1.11.11] - 2024-09-16 [YANKED]
## [v1.11.10] - 2024-09-01
diff --git a/android/app/build.gradle b/android/app/build.gradle
index fe76fbbec..897c3c32d 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -208,8 +208,8 @@ dependencies {
// - https://jitpack.io/p/deckerst/mp4parser
// - https://jitpack.io/p/deckerst/pixymeta-android
implementation 'com.github.deckerst:Android-TiffBitmapFactory:90c06eebf4'
- implementation 'com.github.deckerst.mp4parser:isoparser:86d4b6baa1'
- implementation 'com.github.deckerst.mp4parser:muxer:86d4b6baa1'
+ implementation 'com.github.deckerst.mp4parser:isoparser:d5caf7a3dd'
+ implementation 'com.github.deckerst.mp4parser:muxer:d5caf7a3dd'
implementation 'com.github.deckerst:pixymeta-android:9ec7097f17'
implementation project(':exifinterface')
diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt b/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt
index df5e8f671..1d9844578 100644
--- a/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt
+++ b/android/app/src/main/kotlin/deckers/thibault/aves/MainActivity.kt
@@ -320,7 +320,9 @@ open class MainActivity : FlutterFragmentActivity() {
val keyguardManager = getSystemService(Context.KEYGUARD_SERVICE) as android.app.KeyguardManager
val isLocked = keyguardManager.isKeyguardLocked
- setShowWhenLocked(isLocked)
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
+ setShowWhenLocked(isLocked)
+ }
if (isLocked) {
// device is locked, so access to content is limited to intent URI by default
fields[INTENT_DATA_KEY_SECURE_URIS] = listOf(uri.toString())
diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MediaStoreHandler.kt b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MediaStoreHandler.kt
index da82657a4..64b440b62 100644
--- a/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MediaStoreHandler.kt
+++ b/android/app/src/main/kotlin/deckers/thibault/aves/channel/calls/MediaStoreHandler.kt
@@ -64,7 +64,7 @@ class MediaStoreHandler(private val context: Context) : MethodCallHandler {
} catch (e: Exception) {
// may yield `IllegalArgumentException: Volume external_primary not found`
val volumes = MediaStore.getExternalVolumeNames(context).joinToString(", ")
- result.error("getGeneration-primary", e.message + " (available volumes are $volumes)", e)
+ result.error("getGeneration-primary", e.message + " (available volumes are [$volumes])", e)
return
}
} else {
diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/FileImageProvider.kt b/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/FileImageProvider.kt
index 4405fe5e0..c145737e4 100644
--- a/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/FileImageProvider.kt
+++ b/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/FileImageProvider.kt
@@ -50,6 +50,7 @@ internal class FileImageProvider : ImageProvider() {
}
} catch (e: SecurityException) {
callback.onFailure(e)
+ return
}
}
entry.fillPreCatalogMetadata(context, safe = false)
diff --git a/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/ImageProvider.kt b/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/ImageProvider.kt
index a5f56c454..1d6d6a60a 100644
--- a/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/ImageProvider.kt
+++ b/android/app/src/main/kotlin/deckers/thibault/aves/model/provider/ImageProvider.kt
@@ -209,6 +209,7 @@ abstract class ImageProvider {
) {
if (!supportedExportMimeTypes.contains(imageExportMimeType)) {
callback.onFailure(Exception("unsupported export MIME type=$imageExportMimeType"))
+ return
}
val targetDirDocFile = StorageUtils.createDirectoryDocIfAbsent(activity, targetDir)
@@ -858,6 +859,7 @@ abstract class ImageProvider {
}
} catch (e: NoClassDefFoundError) {
callback.onFailure(e)
+ return false
} catch (e: Exception) {
callback.onFailure(e)
return false
diff --git a/fastlane/metadata/android/en-US/changelogs/132.txt b/fastlane/metadata/android/en-US/changelogs/132.txt
new file mode 100644
index 000000000..c0c7c4762
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/132.txt
@@ -0,0 +1,3 @@
+In v1.11.13:
+- review photos from the lock screen
+Full changelog available on GitHub
\ No newline at end of file
diff --git a/fastlane/metadata/android/en-US/changelogs/13201.txt b/fastlane/metadata/android/en-US/changelogs/13201.txt
new file mode 100644
index 000000000..c0c7c4762
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/13201.txt
@@ -0,0 +1,3 @@
+In v1.11.13:
+- review photos from the lock screen
+Full changelog available on GitHub
\ No newline at end of file
diff --git a/lib/services/media/media_store_service.dart b/lib/services/media/media_store_service.dart
index f60414ee7..3e1e8511a 100644
--- a/lib/services/media/media_store_service.dart
+++ b/lib/services/media/media_store_service.dart
@@ -69,7 +69,9 @@ class PlatformMediaStoreService implements MediaStoreService {
try {
return await _platform.invokeMethod('getGeneration');
} on PlatformException catch (e, stack) {
- await reportService.recordError(e, stack);
+ if (e.code != 'getGeneration-primary') {
+ await reportService.recordError(e, stack);
+ }
}
return null;
}
diff --git a/lib/widget_common.dart b/lib/widget_common.dart
index 7432c4e7e..73d9b81f6 100644
--- a/lib/widget_common.dart
+++ b/lib/widget_common.dart
@@ -49,6 +49,8 @@ Future