Skip to content

chore(deps): bump advanced_haptics from 1.0.8 to 1.2.0 - #863

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/pub/advanced_haptics-1.2.0
Closed

dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/pub/advanced_haptics-1.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Bumps advanced_haptics from 1.0.8 to 1.2.0.

Changelog

Sourced from advanced_haptics's changelog.

1.2.0

  • NEW: AGP 9 built-in Kotlin support, following Flutter's plugin migration guide. The Android build file no longer applies the Kotlin Gradle plugin (KGP) when AGP 9's built-in Kotlin is active (android.builtInKotlin=true), configures jvmTarget through the kotlin.compilerOptions DSL, and declares kotlin-test-junit5 explicitly for its unit tests (only KGP swaps a bare kotlin-test for the JUnit 5 variant).
  • Existing setups keep working unchanged: with built-in Kotlin disabled (what Flutter's templates write), Flutter 3.44+ applies KGP to plugin projects itself, and on older Flutter versions the plugin applies KGP as before. The minimum Flutter version is unchanged. Verified with Flutter 3.38.0 (AGP 8.11 / KGP 2.2.20), 3.44.8 (AGP 9.0.1, legacy mode) and 3.47.4 (AGP 9.1.0, built-in Kotlin).
  • Enabling built-in Kotlin in an app needs Flutter 3.47 or newer: Flutter 3.44's tooling applies KGP to every plugin regardless of the setting, which AGP 9 rejects; 3.47 gates that on android.builtInKotlin. Keep the org.jetbrains.kotlin.android ... apply false declaration (2.2.20+) in settings.gradle(.kts), since Flutter's version check reads it even though it is never applied.
  • The example app keeps Flutter's template defaults (android.builtInKotlin=false); the README explains how to switch.

1.1.0

Design one pattern, play it everywhere.

  • NEW: HapticPattern, HapticTransient, HapticContinuous and HapticPatternBuilder: a platform-independent pattern model with intensity and sharpness per event. AdvancedHaptics.playPattern() renders it as Core Haptics events on iOS, as VibrationEffect.Composition primitives on Android 11+ (tap-only patterns, TICK/CLICK/THUD chosen by sharpness), and as a waveform everywhere else. HapticPattern.toWaveform() exposes the flattening for callers who want the raw waveform.
  • NEW: AndroidHapticPrimitive, AndroidPrimitiveEvent and AdvancedHaptics.playComposition(): direct access to Android's composition primitives (click, tick, thud, spin, quickRise, slowRise, quickFall, lowTick). Unsupported devices and Android below API 30 get a waveform approximation; iOS renders the closest Core Haptics events, so the call is safe on every platform.
  • NEW: AdvancedHaptics.supportsAndroidPrimitives() reports native primitive support (API 30+ and hardware).
  • Compositions and predefined effects cannot be paused; patterns played as waveforms or Core Haptics can.

1.0.10

  • CHORE: Bumped flutter_lints to ^6.0.0 (dev dependency only; no runtime changes). The package and example analyze cleanly under the current lint set.

1.0.9

Robustness release: every method is now safe to call on any platform and device.

  • FIX: AndroidPredefinedHaptic used wrong effect IDs (pop/thud/ringtone1 mapped to ringtone effects). IDs now match android.os.VibrationEffect; added textureTick. Unsupported effects fall back to click (API 30+).
  • FIX: cancel(), pause(), resume() and seek() threw MissingPluginException on Android.
  • NEW: pause(), resume() and seek() now work on Android. The vibrator has no native pause, so the plugin tracks the position inside the playing waveform, cancels on pause and replays the remainder (looping included) on resume or seek. PLAYER_NIL is thrown when nothing is playing, matching iOS.
  • FIX: stop() and cancel() on iOS threw PLAYER_NIL when nothing was playing. They are now idempotent.
  • FIX: atTime on iOS was passed as an absolute engine time, so scheduled playback/pause/resume/stop never worked. It is now a delay in seconds from now.
  • FIX: iOS devices without Core Haptics (iPads, iPhone 7 and older) threw UNSUPPORTED on every call. They now fall back to UIFeedbackGenerator.
  • FIX: iOS engine reset/stop handlers mutated state off the main thread, and a stale player could block new playback after an engine reset.
  • FIX: Repeating waveforms on iOS ignored trailing silence (loopEnd was never set).
  • FIX: Android crashed with ClassCastException when timings exceeded 32 bits, and SecurityException (missing VIBRATE permission) was not caught.
  • FIX: hasCustomHapticsSupport() could throw on platforms without a native implementation or when the native side returned null.
  • NEW: playWaveform(repeat: ...) is now a real parameter (it was documented but ignored).
  • NEW: Dart-side argument validation with clear ArgumentErrors (empty lists, mismatched lengths, negative timings, amplitudes outside 0-255, bad repeat, negative times).
  • NEW: Android below API 26 plays the on/off shape of a waveform (previously a fixed 200 ms buzz); playPredefined plays an approximation below API 29 instead of erroring. Uses VibratorManager on API 31+.
  • NEW: Very short iOS waveform segments (< 40 ms) are rendered as transient taps, which are far more perceptible.
  • NEW: playAhap accepts absolute file paths in addition to Flutter asset paths.
  • NEW: AdvancedHapticsPlatform is now a real platform interface: replace AdvancedHapticsPlatform.instance with a mock in tests.
  • NEW: iOS sources ship as a Swift package (ios/advanced_haptics/Package.swift) with a privacy manifest, so apps built with Swift Package Manager (default since Flutter 3.44) no longer fall back to CocoaPods. The podspec is kept for CocoaPods users.
  • CHORE: Real Dart and Kotlin unit tests; podspec metadata; plugin build.gradle moved to Java 17 / compileSdk 36 and no longer double-applies the Kotlin plugin under AGP 9.
  • CHORE: Example app modernised: Gradle 9.1 / AGP 9.0.1 / Kotlin 2.3.20 (it could not build on the JDK current Flutter uses), iOS deployment target 13.0 (the podspec minimum), error reporting in the UI, demos for looping waveforms, predefined effects and player controls.

... (truncated)

Commits

Dependabot compatibility score

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 commands and options

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 show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @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)

Bumps [advanced_haptics](https://github.com/miracle101000/advanced_haptics) from 1.0.8 to 1.2.0.
- [Changelog](https://github.com/miracle101000/advanced_haptics/blob/main/CHANGELOG.md)
- [Commits](https://github.com/miracle101000/advanced_haptics/commits)

---
updated-dependencies:
- dependency-name: advanced_haptics
  dependency-version: 1.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

dependabot Bot commented on behalf of github Sep 22, 2026

Copy link
Copy Markdown
Contributor Author

Looks like advanced_haptics is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 22, 2026
@dependabot
dependabot Bot deleted the dependabot/pub/advanced_haptics-1.2.0 branch September 22, 2026 05:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants