YangJH
69a7bc2d26
feat: implement enterPictureInPictureOnLeave prop for both platform (Android, iOS) ( #3385 )
...
* docs: enable Android PIP
* chore: change comments
* feat(android): implement Android PictureInPicture
* refactor: minor refactor code and apply lint
* fix: rewrite pip action intent code for Android14
* fix: remove redundant codes
* feat: add isInPictureInPicture flag for lifecycle handling
- activity provide helper method for same purpose, but this flag makes code simple
* feat: add pipFullscreenPlayerView for makes PIP include video only
* fix: add manifest value checker for prevent crash
* docs: add pictureInPicture prop's Android guide
* fix: sync controller visibility
* refactor: refining variable name
* fix: check multi window mode when host pause
- some OS version call onPause on multi-window mode
* fix: handling when onStop is called while in multi-window mode
* refactor: enhance PIP util codes
* fix: fix FullscreenPlayerView constructor
* refactor: add enterPictureInPictureOnLeave prop and pip methods
- remove pictureInPicture boolean prop
- add enterPictureInPictureOnLeave boolean prop
- add enterPictureInPicture method
- add exitPictureInPicture method
* fix: fix lint error
* fix: prevent audio play in background without playInBackground prop
* fix: fix onDetachedFromWindow
* docs: update docs for pip
* fix(android): sync pip controller with external controller state
- for media session
* fix(ios): fix pip active fn variable reference
* refactor(ios): refactor code
* refactor(android): refactor codes
* fix(android): fix lint error
* refactor(android): refactor android pip logics
* fix(android): fix flickering issue when stop picture in picture
* fix(android): fix import
* fix(android): fix picture in picture with fullscreen mode
* fix(ios): fix syntax error
* fix(android): fix Fragment managed code
* refactor(android): remove redundant override lifecycle
* fix(js): add PIP type definition for codegen
* fix(android): fix syntax
* chore(android): fix lint error
* fix(ios): fix enter background handler
* refactor(ios): remove redundant code
* fix(ios): fix applicationDidEnterBackground for PIP
* fix(android): fix onPictureInPictureStatusChanged
* fix(ios): fix RCTPictureInPicture
* refactor(android): Ignore exception for some device ignore pip checker
- some device ignore PIP availability check, so we need to handle exception to prevent crash
* fix(android): add hideWithoutPlayer fn into Kotlin ver
* refactor(android): remove redundant code
* fix(android): fix pip ratio to be calculated with correct ratio value
* fix(android): fix crash issue when unmounting in PIP mode
* fix(android): fix lint error
* Update android/src/main/java/com/brentvatne/react/VideoManagerModule.kt
* fix(android): fix lint error
* fix(ios): fix lint error
* fix(ios): fix lint error
* feat(expo): add android picture in picture config within expo plugin
* fix: Replace Fragment with androidx.activity
- remove code that uses Fragment, which is a tricky implementation
* fix: fix lint error
* fix(android): disable auto enter when player released
* fix(android): fix event handler to check based on Activity it's bound to
---------
Co-authored-by: jonghun <jonghun@toss.im>
Co-authored-by: Olivier Bouillet <62574056+freeboub@users.noreply.github.com>
2025-01-04 12:37:33 +01:00
Krzysztof Moch
ccffcfd709
fix(ios): don't pause playback when entering background ( #3973 )
2024-07-08 13:41:21 +02:00
Krzysztof Moch
07f71c2fc4
fix(ios): apply PictureInPicture state on start ( #3655 )
2024-04-05 10:37:00 +02:00
Gaëtan Kueny
bb9e7eb5a5
fix(ios): fix PiP callback ( #3601 )
2024-03-26 14:10:31 +01:00
YangJH
e63c7cbd30
refactor(ios): remove type assertion within setupPipController ( #3493 )
...
* refactor(ios): remove type assertion within setupPipController
* lint: apply swift lint
2024-01-24 07:54:58 +01:00
Krzysztof Moch
2ed3949307
chore(linter/swift): add shorthand_optional_binding
rule ( #3456 )
...
* chore(linter/swift): add `shorthand_optional_binding` rule
* lint code
2024-01-04 20:16:23 +01:00
Krzysztof Moch
800aee09de
chore: lint project ( #3395 )
...
* chore: format swift code
* chore: format clang code
* chore: format kotlin code
* refactor: rename folder "API" to "api"
2023-12-07 08:47:40 +01:00
YangJH
11f62013e3
fix(ios): fix pip(when player doesn't fill screen) ( #3363 )
2023-11-20 08:43:35 +01:00
lrusso
35256062d9
fixing PIP mode on iOS
2023-08-28 14:55:34 -03:00
Nick Fujita
68b9db4d11
iOS Swift Conversion ( #2527 )
...
Converts iOS implementation from Objective-c to Swift
# During the conversion process some updates to the code structure were also made
- Modularize codebase from single file to smaller focused files
- Untangled large nested IF statements
- Added more null checks, since Swift is more strict with null pointers
- Added property to allow for decoding of local video sources with self contained key for offline playback
- Updates example apps to test react-native 0.63.4 and uses auto native dependency imports for android and ios
2022-05-19 22:29:25 +09:00