diff --git a/example/android/.gitignore b/example/android/.gitignore index 6f56801..da1064a 100644 --- a/example/android/.gitignore +++ b/example/android/.gitignore @@ -11,3 +11,5 @@ GeneratedPluginRegistrant.java key.properties **/*.keystore **/*.jks + +app/.cxx diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 9dfbc7c..bff4dcf 100644 --- a/example/android/app/build.gradle +++ b/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,11 +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 { + namespace "com.example.saf_example" compileSdkVersion flutter.compileSdkVersion ndkVersion flutter.ndkVersion @@ -65,7 +63,3 @@ android { flutter { source '../..' } - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} diff --git a/example/android/build.gradle b/example/android/build.gradle index ea855b6..bc157bd 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -1,16 +1,3 @@ -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index cb24abd..5e6b542 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-7.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 44e62bc..446857b 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -1,11 +1,25 @@ -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 + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$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" // apply true + id "com.android.application" version "8.3.0" apply false + id "org.jetbrains.kotlin.android" version "1.8.10" apply false +} + +include ":app" \ No newline at end of file diff --git a/example/pubspec.lock b/example/pubspec.lock index fc78546..1f8ed0d 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -13,42 +13,42 @@ packages: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" characters: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" clock: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" collection: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" cupertino_icons: dependency: "direct main" description: @@ -69,10 +69,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" flutter: dependency: "direct main" description: flutter @@ -119,26 +119,26 @@ packages: dependency: "direct main" description: name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" url: "https://pub.dev" source: hosted - version: "0.19.0" + version: "0.20.2" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.9" leak_tracker_testing: dependency: transitive description: @@ -159,10 +159,10 @@ packages: dependency: transitive description: name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16+1" + version: "0.12.17" material_color_utilities: dependency: transitive description: @@ -175,18 +175,18 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.16.0" path: dependency: transitive description: name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" path_parsing: dependency: transitive description: @@ -207,62 +207,62 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.10.1" stack_trace: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" string_scanner: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.4.1" suggest_a_feature: dependency: "direct main" description: path: ".." relative: true source: path - version: "0.4.3" + version: "0.5.0" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.4" typed_data: dependency: transitive description: @@ -307,10 +307,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "15.0.0" web: dependency: transitive description: @@ -336,5 +336,5 @@ packages: source: hosted version: "6.5.0" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.7.0-0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index ff2157c..d7c1e53 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -38,7 +38,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.5 - intl: ^0.19.0 + intl: ^0.20.2 dev_dependencies: flutter_test: diff --git a/lib/src/presentation/pages/suggestions/suggestions_page.dart b/lib/src/presentation/pages/suggestions/suggestions_page.dart index c09fa68..a6e316f 100644 --- a/lib/src/presentation/pages/suggestions/suggestions_page.dart +++ b/lib/src/presentation/pages/suggestions/suggestions_page.dart @@ -392,7 +392,7 @@ class _BottomFab extends StatelessWidget { bottom: (SuggestionsPlatform.isIOS ? Dimensions.margin2x : Dimensions.marginDefault) + - MediaQuery.of(context).viewInsets.bottom, + MediaQuery.paddingOf(context).bottom, right: Dimensions.marginDefault, child: SuggestionsFab( padding: const EdgeInsets.all(Dimensions.marginDefault), diff --git a/lib/src/presentation/pages/suggestions/widgets/suggestion_card.dart b/lib/src/presentation/pages/suggestions/widgets/suggestion_card.dart index f89b81f..3bd2cd4 100644 --- a/lib/src/presentation/pages/suggestions/widgets/suggestion_card.dart +++ b/lib/src/presentation/pages/suggestions/widgets/suggestion_card.dart @@ -169,7 +169,7 @@ class _SuggestionIndicator extends StatelessWidget { ), boxShadow: [ BoxShadow( - color: color.withOpacity(0.16), + color: color.withValues(alpha: 0.16), spreadRadius: 4, blurRadius: 4, ), diff --git a/lib/src/presentation/pages/suggestions/widgets/suggestion_list.dart b/lib/src/presentation/pages/suggestions/widgets/suggestion_list.dart index 99440c2..1884ae4 100644 --- a/lib/src/presentation/pages/suggestions/widgets/suggestion_list.dart +++ b/lib/src/presentation/pages/suggestions/widgets/suggestion_list.dart @@ -40,6 +40,8 @@ class SuggestionList extends StatelessWidget { itemCount: suggestions.length + 1, padding: const EdgeInsets.symmetric( horizontal: Dimensions.marginDefault, + ).copyWith( + bottom: MediaQuery.paddingOf(context).bottom, ), itemBuilder: (_, index) { return index == 0 diff --git a/lib/src/presentation/pages/widgets/bottom_sheets/base_bottom_sheet.dart b/lib/src/presentation/pages/widgets/bottom_sheets/base_bottom_sheet.dart index d8dd001..47169f9 100644 --- a/lib/src/presentation/pages/widgets/bottom_sheets/base_bottom_sheet.dart +++ b/lib/src/presentation/pages/widgets/bottom_sheets/base_bottom_sheet.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:suggest_a_feature/src/presentation/pages/theme/theme_extension.dart'; import 'package:suggest_a_feature/src/presentation/utils/dimensions.dart'; -import 'package:suggest_a_feature/src/presentation/utils/platform_check.dart'; import 'package:wtf_sliding_sheet/wtf_sliding_sheet.dart'; typedef OnDismissCallback = void Function([ClosureType? closureType]); @@ -243,7 +242,6 @@ class _SafeArea extends StatelessWidget { Widget build(BuildContext context) { return SafeArea( top: false, - bottom: SuggestionsPlatform.isIOS, child: Padding( padding: contentPadding, child: Column( diff --git a/lib/src/presentation/pages/widgets/suggestions_labels.dart b/lib/src/presentation/pages/widgets/suggestions_labels.dart index 4208cd1..a2cf01c 100644 --- a/lib/src/presentation/pages/widgets/suggestions_labels.dart +++ b/lib/src/presentation/pages/widgets/suggestions_labels.dart @@ -43,7 +43,7 @@ class _Label extends StatelessWidget { shape: BoxShape.circle, boxShadow: [ BoxShadow( - color: label.labelColor(context).withOpacity(0.16), + color: label.labelColor(context).withValues(alpha: 0.16), spreadRadius: 5, ), ], diff --git a/lib/src/presentation/pages/widgets/suggestions_switch.dart b/lib/src/presentation/pages/widgets/suggestions_switch.dart index 4be9b6e..208fbe4 100644 --- a/lib/src/presentation/pages/widgets/suggestions_switch.dart +++ b/lib/src/presentation/pages/widgets/suggestions_switch.dart @@ -15,8 +15,8 @@ class SuggestionsSwitch extends StatelessWidget { Widget build(BuildContext context) { return CupertinoSwitch( value: value, - activeColor: context.theme.colorScheme.primary, - trackColor: context.theme.colorScheme.surface, + activeTrackColor: context.theme.colorScheme.primary, + inactiveTrackColor: context.theme.colorScheme.surface, thumbColor: value ? context.theme.colorScheme.onPrimary : context.theme.dividerColor, diff --git a/lib/src/presentation/pages/widgets/suggestions_text_field.dart b/lib/src/presentation/pages/widgets/suggestions_text_field.dart index 8e993ed..9335fea 100644 --- a/lib/src/presentation/pages/widgets/suggestions_text_field.dart +++ b/lib/src/presentation/pages/widgets/suggestions_text_field.dart @@ -128,7 +128,7 @@ class _CommonTextField extends StatelessWidget { isDense: true, hintText: hintText, hintStyle: context.theme.textTheme.bodyMedium?.copyWith( - color: context.theme.colorScheme.onSurface.withOpacity(0.7), + color: context.theme.colorScheme.onSurface.withValues(alpha: 0.7), ), fillColor: context.theme.colorScheme.surface, filled: true, @@ -198,7 +198,7 @@ class _IosTextField extends StatelessWidget { textInputAction: textInputAction, placeholder: hintText, placeholderStyle: context.theme.textTheme.bodyMedium?.copyWith( - color: context.theme.colorScheme.onSurface.withOpacity(0.7), + color: context.theme.colorScheme.onSurface.withValues(alpha: 0.7), ), cursorHeight: 20, decoration: BoxDecoration( diff --git a/lib/src/presentation/utils/rendering.dart b/lib/src/presentation/utils/rendering.dart index 4df6fec..e281fe9 100644 --- a/lib/src/presentation/utils/rendering.dart +++ b/lib/src/presentation/utils/rendering.dart @@ -15,12 +15,12 @@ void renderHidings({ final topGradient = LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, - colors: [backgroundColor, backgroundColor.withOpacity(0)], + colors: [backgroundColor, backgroundColor.withValues(alpha: 0)], ); final bottomGradient = LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, - colors: [backgroundColor.withOpacity(0), backgroundColor], + colors: [backgroundColor.withValues(alpha: 0), backgroundColor], ); final topRectGradient = Rect.fromLTWH(0, contentMarginTop - 2, size.width, _hidingGradientHeight); diff --git a/pubspec.yaml b/pubspec.yaml index 237a54a..58d5003 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,7 +18,7 @@ dependencies: flutter: sdk: flutter flutter_svg: ^2.0.9 - intl: ^0.19.0 + intl: ^0.20.2 wtf_sliding_sheet: ^1.1.3 dev_dependencies: