feat: implement Android player bridge - #5
Draft
TenGosc007 wants to merge 35 commits into
Draft
Conversation
…ry in npm package
…ion and validation - Add net.bunny:api:3.3.0 dependency to android/build.gradle for BunnyStreamApi access - Extend NativeBunnyStreamPlayerSpec instead of ReactContextBaseJavaModule - Implement initialize(accessKey, libraryId) method delegating to BunnyStreamApi.initialize - Add validateLibraryId helper with finite/positive/integer validation - Add @Suppress("DEPRECATION") annotation to createNativeModules - Add explicit type parameter
…tive player wrapper - Add BunnyStreamPlayerView wrapper extending FrameLayout with single BunnyStreamPlayer child - Implement BunnyStreamPlayerViewManager extending SimpleViewManager with Codegen delegate integration - Add commitProps() lifecycle hook in onAfterUpdateTransaction for prop batching - Add cleanup() and onDropViewInstance override for proper resource disposal - Update ViewManager documentation from stub placeholder
- Add CommandQueue class with FIFO semantics and ready-gate for Play/Pause/SeekTo commands - Add PlayerCommand sealed class hierarchy for type-safe command representation - Integrate CommandQueue in BunnyStreamPlayerView with executor lambda delegating to player methods - Add onPlayerReady() hook to drain pending commands when player reaches STATE_READY - Reset command queue on source change and cleanup to drop stale commands - Route
…d state machine - Add androidx.media3:media3-common:1.6.0 dependency for Player.Listener and PlaybackException access - Add PlayerEventListener adapter registering Media3 Player.Listener on DefaultBunnyPlayer.currentPlayer - Implement generation-based callback filtering to drop stale events after source changes - Add FabricEventEmitter wrapper over EventDispatcher with WritableMap payload building - Implement PlaybackState sealed
…te cleanup lifecycle - Add BunnyPlayerLease class with atomic acquire/release semantics for DefaultBunnyPlayer singleton ownership - Implement onRevoke callback to trigger cleanup when newer view takes over - Add lease.acquire() in BunnyStreamPlayerView.init and lease.release() in cleanup() - Add cleanedUp guard to prevent double-cleanup from lease revoke + onDropViewInstance - Split cleanup() into public method (releases lease) and private
…nt and initialize method
…package.json exports
…ease, and PlaybackState
…ller visibility with lifecycle integration
…velopment tooling
…ty and add SafeAreaView
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
- Migrate BunnyStreamPlayerPackage to BaseReactPackage - Fix view ID resolution in view manager - Add buffering end event on ready transition - Add slug to example app.json for singleApp mode Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…avigation support
… styles to inner View
…to fix white text visibility
… player state management
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wrap native BunnyStreamPlayer from the Bunny Android Gradle module;
map RN props, commands, and events.