Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feat: 🚀 upgrade SDK, deps, and fix any deprecations in the way + FVM #18

Merged
merged 11 commits into from
Aug 8, 2024

Conversation

YazeedAlKhalaf
Copy link
Collaborator

Flutter version upgraded to is the latest stable as of today: 3.22.1.

This PR upgrades everything to the latest version possible, and it also includes fvm so that it is easier to have the same environment for contributors.

Things I did in points, hopefully nothing is missing:

  • Added docs about FVM usage, and labeled it optional.
  • Upgraded all dependencies to latest possible.
  • Minimum deployment version for iOS is 12.0 now, since path_provider, shared_preferences, and url_launcher don't support iOS 11.0 anymore
  • I used this list to map the new text theme along with flutter fix: https://docs.flutter.dev/release/breaking-changes/3-19-deprecations
  • selectedRowColor was deprecated in 3.16 and here is what I followed: https://docs.flutter.dev/release/breaking-changes/3-16-deprecations#themedata-selectedrowcolor
    • The framework doesn't use it anymore, it uses other things. I migrated the two usages by hard coding them for now. We can perhaps create a theme extension to hold custom values like this if needed.
  • Impeller is enabled now for iOS by default and its performance is good, but for Android is it disabled cuz still not the best experience IMHO.
  • I had to follow the flutter_local_notifications android guide again for some changes: https://pub.dev/packages/flutter_local_notifications#-android-setup
  • I also disabled material 3, which looked weird and broke lots of things. material 2 looks better on Noor.
  • remove a launch.json in android folder related to dart :D
  • I also migrated to the new "declarative way" of gradle, seems everything is declarative now 😂. I recreated the android project and made sure things work as expected.

Lots of changes, so feel free to reject or test and merge, hopefully the later 👀.

Comment on lines +12 to +13
MediaQueryData.fromView(WidgetsBinding.instance.window)
.platformBrightness;
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the only remaining deprecation:

'window' is deprecated and shouldn't be used. Look up the current FlutterView from the context via View.of(context) or consult the PlatformDispatcher directly instead. Deprecated to prepare for the upcoming multi-window support. This feature was deprecated after v3.7.0-32.0.pre.
Try replacing the use of the deprecated member with the replacement.

@pr-Mais pr-Mais changed the title 🚀 Upgrade SDK, deps, and fix any deprecations in the way + FVM feat: 🚀 upgrade SDK, deps, and fix any deprecations in the way + FVM Aug 8, 2024
@pr-Mais
Copy link
Owner

pr-Mais commented Aug 8, 2024

Thanks a ton Yazeed! this is a big and exciting PR, LGTM ✨

@pr-Mais pr-Mais merged commit e693246 into pr-Mais:main Aug 8, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants