fix: use explicit imports to prevent missing meta annotations on some
Flutter versions
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Refactored import statements throughout the codebase from broad
imports with hide directives to explicit symbol declarations using show
clauses. This improves code clarity, reduces unnecessary symbol
exposure, and enhances maintainability.
* Consolidated imports to leverage specialized packages for improved
code organization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- Clear selected device when audio/video is disabled
- Reset selection if the device disappears on device change
- Prevents DropdownButton “exactly one item with value” crash
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Reset prejoin device selection when a previously chosen audio or video
device becomes unavailable.
* Keep device selection and preview tracks synchronized: auto-select a
device when enabling audio/video if none is selected, and stop/clear
preview tracks when disabling or when inputs are removed.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Changes:
Updated text labels to "Microphone"
Updated dropdown placeholder
Why:
Improves clarity and professionalism in the example UI.
Testing:
Manually tested on Android emulator + physical device.
---------
Co-authored-by: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com>
This PR removed some of the error ignorances from analysis_options.yaml
and fixed the warnings.
---------
Co-authored-by: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com>
* Define `BroadcastManager` class
Mirrors API of the same class from the native Swift SDK.
* Copy classes from native Swift SDK
Unneeded functionality has been omitted.
* Mark `LiveKitPlugin` as avalible on iOS 13 and higher
This is necesary to allow using the Combine framework. Since the minimum deployment target is iOS 13 according to the Podspec, this should not cause any issues.
* Implement RPC methods for broadcast manager
* Properly handle broadcast capture state
Same solution as implemented in PR #551 for the native Swift SDK.
* Use `broadcast-manual` device id
Sets the `deviceId` constraint to `broadcast-manual`, ensuring the broadcast picker isn't presented a second time when publishing a screen share track.
* Update example app
Removes boilerplate for iOS broadcast state management now handled internally by the library.
* Format
* Run import sorter