Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants