- Remove deprecated
CupertinoAdaptiveThemeManager
. UseAdaptiveThemeManager<CupertinoThemeData>
instead.
- Migrate
DebugFloatingThemeButton
to Material 3. - Expose
DebugFloatingThemeButton
as a public widget for extensions to work with it.
- Add support for dynamically changing
debugShowFloatingThemeButton
state usingAdaptiveTheme.of(context).setDebugShowFloatingThemeButton(bool)
method. - Allow reading state of
debugShowFloatingThemeButton
usingAdaptiveTheme.of(context).debugShowFloatingThemeButton
.
- Fix readme example code.
- Update example app for a simpler example code.
- Update example to use Material 3.
- FEAT: Add
useSystem
flag fortoggleThemeMode
method to toggle between light, dark only when the flag is set to false. - Add more tests.
- Add pub topics to package metadata.
- Upgrade dependencies.
- Upgrade SDK constraints to Dart 3.0 and Flutter 3.10.0.
- Refactor deprecated api usages to new ones.
- Use
WidgetsBinding.instance.platformDispatcher
instead ofPlatformDispatcher.instance
since its recommended.
- Fix missing inherited widget for CupertinoAdaptiveTheme.
- Fix calling
AdaptiveTheme.of
orCupertinoAdaptiveTheme.of
not creating a dependency on it. - Add screenshots for pub.dev.
- Add
fix_data.yaml
for Flutter fix feature for deprecation quick fix suggestion. - Remove redundant code.
- Update copyright headers.
CupertinoAdaptiveThemeManager
is now deprecated and replaced withAdaptiveThemeManager<CupertinoThemeData>
in favor of supporting theming for other UI frameworks. (e.g. Fluent UI). This will be removed inv4.0.0
.AdaptiveThemeManager
is now generic typed where the generic type represents the type of the theme data object. ReplaceAdaptiveThemeManager
withAdaptiveThemeManager<ThemeData>
AdaptiveThemeManager
is now a mixin instead of an abstract class to reduce code duplication.
- Upgrade to Flutter 3.
- Update & fix tests.
- Update AdaptiveThemeMode enum.
- Fix lints warnings & refactor code.
- Fixed Material theme not updating on system theme change.
- Updated example android project.
- Fixed Cupertino theme not changing when on system mode.
- Internal code cleanup.
- Removed
isDefault
option fromsetTheme
method. Default are meant to come fromAdaptiveTheme
widget itself. - Added flutter lints.
- Fixed doc comments and typos.
- Added
reset
and custom theme options in the example app. - Fixed
AdaptiveTheme
'sbrightness
andtheme
getters. - Fixed
CupertinoAdaptiveTheme
'sbrightness
andtheme
getters. - Added Tests.
- Added support for Cupertino theme.
- Fixed #18
- Dark theme not working properly on all platforms.
- Fixed #16 - get theme and get darkTheme returns the same theme depended on mode
- Added #15 - Notify listener when changing theme mode
- Improved documentation
- Stable null safety support
- Calling
AdaptiveTheme.of(context).toggleThemeMode()
now will sequentially loop throughAdaptiveThemeMode.light
,AdaptiveThemeMode.dark
andAdaptiveThemeMode.system
instead of justAdaptiveThemeMode.light
andAdaptiveThemeMode.dark
.
- Migrate to null safety.
- Removed hard coded
shared_preferences
version. - Hide public constructors for
ThemePreferences
. AdaptiveTheme.of()
now returns instance ofAdaptiveThemeManager
instead ofAdaptiveThemeState
to set restrictions for accessing state directly.
- Add option to get previous theme mode on app startup.
- Add option to silently update theme without notifying. Useful when chaining multiple changes.
- Supports theme modes: light, dart, system default.
- Persists theme modes across app restarts.
- Allows to toggle theme mode between light and dark.
- Allows to set default theme.
- Allows to reset to default theme.