Bumps [fl_chart](https://github.com/imaNNeo/fl_chart) from 0.61.0 to 0.62.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/imaNNeo/fl_chart/releases">fl_chart's releases</a>.</em></p> <blockquote> <h2>0.62.0</h2> <ul> <li><strong>BUGFIX</strong> (by <a href="https://github.com/JoshMart"><code>@JoshMart</code></a>) Fix extra lines not painting when at chart min or max, <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/1255">#1255</a>.</li> <li><strong>BUGFIX</strong> (by <a href="https://github.com/imaNNeo"><code>@imaNNeo</code></a>) Check if mounted before calling setState in _handleBuiltInTouch methods in bar, line and scatter charts, <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/1101">#1101</a></li> <li><strong>FEATURE</strong> (by <a href="https://github.com/MagdyYacoub1"><code>@MagdyYacoub1</code></a>): Added gradient color to <a href="https://github.com/imaNNeo/fl_chart/blob/master/repo_files/documentations/base_chart.md#rangeannotations">RangeAnnotations</a> by adding gradient attribute to <a href="https://github.com/imaNNeo/fl_chart/blob/master/repo_files/documentations/base_chart.md#horizontalrangeannotation">horizontalRangeAnnotations</a> and <a href="https://github.com/imaNNeo/fl_chart/blob/master/repo_files/documentations/base_chart.md#verticalrangeannotation">VerticalRangeAnnotation</a>, <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/1195">#1195</a>.</li> <li><strong>BUGFIX</strong> (by <a href="https://github.com/Motionz-Von"><code>@Motionz-Von</code></a>)Fix windows build for example app</li> <li><strong>FEATURE</strong> (by <a href="https://github.com/Motionz-Von"><code>@Motionz-Von</code></a>)BarChart groupSpace also takes effect when alignment is BarChartAlignment.end or BarChartAlignment.start.</li> <li><strong>FEATURE</strong> (by <a href="https://github.com/Motionz-Von"><code>@Motionz-Von</code></a>) supports setting line StrokeCap on HorizontalLine/VerticalLine</li> <li><strong>BUGFIX</strong> (by <a href="https://github.com/nav-28"><code>@nav-28</code></a>) Fix radar chart tick and graph point not matching <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/1078">#1078</a></li> <li><strong>IMPROVEMENT</strong> (by <a href="https://github.com/imaNNeo"><code>@imaNNeo</code></a>) Update LineChartSample5 to demonstrate click to toggle show/hide tooltip, <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/118">#118</a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/imaNNeo/fl_chart/blob/master/CHANGELOG.md">fl_chart's changelog</a>.</em></p> <blockquote> <h2>0.62.0</h2> <ul> <li><strong>BUGFIX</strong> (by <a href="https://github.com/JoshMart"><code>@JoshMart</code></a>) Fix extra lines not painting when at chart min or max, <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/1255">#1255</a>.</li> <li><strong>BUGFIX</strong> (by <a href="https://github.com/imaNNeo"><code>@imaNNeo</code></a>) Check if mounted before calling setState in _handleBuiltInTouch methods in bar, line and scatter charts, <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/1101">#1101</a></li> <li><strong>FEATURE</strong> (by <a href="https://github.com/MagdyYacoub1"><code>@MagdyYacoub1</code></a>): Added gradient color to <a href="https://github.com/imaNNeo/fl_chart/blob/master/repo_files/documentations/base_chart.md#rangeannotations">RangeAnnotations</a> by adding gradient attribute to <a href="https://github.com/imaNNeo/fl_chart/blob/master/repo_files/documentations/base_chart.md#horizontalrangeannotation">horizontalRangeAnnotations</a> and <a href="https://github.com/imaNNeo/fl_chart/blob/master/repo_files/documentations/base_chart.md#verticalrangeannotation">VerticalRangeAnnotation</a>, <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/1195">#1195</a>.</li> <li><strong>BUGFIX</strong> (by <a href="https://github.com/Motionz-Von"><code>@Motionz-Von</code></a>)Fix windows build for example app</li> <li><strong>FEATURE</strong> (by <a href="https://github.com/Motionz-Von"><code>@Motionz-Von</code></a>)BarChart groupSpace also takes effect when alignment is BarChartAlignment.end or BarChartAlignment.start.</li> <li><strong>FEATURE</strong> (by <a href="https://github.com/Motionz-Von"><code>@Motionz-Von</code></a>) supports setting line StrokeCap on HorizontalLine/VerticalLine</li> <li><strong>BUGFIX</strong> (by <a href="https://github.com/nav-28"><code>@nav-28</code></a>) Fix radar chart tick and graph point not matching <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/1078">#1078</a></li> <li><strong>IMPROVEMENT</strong> (by <a href="https://github.com/imaNNeo"><code>@imaNNeo</code></a>) Update LineChartSample5 to demonstrate click to toggle show/hide tooltip, <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/118">#118</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="e55632ffdd"><code>e55632f</code></a> Bump version to 0.62.0</li> <li><a href="1e763ba9ef"><code>1e763ba</code></a> Set path strategy as a default strategy in web</li> <li><a href="04a9a0588f"><code>04a9a05</code></a> Remove temp Iran banner and message</li> <li><a href="278d4c854b"><code>278d4c8</code></a> Update LineChartSample5 to demonstrate click to toggle show/hide tooltip, <a href="https://redirect.github.com/imaNNeo/fl_chart/issues/118">#118</a></li> <li><a href="30f3b17dac"><code>30f3b17</code></a> change dividing by zero condition</li> <li><a href="b898bd43d6"><code>b898bd4</code></a> update changelog</li> <li><a href="c35539284f"><code>c355392</code></a> fix radar chart tick point not scaling</li> <li><a href="e99695494d"><code>e996954</code></a> doc: update Change log and doc-ing strokeCap for VerticalLine/HorizontalLine</li> <li><a href="2457e70641"><code>2457e70</code></a> refactor: fix tests</li> <li><a href="66eaeea81f"><code>66eaeea</code></a> refactor: supports setting line StrokeCap on HorizontalLine/VerticalLine</li> <li>Additional commits viewable in <a href="https://github.com/imaNNeo/fl_chart/compare/0.61.0...0.62.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
FFIgen + JNIgen pedometer
This is a demo for some of our tooling around calling platform APIs directly from dart code. This repository represents a demo of a plugin that leverages FFIgen & JNIgen. There is also an example pedometer app that uses the bindings generated from these tools.
- FFIgen is used to generate bindings for C, Objective-C and Swift APIs
- JNIgen is used to generate bindings for Java and Kotlin APIs
These tools are both experimental and are currently a work in progress. If you find any issues or have feedback, please file it on the corresponding Github repositories.
Re-generating bindings
The bindings that allow the dart code to call the platform code have already been generated here. You can regenerate them by following the steps below.
FFIgen
Configuration for FFIgen is here for the CoreMotion framework. FFIgen currently does not support autogenerating the code to handle callbacks. So, there were a few steps needed to appropriately handle callbacks in Objective-C. You can read more here.
dart run ffigen --config ffigen.yaml
JNIgen
Configuration for JNIgen is here for the HealthConnect API.
cd Example && flutter build apkcd .. && dart run jnigen --config jnigen.yaml
Running the example app
Note that step counting is only available on physical devices.
iOS
flutter run- Allow pedometer app access to step counting
Android
- Make sure that Google Fit is installed (to ensure that steps are being counted)
flutter run- Install Health Connect and grant access to Google Fit and the jni_demo app
Project stucture
-
src: Contains the native source code, and a CMakeLists.txt file for building that source code into a dynamic library. -
lib: Contains the Dart code that defines the API of the plugin, and which calls into the native code usingdart:ffi. -
platform folders (
iosetc.): Contains the build files for building and bundling the native code library with the platform application. -
example: Contains the native source code for building that source code into a dynamic library.