Merge branch 'develop'

This commit is contained in:
Thibault Deckers 2023-08-28 23:05:34 +02:00
commit ffc6201e28
13 changed files with 79 additions and 45 deletions

View file

@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
## <a id="unreleased"></a>[Unreleased] ## <a id="unreleased"></a>[Unreleased]
## <a id="v1.9.3"></a>[v1.9.3] - 2023-08-28
### Changed
- target API 33 to prevent foreground service crashes with Android 14 beta 5
## <a id="v1.9.2"></a>[v1.9.2] - 2023-08-24 ## <a id="v1.9.2"></a>[v1.9.2] - 2023-08-24
### Changed ### Changed

View file

@ -83,7 +83,7 @@ android {
// which implementation `DocumentBuilderImpl` is provided by the OS and is not customizable on Android, // which implementation `DocumentBuilderImpl` is provided by the OS and is not customizable on Android,
// but the implementation on API <19 is not robust enough and fails to build XMP documents // but the implementation on API <19 is not robust enough and fails to build XMP documents
minSdkVersion 19 minSdkVersion 19
targetSdkVersion 34 targetSdkVersion 33
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()
versionName flutterVersionName versionName flutterVersionName
manifestPlaceholders = [googleApiKey: keystoreProperties["googleApiKey"] ?: "<NONE>", manifestPlaceholders = [googleApiKey: keystoreProperties["googleApiKey"] ?: "<NONE>",

View file

@ -32,6 +32,11 @@
<!-- to access media with original metadata with scoped storage (API >=29) --> <!-- to access media with original metadata with scoped storage (API >=29) -->
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" />
<!-- to provide a foreground service type, as required by Android 14 (API 34) -->
<!-- TODO TLAD revisit with Android 14 >beta5 -->
<!-- <uses-permission-->
<!-- android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"-->
<!-- tools:ignore="SystemPermissionTypo" />-->
<!-- TODO TLAD still needed to fetch map tiles / reverse geocoding / else ? check in release mode --> <!-- TODO TLAD still needed to fetch map tiles / reverse geocoding / else ? check in release mode -->
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<!-- from Android 12 (API 31), users can optionally grant access to the media management special permission --> <!-- from Android 12 (API 31), users can optionally grant access to the media management special permission -->

View file

@ -3,6 +3,7 @@ package deckers.thibault.aves
import android.app.PendingIntent import android.app.PendingIntent
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.ServiceInfo
import android.os.Build import android.os.Build
import android.util.Log import android.util.Log
import androidx.core.app.NotificationChannelCompat import androidx.core.app.NotificationChannelCompat
@ -148,16 +149,27 @@ class AnalysisWorker(context: Context, parameters: WorkerParameters) : Coroutine
WorkManager.getInstance(applicationContext).createCancelPendingIntent(id) WorkManager.getInstance(applicationContext).createCancelPendingIntent(id)
).build() ).build()
val icon = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) R.drawable.ic_notification else R.mipmap.ic_launcher_round val icon = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) R.drawable.ic_notification else R.mipmap.ic_launcher_round
val contentTitle = title ?: applicationContext.getText(R.string.analysis_notification_default_title)
val notification = NotificationCompat.Builder(applicationContext, NOTIFICATION_CHANNEL) val notification = NotificationCompat.Builder(applicationContext, NOTIFICATION_CHANNEL)
.setContentTitle(title ?: applicationContext.getText(R.string.analysis_notification_default_title)) .setContentTitle(contentTitle)
.setTicker(contentTitle)
.setContentText(message) .setContentText(message)
.setBadgeIconType(NotificationCompat.BADGE_ICON_NONE)
.setSmallIcon(icon) .setSmallIcon(icon)
.setOngoing(true)
.setContentIntent(openAppIntent) .setContentIntent(openAppIntent)
.setPriority(NotificationCompat.PRIORITY_LOW)
.addAction(stopAction) .addAction(stopAction)
.build() .build()
return ForegroundInfo(NOTIFICATION_ID, notification) // TODO TLAD revisit with Android 14 >beta5
return ForegroundInfo(NOTIFICATION_ID, notification);
// return if (Build.VERSION.SDK_INT >= 34) {
// // as of Android 14 beta 5, foreground service type is mandatory
// // despite the sample code omitting it at:
// // https://developer.android.com/guide/background/persistent/how-to/long-running
// val type = ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC
// ForegroundInfo(NOTIFICATION_ID, notification, type)
// } else {
// ForegroundInfo(NOTIFICATION_ID, notification)
// }
} }
companion object { companion object {

View file

@ -0,0 +1,5 @@
In v1.9.3:
- play your animated AVIF, AV1, and HDR videos
- filter by rating ranges
- judge tonal distributions with the viewer histogram
Full changelog available on GitHub

View file

@ -0,0 +1,5 @@
In v1.9.3:
- play your animated AVIF, AV1, and HDR videos
- filter by rating ranges
- judge tonal distributions with the viewer histogram
Full changelog available on GitHub

View file

@ -1506,5 +1506,13 @@
"aboutDataUsageSectionTitle": "Adatforgalom", "aboutDataUsageSectionTitle": "Adatforgalom",
"@aboutDataUsageSectionTitle": {}, "@aboutDataUsageSectionTitle": {},
"aboutDataUsageCache": "Gyorsítótár", "aboutDataUsageCache": "Gyorsítótár",
"@aboutDataUsageCache": {} "@aboutDataUsageCache": {},
"overlayHistogramNone": "Nincs",
"@overlayHistogramNone": {},
"overlayHistogramRGB": "RGB",
"@overlayHistogramRGB": {},
"overlayHistogramLuminance": "Fényerő",
"@overlayHistogramLuminance": {},
"settingsViewerShowHistogram": "Hisztogram megjelenítése",
"@settingsViewerShowHistogram": {}
} }

View file

@ -196,18 +196,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: google_maps_flutter_android name: google_maps_flutter_android
sha256: fb3e52f94d0736f6ee8bcdef290f8eab9325376d676f61303347c10ccf15379c sha256: "0a3db57610487c5dc133b28b8025933148bacc007d0af500ec66e1ecdf304b96"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.16" version: "2.5.0"
google_maps_flutter_ios: google_maps_flutter_ios:
dependency: transitive dependency: transitive
description: description:
name: google_maps_flutter_ios name: google_maps_flutter_ios
sha256: a9462a433bf3ebe60aadcf4906d2d6341a270d69d3e0fcaa8eb2b64699fcfb4f sha256: "954083b0b8ef60d059b41a37382afb22d7eea565002bf0bbf093fe748b5cef82"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.3" version: "2.3.0"
google_maps_flutter_platform_interface: google_maps_flutter_platform_interface:
dependency: "direct main" dependency: "direct main"
description: description:
@ -220,10 +220,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: google_maps_flutter_web name: google_maps_flutter_web
sha256: "229391997f216d37c76bfc10d9b5837a1dfeb98c4b4063c605016382e5bcd910" sha256: a0a7f40aad00dd07e76abb80b7d28213b5f62c6d7d56e7e85efc15849fabcfbb
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.3" version: "0.5.4"
html: html:
dependency: transitive dependency: transitive
description: description:
@ -449,10 +449,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: f2add6fa510d3ae152903412227bda57d0d5a8da61d2c39c1fb022c9429a41c0 sha256: "9e82a402b7f3d518fb9c02d0e9ae45952df31b9bf34d77baf19da2de03fc2aaa"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.0.6" version: "5.0.7"
win32_registry: win32_registry:
dependency: transitive dependency: transitive
description: description:

View file

@ -172,18 +172,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: media_kit name: media_kit
sha256: d7a827080fb28f0ba4e8a7ab3f3e3f868fa817f0a94499640466ade84a1c31c9 sha256: "92c7f59e075d74471b31e703f81ccc1d7102739ebcce945b30a6417fa2f751d5"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.5" version: "1.1.7"
media_kit_libs_android_video: media_kit_libs_android_video:
dependency: "direct main" dependency: "direct main"
description: description:
name: media_kit_libs_android_video name: media_kit_libs_android_video
sha256: "142d389bf3efcf8469594a9c7a06a92fc25843fc6c0c3247f76cdcf70b3b29de" sha256: "498a5062bc5f000bd23ada3be788ea886ab32c52f7a8252dde1264ca019b819b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.2" version: "1.3.3"
media_kit_native_event_loop: media_kit_native_event_loop:
dependency: "direct main" dependency: "direct main"
description: description:
@ -196,10 +196,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: media_kit_video name: media_kit_video
sha256: d4143a96d97965d025bbb8b88db0ebf301e3c4cfa10c7e2ad7fd47c86a7febae sha256: cd3ab78e7626146f115134b82c4029ac5987ba6351719c9067d86789723e0c12
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.6" version: "1.1.8"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -425,10 +425,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: f2add6fa510d3ae152903412227bda57d0d5a8da61d2c39c1fb022c9429a41c0 sha256: "9e82a402b7f3d518fb9c02d0e9ae45952df31b9bf34d77baf19da2de03fc2aaa"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.0.6" version: "5.0.7"
xml: xml:
dependency: transitive dependency: transitive
description: description:

View file

@ -619,18 +619,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: google_maps_flutter_android name: google_maps_flutter_android
sha256: fb3e52f94d0736f6ee8bcdef290f8eab9325376d676f61303347c10ccf15379c sha256: "0a3db57610487c5dc133b28b8025933148bacc007d0af500ec66e1ecdf304b96"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.16" version: "2.5.0"
google_maps_flutter_ios: google_maps_flutter_ios:
dependency: transitive dependency: transitive
description: description:
name: google_maps_flutter_ios name: google_maps_flutter_ios
sha256: a9462a433bf3ebe60aadcf4906d2d6341a270d69d3e0fcaa8eb2b64699fcfb4f sha256: "954083b0b8ef60d059b41a37382afb22d7eea565002bf0bbf093fe748b5cef82"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.3" version: "2.3.0"
google_maps_flutter_platform_interface: google_maps_flutter_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -643,10 +643,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: google_maps_flutter_web name: google_maps_flutter_web
sha256: "229391997f216d37c76bfc10d9b5837a1dfeb98c4b4063c605016382e5bcd910" sha256: a0a7f40aad00dd07e76abb80b7d28213b5f62c6d7d56e7e85efc15849fabcfbb
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.3" version: "0.5.4"
highlight: highlight:
dependency: transitive dependency: transitive
description: description:
@ -835,18 +835,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: media_kit name: media_kit
sha256: d7a827080fb28f0ba4e8a7ab3f3e3f868fa817f0a94499640466ade84a1c31c9 sha256: "92c7f59e075d74471b31e703f81ccc1d7102739ebcce945b30a6417fa2f751d5"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.5" version: "1.1.7"
media_kit_libs_android_video: media_kit_libs_android_video:
dependency: transitive dependency: transitive
description: description:
name: media_kit_libs_android_video name: media_kit_libs_android_video
sha256: "142d389bf3efcf8469594a9c7a06a92fc25843fc6c0c3247f76cdcf70b3b29de" sha256: "498a5062bc5f000bd23ada3be788ea886ab32c52f7a8252dde1264ca019b819b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.2" version: "1.3.3"
media_kit_native_event_loop: media_kit_native_event_loop:
dependency: transitive dependency: transitive
description: description:
@ -859,10 +859,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: media_kit_video name: media_kit_video
sha256: d4143a96d97965d025bbb8b88db0ebf301e3c4cfa10c7e2ad7fd47c86a7febae sha256: cd3ab78e7626146f115134b82c4029ac5987ba6351719c9067d86789723e0c12
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.6" version: "1.1.8"
meta: meta:
dependency: transitive dependency: transitive
description: description:
@ -1667,10 +1667,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: f2add6fa510d3ae152903412227bda57d0d5a8da61d2c39c1fb022c9429a41c0 sha256: "9e82a402b7f3d518fb9c02d0e9ae45952df31b9bf34d77baf19da2de03fc2aaa"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.0.6" version: "5.0.7"
win32_registry: win32_registry:
dependency: transitive dependency: transitive
description: description:

View file

@ -7,7 +7,7 @@ repository: https://github.com/deckerst/aves
# - play changelog: /whatsnew/whatsnew-en-US # - play changelog: /whatsnew/whatsnew-en-US
# - izzy changelog: /fastlane/metadata/android/en-US/changelogs/XXX01.txt # - izzy changelog: /fastlane/metadata/android/en-US/changelogs/XXX01.txt
# - libre changelog: /fastlane/metadata/android/en-US/changelogs/XXX.txt # - libre changelog: /fastlane/metadata/android/en-US/changelogs/XXX.txt
version: 1.9.2+103 version: 1.9.3+104
publish_to: none publish_to: none
environment: environment:

View file

@ -4072,13 +4072,6 @@
"filePickerUseThisFolder" "filePickerUseThisFolder"
], ],
"hu": [
"overlayHistogramNone",
"overlayHistogramRGB",
"overlayHistogramLuminance",
"settingsViewerShowHistogram"
],
"it": [ "it": [
"overlayHistogramRGB" "overlayHistogramRGB"
], ],

View file

@ -1,4 +1,4 @@
In v1.9.2: In v1.9.3:
- play your animated AVIF, AV1, and HDR videos - play your animated AVIF, AV1, and HDR videos
- filter by rating ranges - filter by rating ranges
- judge tonal distributions with the viewer histogram - judge tonal distributions with the viewer histogram