diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d4d04e2..55ffa48f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ Many thanks to my sponsors, no matter how much or how little they donated. Spons # Changelog +## [10.1.2] - 2025/11/17 + +* Upgraded ObjectBox dependencies to permit v5.0.0 - fixes [issue #194](https://github.com/JaffaKetchup/flutter_map_tile_caching/issues/194) + ## [10.1.1] - 2025/02/03 * Fixed bug where import operation fatally crashed on some iOS devices diff --git a/example/.metadata b/example/.metadata index dd1f2f95..e925fe81 100644 --- a/example/.metadata +++ b/example/.metadata @@ -4,8 +4,8 @@ # This file should be version controlled and should not be manually edited. version: - revision: "3e493a3e4d0a5c99fa7da51faae354e95a9a1abe" - channel: "beta" + revision: "b45fa18946ecc2d9b4009952c636ba7e2ffbb787" + channel: "stable" project_type: app @@ -13,11 +13,20 @@ project_type: app migration: platforms: - platform: root - create_revision: 3e493a3e4d0a5c99fa7da51faae354e95a9a1abe - base_revision: 3e493a3e4d0a5c99fa7da51faae354e95a9a1abe + create_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 + base_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 - platform: android - create_revision: 3e493a3e4d0a5c99fa7da51faae354e95a9a1abe - base_revision: 3e493a3e4d0a5c99fa7da51faae354e95a9a1abe + create_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 + base_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 + - platform: ios + create_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 + base_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 + - platform: web + create_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 + base_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 + - platform: windows + create_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 + base_revision: b45fa18946ecc2d9b4009952c636ba7e2ffbb787 # User provided section diff --git a/example/android/.gitignore b/example/android/.gitignore index 55afd919..be3943c9 100644 --- a/example/android/.gitignore +++ b/example/android/.gitignore @@ -5,6 +5,7 @@ gradle-wrapper.jar /gradlew.bat /local.properties GeneratedPluginRegistrant.java +.cxx/ # Remember to never publicly share your keystore. # See https://flutter.dev/to/reference-keystore diff --git a/example/android/app/build.gradle.kts b/example/android/app/build.gradle.kts index 8e7323ff..36a88654 100644 --- a/example/android/app/build.gradle.kts +++ b/example/android/app/build.gradle.kts @@ -8,16 +8,15 @@ plugins { android { namespace = "dev.jaffaketchup.fmtc.demo" compileSdk = flutter.compileSdkVersion - // ndkVersion = flutter.ndkVersion - ndkVersion = "27.0.12077973" + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = JavaVersion.VERSION_17.toString() } defaultConfig { diff --git a/example/android/app/src/main/kotlin/com/example/fmtc_demo/MainActivity.kt b/example/android/app/src/main/kotlin/dev/jaffaketchup/fmtc/demo/MainActivity.kt similarity index 100% rename from example/android/app/src/main/kotlin/com/example/fmtc_demo/MainActivity.kt rename to example/android/app/src/main/kotlin/dev/jaffaketchup/fmtc/demo/MainActivity.kt diff --git a/example/android/build.gradle.kts b/example/android/build.gradle.kts index 89176ef4..dbee657b 100644 --- a/example/android/build.gradle.kts +++ b/example/android/build.gradle.kts @@ -5,7 +5,10 @@ allprojects { } } -val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get() +val newBuildDir: Directory = + rootProject.layout.buildDirectory + .dir("../../build") + .get() rootProject.layout.buildDirectory.value(newBuildDir) subprojects { diff --git a/example/android/gradle.properties b/example/android/gradle.properties index f018a618..fbee1d8c 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -1,3 +1,2 @@ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true -android.enableJetifier=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index afa1e8eb..e4ef43fb 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-all.zip diff --git a/example/android/settings.gradle.kts b/example/android/settings.gradle.kts index a439442c..ca7fe065 100644 --- a/example/android/settings.gradle.kts +++ b/example/android/settings.gradle.kts @@ -1,11 +1,12 @@ pluginManagement { - val flutterSdkPath = run { - val properties = java.util.Properties() - file("local.properties").inputStream().use { properties.load(it) } - val flutterSdkPath = properties.getProperty("flutter.sdk") - require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } - flutterSdkPath - } + val flutterSdkPath = + run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") @@ -18,8 +19,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.7.0" apply false - id("org.jetbrains.kotlin.android") version "1.8.22" apply false + id("com.android.application") version "8.11.1" apply false + id("org.jetbrains.kotlin.android") version "2.2.20" apply false } include(":app") diff --git a/example/lib/src/screens/main/map_view/components/recovery_regions/recovery_regions.dart b/example/lib/src/screens/main/map_view/components/recovery_regions/recovery_regions.dart index 6566c6d8..134875b9 100644 --- a/example/lib/src/screens/main/map_view/components/recovery_regions/recovery_regions.dart +++ b/example/lib/src/screens/main/map_view/components/recovery_regions/recovery_regions.dart @@ -38,7 +38,9 @@ class RecoveryRegions extends StatelessWidget { borderColor: e.key.toColor(), borderStrokeWidth: 2, label: region.label, - labelPlacement: PolygonLabelPlacement.polylabel, + labelPlacementCalculator: + const PolygonLabelPlacementCalculator + .polylabel(), ), ), ) diff --git a/example/lib/src/shared/components/url_selector.dart b/example/lib/src/shared/components/url_selector.dart index 94b67277..89c74b68 100644 --- a/example/lib/src/shared/components/url_selector.dart +++ b/example/lib/src/shared/components/url_selector.dart @@ -95,7 +95,7 @@ class _UrlSelectorState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( - child: DropdownMenu( + child: DropdownMenu( controller: _urlTextController, expandedInsets: EdgeInsets.zero, // full width requestFocusOnTap: true, @@ -132,8 +132,8 @@ class _UrlSelectorState extends State { }, ); - void _onSelected(String? v) { - if (v == null) { + void _onSelected(String? val) { + if (val == '' || val == null) { sharedPrefs.setStringList( SharedPrefsKeys.customNonStoreUrls.name, (sharedPrefs.getStringList(SharedPrefsKeys.customNonStoreUrls.name) ?? @@ -144,15 +144,16 @@ class _UrlSelectorState extends State { _selectableEntriesManualRefreshStream.add(null); } - widget.onSelected!(v ?? _urlTextController.text); + widget + .onSelected!(val == '' || val == null ? _urlTextController.text : val); _dropdownMenuFocusNode?.unfocus(); } - List> _constructMenuEntries( + List> _constructMenuEntries( AsyncSnapshot>> snapshot, ) => snapshot.data!.entries - .map>( + .map( (e) => DropdownMenuEntry( value: e.key, label: e.key, @@ -189,7 +190,7 @@ class _UrlSelectorState extends State { .toList() ..add( const DropdownMenuEntry( - value: null, + value: '', label: 'To use another URL (without using it in a store),\nenter it, ' 'then hit enter/done/add', diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 9d00b756..1f3e6f5d 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -1,7 +1,7 @@ name: fmtc_demo description: The demo app for 'flutter_map_tile_caching', showcasing its functionality and use-cases. publish_to: "none" -version: 10.1.1 +version: 10.1.2 environment: sdk: ">=3.6.0 <4.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 657345f0..e9e1ee32 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: flutter_map_tile_caching description: Plugin for 'flutter_map' providing advanced caching functionality, with ability to download map regions for offline use. -version: 10.1.1 +version: 10.1.2 repository: https://github.com/JaffaKetchup/flutter_map_tile_caching issue_tracker: https://github.com/JaffaKetchup/flutter_map_tile_caching/issues @@ -37,14 +37,14 @@ dependencies: http: ^1.2.2 latlong2: ^0.9.1 meta: ^1.15.0 - objectbox: ^4.1.0 - objectbox_flutter_libs: ^4.1.0 + objectbox: ">=4.1.0 <6.0.0" + objectbox_flutter_libs: ">=4.1.0 <6.0.0" path: ^1.9.1 path_provider: ^2.1.5 dev_dependencies: build_runner: ^2.4.15 - objectbox_generator: ^4.1.0 + objectbox_generator: ">=4.1.0 <6.0.0" test: ^1.25.15 flutter: null diff --git a/windowsApplicationInstallerSetup.iss b/windowsApplicationInstallerSetup.iss index 3f7c58ad..26585fc8 100644 --- a/windowsApplicationInstallerSetup.iss +++ b/windowsApplicationInstallerSetup.iss @@ -1,7 +1,7 @@ ; Script generated by the Inno Setup Script Wizard #define MyAppName "FMTC Demo" -#define MyAppVersion "for 10.1.1" +#define MyAppVersion "for 10.1.2" #define MyAppPublisher "JaffaKetchup Development" #define MyAppURL "https://github.com/JaffaKetchup/flutter_map_tile_caching" #define MyAppSupportURL "https://github.com/JaffaKetchup/flutter_map_tile_caching/issues" @@ -35,30 +35,6 @@ WizardStyle=modern [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" -Name: "armenian"; MessagesFile: "compiler:Languages\Armenian.isl" -Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" -Name: "bulgarian"; MessagesFile: "compiler:Languages\Bulgarian.isl" -Name: "catalan"; MessagesFile: "compiler:Languages\Catalan.isl" -Name: "corsican"; MessagesFile: "compiler:Languages\Corsican.isl" -Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" -Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl" -Name: "dutch"; MessagesFile: "compiler:Languages\Dutch.isl" -Name: "finnish"; MessagesFile: "compiler:Languages\Finnish.isl" -Name: "french"; MessagesFile: "compiler:Languages\French.isl" -Name: "german"; MessagesFile: "compiler:Languages\German.isl" -Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl" -Name: "icelandic"; MessagesFile: "compiler:Languages\Icelandic.isl" -Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" -Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" -Name: "norwegian"; MessagesFile: "compiler:Languages\Norwegian.isl" -Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" -Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" -Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" -Name: "slovak"; MessagesFile: "compiler:Languages\Slovak.isl" -Name: "slovenian"; MessagesFile: "compiler:Languages\Slovenian.isl" -Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" -Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" -Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked