Package-level declarations
Types
Optional install hook so the Android app shell can hand us an application Context (needed for the system Vibrator). Sound works without it; haptics no-op until set.
Device haptic pattern. A coarse, feel-based taxonomy the caller maps its own moments onto.
Registers the host app's notification channels. Idempotent — createNotificationChannels upserts by id, so calling it again on every launch (the recommended pattern) is safe.
A single notification channel the host app wants created. Kept app-agnostic — the app declares its own channels (ids, names, importance) and passes them to NotificationChannelManager.createChannels; this module owns none of them.
Plays short SFX by SoundKey and fires haptics by HapticPattern.
Functions
True only when a Context has been installed AND the host app actually declares the FileProvider.
Whether shareImage does anything on this platform right now. Android reports false until the host app has called FeedbackAndroid.install(context), because the share needs a Context.
True unconditionally. UIActivityViewController is part of UIKit — unlike Android, there is no host-app wiring (no Context, no FileProvider declaration) that can be missing.
Whether shareImage does anything on this platform right now. Android reports false until the host app has called FeedbackAndroid.install(context), because the share needs a Context.
Whether shareImage does anything on this platform right now. Android reports false until the host app has called FeedbackAndroid.install(context), because the share needs a Context.
Platform factory for the default SoundPlayer.
Platform factory for the default SoundPlayer.
Platform factory for the default SoundPlayer.
Platform factory for the default SoundPlayer.
Platform factory for the default SoundPlayer.
Android actual: writes the PNG into the app's cache and shares it as a content:// stream.
Shares an image with accompanying text through the platform share sheet.
iOS actual: writes the PNG into the temporary directory and hands its file URL to the share sheet alongside text, mirroring what the Android actual does with a content:// stream.
Not implemented on this target yet, matching shareText. canShareImage reports it honestly.
Not implemented on this target yet, matching shareText. canShareImage reports it honestly.
iOS actual: UIActivityViewController, the counterpart to Android's ACTION_SEND chooser.
Desktop has no system share sheet, so there is nothing to invoke: the JVM actual is a deliberate no-op rather than an unfinished function. A desktop host that wants sharing copies the text to the clipboard itself — that is a host decision, not something this module should guess at.
Deliberate no-op. The Web Share API (navigator.share) is available only on a secure origin, only from inside a user-gesture handler, and not at all on most desktop browsers — calling it from here would throw on the majority of hosts. Wiring it up properly means routing the call through the host's gesture handler, which is a change to this module's contract, not a fix.