Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
6e6b0f4
chore(CI): update flutter version
alexisdelage Aug 21, 2025
d56739a
chore(test): update goldens with new rendering algorithm of the new f…
alexisdelage Aug 21, 2025
d0967c6
refactor(lib): rename window_configuration to window_configuration_te…
alexisdelage Aug 21, 2025
643eac4
chore(CI): extract failures files when CI fails
alexisdelage Aug 21, 2025
6b41bef
refactor(lib): split Data classes into their own files
alexisdelage Aug 21, 2025
75b6b0e
refactor(lib): rename window_size to window_config to match Widget name
alexisdelage Aug 21, 2025
f11f900
!refactor(lib): transform HomeIndicator to SystemNavBar sealed class
alexisdelage Aug 21, 2025
868b0fa
refactor(lib): rename SystemLayer to SystemNavBarLayer
alexisdelage Aug 21, 2025
52d2fa5
refactor(lib): extract GestureIndicatorSystemNavBarLayer from SystemN…
alexisdelage Aug 21, 2025
20b6d53
feat(lib): create ThreeButtonSystemNavBar
alexisdelage Aug 21, 2025
4bc22d9
feat(lib): create Pixel5Alt config with 3-button navbar
alexisdelage Aug 21, 2025
ab53779
feat(example_app): add example with Pixel5Alt
alexisdelage Aug 21, 2025
7ddacd7
chore: do not expose sub-classes of SystemNavBarData (force use of fa…
alexisdelage Aug 21, 2025
caf5d79
bump: version
alexisdelage Aug 21, 2025
c60a957
docs: document changes
alexisdelage Aug 21, 2025
196a4e5
refactor(lib): remove unnecessary switch statement
alexisdelage Aug 21, 2025
eea56c5
chore: update Flutter version
alexisdelage Aug 27, 2025
888f16f
refactor: rename pixel5Alt to pixel5ThreeButton
alexisdelage Aug 27, 2025
f792302
refactor(lib): add copyWith method to WindowConfigData
alexisdelage Sep 1, 2025
8a14113
feat(lib): create 2-button layout
alexisdelage Sep 1, 2025
7013a90
docs(lib): add 2-button navigation in Changelog
alexisdelage Sep 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/.env
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FLUTTER_VERSION=3.24.3
FLUTTER_VERSION=3.35.2
17 changes: 16 additions & 1 deletion .github/workflows/test-flutter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,14 @@ jobs:
test:
runs-on: macos-latest
strategy:
matrix: { dir: ['example/simple_app', 'example/multi_packages_app/app', 'example/multi_packages_app/theme'] }
matrix:
include:
- dir: example/simple_app
name: simple_app
- dir: example/multi_packages_app/app
name: multi_packages_app_app
- dir: example/multi_packages_app/theme
name: multi_packages_app_theme
defaults:
run:
working-directory: ${{ matrix.dir }}
Expand Down Expand Up @@ -42,3 +49,11 @@ jobs:

- name: Run tests
run: flutter test --no-pub --test-randomize-ordering-seed random

- name: Upload golden test failures
if: failure()
uses: actions/upload-artifact@v4
with:
name: golden-failures-${{ matrix.name }}
path: ${{ matrix.dir }}/test/**/failures/
if-no-files-found: ignore
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## 0.10.0

* feat: Add support for 2-button and 3-button navigation for Android devices.
```dart
WindowConfigData(
systemNavBar = SystemNavBarData.threeButton(),
)
// or
WindowConfigData(
systemNavBar = SystemNavBarData.twoButton(),
)
```
* **BREAKING**: refactor: replaced `homeIndicator` by `systemNavBar` in `WindowConfigData` for the home gesture indicator:
```diff
WindowConfigData(
- homeIndicator = HomeIndicatorData(bottomPadding, size)
+ systemNavBar = SystemNavBarData.gestureIndicator(bottomPadding, size)
)
```

## 0.9.1

* feat: await image now works with ShapeDecopration
Expand Down
62 changes: 31 additions & 31 deletions example/multi_packages_app/app/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ packages:
path: "../../.."
relative: true
source: path
version: "0.7.2"
version: "0.10.0"
async:
dependency: transitive
description:
Expand All @@ -28,26 +28,26 @@ packages:
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:
Expand All @@ -68,10 +68,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"
file:
dependency: transitive
description:
Expand All @@ -94,34 +94,34 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0"
url: "https://pub.dev"
source: hosted
version: "10.0.5"
version: "11.0.1"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
url: "https://pub.dev"
source: hosted
version: "3.0.5"
version: "3.0.10"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "3.0.2"
matcher:
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:
Expand All @@ -142,10 +142,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
url: "https://pub.dev"
source: hosted
version: "1.15.0"
version: "1.16.0"
multi_packages_example_theme:
dependency: "direct main"
description:
Expand All @@ -165,10 +165,10 @@ packages:
dependency: transitive
description:
name: path
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
url: "https://pub.dev"
source: hosted
version: "1.9.0"
version: "1.9.1"
platform:
dependency: transitive
description:
Expand All @@ -189,7 +189,7 @@ packages:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
version: "0.0.0"
source_span:
dependency: transitive
description:
Expand All @@ -202,18 +202,18 @@ packages:
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:
Expand All @@ -234,10 +234,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00"
url: "https://pub.dev"
source: hosted
version: "0.7.2"
version: "0.7.6"
theodo_analysis:
dependency: "direct dev"
description:
Expand All @@ -250,10 +250,10 @@ packages:
dependency: transitive
description:
name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
url: "https://pub.dev"
source: hosted
version: "2.1.4"
version: "2.2.0"
vm_service:
dependency: transitive
description:
Expand All @@ -263,5 +263,5 @@ packages:
source: hosted
version: "14.2.5"
sdks:
dart: ">=3.3.0 <4.0.0"
dart: ">=3.8.0-0 <4.0.0"
flutter: ">=3.18.0-18.0.pre.54"
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading