diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a43123..3968de9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,14 @@ +## 0.10.2 + +- feat: added iPhone dark mode support. + ## 0.10.1 -* fix: revert viewPadding update when keyboard opens/closes. +- fix: revert viewPadding update when keyboard opens/closes. ## 0.10.0 -* feat: Add support for 2-button and 3-button navigation for Android devices. +- feat: Add support for 2-button and 3-button navigation for Android devices. ```dart WindowConfigData( systemNavBar = SystemNavBarData.threeButton(), @@ -14,7 +18,7 @@ systemNavBar = SystemNavBarData.twoButton(), ) ``` -* **BREAKING**: refactor: replaced `homeIndicator` by `systemNavBar` in `WindowConfigData` for the home gesture indicator: +- **BREAKING**: refactor: replaced `homeIndicator` by `systemNavBar` in `WindowConfigData` for the home gesture indicator: ```diff WindowConfigData( - homeIndicator = HomeIndicatorData(bottomPadding, size) @@ -24,52 +28,53 @@ ## 0.9.1 -* feat: await image now works with ShapeDecopration +- feat: await image now works with ShapeDecopration ## 0.9.0 -* fix: Handle viewPadding when keyboard opens. +- fix: Handle viewPadding when keyboard opens. ## 0.8.0 -* feat: Add new devices iPhone 16 pro and Pixel 9. -* **BREAKING**: feat: Update device sizes and assets. +- feat: Add new devices iPhone 16 pro and Pixel 9. +- **BREAKING**: feat: Update device sizes and assets. ## 0.7.2 -* refactor: Format files with dart format. +- refactor: Format files with dart format. ## 0.7.1 -* refactor: Format files with dart format. +- refactor: Format files with dart format. ## 0.7.0 -* **BREAKING**: feat: Remove argument packages fron loadFonts +- **BREAKING**: feat: Remove argument packages fron loadFonts - feat: loadFonts now support custom icons font like material_symbols_icons -* **BREAKING**: feat: loadFontsFromPackage +- **BREAKING**: feat: loadFontsFromPackage - feat: loading fonts from current or external packages is now supported by loadFonts -* **BREAKING**: feat: Add keyboardName to WindowConfigData +- **BREAKING**: feat: Add keyboardName to WindowConfigData - fix: It's now possible to use custom devices as WindowConfigData variant -* feat: awaitImages now support FadeInImage. -* improvement: use pump instead of pumpAndSettle in awaitImages. -* feat: add path and version argument to expectGolden method. +- feat: awaitImages now support FadeInImage. +- improvement: use pump instead of pumpAndSettle in awaitImages. +- feat: add path and version argument to expectGolden method. ## 0.5.1 -* feat: add support for skipping tests instead of failing them based on the enforced target platform defined in the `AdaptiveTestConfiguration` class. +- feat: add support for skipping tests instead of failing them based on the enforced target platform defined in the `AdaptiveTestConfiguration` class. ## 0.5.0 **Breaking changes** -* Remove the semi colon in golden file names to support using the package on a Windows machine. - +- Remove the semi colon in golden file names to support using the package on a Windows machine. + This is a breaking change for users who have generated golden files with the previous version of the library. The golden file names will now be `preview/${windowConfig.name}-${name.snakeCase}$localSuffix.png` instead of `preview/${windowConfig.name}:${name.snakeCase}$localSuffix.png`. To resolve this, you can either rename the golden files manually or regenerate them. To ease the migration, we provide a script that will rename your goldens files to the new format: + ```bash #!/bin/bash @@ -98,54 +103,57 @@ ## 0.4.1 -* fix: Update broken link on README.md +- fix: Update broken link on README.md ## 0.4.0 -* fix: add support for flutter >=3.10.0 -* fix: add support for dart >=3.0.5 +- fix: add support for flutter >=3.10.0 +- fix: add support for dart >=3.0.5 ## 0.3.2 -* feat: add the `loadFontsFromPackage` method to load fonts from a package which name does not match the corresponding folder name -* example: add multi-packages example to showcase loading fonts from a separate package +- feat: add the `loadFontsFromPackage` method to load fonts from a package which name does not match the corresponding folder name +- example: add multi-packages example to showcase loading fonts from a separate package ## 0.3.1 -* fix: replace iterable with a list in the await image method. +- fix: replace iterable with a list in the await image method. ## 0.3.0 **Breaking changes** -* Remove the space in golden file names. - +- Remove the space in golden file names. + This is a breaking change for users who have generated golden files with the previous version of the library. The golden file names will now be `preview/${windowConfig.name}:${name.snakeCase}$localSuffix.png` instead of `preview/${windowConfig.name}: ${name.snakeCase}$localSuffix.png`. To resolve this, you can either rename the golden files manually or regenerate them. ## 0.2.3 -* fix: set the image precaching to true by default +- fix: set the image precaching to true by default ## 0.2.2 -* feat: add an option to disable the image precaching +- feat: add an option to disable the image precaching ## 0.2.1 -* fix: runtime platform check. +- fix: runtime platform check. + ## 0.2.0 -* fix: font loader with package not working. -* feat: create is runtime platform extension. +- fix: font loader with package not working. +- feat: create is runtime platform extension. + ## 0.1.0 -* Add .pubignore to reduce package size. +- Add .pubignore to reduce package size. + ## 0.0.2 -* Improve pub.dev page presentation. +- Improve pub.dev page presentation. ## 0.0.1 -* Initial release. +- Initial release. diff --git a/example/multi_packages_app/app/lib/src/app.dart b/example/multi_packages_app/app/lib/src/app.dart index 021bc5e..a3856cf 100644 --- a/example/multi_packages_app/app/lib/src/app.dart +++ b/example/multi_packages_app/app/lib/src/app.dart @@ -1,8 +1,10 @@ -import 'view/home.dart'; import 'package:flutter/material.dart'; +import 'view/home.dart'; + class App extends StatelessWidget { - const App({Key? key}) : super(key: key); + const App({Key? key, this.themeMode}) : super(key: key); + final ThemeMode? themeMode; @override Widget build(BuildContext context) { @@ -13,6 +15,12 @@ class App extends StatelessWidget { primarySwatch: Colors.blue, fontFamily: 'roboto', ), + darkTheme: ThemeData( + brightness: Brightness.dark, + primarySwatch: Colors.blue, + fontFamily: 'roboto', + ), + themeMode: themeMode, home: const HomeLayout(), ); } diff --git a/example/multi_packages_app/app/pubspec.lock b/example/multi_packages_app/app/pubspec.lock index 58219db..e1c57df 100644 --- a/example/multi_packages_app/app/pubspec.lock +++ b/example/multi_packages_app/app/pubspec.lock @@ -7,7 +7,7 @@ packages: path: "../../.." relative: true source: path - version: "0.10.0" + version: "0.10.1" async: dependency: transitive description: @@ -28,10 +28,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -118,18 +118,18 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.18" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" material_symbols_icons: dependency: transitive description: @@ -142,10 +142,10 @@ packages: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" multi_packages_example_theme: dependency: "direct main" description: @@ -234,10 +234,10 @@ packages: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636" url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.9" theodo_analysis: dependency: "direct dev" description: @@ -263,5 +263,5 @@ packages: source: hosted version: "14.2.5" sdks: - dart: ">=3.8.0-0 <4.0.0" + dart: ">=3.9.0-0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/example/multi_packages_app/app/test/flutter_test_config.dart b/example/multi_packages_app/app/test/flutter_test_config.dart index d4d1c9d..ef7852f 100644 --- a/example/multi_packages_app/app/test/flutter_test_config.dart +++ b/example/multi_packages_app/app/test/flutter_test_config.dart @@ -7,6 +7,7 @@ import 'package:flutter_test/flutter_test.dart'; final defaultDeviceConfigs = { iPhone8, iPhone16, + iPhone16Dark, iPadPro, desktop, pixel9, diff --git a/example/multi_packages_app/app/test/src/app_test.dart b/example/multi_packages_app/app/test/src/app_test.dart index 3ada277..71301ad 100644 --- a/example/multi_packages_app/app/test/src/app_test.dart +++ b/example/multi_packages_app/app/test/src/app_test.dart @@ -1,7 +1,7 @@ import 'package:adaptive_test/adaptive_test.dart'; -import 'package:multi_packages_example_app/src/app.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; +import 'package:multi_packages_example_app/src/app.dart'; void main() { testAdaptiveWidgets( @@ -11,7 +11,7 @@ void main() { AdaptiveWrapper( windowConfig: variant, tester: tester, - child: const App(), + child: App(themeMode: variant.themeMode), ), ); diff --git a/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages.png index 166ffda..2223309 100644 Binary files a/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages.png and b/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages.png differ diff --git a/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages_with_keyboard.png index 85b5f58..3440f8e 100644 Binary files a/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages_with_keyboard.png and b/example/multi_packages_app/app/test/src/preview/desktop-app_multi_packages_with_keyboard.png differ diff --git a/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages.png index 034b058..bd56588 100644 Binary files a/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages.png and b/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages.png differ diff --git a/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages_with_keyboard.png index eba251c..2b1a676 100644 Binary files a/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages_with_keyboard.png and b/example/multi_packages_app/app/test/src/preview/iPadPro-app_multi_packages_with_keyboard.png differ diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_16-app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/iPhone_16-app_multi_packages.png index 9997651..880506b 100644 Binary files a/example/multi_packages_app/app/test/src/preview/iPhone_16-app_multi_packages.png and b/example/multi_packages_app/app/test/src/preview/iPhone_16-app_multi_packages.png differ diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_16-app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/iPhone_16-app_multi_packages_with_keyboard.png index e236318..6bec36a 100644 Binary files a/example/multi_packages_app/app/test/src/preview/iPhone_16-app_multi_packages_with_keyboard.png and b/example/multi_packages_app/app/test/src/preview/iPhone_16-app_multi_packages_with_keyboard.png differ diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_16_dark-app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/iPhone_16_dark-app_multi_packages.png new file mode 100644 index 0000000..22dbd6f Binary files /dev/null and b/example/multi_packages_app/app/test/src/preview/iPhone_16_dark-app_multi_packages.png differ diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_16_dark-app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/iPhone_16_dark-app_multi_packages_with_keyboard.png new file mode 100644 index 0000000..1e07303 Binary files /dev/null and b/example/multi_packages_app/app/test/src/preview/iPhone_16_dark-app_multi_packages_with_keyboard.png differ diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages.png index e481e9f..a4e8150 100644 Binary files a/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages.png and b/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages.png differ diff --git a/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages_with_keyboard.png index 4a088be..ad47108 100644 Binary files a/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages_with_keyboard.png and b/example/multi_packages_app/app/test/src/preview/iPhone_8-app_multi_packages_with_keyboard.png differ diff --git a/example/multi_packages_app/app/test/src/preview/pixel_9-app_multi_packages.png b/example/multi_packages_app/app/test/src/preview/pixel_9-app_multi_packages.png index 31aed53..71a0df2 100644 Binary files a/example/multi_packages_app/app/test/src/preview/pixel_9-app_multi_packages.png and b/example/multi_packages_app/app/test/src/preview/pixel_9-app_multi_packages.png differ diff --git a/example/multi_packages_app/app/test/src/preview/pixel_9-app_multi_packages_with_keyboard.png b/example/multi_packages_app/app/test/src/preview/pixel_9-app_multi_packages_with_keyboard.png index 629413e..2450405 100644 Binary files a/example/multi_packages_app/app/test/src/preview/pixel_9-app_multi_packages_with_keyboard.png and b/example/multi_packages_app/app/test/src/preview/pixel_9-app_multi_packages_with_keyboard.png differ diff --git a/example/multi_packages_app/theme/pubspec.lock b/example/multi_packages_app/theme/pubspec.lock index 737d2ca..af72a4f 100644 --- a/example/multi_packages_app/theme/pubspec.lock +++ b/example/multi_packages_app/theme/pubspec.lock @@ -7,7 +7,7 @@ packages: path: "../../.." relative: true source: path - version: "0.10.0" + version: "0.10.1" async: dependency: transitive description: @@ -28,10 +28,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -118,18 +118,18 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.18" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" material_symbols_icons: dependency: "direct main" description: @@ -142,10 +142,10 @@ packages: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" package_config: dependency: transitive description: @@ -227,10 +227,10 @@ packages: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636" url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.9" theodo_analysis: dependency: "direct dev" description: @@ -256,5 +256,5 @@ packages: source: hosted version: "14.2.5" sdks: - dart: ">=3.8.0-0 <4.0.0" + dart: ">=3.9.0-0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/example/simple_app/pubspec.lock b/example/simple_app/pubspec.lock index e0afe6e..1653697 100644 --- a/example/simple_app/pubspec.lock +++ b/example/simple_app/pubspec.lock @@ -7,7 +7,7 @@ packages: path: "../.." relative: true source: path - version: "0.10.0" + version: "0.10.1" async: dependency: transitive description: @@ -28,10 +28,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -118,18 +118,18 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.18" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" material_symbols_icons: dependency: "direct main" description: @@ -142,10 +142,10 @@ packages: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" package_config: dependency: transitive description: @@ -227,10 +227,10 @@ packages: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636" url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.9" theodo_analysis: dependency: "direct dev" description: @@ -256,5 +256,5 @@ packages: source: hosted version: "14.2.5" sdks: - dart: ">=3.8.0-0 <4.0.0" + dart: ">=3.9.0-0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/lib/src/adaptive/devices_data.dart b/lib/src/adaptive/devices_data.dart index 96ecd3b..74b3b44 100644 --- a/lib/src/adaptive/devices_data.dart +++ b/lib/src/adaptive/devices_data.dart @@ -1,21 +1,21 @@ import 'package:adaptive_test/src/adaptive/window_config_data/dynamic_island_data.dart'; -import 'package:adaptive_test/src/adaptive/window_config_data/system_nav_bar_data.dart'; import 'package:adaptive_test/src/adaptive/window_config_data/punch_hole_data.dart'; +import 'package:adaptive_test/src/adaptive/window_config_data/system_nav_bar_data.dart'; import 'package:adaptive_test/src/adaptive/window_config_data/window_config_data.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/painting.dart'; +import 'package:flutter/material.dart'; enum _Device { iPhone_8, iPhone_13, iPhone_16, + iPhone_16_dark, iPadPro, desktop, pixel_5, pixel_5_three_button, pixel_9; - String get keyboardName => 'assets/keyboards/${this.name}.png'; + String get keyboardName => 'assets/keyboards/$name.png'; } const _keyboardPackage = 'adaptive_test'; @@ -61,12 +61,18 @@ final WindowConfigData iPhone16 = WindowConfigData( Radius.circular(55), ), systemNavBar: const SystemNavBarData.gestureIndicator(8, Size(140, 5)), - dynamicIsland: DynamicIslandData(11, Size(125, 37)), + dynamicIsland: const DynamicIslandData(11, Size(125, 37)), targetPlatform: TargetPlatform.iOS, keyboardName: _Device.iPhone_16.keyboardName, keyboardPackage: _keyboardPackage, ); +/// [WindowConfigData] for an iPhone 16 in Dark mode. +final WindowConfigData iPhone16Dark = iPhone16.copyWith( + name: _Device.iPhone_16_dark.name, + themeMode: ThemeMode.dark, +); + /// [WindowConfigData] for a Google Pixel 5. final WindowConfigData pixel5 = WindowConfigData( _Device.pixel_5.name, diff --git a/lib/src/adaptive/window_config_data/window_config_data.dart b/lib/src/adaptive/window_config_data/window_config_data.dart index 43ad610..02253c1 100644 --- a/lib/src/adaptive/window_config_data/window_config_data.dart +++ b/lib/src/adaptive/window_config_data/window_config_data.dart @@ -1,8 +1,8 @@ import 'package:adaptive_test/src/adaptive/window_config_data/dynamic_island_data.dart'; -import 'package:adaptive_test/src/adaptive/window_config_data/system_nav_bar_data.dart'; import 'package:adaptive_test/src/adaptive/window_config_data/punch_hole_data.dart'; +import 'package:adaptive_test/src/adaptive/window_config_data/system_nav_bar_data.dart'; import 'package:equatable/equatable.dart'; -import 'package:flutter/widgets.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; /// A Data class that describe a device properties that will impact design. @@ -21,6 +21,7 @@ class WindowConfigData extends Equatable { this.dynamicIsland, this.punchHole, this.systemNavBar, + this.themeMode = ThemeMode.light, }) : viewInsets = ViewPaddingImpl( bottom: keyboardSize?.height ?? 0, ) * @@ -68,6 +69,11 @@ class WindowConfigData extends Equatable { /// This is null when the device has no navigation bar. final SystemNavBarData? systemNavBar; + /// Describe the theme mode selected by the device. + /// + /// This is null when the device has no theme mode. + final ThemeMode? themeMode; + /// Device Platform. /// /// See: [TargetPlatform] @@ -106,6 +112,7 @@ class WindowConfigData extends Equatable { notchSize, punchHole, systemNavBar, + themeMode, targetPlatform, borderRadius, viewInsets, @@ -130,6 +137,7 @@ class WindowConfigData extends Equatable { DynamicIslandData? dynamicIsland, PunchHoleData? punchHole, SystemNavBarData? systemNavBar, + ThemeMode? themeMode, }) { final newDensity = pixelDensity ?? this.pixelDensity; @@ -141,8 +149,8 @@ class WindowConfigData extends Equatable { borderRadius: borderRadius ?? this.borderRadius, safeAreaPadding: safeAreaPadding ?? EdgeInsets.only( - bottom: this.padding.bottom / newDensity, - top: this.padding.top / newDensity, + bottom: padding.bottom / newDensity, + top: padding.top / newDensity, ), keyboardName: keyboardName ?? this.keyboardName, keyboardPackage: keyboardPackage ?? this.keyboardPackage, @@ -151,6 +159,7 @@ class WindowConfigData extends Equatable { dynamicIsland: dynamicIsland ?? this.dynamicIsland, punchHole: punchHole ?? this.punchHole, systemNavBar: systemNavBar ?? this.systemNavBar, + themeMode: themeMode ?? this.themeMode, ); } } diff --git a/lib/src/configuration.dart b/lib/src/configuration.dart index 5cafc1a..11b7f4d 100644 --- a/lib/src/configuration.dart +++ b/lib/src/configuration.dart @@ -1,5 +1,5 @@ -import 'package:adaptive_test/src/adaptive/window_config_data/window_config_data.dart'; import 'package:adaptive_test/src/adaptive/window_config.dart'; +import 'package:adaptive_test/src/adaptive/window_config_data/window_config_data.dart'; import 'package:flutter/material.dart'; /// Singleton class that configures global variables for the test. @@ -65,7 +65,7 @@ See: https://api.flutter.dev/flutter/flutter_test/flutter_test-library.html /// Set the devices variant on which you want your test to run. /// - /// Eg [iPhone8], [iPhone13], [iPhone16], [iPadPro], [desktop], [pixel5], [pixel9]. + /// Eg [iPhone8], [iPhone13], [iPhone16],[iPhone16Dark], [iPadPro], [desktop], [pixel5], [pixel9]. void setDeviceVariants(Set deviceConfigs) { _deviceVariant = WindowVariant(deviceConfigs); } diff --git a/pubspec.yaml b/pubspec.yaml index d05c8e8..b471456 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,13 +1,13 @@ name: adaptive_test description: >- A Flutter package to generate adaptive golden files during widget tests. -version: 0.10.1 +version: 0.10.2 homepage: https://github.com/bamlab/adaptive_test repository: https://github.com/bamlab/adaptive_test environment: - sdk: ">=3.0.5 <4.0.0" - flutter: ">=1.17.0" + sdk: '>=3.0.5 <4.0.0' + flutter: '>=1.17.0' dependencies: cupertino_icons: ^1.0.5