Skip to content

Pigeon and Profile configuration#26

Open
ElectricCookie wants to merge 64 commits intocircus-kitchens:mainfrom
ElectricCookie:main
Open

Pigeon and Profile configuration#26
ElectricCookie wants to merge 64 commits intocircus-kitchens:mainfrom
ElectricCookie:main

Conversation

@ElectricCookie
Copy link
Copy Markdown

Hello,

this is an ongoing effort to add the option to configure the profile from flutter.

Currently I've been able to port roughly 120 of the parameters of DataWedge to be callable from Flutter.

To not get lost in types, I ported the communication to pigeon

My goal is to have at least also the encoder parameters in flutter to choose between different barcodes.

Note: Since this also changes what this library can do I will have to make breaking changes to the API.

ElectricCookie and others added 26 commits August 17, 2023 14:48
Co-authored-by: Tobias Ottenweller <tobias@circuskitchens.com>
…ircus-kitchens#30)

Bumps com.android.tools.build:gradle from 7.3.1 to 8.1.1.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* bump flutter version to current

* update example sdk version

* update flutter version for github actions

* correct formatting step
…s#31)

* Bump kotlin_version from 1.7.10 to 1.9.10 in /android

Bumps `kotlin_version` from 1.7.10 to 1.9.10.

Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.7.10 to 1.9.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.7.10...v1.9.10)

Updates `org.jetbrains.kotlin:kotlin-stdlib-jdk7` from 1.7.10 to 1.9.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.7.10...v1.9.10)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk7
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump kotlin_version from 1.7.10 to 1.9.10 in /android

Bumps `kotlin_version` from 1.7.10 to 1.9.10.

Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.7.10 to 1.9.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.7.10...v1.9.10)

Updates `org.jetbrains.kotlin:kotlin-stdlib-jdk7` from 1.7.10 to 1.9.10
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md)
- [Commits](JetBrains/kotlin@v1.7.10...v1.9.10)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk7
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update build.gradle

* Update example project

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tobias Ottenweller <tobias@circuskitchens.com>
…ircus-kitchens#34)

Bumps com.android.tools.build:gradle from 8.1.1 to 8.1.2.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Bump version 2.1.0

* Update changelog.
Bumps [lints](https://github.com/dart-lang/lints) from 2.1.1 to 3.0.0.
- [Release notes](https://github.com/dart-lang/lints/releases)
- [Changelog](https://github.com/dart-lang/lints/blob/main/CHANGELOG.md)
- [Commits](dart-archive/lints@v2.1.1...v3.0.0)

---
updated-dependencies:
- dependency-name: lints
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ircus-kitchens#36)

* feat: add option to initialize method to skip profile creation

* chore: upgrade dependencies

* refactor: update generated classes

* feat: expand capabilities of Example application

* feat: add Android Code to handle GetProfilesList and GetActiveProfile

* feat: GetProfiles and ActiveProfiles functions are now available

* refactor: restrcuture package so that we control what we export

* chore: update README

* fix: remove profileName form constrcutor

* fix: use older UUID version

* refactor: make comman in ActionResult String again

* feat: add convenience function for logging

* fix: wrong comparison

* fix: adnroid native code issues

* refactor: remove unused method getPlatformVersion

* chore: update CHANGELOG and pubspec for prerelease

* Fix usage of correct result.

---------

Co-authored-by: Tobias Ottenweller <tobias@circuskitchens.com>
Bumps [uuid](https://github.com/Daegalus/dart-uuid) from 3.0.7 to 4.2.1.
- [Release notes](https://github.com/Daegalus/dart-uuid/releases)
- [Changelog](https://github.com/daegalus/dart-uuid/blob/main/CHANGELOG.md)
- [Commits](daegalus/dart-uuid@3.0.7...4.2.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…s#39)

Bumps `kotlin_version` from 1.9.10 to 1.9.20.

Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 1.9.10 to 1.9.20
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/commits)

Updates `org.jetbrains.kotlin:kotlin-stdlib-jdk7` from 1.9.10 to 1.9.20
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/commits)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ircus-kitchens#42)

Bumps com.android.tools.build:gradle from 8.1.2 to 8.1.4.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@ElectricCookie
Copy link
Copy Markdown
Author

I have merged the changes from main that were causing conflicts and have updated the flutter plugins for gradle https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply

I have tried this with a Zebra TC58 and it has been working.

Only known issue is a problem where the creation of a profile fails if its already existing. (Even when passing the CREATE_IF_NOT_EXIST flag).

Hapy to receive feedback on moving this forward.

Not every parameter is implemented yet but I think this is a good start :)

@ElectricCookie ElectricCookie marked this pull request as ready for review April 5, 2024 14:08
@ElectricCookie ElectricCookie changed the title [Ongoing] Pigeon and Profile configuration Pigeon and Profile configuration Apr 5, 2024
@t-unit
Copy link
Copy Markdown
Contributor

t-unit commented Apr 17, 2024

Thank you very much for contributing 🎉

We need more time to fully understand the implication of your changes. Which feature do you still have planned, or what is still missing? Otherwise, looking forward to your future changes!

@ElectricCookie
Copy link
Copy Markdown
Author

ElectricCookie commented Apr 18, 2024

I currently don't plan to add more features, due to time constraints

The current implementation covers configuring the barcode plugin quite well. Enterprise keyboard and other plugins are not really relevant at the moment to me so I skipped those for now.

Adding them should not really be a big issue, its just a matter of implementing the parameters in the pigeon file and mapping them to the intents in Kotlin.

@t-unit
Copy link
Copy Markdown
Contributor

t-unit commented Apr 18, 2024

Alright, thanks for the update. Please us know when you PR is ready to get tested and reviewed. We can make sure all works on a TC21 as well.

And no worries about missing features, we can add them step by step later on.

@ElectricCookie
Copy link
Copy Markdown
Author

You can start testing, I will see if I can resolve the new conflicts in the coming week.

Cheers

ElectricCookie and others added 20 commits May 18, 2025 16:14
Synthesize findings from parallel research agents into cohesive summary.
Identifies two-phase roadmap: (1) dependency modernization + Android
build verification, (2) release automation + semantic versioning.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…stable

- sdk: >=3.0.0 -> >=3.11.0 <4.0.0 (SDK-01)
- flutter: >=3.13.1 -> >=3.41.0 (SDK-02)
- async: ^2.11.0 -> ^2.13.0
- collection: ^1.17.1 -> ^1.19.1
- freezed_annotation: ^3.0.0 -> ^3.1.0
- json_annotation: ^4.8.0 -> ^4.11.0
- stream_transform: ^2.1.0 -> ^2.1.1
- strict_json: ^2.0.6 -> ^2.4.0
- build_runner: ^2.4.6 -> ^2.13.1
- json_serializable: ^6.6.1 -> ^6.8.0 (fell back from 6.13.1 due to analyzer conflict with pigeon 26.2.3)
- flutter pub get succeeds with no version conflict errors
- Updated ROADMAP.md plan progress (1/3 summaries for phase 01)
- Marked requirements SDK-01, SDK-02, SDK-03, SDK-04 complete
…, Kotlin 2.3.20

- Delete android/build.gradle (Groovy DSL)
- Create android/build.gradle.kts (Kotlin DSL) with AGP 8.7.3 and Kotlin 2.3.20
- Update gradle wrapper to gradle-9.4.1-all.zip
- Update example/android/settings.gradle.kts to AGP 8.7.3, Kotlin 2.3.20
…n DSL and API compat

- Rewrite generate.sh to use dart run pigeon (remove deprecated flags)
- Regenerate lib/src/pigeon.dart and Pigeon.kt via new Pigeon CLI
- Add abstract keyword to ActionResult, ScanResult, ScannerStatus (Freezed 3.x)
- Regenerate all .freezed.dart and .g.dart files
- Fix DataWedgeFlutterApi.setup -> setUp (Pigeon API rename)
- Fix android/build.gradle.kts as proper Kotlin DSL library module file
- Migrate compileSdk to 36, jvmTarget to JVM_11 via compilerOptions DSL
- Update all Kotlin enum references for new SCREAMING_SNAKE_CASE names
- Fix example/android/app/build.gradle.kts kotlinOptions -> compilerOptions DSL
- Fix const_with_non_const in example/test/widget_test.dart
- Android build succeeds: BUILD SUCCESSFUL
- Create 01-02-SUMMARY.md with full execution details
- Update STATE.md: advance to plan 3, add decisions, metrics
- Update ROADMAP.md: plan 2/3 complete for phase 01
- Update REQUIREMENTS.md: mark AND-01..04, GEN-01..04 complete
- Create test/flutter_datawedge_test.dart with passing placeholder test
- Establishes test gate for CI pipeline
…move pub.dev workflow

- Rewrite pull_request.yml with stable channel (remove version pin per D-05)
- Add android-build job: Java 17 temurin, flutter build apk --release in example/
- Add test job: flutter test with needs [lint] gate
- Update dart format exclusions to cover *.freezed.dart and *.g.dart
- Upgrade checkout action from v3 to v4
- Delete publish-to-pub.dev.yml (per D-11, consumed via git deps not pub.dev)
- Add 01-03-SUMMARY.md: CI pipeline with lint + android-build + test jobs
- Update STATE.md: Phase 1 complete, all 3 plans executed, decisions logged
- Update ROADMAP.md: Phase 01 progress 3/3 (Complete)
- Update REQUIREMENTS.md: CI-01..CI-05, TST-01, TST-02 marked complete
Wave 1: 02-01 — v3.0.0 baseline tag + CHANGELOG.md header
Wave 2: 02-02 — release.yml with mtrust-api-guard automation

Covers VER-01, VER-02, VER-03, VER-04.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace old manual changelog format with Keep a Changelog standard
- Header-only file; first release entry will be appended by mtrust-api-guard
- HTML comment guards against manual edits
- v3.0.0 annotated tag on original fork commit 8f2e65c
- CHANGELOG.md with Keep a Changelog header (header-only per D-10)
- STATE.md updated: plan 2 of 2, new decisions logged
- ROADMAP.md updated with phase 2 progress

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ioning

- 4-job workflow: lint, android-build, test, release
- release job gates on all CI jobs passing (needs: lint, android-build, test)
- fetch-depth: 0 ensures full git history for mtrust-api-guard tag comparison
- mtrust-api-guard 6.0.4 detects API changes and produces semver bump
- graceful skip when change_type == 'none' (no API changes, no release)
- idempotency check: tag_exists detection prevents duplicate releases
- git bot config set before commit (github-actions[bot] identity)
- pubspec.yaml version bumped via sed on version: line
- CHANGELOG.md updated via awk injection after automation guard comment
- annotated git tag v{version} created and pushed
- GitHub Release created via gh CLI with changelog body
- paths-ignore prevents spurious release runs on workflow/doc changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants