diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index ac4da084..895979da 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -19,6 +19,9 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
+ with:
+ channel: stable
+ flutter-version: 3.24.4
- uses: bluefireteam/melos-action@v1
- name: Format, Lint, Publishability
@@ -57,7 +60,14 @@ jobs:
steps:
- uses: actions/checkout@v2
+ - uses: actions/setup-java@v4
+ with:
+ distribution: 'oracle'
+ java-version: '17'
- uses: subosito/flutter-action@v2
+ with:
+ channel: stable
+ flutter-version: 3.24.4
- uses: bluefireteam/melos-action@v1
- name: Build Android Examples
@@ -71,6 +81,9 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
+ with:
+ channel: stable
+ flutter-version: 3.24.4
- uses: bluefireteam/melos-action@v1
- name: Build iOS Examples
diff --git a/melos.yaml b/melos.yaml
index 11fe10af..15234080 100644
--- a/melos.yaml
+++ b/melos.yaml
@@ -7,7 +7,7 @@ scripts:
lint:all:
run: |
- melos run lint:analyze && melos publish -y && melos run lint:format
+ melos run lint:analyze && melos lint:pub && melos run lint:format
lint:analyze:
run: |
@@ -17,7 +17,7 @@ scripts:
lint:pub:
run: |
melos exec -c 5 -- \
- "dart pub publish --dry-run"
+ "flutter pub publish --dry-run"
packageFilters:
ignore: "*example*"
noPrivate: true
@@ -100,7 +100,7 @@ scripts:
build:android:
run: |
- melos run build:example_android_pub --no-select && melos bootstrap
+ flutter doctor -v && melos run build:example_android_pub --no-select && melos bootstrap
# melos bootstrap does not generate all files generated by a build that runs
# `pub get`, and `flutter drive` does not either, so it is still necessary to
diff --git a/packages/apptive_grid_core/CHANGELOG.md b/packages/apptive_grid_core/CHANGELOG.md
index 152fe598..96ffcb7f 100644
--- a/packages/apptive_grid_core/CHANGELOG.md
+++ b/packages/apptive_grid_core/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.1.2
+
+ - **FEAT**: Make the current authentication token accessible
+
## 2.1.1
- **REFACTOR**: Use performApptiveLink for Client Functions (#129).
diff --git a/packages/apptive_grid_core/example/android/app/build.gradle b/packages/apptive_grid_core/example/android/app/build.gradle
index 947e811d..3fd0b298 100644
--- a/packages/apptive_grid_core/example/android/app/build.gradle
+++ b/packages/apptive_grid_core/example/android/app/build.gradle
@@ -1,3 +1,9 @@
+plugins {
+ id "com.android.application"
+ id "kotlin-android"
+ id "dev.flutter.flutter-gradle-plugin"
+}
+
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
@@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) {
}
}
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
- throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
-}
-
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
@@ -21,12 +22,8 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
android {
- compileSdkVersion 33
+ compileSdkVersion 34
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
@@ -34,8 +31,8 @@ android {
defaultConfig {
applicationId "de.zweidenker.example"
- minSdkVersion 18
- targetSdkVersion 33
+ minSdkVersion flutter.minSdkVersion
+ targetSdkVersion 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
@@ -51,7 +48,3 @@ android {
flutter {
source '../..'
}
-
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-}
diff --git a/packages/apptive_grid_core/example/android/build.gradle b/packages/apptive_grid_core/example/android/build.gradle
index 36afcedd..941f2563 100644
--- a/packages/apptive_grid_core/example/android/build.gradle
+++ b/packages/apptive_grid_core/example/android/build.gradle
@@ -1,17 +1,3 @@
-buildscript {
- ext.kotlin_version = '1.8.0'
- repositories {
- google()
- mavenCentral()
- jcenter()
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:7.4.2'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
allprojects {
repositories {
google()
@@ -22,6 +8,26 @@ allprojects {
rootProject.buildDir = '../build'
subprojects {
+ afterEvaluate { project ->
+ if (project.extensions.findByName("android") != null) {
+ Integer pluginCompileSdk = project.android.compileSdk
+ if (pluginCompileSdk != null && pluginCompileSdk < 31) {
+ project.logger.error(
+ "Warning: Overriding compileSdk version in Flutter plugin: "
+ + project.name
+ + " from "
+ + pluginCompileSdk
+ + " to 31 (to work around https://issuetracker.google.com/issues/199180389)."
+ + "\nIf there is not a new version of " + project.name + ", consider filing an issue against "
+ + project.name
+ + " to increase their compileSdk to the latest (otherwise try updating to the latest version)."
+ )
+ project.android {
+ compileSdk 31
+ }
+ }
+ }
+ }
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
diff --git a/packages/apptive_grid_core/example/android/settings.gradle b/packages/apptive_grid_core/example/android/settings.gradle
index 44e62bcf..b3bf9755 100644
--- a/packages/apptive_grid_core/example/android/settings.gradle
+++ b/packages/apptive_grid_core/example/android/settings.gradle
@@ -1,11 +1,26 @@
-include ':app'
+pluginManagement {
+ def flutterSdkPath = {
+ def properties = new Properties()
+ file("local.properties").withInputStream { properties.load(it) }
+ def flutterSdkPath = properties.getProperty("flutter.sdk")
+ assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+ return flutterSdkPath
+ }
+ settings.ext.flutterSdkPath = flutterSdkPath()
-def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
-def properties = new Properties()
+ includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
-assert localPropertiesFile.exists()
-localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
-def flutterSdkPath = properties.getProperty("flutter.sdk")
-assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
-apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+plugins {
+ id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+ id "com.android.application" version "7.4.2" apply false
+ id "org.jetbrains.kotlin.android" version "1.8.0" apply false
+}
+
+include ":app"
diff --git a/packages/apptive_grid_core/example/ios/Flutter/AppFrameworkInfo.plist b/packages/apptive_grid_core/example/ios/Flutter/AppFrameworkInfo.plist
index 9625e105..7c569640 100644
--- a/packages/apptive_grid_core/example/ios/Flutter/AppFrameworkInfo.plist
+++ b/packages/apptive_grid_core/example/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 11.0
+ 12.0
diff --git a/packages/apptive_grid_core/example/ios/Podfile b/packages/apptive_grid_core/example/ios/Podfile
index 88359b22..0b62d79e 100644
--- a/packages/apptive_grid_core/example/ios/Podfile
+++ b/packages/apptive_grid_core/example/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-# platform :ios, '11.0'
+platform :ios, '14.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
diff --git a/packages/apptive_grid_core/example/ios/Podfile.lock b/packages/apptive_grid_core/example/ios/Podfile.lock
index 6cb02ecc..ca07f244 100644
--- a/packages/apptive_grid_core/example/ios/Podfile.lock
+++ b/packages/apptive_grid_core/example/ios/Podfile.lock
@@ -30,12 +30,12 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS:
- Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
- flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
- path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
+ Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
+ flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
+ path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
- url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
+ url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
-PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
+PODFILE CHECKSUM: fe5e039928e08cc3aa55730590fe5577354d32d2
-COCOAPODS: 1.13.0
+COCOAPODS: 1.15.2
diff --git a/packages/apptive_grid_core/example/ios/Runner.xcodeproj/project.pbxproj b/packages/apptive_grid_core/example/ios/Runner.xcodeproj/project.pbxproj
index 736fe94c..ec6dcb1b 100644
--- a/packages/apptive_grid_core/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/packages/apptive_grid_core/example/ios/Runner.xcodeproj/project.pbxproj
@@ -156,7 +156,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1430;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -343,7 +343,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -417,7 +417,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -466,7 +466,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
diff --git a/packages/apptive_grid_core/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/apptive_grid_core/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index b52b2e69..e67b2808 100644
--- a/packages/apptive_grid_core/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/packages/apptive_grid_core/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
createState() => _MyAppState();
}
diff --git a/packages/apptive_grid_core/lib/src/network/authentication/apptive_grid_authenticator.dart b/packages/apptive_grid_core/lib/src/network/authentication/apptive_grid_authenticator.dart
index 8617c983..6a426138 100644
--- a/packages/apptive_grid_core/lib/src/network/authentication/apptive_grid_authenticator.dart
+++ b/packages/apptive_grid_core/lib/src/network/authentication/apptive_grid_authenticator.dart
@@ -193,6 +193,14 @@ class ApptiveGridAuthenticator {
return _authClient ??= await createClient();
}
+ /// Returns the current authentication token if available and valid.
+ String? getAuthToken() {
+ // Here, you can add logic to check if the token is expired or not.
+ // For simplicity, we're directly returning the accessToken,
+ // but consider checking the token's validity first.
+ return _token?.accessToken;
+ }
+
/// Used to test implementation of get _client
@visibleForTesting
Future get authClient => _client;
diff --git a/packages/apptive_grid_core/pubspec.yaml b/packages/apptive_grid_core/pubspec.yaml
index d8d71566..9fba4c85 100644
--- a/packages/apptive_grid_core/pubspec.yaml
+++ b/packages/apptive_grid_core/pubspec.yaml
@@ -1,6 +1,6 @@
name: apptive_grid_core
description: Core Library for ApptiveGrid used to provide general ApptiveGrid functionality to other Packages or Apps
-version: 2.1.1
+version: 2.1.2
homepage: https://www.apptivegrid.de
repository: https://github.com/ApptiveGrid/apptive_grid_flutter/tree/main/packages/apptive_grid_core
@@ -11,7 +11,7 @@ environment:
dependencies:
collection: ^1.17.2
image: ^4.0.17
- intl: ^0.18.0
+ intl: ^0.19.0
http: '>=0.13.6 <2.0.0'
mime: ^1.0.4
provider: ^6.0.5
diff --git a/packages/apptive_grid_core/test/authenticator_test.dart b/packages/apptive_grid_core/test/authenticator_test.dart
index 46e97f64..c6c49de0 100644
--- a/packages/apptive_grid_core/test/authenticator_test.dart
+++ b/packages/apptive_grid_core/test/authenticator_test.dart
@@ -1276,6 +1276,28 @@ void main() {
});
});
+ group('Get User token', () {
+ test('Get Token returns token', () async {
+ final httpClient = MockHttpClient();
+ final agClient = MockApptiveGridClient();
+ when(() => agClient.options).thenReturn(const ApptiveGridOptions());
+ authenticator =
+ ApptiveGridAuthenticator(client: agClient, httpClient: httpClient);
+
+ final tokenTime = DateTime.now();
+ final tokenResponse = {
+ 'token_type': 'Bearer',
+ 'access_token': '12345',
+ 'expires_at': tokenTime.millisecondsSinceEpoch,
+ 'expires_in': tokenTime.microsecondsSinceEpoch,
+ };
+
+ await authenticator.setUserToken(tokenResponse);
+
+ expect(authenticator.getAuthToken(), tokenResponse['access_token']);
+ });
+ });
+
group('Authenticator', () {
final urlLauncher = MockUrlLauncher();
diff --git a/packages/apptive_grid_form/example/android/app/build.gradle b/packages/apptive_grid_form/example/android/app/build.gradle
index 30f63eb3..3fd0b298 100644
--- a/packages/apptive_grid_form/example/android/app/build.gradle
+++ b/packages/apptive_grid_form/example/android/app/build.gradle
@@ -1,3 +1,9 @@
+plugins {
+ id "com.android.application"
+ id "kotlin-android"
+ id "dev.flutter.flutter-gradle-plugin"
+}
+
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
@@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) {
}
}
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
- throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
-}
-
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
@@ -21,25 +22,17 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
android {
- compileSdkVersion 33
+ compileSdkVersion 34
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
- lintOptions {
- disable 'InvalidPackage'
- }
-
defaultConfig {
applicationId "de.zweidenker.example"
- minSdkVersion 20
- targetSdkVersion 33
+ minSdkVersion flutter.minSdkVersion
+ targetSdkVersion 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
@@ -55,7 +48,3 @@ android {
flutter {
source '../..'
}
-
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-}
diff --git a/packages/apptive_grid_form/example/android/build.gradle b/packages/apptive_grid_form/example/android/build.gradle
index 36afcedd..b4d3a587 100644
--- a/packages/apptive_grid_form/example/android/build.gradle
+++ b/packages/apptive_grid_form/example/android/build.gradle
@@ -1,17 +1,3 @@
-buildscript {
- ext.kotlin_version = '1.8.0'
- repositories {
- google()
- mavenCentral()
- jcenter()
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:7.4.2'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
allprojects {
repositories {
google()
@@ -21,7 +7,28 @@ allprojects {
}
rootProject.buildDir = '../build'
+
subprojects {
+ afterEvaluate { project ->
+ if (project.extensions.findByName("android") != null) {
+ Integer pluginCompileSdk = project.android.compileSdk
+ if (pluginCompileSdk != null && pluginCompileSdk < 31) {
+ project.logger.error(
+ "Warning: Overriding compileSdk version in Flutter plugin: "
+ + project.name
+ + " from "
+ + pluginCompileSdk
+ + " to 31 (to work around https://issuetracker.google.com/issues/199180389)."
+ + "\nIf there is not a new version of " + project.name + ", consider filing an issue against "
+ + project.name
+ + " to increase their compileSdk to the latest (otherwise try updating to the latest version)."
+ )
+ project.android {
+ compileSdk 31
+ }
+ }
+ }
+ }
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
diff --git a/packages/apptive_grid_form/example/android/settings.gradle b/packages/apptive_grid_form/example/android/settings.gradle
index 44e62bcf..b3bf9755 100644
--- a/packages/apptive_grid_form/example/android/settings.gradle
+++ b/packages/apptive_grid_form/example/android/settings.gradle
@@ -1,11 +1,26 @@
-include ':app'
+pluginManagement {
+ def flutterSdkPath = {
+ def properties = new Properties()
+ file("local.properties").withInputStream { properties.load(it) }
+ def flutterSdkPath = properties.getProperty("flutter.sdk")
+ assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+ return flutterSdkPath
+ }
+ settings.ext.flutterSdkPath = flutterSdkPath()
-def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
-def properties = new Properties()
+ includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
-assert localPropertiesFile.exists()
-localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
-def flutterSdkPath = properties.getProperty("flutter.sdk")
-assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
-apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+plugins {
+ id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+ id "com.android.application" version "7.4.2" apply false
+ id "org.jetbrains.kotlin.android" version "1.8.0" apply false
+}
+
+include ":app"
diff --git a/packages/apptive_grid_form/example/ios/Flutter/AppFrameworkInfo.plist b/packages/apptive_grid_form/example/ios/Flutter/AppFrameworkInfo.plist
index 4f8d4d24..8c6e5614 100644
--- a/packages/apptive_grid_form/example/ios/Flutter/AppFrameworkInfo.plist
+++ b/packages/apptive_grid_form/example/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 11.0
+ 12.0
diff --git a/packages/apptive_grid_form/example/ios/Podfile b/packages/apptive_grid_form/example/ios/Podfile
index 70c7f791..eca9f999 100644
--- a/packages/apptive_grid_form/example/ios/Podfile
+++ b/packages/apptive_grid_form/example/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-# platform :ios, '11.0'
+platform :ios, '14.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
diff --git a/packages/apptive_grid_form/example/ios/Podfile.lock b/packages/apptive_grid_form/example/ios/Podfile.lock
index 907bb120..7a27510b 100644
--- a/packages/apptive_grid_form/example/ios/Podfile.lock
+++ b/packages/apptive_grid_form/example/ios/Podfile.lock
@@ -1,33 +1,33 @@
PODS:
- - DKImagePickerController/Core (4.3.4):
+ - DKImagePickerController/Core (4.3.9):
- DKImagePickerController/ImageDataManager
- DKImagePickerController/Resource
- - DKImagePickerController/ImageDataManager (4.3.4)
- - DKImagePickerController/PhotoGallery (4.3.4):
+ - DKImagePickerController/ImageDataManager (4.3.9)
+ - DKImagePickerController/PhotoGallery (4.3.9):
- DKImagePickerController/Core
- DKPhotoGallery
- - DKImagePickerController/Resource (4.3.4)
- - DKPhotoGallery (0.0.17):
- - DKPhotoGallery/Core (= 0.0.17)
- - DKPhotoGallery/Model (= 0.0.17)
- - DKPhotoGallery/Preview (= 0.0.17)
- - DKPhotoGallery/Resource (= 0.0.17)
+ - DKImagePickerController/Resource (4.3.9)
+ - DKPhotoGallery (0.0.19):
+ - DKPhotoGallery/Core (= 0.0.19)
+ - DKPhotoGallery/Model (= 0.0.19)
+ - DKPhotoGallery/Preview (= 0.0.19)
+ - DKPhotoGallery/Resource (= 0.0.19)
- SDWebImage
- SwiftyGif
- - DKPhotoGallery/Core (0.0.17):
+ - DKPhotoGallery/Core (0.0.19):
- DKPhotoGallery/Model
- DKPhotoGallery/Preview
- SDWebImage
- SwiftyGif
- - DKPhotoGallery/Model (0.0.17):
+ - DKPhotoGallery/Model (0.0.19):
- SDWebImage
- SwiftyGif
- - DKPhotoGallery/Preview (0.0.17):
+ - DKPhotoGallery/Preview (0.0.19):
- DKPhotoGallery/Model
- DKPhotoGallery/Resource
- SDWebImage
- SwiftyGif
- - DKPhotoGallery/Resource (0.0.17):
+ - DKPhotoGallery/Resource (0.0.19):
- SDWebImage
- SwiftyGif
- file_picker (0.0.1):
@@ -40,13 +40,16 @@ PODS:
- Flutter
- geolocator_apple (1.2.0):
- Flutter
+ - Google-Maps-iOS-Utils (5.0.0):
+ - GoogleMaps (~> 8.0)
- google_maps_flutter_ios (0.0.1):
- Flutter
- - GoogleMaps (< 8.0)
- - GoogleMaps (5.2.0):
- - GoogleMaps/Maps (= 5.2.0)
- - GoogleMaps/Base (5.2.0)
- - GoogleMaps/Maps (5.2.0):
+ - Google-Maps-iOS-Utils (< 7.0, >= 5.0)
+ - GoogleMaps (< 10.0, >= 8.4)
+ - GoogleMaps (8.4.0):
+ - GoogleMaps/Maps (= 8.4.0)
+ - GoogleMaps/Base (8.4.0)
+ - GoogleMaps/Maps (8.4.0):
- GoogleMaps/Base
- image_picker_ios (0.0.1):
- Flutter
@@ -55,10 +58,10 @@ PODS:
- FlutterMacOS
- permission_handler_apple (9.1.1):
- Flutter
- - SDWebImage (5.15.5):
- - SDWebImage/Core (= 5.15.5)
- - SDWebImage/Core (5.15.5)
- - SwiftyGif (5.4.4)
+ - SDWebImage (5.20.0):
+ - SDWebImage/Core (= 5.20.0)
+ - SDWebImage/Core (5.20.0)
+ - SwiftyGif (5.4.5)
- uni_links (0.0.1):
- Flutter
- url_launcher_ios (0.0.1):
@@ -81,6 +84,7 @@ SPEC REPOS:
trunk:
- DKImagePickerController
- DKPhotoGallery
+ - Google-Maps-iOS-Utils
- GoogleMaps
- SDWebImage
- SwiftyGif
@@ -110,23 +114,24 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS:
- DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
- DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
+ DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
+ DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
file_picker: ce3938a0df3cc1ef404671531facef740d03f920
- Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
+ Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069
- flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
- geolocator_apple: cc556e6844d508c95df1e87e3ea6fa4e58c50401
- google_maps_flutter_ios: abdac20d6ce8931f6ebc5f46616df241bfaa2cfd
- GoogleMaps: 025272d5876d3b32604e5c080dc25eaf68764693
- image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
- path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
+ flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
+ geolocator_apple: 6cbaf322953988e009e5ecb481f07efece75c450
+ Google-Maps-iOS-Utils: 66d6de12be1ce6d3742a54661e7a79cb317a9321
+ google_maps_flutter_ios: e31555a04d1986ab130f2b9f24b6cdc861acc6d3
+ GoogleMaps: 8939898920281c649150e0af74aa291c60f2e77d
+ image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1
+ path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6
- SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe
- SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
+ SDWebImage: 73c6079366fea25fa4bb9640d5fb58f0893facd8
+ SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
- url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
+ url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
-PODFILE CHECKSUM: 983c22469d83a498881b946c3fe0b41634063e38
+PODFILE CHECKSUM: 7cdf18e302effc70d06dbbea93ac6dc7af5cb1e9
-COCOAPODS: 1.13.0
+COCOAPODS: 1.15.2
diff --git a/packages/apptive_grid_form/example/ios/Runner.xcodeproj/project.pbxproj b/packages/apptive_grid_form/example/ios/Runner.xcodeproj/project.pbxproj
index 9402b230..10fa3659 100644
--- a/packages/apptive_grid_form/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/packages/apptive_grid_form/example/ios/Runner.xcodeproj/project.pbxproj
@@ -76,7 +76,6 @@
F5AE1F19BC8AFCE273C2C49A /* Pods-Runner.release.xcconfig */,
B99B05BE4CEF0FF67BD3C223 /* Pods-Runner.profile.xcconfig */,
);
- name = Pods;
path = Pods;
sourceTree = "";
};
@@ -157,7 +156,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1430;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -361,7 +360,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -383,6 +382,7 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -446,7 +446,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -495,7 +495,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -518,6 +518,7 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -548,6 +549,7 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
diff --git a/packages/apptive_grid_form/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/apptive_grid_form/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index b52b2e69..e67b2808 100644
--- a/packages/apptive_grid_form/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/packages/apptive_grid_form/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
{
if (pages != null && pages.length > 1) {
return PopScope(
canPop: _pageController.hasClients && (_pageController.page ?? 0) == 0,
- onPopInvoked: (_) {
+ onPopInvokedWithResult: (bool didPop, Object? result) async {
if ((_pageController.page ?? 0) > 0) {
_pageController.previousPage(
duration: const Duration(milliseconds: 300),
diff --git a/packages/apptive_grid_form/pubspec.yaml b/packages/apptive_grid_form/pubspec.yaml
index cd1f92a3..7fca1daa 100644
--- a/packages/apptive_grid_form/pubspec.yaml
+++ b/packages/apptive_grid_form/pubspec.yaml
@@ -14,15 +14,15 @@ dependencies:
file_picker: ^5.2.11
flutter:
sdk: flutter
- flutter_svg: ^2.0.5
+ flutter_svg: ^2.0.10
flutter_typeahead: ^4.3.8
geolocator: ^10.0.1
- google_maps_flutter: ^2.2.6
- google_maps_flutter_platform_interface: ^2.2.6
+ google_maps_flutter: ^2.9.0
+ google_maps_flutter_platform_interface: ^2.9.0
hand_signature: ^3.0.1
http: '>=0.13.6 <2.0.0'
image_picker: ^1.0.4
- intl: ^0.18.0
+ intl: ^0.19.0
linked_scroll_controller: ^0.2.0
lottie: ^2.3.2
permission_handler: ^11.0.1
@@ -37,8 +37,8 @@ dev_dependencies:
sdk: flutter
image_picker_platform_interface: ^2.6.3
pedantic: ^1.11.1
- mocktail: ^1.0.1
- mocktail_image_network: ^1.0.0
+ mocktail: ^1.0.3
+ mocktail_image_network: ^1.1.0
plugin_platform_interface: ^2.1.4
flutter_test:
sdk: flutter
diff --git a/packages/apptive_grid_form/test/geolocation_form_widget_test.dart b/packages/apptive_grid_form/test/geolocation_form_widget_test.dart
index 37192d65..7c12d91a 100644
--- a/packages/apptive_grid_form/test/geolocation_form_widget_test.dart
+++ b/packages/apptive_grid_form/test/geolocation_form_widget_test.dart
@@ -24,6 +24,8 @@ void main() {
registerFallbackValue(CircleUpdates.from(const {}, const {}));
registerFallbackValue(PolygonUpdates.from(const {}, const {}));
registerFallbackValue(PolylineUpdates.from(const {}, const {}));
+ registerFallbackValue(ClusterManagerUpdates.from(const {}, const {}));
+ registerFallbackValue(HeatmapUpdates.from(const {}, const {}));
registerFallbackValue(CameraUpdate.newLatLng(const LatLng(0, 0)));
registerFallbackValue(
FormData(id: 'id', links: {}, title: '', components: [], fields: []),
@@ -854,25 +856,19 @@ void main() {
final initCompleter = Completer();
when(
- () => mockMap.buildViewWithTextDirection(
+ () => mockMap.buildViewWithConfiguration(
any(),
any(),
- initialCameraPosition: any(named: 'initialCameraPosition'),
- textDirection: any(named: 'textDirection'),
- markers: any(named: 'markers'),
- polygons: any(named: 'polygons'),
- polylines: any(named: 'polylines'),
- circles: any(named: 'circles'),
- tileOverlays: any(named: 'tileOverlays'),
- gestureRecognizers: any(named: 'gestureRecognizers'),
- mapOptions: any(named: 'mapOptions'),
+ widgetConfiguration: any(named: 'widgetConfiguration'),
+ mapConfiguration: any(named: 'mapConfiguration'),
+ mapObjects: any(named: 'mapObjects'),
),
).thenAnswer((invocation) {
if (!initCompleter.isCompleted) {
(invocation.positionalArguments[1] as Function(int))
.call(invocation.positionalArguments[0]);
}
- markers = invocation.namedArguments[const Symbol('markers')]
+ markers = invocation.namedArguments[const Symbol('mapObjects')].markers
.map((e) => (e as Marker).markerId)
.toSet();
return Container();
@@ -890,10 +886,8 @@ void main() {
(invocation.positionalArguments[1] as Function(int))
.call(invocation.positionalArguments[0]);
}
- markers = (invocation.namedArguments[const Symbol('mapObjects')]
- as MapObjects)
- .markers
- .map((e) => e.markerId)
+ markers = invocation.namedArguments[const Symbol('mapObjects')].markers
+ .map((e) => (e as Marker).markerId)
.toSet();
return Container();
});
@@ -938,6 +932,14 @@ void main() {
final circleTapStream = StreamController.broadcast();
when(() => mockMap.onCircleTap(mapId: any(named: 'mapId')))
.thenAnswer((_) => circleTapStream.stream);
+ final clusterTapStream = StreamController.broadcast();
+ when(() => mockMap.onClusterTap(mapId: any(named: 'mapId')))
+ .thenAnswer((_) => clusterTapStream.stream);
+ when(
+ () => mockMap.updateClusterManagers(any(), mapId: any(named: 'mapId')),
+ ).thenAnswer((_) async {});
+ when(() => mockMap.updateHeatmaps(any(), mapId: any(named: 'mapId')))
+ .thenAnswer((_) async {});
when(
() => mockMap.updateTileOverlays(
@@ -945,8 +947,9 @@ void main() {
mapId: any(named: 'mapId'),
),
).thenAnswer((_) async {});
- when(() => mockMap.updateMapOptions(any(), mapId: any(named: 'mapId')))
- .thenAnswer((_) async {});
+ when(
+ () => mockMap.updateMapConfiguration(any(), mapId: any(named: 'mapId')),
+ ).thenAnswer((_) async {});
when(() => mockMap.updateMarkers(any(), mapId: any(named: 'mapId')))
.thenAnswer((_) async {});
when(() => mockMap.updateCircles(any(), mapId: any(named: 'mapId')))
diff --git a/packages/apptive_grid_form/test/svg_loader_test.dart b/packages/apptive_grid_form/test/svg_loader_test.dart
new file mode 100644
index 00000000..723fc4d6
--- /dev/null
+++ b/packages/apptive_grid_form/test/svg_loader_test.dart
@@ -0,0 +1,106 @@
+import 'dart:typed_data';
+
+import 'package:apptive_grid_form/apptive_grid_form.dart';
+import 'package:apptive_grid_form/src/widgets/attachment/thumbnail.dart';
+import 'package:flutter_svg/flutter_svg.dart';
+import 'package:flutter_test/flutter_test.dart';
+import 'package:mocktail/mocktail.dart';
+
+// Mock classes
+class MockAttachment extends Mock implements Attachment {}
+
+class MockAddAttachmentAction extends Mock implements AddAttachmentAction {}
+
+void main() {
+ group('SvgLoaderFactory Tests', () {
+ test(
+ 'returns SvgNetworkLoader when only Attachment with largeThumbnailUri is provided',
+ () {
+ final attachment = Attachment(
+ name: 'svg',
+ url: Uri(path: '/uri'),
+ largeThumbnail: Uri(path: '/largeThumbnailUri'),
+ type: 'image/svg',
+ );
+
+ final loader = SvgLoaderFactory.getLoader(attachment: attachment);
+
+ expect(loader, isA());
+ expect((loader as SvgNetworkLoader).url, '/largeThumbnailUri');
+ });
+
+ test(
+ 'returns SvgNetworkLoader when only Attachment with smallThumbnail is provided',
+ () {
+ final attachment = Attachment(
+ name: 'svg',
+ url: Uri(path: '/uri'),
+ smallThumbnail: Uri(path: '/smallThumbnail'),
+ type: 'image/svg',
+ );
+
+ final loader = SvgLoaderFactory.getLoader(attachment: attachment);
+
+ expect(loader, isA());
+ expect((loader as SvgNetworkLoader).url, '/smallThumbnail');
+ });
+
+ test('returns SvgNetworkLoader when only Attachment with uri is provided',
+ () {
+ final attachment = Attachment(
+ name: 'svg',
+ url: Uri(path: '/uri'),
+ type: 'image/svg',
+ );
+
+ final loader = SvgLoaderFactory.getLoader(attachment: attachment);
+
+ expect(loader, isA());
+ expect((loader as SvgNetworkLoader).url, '/uri');
+ });
+
+ test('returns SvgFileLoader when AddAttachmentAction with path is provided',
+ () {
+ final attachment = Attachment(
+ name: 'svg',
+ url: Uri(path: '/uri'),
+ largeThumbnail: Uri(path: '/largeThumbnailUri'),
+ type: 'image/svg',
+ );
+ final action =
+ AddAttachmentAction(path: 'path/to/file.svg', attachment: attachment);
+
+ final loader = SvgLoaderFactory.getLoader(addAttachmentAction: action);
+
+ expect(loader, isA());
+ });
+
+ test(
+ 'returns SvgBytesLoader when AddAttachmentAction with byteData is provided',
+ () {
+ final attachment = Attachment(
+ name: 'svg',
+ url: Uri(path: '/uri'),
+ largeThumbnail: Uri(path: '/largeThumbnailUri'),
+ type: 'image/svg',
+ );
+ final action = AddAttachmentAction(
+ byteData: Uint8List(10),
+ attachment: attachment,
+ ); // Example byte data
+
+ final loader = SvgLoaderFactory.getLoader(addAttachmentAction: action);
+
+ expect(loader, isA());
+ });
+
+ test('returns provided SvgLoader when SvgLoader is explicitly provided',
+ () {
+ final svgLoader = SvgBytesLoader(Uint8List(10)); // Example SVG loader
+
+ final loader = SvgLoaderFactory.getLoader(svgLoader: svgLoader);
+
+ expect(loader, svgLoader);
+ });
+ });
+}
diff --git a/packages/apptive_grid_form/test/thumbnail_test.dart b/packages/apptive_grid_form/test/thumbnail_test.dart
index 02812aba..4625fb8c 100644
--- a/packages/apptive_grid_form/test/thumbnail_test.dart
+++ b/packages/apptive_grid_form/test/thumbnail_test.dart
@@ -1,5 +1,6 @@
import 'dart:convert';
import 'dart:io';
+import 'dart:typed_data';
import 'package:apptive_grid_core/apptive_grid_core.dart';
import 'package:apptive_grid_form/src/widgets/attachment/thumbnail.dart';
@@ -10,6 +11,50 @@ import 'package:mocktail/mocktail.dart';
import 'common.dart';
import 'util/mocktail_custom_image_network.dart';
+import 'package:http/http.dart' as http;
+
+// Create a mock class for SvgLoader using mocktail
+
+class TestLoader extends SvgNetworkLoader {
+ const TestLoader({
+ required String url,
+ this.keyName = 'A',
+ SvgTheme? theme,
+ ColorMapper? colorMapper,
+ }) : super(
+ url,
+ theme: theme,
+ colorMapper: colorMapper,
+ );
+ final String keyName;
+
+ @override
+ String provideSvg(Uint8List? message) {
+ return '';
+ }
+
+ @override
+ SvgCacheKey cacheKey(BuildContext? context) {
+ return SvgCacheKey(
+ theme: getTheme(context),
+ colorMapper: colorMapper,
+ keyData: keyName,
+ );
+ }
+}
+
+class _FakeHttpClient extends Fake implements http.Client {
+ @override
+ Future get(Uri url, {Map? headers}) async {
+ return http.Response(_svgStr, 200);
+ }
+}
+
+const String _svgStr = '''
+
+''';
void main() {
group('Files', () {
@@ -181,93 +226,31 @@ void main() {
group('SVG Images', () {
testWidgets('Shows image from url', (tester) async {
- await mockNetworkImages(
- image:
- '''PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyI+CjxwYXRoIGZpbGw9IiMwRkZGMDAiIHN0cm9rZT0iIzBGMEYwMCIgc3Ryb2tlLXdpZHRoPSIwIiBkPSJtNCw0djloOVY0eiIvPgo8L3N2Zz4=''',
- () async {
- final target = MaterialApp(
- home: SizedBox(
- width: 70,
- height: 70,
- child: Thumbnail(
- attachment: Attachment(
- name: 'svg',
- url: Uri(path: '/uri'),
- type: 'image/svg',
- ),
- ),
- ),
- );
-
- await tester.pumpWidget(target);
-
- final imageUrl =
- ((find.byType(SvgPicture).evaluate().first.widget as SvgPicture)
- .bytesLoader as SvgNetworkLoader)
- .url;
- expect(imageUrl, '/uri');
- });
- });
+ final http.Client fakeClient = _FakeHttpClient();
+ final mockSvgLoader = SvgNetworkLoader('/uri', httpClient: fakeClient);
- testWidgets('Shows image from large thumbnail', (tester) async {
- await mockNetworkImages(
- image:
- '''PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyI+CjxwYXRoIGZpbGw9IiMwRkZGMDAiIHN0cm9rZT0iIzBGMEYwMCIgc3Ryb2tlLXdpZHRoPSIwIiBkPSJtNCw0djloOVY0eiIvPgo8L3N2Zz4=''',
- () async {
- final target = MaterialApp(
- home: SizedBox(
- width: 70,
- height: 70,
- child: Thumbnail(
- attachment: Attachment(
- name: 'svg',
- url: Uri(path: '/uri'),
- largeThumbnail: Uri(path: '/largeThumbnailUri'),
- type: 'image/svg',
- ),
- ),
- ),
- );
-
- await tester.pumpWidget(target);
-
- final imageUrl =
- ((find.byType(SvgPicture).evaluate().first.widget as SvgPicture)
- .bytesLoader as SvgNetworkLoader)
- .url;
- expect(imageUrl, '/largeThumbnailUri');
- });
- });
-
- testWidgets('Shows image from small thumbnail', (tester) async {
- await mockNetworkImages(
- image:
- '''PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyI+CjxwYXRoIGZpbGw9IiMwRkZGMDAiIHN0cm9rZT0iIzBGMEYwMCIgc3Ryb2tlLXdpZHRoPSIwIiBkPSJtNCw0djloOVY0eiIvPgo8L3N2Zz4=''',
- () async {
- final target = MaterialApp(
- home: SizedBox(
- width: 70,
- height: 70,
- child: Thumbnail(
- attachment: Attachment(
- name: 'svg',
- url: Uri(path: '/uri'),
- largeThumbnail: Uri(path: '/largeThumbnailUri'),
- smallThumbnail: Uri(path: '/smallThumbnailUri'),
- type: 'image/svg',
- ),
+ final target = MaterialApp(
+ home: SizedBox(
+ width: 70,
+ height: 70,
+ child: Thumbnail(
+ attachment: Attachment(
+ name: 'svg',
+ url: Uri(path: '/uri'),
+ type: 'image/svg',
),
+ svgLoader: mockSvgLoader,
),
- );
+ ),
+ );
- await tester.pumpWidget(target);
+ await tester.pumpWidget(target);
- final imageUrl =
- ((find.byType(SvgPicture).evaluate().first.widget as SvgPicture)
- .bytesLoader as SvgNetworkLoader)
- .url;
- expect(imageUrl, '/smallThumbnailUri');
- });
+ final imageUrl =
+ ((find.byType(SvgPicture).evaluate().first.widget as SvgPicture)
+ .bytesLoader as SvgNetworkLoader)
+ .url;
+ expect(imageUrl, '/uri');
});
group('Add Attachment', () {
diff --git a/packages/apptive_grid_grid_builder/example/android/app/build.gradle b/packages/apptive_grid_grid_builder/example/android/app/build.gradle
index 4caff4e9..3fd0b298 100644
--- a/packages/apptive_grid_grid_builder/example/android/app/build.gradle
+++ b/packages/apptive_grid_grid_builder/example/android/app/build.gradle
@@ -1,3 +1,9 @@
+plugins {
+ id "com.android.application"
+ id "kotlin-android"
+ id "dev.flutter.flutter-gradle-plugin"
+}
+
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
@@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) {
}
}
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
- throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
-}
-
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
@@ -21,25 +22,17 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
android {
- compileSdkVersion 33
+ compileSdkVersion 34
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
- lintOptions {
- disable 'InvalidPackage'
- }
-
defaultConfig {
- applicationId "com.example.example"
- minSdkVersion 18
- targetSdkVersion 33
+ applicationId "de.zweidenker.example"
+ minSdkVersion flutter.minSdkVersion
+ targetSdkVersion 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
@@ -55,7 +48,3 @@ android {
flutter {
source '../..'
}
-
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-}
diff --git a/packages/apptive_grid_grid_builder/example/android/build.gradle b/packages/apptive_grid_grid_builder/example/android/build.gradle
index 36afcedd..941f2563 100644
--- a/packages/apptive_grid_grid_builder/example/android/build.gradle
+++ b/packages/apptive_grid_grid_builder/example/android/build.gradle
@@ -1,17 +1,3 @@
-buildscript {
- ext.kotlin_version = '1.8.0'
- repositories {
- google()
- mavenCentral()
- jcenter()
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:7.4.2'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
allprojects {
repositories {
google()
@@ -22,6 +8,26 @@ allprojects {
rootProject.buildDir = '../build'
subprojects {
+ afterEvaluate { project ->
+ if (project.extensions.findByName("android") != null) {
+ Integer pluginCompileSdk = project.android.compileSdk
+ if (pluginCompileSdk != null && pluginCompileSdk < 31) {
+ project.logger.error(
+ "Warning: Overriding compileSdk version in Flutter plugin: "
+ + project.name
+ + " from "
+ + pluginCompileSdk
+ + " to 31 (to work around https://issuetracker.google.com/issues/199180389)."
+ + "\nIf there is not a new version of " + project.name + ", consider filing an issue against "
+ + project.name
+ + " to increase their compileSdk to the latest (otherwise try updating to the latest version)."
+ )
+ project.android {
+ compileSdk 31
+ }
+ }
+ }
+ }
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
diff --git a/packages/apptive_grid_grid_builder/example/android/settings.gradle b/packages/apptive_grid_grid_builder/example/android/settings.gradle
index 44e62bcf..b3bf9755 100644
--- a/packages/apptive_grid_grid_builder/example/android/settings.gradle
+++ b/packages/apptive_grid_grid_builder/example/android/settings.gradle
@@ -1,11 +1,26 @@
-include ':app'
+pluginManagement {
+ def flutterSdkPath = {
+ def properties = new Properties()
+ file("local.properties").withInputStream { properties.load(it) }
+ def flutterSdkPath = properties.getProperty("flutter.sdk")
+ assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+ return flutterSdkPath
+ }
+ settings.ext.flutterSdkPath = flutterSdkPath()
-def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
-def properties = new Properties()
+ includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
-assert localPropertiesFile.exists()
-localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
-def flutterSdkPath = properties.getProperty("flutter.sdk")
-assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
-apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+plugins {
+ id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+ id "com.android.application" version "7.4.2" apply false
+ id "org.jetbrains.kotlin.android" version "1.8.0" apply false
+}
+
+include ":app"
diff --git a/packages/apptive_grid_grid_builder/example/ios/Flutter/AppFrameworkInfo.plist b/packages/apptive_grid_grid_builder/example/ios/Flutter/AppFrameworkInfo.plist
index 4f8d4d24..8c6e5614 100644
--- a/packages/apptive_grid_grid_builder/example/ios/Flutter/AppFrameworkInfo.plist
+++ b/packages/apptive_grid_grid_builder/example/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 11.0
+ 12.0
diff --git a/packages/apptive_grid_grid_builder/example/ios/Podfile b/packages/apptive_grid_grid_builder/example/ios/Podfile
index 88359b22..0b62d79e 100644
--- a/packages/apptive_grid_grid_builder/example/ios/Podfile
+++ b/packages/apptive_grid_grid_builder/example/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-# platform :ios, '11.0'
+platform :ios, '14.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
diff --git a/packages/apptive_grid_grid_builder/example/ios/Podfile.lock b/packages/apptive_grid_grid_builder/example/ios/Podfile.lock
index 6cb02ecc..ca07f244 100644
--- a/packages/apptive_grid_grid_builder/example/ios/Podfile.lock
+++ b/packages/apptive_grid_grid_builder/example/ios/Podfile.lock
@@ -30,12 +30,12 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS:
- Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
- flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
- path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
+ Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
+ flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
+ path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
- url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
+ url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
-PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
+PODFILE CHECKSUM: fe5e039928e08cc3aa55730590fe5577354d32d2
-COCOAPODS: 1.13.0
+COCOAPODS: 1.15.2
diff --git a/packages/apptive_grid_grid_builder/example/ios/Runner.xcodeproj/project.pbxproj b/packages/apptive_grid_grid_builder/example/ios/Runner.xcodeproj/project.pbxproj
index 7e10010d..462a52b4 100644
--- a/packages/apptive_grid_grid_builder/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/packages/apptive_grid_grid_builder/example/ios/Runner.xcodeproj/project.pbxproj
@@ -113,7 +113,6 @@
1DD75626F7CDB1BE49583F93 /* Pods-Runner.release.xcconfig */,
AE712BAD9C30F328E0B10DB6 /* Pods-Runner.profile.xcconfig */,
);
- name = Pods;
path = Pods;
sourceTree = "";
};
@@ -156,7 +155,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1430;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -343,7 +342,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -365,7 +364,11 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
@@ -425,7 +428,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -474,7 +477,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -497,7 +500,11 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
@@ -524,7 +531,11 @@
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ IPHONEOS_DEPLOYMENT_TARGET = 14.0;
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
diff --git a/packages/apptive_grid_grid_builder/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/apptive_grid_grid_builder/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index b52b2e69..e67b2808 100644
--- a/packages/apptive_grid_grid_builder/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/packages/apptive_grid_grid_builder/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
(
- (Set states) {
- if (states.contains(MaterialState.disabled)) {
+ fillColor:
+ WidgetStateProperty.resolveWith((Set states) {
+ if (states.contains(WidgetState.disabled)) {
return null;
}
- if (states.contains(MaterialState.selected)) {
+ if (states.contains(WidgetState.selected)) {
return colorScheme.primary;
}
return null;
}),
),
radioTheme: RadioThemeData(
- fillColor: MaterialStateProperty.resolveWith(
- (Set states) {
- if (states.contains(MaterialState.disabled)) {
+ fillColor:
+ WidgetStateProperty.resolveWith((Set states) {
+ if (states.contains(WidgetState.disabled)) {
return null;
}
- if (states.contains(MaterialState.selected)) {
+ if (states.contains(WidgetState.selected)) {
return colorScheme.primary;
}
return null;
}),
),
switchTheme: SwitchThemeData(
- thumbColor: MaterialStateProperty.resolveWith(
- (Set states) {
- if (states.contains(MaterialState.disabled)) {
+ thumbColor:
+ WidgetStateProperty.resolveWith((Set states) {
+ if (states.contains(WidgetState.disabled)) {
return null;
}
- if (states.contains(MaterialState.selected)) {
+ if (states.contains(WidgetState.selected)) {
return colorScheme.primary;
}
return null;
}),
- trackColor: MaterialStateProperty.resolveWith(
- (Set states) {
- if (states.contains(MaterialState.disabled)) {
+ trackColor:
+ WidgetStateProperty.resolveWith((Set states) {
+ if (states.contains(WidgetState.disabled)) {
return null;
}
- if (states.contains(MaterialState.selected)) {
+ if (states.contains(WidgetState.selected)) {
return colorScheme.primary;
}
return null;
}),
),
+ listTileTheme: baseTheme.listTileTheme.copyWith(
+ titleTextStyle: baseTheme.textTheme.titleMedium,
+ ),
);
}
@@ -276,7 +290,7 @@ class ApptiveGridTheme {
),
titleSmall: TextStyle(
fontSize: 14,
- fontWeight: FontWeight.w500,
+ fontWeight: FontWeight.w400,
package: fontPackage,
),
bodyLarge: TextStyle(
@@ -324,8 +338,8 @@ class ApptiveGridTheme {
);
}
- Color _resolveButtonColor(Set states) {
- if (states.contains(MaterialState.disabled)) {
+ Color _resolveButtonColor(Set states) {
+ if (states.contains(WidgetState.disabled)) {
return ApptiveGridColors.lightGrey.withOpacity(
_withBrightness(
light: 0.3,
diff --git a/packages/apptive_grid_theme/test/src/apptive_grid_theme_test.dart b/packages/apptive_grid_theme/test/src/apptive_grid_theme_test.dart
index de4103a6..2d0486b4 100644
--- a/packages/apptive_grid_theme/test/src/apptive_grid_theme_test.dart
+++ b/packages/apptive_grid_theme/test/src/apptive_grid_theme_test.dart
@@ -480,7 +480,7 @@ void main() {
fileName: 'progress_indicator',
scenarios: {
'Circular': const CircularProgressIndicator(
- value: 0.5,
+ value: 0.0,
),
'Linear': const LinearProgressIndicator(
value: 0.5,
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/alert_dialog.png b/packages/apptive_grid_theme/test/src/goldens/ci/alert_dialog.png
index 8c75f887..0f7d84c3 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/alert_dialog.png and b/packages/apptive_grid_theme/test/src/goldens/ci/alert_dialog.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/app_bar.png b/packages/apptive_grid_theme/test/src/goldens/ci/app_bar.png
index 9adae7d1..da6ef60c 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/app_bar.png and b/packages/apptive_grid_theme/test/src/goldens/ci/app_bar.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/apptive-grid-colors.png b/packages/apptive_grid_theme/test/src/goldens/ci/apptive-grid-colors.png
index e8200602..2907713e 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/apptive-grid-colors.png and b/packages/apptive_grid_theme/test/src/goldens/ci/apptive-grid-colors.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/apptive-grid-icons.png b/packages/apptive_grid_theme/test/src/goldens/ci/apptive-grid-icons.png
index f3ea9815..a0fca48c 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/apptive-grid-icons.png and b/packages/apptive_grid_theme/test/src/goldens/ci/apptive-grid-icons.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/bottom_navigation_bar.png b/packages/apptive_grid_theme/test/src/goldens/ci/bottom_navigation_bar.png
index 6028e053..1453dd4c 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/bottom_navigation_bar.png and b/packages/apptive_grid_theme/test/src/goldens/ci/bottom_navigation_bar.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/buttons.png b/packages/apptive_grid_theme/test/src/goldens/ci/buttons.png
index 547533e9..788b9a6a 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/buttons.png and b/packages/apptive_grid_theme/test/src/goldens/ci/buttons.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/card.png b/packages/apptive_grid_theme/test/src/goldens/ci/card.png
index 334fe36e..7e02542b 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/card.png and b/packages/apptive_grid_theme/test/src/goldens/ci/card.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/checkbox.png b/packages/apptive_grid_theme/test/src/goldens/ci/checkbox.png
index 269d49de..97cbdffe 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/checkbox.png and b/packages/apptive_grid_theme/test/src/goldens/ci/checkbox.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/chips.png b/packages/apptive_grid_theme/test/src/goldens/ci/chips.png
index 89fff5cb..99a18740 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/chips.png and b/packages/apptive_grid_theme/test/src/goldens/ci/chips.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/divider.png b/packages/apptive_grid_theme/test/src/goldens/ci/divider.png
index 7cc90c61..d5cc7ffa 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/divider.png and b/packages/apptive_grid_theme/test/src/goldens/ci/divider.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/list_tile.png b/packages/apptive_grid_theme/test/src/goldens/ci/list_tile.png
index 4b1dc0dc..5bdeb34b 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/list_tile.png and b/packages/apptive_grid_theme/test/src/goldens/ci/list_tile.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/progress_indicator.png b/packages/apptive_grid_theme/test/src/goldens/ci/progress_indicator.png
index 0e159698..94abd410 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/progress_indicator.png and b/packages/apptive_grid_theme/test/src/goldens/ci/progress_indicator.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/radio.png b/packages/apptive_grid_theme/test/src/goldens/ci/radio.png
index 25c11cba..6e86ad53 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/radio.png and b/packages/apptive_grid_theme/test/src/goldens/ci/radio.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/slider.png b/packages/apptive_grid_theme/test/src/goldens/ci/slider.png
index cc3a7be6..a0bd43cd 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/slider.png and b/packages/apptive_grid_theme/test/src/goldens/ci/slider.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/switch.png b/packages/apptive_grid_theme/test/src/goldens/ci/switch.png
index e4389413..8c84d2b9 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/switch.png and b/packages/apptive_grid_theme/test/src/goldens/ci/switch.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/tab_bar.png b/packages/apptive_grid_theme/test/src/goldens/ci/tab_bar.png
index 370efaf1..83238f18 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/tab_bar.png and b/packages/apptive_grid_theme/test/src/goldens/ci/tab_bar.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/text.png b/packages/apptive_grid_theme/test/src/goldens/ci/text.png
index cfabe358..03ba5625 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/text.png and b/packages/apptive_grid_theme/test/src/goldens/ci/text.png differ
diff --git a/packages/apptive_grid_theme/test/src/goldens/ci/text_field.png b/packages/apptive_grid_theme/test/src/goldens/ci/text_field.png
index 7d1c3f90..b4078121 100644
Binary files a/packages/apptive_grid_theme/test/src/goldens/ci/text_field.png and b/packages/apptive_grid_theme/test/src/goldens/ci/text_field.png differ
diff --git a/packages/apptive_grid_user_management/example/android/app/build.gradle b/packages/apptive_grid_user_management/example/android/app/build.gradle
index ee07a0ab..3fd0b298 100644
--- a/packages/apptive_grid_user_management/example/android/app/build.gradle
+++ b/packages/apptive_grid_user_management/example/android/app/build.gradle
@@ -1,3 +1,9 @@
+plugins {
+ id "com.android.application"
+ id "kotlin-android"
+ id "dev.flutter.flutter-gradle-plugin"
+}
+
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
@@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) {
}
}
-def flutterRoot = localProperties.getProperty('flutter.sdk')
-if (flutterRoot == null) {
- throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
-}
-
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
@@ -21,21 +22,8 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
android {
- compileSdkVersion 33
-
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-
- kotlinOptions {
- jvmTarget = '1.8'
- }
+ compileSdkVersion 34
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
@@ -43,8 +31,8 @@ android {
defaultConfig {
applicationId "de.zweidenker.example"
- minSdkVersion 18
- targetSdkVersion 33
+ minSdkVersion flutter.minSdkVersion
+ targetSdkVersion 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
@@ -60,7 +48,3 @@ android {
flutter {
source '../..'
}
-
-dependencies {
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-}
diff --git a/packages/apptive_grid_user_management/example/android/build.gradle b/packages/apptive_grid_user_management/example/android/build.gradle
index a7e96637..941f2563 100644
--- a/packages/apptive_grid_user_management/example/android/build.gradle
+++ b/packages/apptive_grid_user_management/example/android/build.gradle
@@ -1,25 +1,33 @@
-buildscript {
- ext.kotlin_version = '1.8.0'
- repositories {
- google()
- mavenCentral()\
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:7.4.2'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
allprojects {
repositories {
google()
mavenCentral()
+ jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
+ afterEvaluate { project ->
+ if (project.extensions.findByName("android") != null) {
+ Integer pluginCompileSdk = project.android.compileSdk
+ if (pluginCompileSdk != null && pluginCompileSdk < 31) {
+ project.logger.error(
+ "Warning: Overriding compileSdk version in Flutter plugin: "
+ + project.name
+ + " from "
+ + pluginCompileSdk
+ + " to 31 (to work around https://issuetracker.google.com/issues/199180389)."
+ + "\nIf there is not a new version of " + project.name + ", consider filing an issue against "
+ + project.name
+ + " to increase their compileSdk to the latest (otherwise try updating to the latest version)."
+ )
+ project.android {
+ compileSdk 31
+ }
+ }
+ }
+ }
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
diff --git a/packages/apptive_grid_user_management/example/android/settings.gradle b/packages/apptive_grid_user_management/example/android/settings.gradle
index 44e62bcf..b3bf9755 100644
--- a/packages/apptive_grid_user_management/example/android/settings.gradle
+++ b/packages/apptive_grid_user_management/example/android/settings.gradle
@@ -1,11 +1,26 @@
-include ':app'
+pluginManagement {
+ def flutterSdkPath = {
+ def properties = new Properties()
+ file("local.properties").withInputStream { properties.load(it) }
+ def flutterSdkPath = properties.getProperty("flutter.sdk")
+ assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+ return flutterSdkPath
+ }
+ settings.ext.flutterSdkPath = flutterSdkPath()
-def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
-def properties = new Properties()
+ includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
-assert localPropertiesFile.exists()
-localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
-def flutterSdkPath = properties.getProperty("flutter.sdk")
-assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
-apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+plugins {
+ id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+ id "com.android.application" version "7.4.2" apply false
+ id "org.jetbrains.kotlin.android" version "1.8.0" apply false
+}
+
+include ":app"
diff --git a/packages/apptive_grid_user_management/example/ios/Flutter/AppFrameworkInfo.plist b/packages/apptive_grid_user_management/example/ios/Flutter/AppFrameworkInfo.plist
index 9625e105..7c569640 100644
--- a/packages/apptive_grid_user_management/example/ios/Flutter/AppFrameworkInfo.plist
+++ b/packages/apptive_grid_user_management/example/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 11.0
+ 12.0
diff --git a/packages/apptive_grid_user_management/example/ios/Podfile b/packages/apptive_grid_user_management/example/ios/Podfile
index 88359b22..0b62d79e 100644
--- a/packages/apptive_grid_user_management/example/ios/Podfile
+++ b/packages/apptive_grid_user_management/example/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-# platform :ios, '11.0'
+platform :ios, '14.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
diff --git a/packages/apptive_grid_user_management/example/ios/Podfile.lock b/packages/apptive_grid_user_management/example/ios/Podfile.lock
index 6cb02ecc..ca07f244 100644
--- a/packages/apptive_grid_user_management/example/ios/Podfile.lock
+++ b/packages/apptive_grid_user_management/example/ios/Podfile.lock
@@ -30,12 +30,12 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS:
- Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
- flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be
- path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
+ Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
+ flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
+ path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
- url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
+ url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
-PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
+PODFILE CHECKSUM: fe5e039928e08cc3aa55730590fe5577354d32d2
-COCOAPODS: 1.13.0
+COCOAPODS: 1.15.2
diff --git a/packages/apptive_grid_user_management/example/ios/Runner.xcodeproj/project.pbxproj b/packages/apptive_grid_user_management/example/ios/Runner.xcodeproj/project.pbxproj
index 602901b9..4022ea81 100644
--- a/packages/apptive_grid_user_management/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/packages/apptive_grid_user_management/example/ios/Runner.xcodeproj/project.pbxproj
@@ -155,7 +155,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1430;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -342,7 +342,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -420,7 +420,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -469,7 +469,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 11.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
diff --git a/packages/apptive_grid_user_management/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/apptive_grid_user_management/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index a6b826db..5e31d3d3 100644
--- a/packages/apptive_grid_user_management/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/packages/apptive_grid_user_management/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
{
ApptiveGrid.getClient(context, listen: false)
.logout()
.then((_) {
- Navigator.of(context).pushReplacement(
- MaterialPageRoute(
- builder: (_) {
- return const LoginRegistrationPage();
- },
- ),
- );
+ if (context.mounted) {
+ Navigator.of(context).pushReplacement(
+ MaterialPageRoute(
+ builder: (_) {
+ return const LoginRegistrationPage();
+ },
+ ),
+ );
+ }
});
},
child: const Text('Logout'),
diff --git a/packages/apptive_grid_user_management/lib/src/delete_account.dart b/packages/apptive_grid_user_management/lib/src/delete_account.dart
index b8981440..c1bcc9db 100644
--- a/packages/apptive_grid_user_management/lib/src/delete_account.dart
+++ b/packages/apptive_grid_user_management/lib/src/delete_account.dart
@@ -158,7 +158,7 @@ class DeleteAccountState extends State {
});
if (deleted == true) {
widget.onAccountDeleted();
- if (mounted) {
+ if (context.mounted) {
Navigator.of(context).pop();
}
}
diff --git a/packages/apptive_grid_user_management/pubspec.yaml b/packages/apptive_grid_user_management/pubspec.yaml
index acbba4a3..e804067b 100644
--- a/packages/apptive_grid_user_management/pubspec.yaml
+++ b/packages/apptive_grid_user_management/pubspec.yaml
@@ -13,7 +13,7 @@ dependencies:
flutter:
sdk: flutter
http: '>=0.13.6 <2.0.0'
- intl: ^0.18.0
+ intl: ^0.19.0
password_rule_check: ^0.2.1
uni_links: ^0.5.1