Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] fullscreen video #2073

Merged
merged 12 commits into from
Apr 19, 2022

Conversation

r0b0t3d
Copy link
Contributor

@r0b0t3d r0b0t3d commented Jul 5, 2020

Hi, there are PRs that tried to resolve the problem with displaying fullscreen on Android but seems not working well.
This PR aim to solve that problem.

Solution

I start a fullscreen activity in native side and reuse player instance from ReactExoPlayerView

@ilyausorov
Copy link

ilyausorov commented Jul 15, 2020

This is great! Merged it into my local copy of react-native-video without any problems. Recommend it for merging.

Quick question though: right now it seems when I come back from the fullscreen mode it triggers the react native AppState.addEventListener('change', () => func). On the iOS side, the full screen behavior doesn't trigger the AppState event listener. Is there a quick way to mirror that behavior on the android side too or should I be setting up an exception for my app state listener for this?

@anandhakumarpalanisamy
Copy link

anandhakumarpalanisamy commented Aug 21, 2020

Fantastic pull request . Kindly merge this as soon as possible . Great work@r0b0t3d
I tested using this branch.
Works like a charm 👍 💯
Here is the demo :

fullscreengif

@zscm
Copy link

zscm commented Aug 25, 2020

Fantastic pull request . Kindly merge this as soon as possible . Great work@r0b0t3d
I tested using this branch.
Works like a charm 👍 💯
Here is the demo :

fullscreengif

Can I have a look at your demo code?

@jenshandersson
Copy link
Contributor

This looks great! Maybe someone with more Android skills can review and merge? @CHaNGeTe @cobarx

@dlindstrm
Copy link

dlindstrm commented Sep 24, 2020

Nice PR! I have noticed one problem. When I pause a video in fullscreen, I can't resume it unless I exit fullscreen mode.

Edit: I have now tried it on a real device. And have noticed a pattern. When toggling fullscreen and press pause, it is not possible to start the video on the first press on the play icon. When I do a second press on the play icon the video starts playing and then the play/pause toggling works as expected until I toggle fullscreen again.

Edit2: It works as expected if I apply this PR to 5.0.2.

@golya
Copy link

golya commented Sep 30, 2020

@anandhakumarpalanisamy did you add the controls property only, or you have to add the full screen control manually?
Because for me the r0b0t3d:feature/android-fullscreen does not work, I do not see the full screen button.

@golya
Copy link

golya commented Oct 6, 2020

@ilyausorov how does this works for you? If I use the branch r0b0t3d:feature/android-fullscreen (build is cleaned) still do not have fullscreen control and if I use the presentFullscreenPlayer still does not work. Can you help me what I miss? Currently with react-native 0.60+ there is no package that can have a control that present the video on fullscreen.

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented Oct 6, 2020

@golya please try

yarn add https://github.com/r0b0t3d/react-native-video.git#feature/android-fullscreen

@golya
Copy link

golya commented Oct 6, 2020

@r0b0t3d thanks for the help!!! :) However as I wrote above I used this branch (and I add by yarn add https://github.com/r0b0t3d/react-native-video.git#feature/android-fullscreen) after that I cleaned the build, rebuild, and there is no fullscreen control and I can not set it to fullscreen by presentFullscreenPlayer. If I use your branch should I see the fullscreen control immediately?

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented Oct 6, 2020

Yes, it should be there. You can check code in node_modules/react-native-video if it contains changes in this PR.

@golya
Copy link

golya commented Oct 6, 2020

@r0b0t3d thanks! Then I try again, at least this is important information that I should see the control, so if I do not see then I am doing something wrong. :D How do you mean check code in node_modules/react-native-video? What kind of changes should I check there? Thanks for the help again!! :)

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented Oct 6, 2020

At least, you can check if node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ExoPlayerFullscreenVideoActivity is exists.

Please note that, this PR only for ExoPlayer, so please check carefully if you are setting it correctly Android installation

Important part: android/settings.gradle

include ':react-native-video'
project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android-exoplayer')

@golya
Copy link

golya commented Oct 6, 2020

@r0b0t3d It works!!! The android/settings.gradle what I missed, and by this way the README.me is little bit confusing because the android install part starts with "Linking is not required in React Native 0.60 and above."
I will send a pull request about this and they will accept it or not, but I think it should be more clear what part is related to 0.60+ and which is not.

On the other hand the fullscreenAutorotate and the fullscreenOrientation does not work on my side, can you help me where I can find the related code in your branch and I will start to debug it.

Thanks for the help!!! 👍

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented Oct 6, 2020

@golya Actually, if you are using default player, you no need to manual link. In case of using ExoPlayer, you will need to point to android-exoplayer. That is the point. 😄

@golya
Copy link

golya commented Oct 6, 2020

@r0b0t3d got it! :)
So can you help me where I can find the related code for fullscreenAutorotate and fullscreenOrientation in your branch and I will start to debug it? Or you mean this related to a linking problem as well?

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented Oct 6, 2020

fullscreenAutorotate only for iOS. What is your problem with fullscreenOrientation?
Basically, fullscreenOrientation will set default orientation when fullscreen activated. You can see code in node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ExoPlayerFullscreenVideoActivity

If you want to activate fullscreen while rotating the device to landscape. you might need the help from react-native-orientation-locker

@golya
Copy link

golya commented Oct 6, 2020

@r0b0t3d And right, you need to update the MainApplication.java as well by:

import com.brentvatne.react.ReactVideoPackage;

packages.add(new ReactVideoPackage());

And this little bit different what you need to use in case of 0.60 < and what the README.me says.
Now I do not have any problem with the rotation using your branch.

Thanks for everything @r0b0t3d, this helped me a lot!!!

@golya
Copy link

golya commented Oct 6, 2020

@r0b0t3d FYI: I got this fatal exception, I try to figure out why, but after the first video watch the app is crashing and the video works after I restart the app.

10-06 13:09:12.573  5891  5891 E AndroidRuntime: FATAL EXCEPTION: main                                                                                                                        
10-06 13:09:12.573  5891  5891 E AndroidRuntime: java.lang.IndexOutOfBoundsException: index=1 count=0
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at android.view.ViewGroup.addInArray(ViewGroup.java:5235) 
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at android.view.ViewGroup.addViewInner(ViewGroup.java:5128)                                                                                         
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at android.view.ViewGroup.addView(ViewGroup.java:4935)                                                                                              
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at com.brentvatne.exoplayer.ReactExoplayerView.addPlayerControl(ReactExoplayerView.java:408)                                                        
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at com.brentvatne.exoplayer.ReactExoplayerView.setControls(ReactExoplayerView.java:1309)                                                            
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at com.brentvatne.exoplayer.ReactExoplayerView$6.run(ReactExoplayerView.java:490)                                                                   
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:883)                                                                                              
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:100)                                                                                             
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:214)                                                                                                          
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7356)                                                                                        
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)                                                                                                   
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)                                                                
10-06 13:09:12.573  5891  5891 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)                                                                                     

@golya
Copy link

golya commented Oct 7, 2020

it seems this FATAL EXCEPTION is related to this: #1846

@ignaciosantise
Copy link

Thanks @r0b0t3d for this PR! Is there anything blocking this merge? @jenshandersson

@silentlight
Copy link

Can this be merged in?

@hueniverse hueniverse self-assigned this Apr 19, 2022
@hueniverse hueniverse added this to the 5.2.1 milestone Apr 19, 2022
@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented Apr 19, 2022

@hueniverse I am using it for my production apps. I think we can merge then if there is any issue, we can add a fix later

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented Apr 19, 2022

@mehthabt do you have crash log?

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented Apr 19, 2022

@jonra1993 which source are you using now?

@hueniverse hueniverse merged commit c5d9a45 into TheWidlarzGroup:master Apr 19, 2022
@mehthabt
Copy link

@r0b0t3d sorry for the late reply, let me check again!

@mehthabt
Copy link

mehthabt commented Apr 20, 2022

@r0b0t3d i tried with latest rn-video

im getting

Execution failed for task ':app:checkDebugAarMetadata'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Could not find com.google.android.exoplayer:exoplayer:2.13.2.

on building

should i change it to 2.13.3 ?

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented Apr 20, 2022

@mehthabt yes please

@osliver
Copy link

osliver commented May 2, 2022

I've install library from git -
"react-native-video": "git+https://github.com/react-native-video/react-native-video.git",

and have crash on android when press full screen button (Android Emulator, ExoPlayer)

2022-05-02 13:43:21.218 23389-23532/com.projectname E/ACodec: [OMX.google.h264.decoder] setPortMode on output to DynamicANWBuffer failed w/ err -1010
2022-05-02 13:43:27.409 23389-23468/com.projectname E/unknown:ReactEventEmitter: Unhandled SoftException
    com.facebook.react.bridge.ReactNoCrashSoftException: Cannot find EventEmitter for receivedTouches: ReactTag[2131361942] UIManagerType[2] EventName[topTouchStart]
        at com.facebook.react.uimanager.events.ReactEventEmitter.receiveTouches(ReactEventEmitter.java:87)
        at com.facebook.react.uimanager.events.TouchesHelper.sendTouchEvent(TouchesHelper.java:106)
        at com.facebook.react.uimanager.events.TouchEvent.dispatch(TouchEvent.java:191)
        at com.facebook.react.uimanager.events.TouchEvent.dispatchModern(TouchEvent.java:201)
        at com.facebook.react.uimanager.events.EventDispatcherImpl$DispatchEventsRunnable.run(EventDispatcherImpl.java:369)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loop(Looper.java:214)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
        at java.lang.Thread.run(Thread.java:919)
    
    
    --------- beginning of system
2022-05-02 13:43:27.496 23389-23468/com.projectname E/unknown:ReactEventEmitter: Unhandled SoftException
    com.facebook.react.bridge.ReactNoCrashSoftException: Cannot find EventEmitter for receivedTouches: ReactTag[2131361942] UIManagerType[2] EventName[topTouchEnd]
        at com.facebook.react.uimanager.events.ReactEventEmitter.receiveTouches(ReactEventEmitter.java:87)
        at com.facebook.react.uimanager.events.TouchesHelper.sendTouchEvent(TouchesHelper.java:106)
        at com.facebook.react.uimanager.events.TouchEvent.dispatch(TouchEvent.java:191)
        at com.facebook.react.uimanager.events.TouchEvent.dispatchModern(TouchEvent.java:201)
        at com.facebook.react.uimanager.events.EventDispatcherImpl$DispatchEventsRunnable.run(EventDispatcherImpl.java:369)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loop(Looper.java:214)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
        at java.lang.Thread.run(Thread.java:919)
2022-05-02 13:43:27.553 23389-23389/com.projectname E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.projectname, PID: 23389
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.projectname/com.brentvatne.exoplayer.ExoPlayerFullscreenVideoActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
        at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:846)
        at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:809)
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:696)
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:195)
        at com.brentvatne.exoplayer.ExoPlayerFullscreenVideoActivity.onCreate(ExoPlayerFullscreenVideoActivity.java:41)
        at android.app.Activity.performCreate(Activity.java:7802)
        at android.app.Activity.performCreate(Activity.java:7791)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016at android.os.Handler.dispatchMessage(Handler.java:107at android.os.Looper.loop(Looper.java:214at android.app.ActivityThread.main(ActivityThread.java:7356at java.lang.reflect.Method.invoke(Native Methodat com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930

@hueniverse
Copy link
Contributor

@osliver Thanks for the report. Is this from using the current master branch?

@freeboub are you able to take a look?

@reinismu
Copy link

reinismu commented May 2, 2022

Just tried to run master with react native 0.66.3 and on fullscreen press it failed as well

@freeboub
Copy link
Collaborator

freeboub commented May 2, 2022

I just have a look, but on my branch, I don't have this code ...
Anyway here are some clues:
The ExoPlayerFullscreenVideoActivity is declared as follow:

        <activity
            android:name="com.brentvatne.exoplayer.ExoPlayerFullscreenVideoActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:launchMode="singleTop" />

but the style of the activity is not specified.

where : class ExoPlayerFullscreenVideoActivity extends AppCompatActivity

The log says:
You need to use a Theme.AppCompat theme (or descendant) with this activity.
at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:846)

It means that the default style of the doesn't match android expectations
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"

@reinismu @osliver can you try to add the theme in declaration please ? or double check the default theme in your app ?

@reinismu
Copy link

reinismu commented May 2, 2022

This is how my theme looks now

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
        <!-- Customize your theme here. -->
    </style>

    <!-- BootTheme should inherit from Theme.SplashScreen -->
    <style name="BootTheme" parent="Theme.SplashScreen">
        <item name="windowSplashScreenBackground">@color/bootsplash_background</item>
        <item name="windowSplashScreenAnimatedIcon">@mipmap/bootsplash_logo</item>
        <item name="postSplashScreenTheme">@style/AppTheme</item>
    </style>

</resources>

I tried to change few things around it, but it didn't help

@osliver
Copy link

osliver commented May 2, 2022

@freeboub same for me, I'm using bootsplash for splash screen and according to bootsplash documentation in manifest file it have to be -

      android:theme="@style/BootTheme">

and style file below

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
        <!-- Customize your theme here. -->
    </style>

    <!-- BootTheme should inherit from Theme.SplashScreen -->
    <style name="BootTheme" parent="Theme.SplashScreen">
      <item name="windowSplashScreenBackground">@color/bootsplash_background</item>
      <item name="windowSplashScreenAnimatedIcon">@drawable/bootsplash_logo</item>
      <item name="postSplashScreenTheme">@style/AppTheme</item>
    </style>
</resources>

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented May 3, 2022

@reinismu @osliver this ticket was closed. Please help create a new ticket with the minimal producible repo and tag me. I will check it. Thanks

@hueniverse
Copy link
Contributor

@r0b0t3d I would prefer continuing this conversation here where we have context for it. If the issues are not resolved, we might have to roll this change back.

@freeboub
Copy link
Collaborator

freeboub commented May 4, 2022

@hueniverse I double check merged patch and I am not sure this change is valid ...
First, it will not be possible to have a custom UI control in JS when ExoPlayerFullscreenVideoActivity is displayed.
Once the ExoPlayerFullscreenVideoActivity what happen to emit emited to JS ?

I think events generate the : 'ReactEventEmitter: Unhandled SoftException' and than, other log, are just side effect of this initial issue.
I understand the philosophy of this change but I don't think this is 'valid'.
Notice that similar change can be done for Pip in order to have pip over JS UI (If you are able to make it work :) ).

@osliver
Copy link

osliver commented May 11, 2022

any updates on this?

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented May 12, 2022

@osliver I will take a look this weekend. Thanks

@r0b0t3d
Copy link
Contributor Author

r0b0t3d commented May 15, 2022

@osliver I tried with the latest code from master branch on my current app, all works well.

The current example app can't run on my device arm64 simulator. So I will try to create new demo repo then let you know

@osliver
Copy link

osliver commented May 15, 2022

@r0b0t3d as I understand this issue only if react-native-bootsplash implemented

@freeboub
Copy link
Collaborator

freeboub commented May 15, 2022

Can you please try to move : android:theme="@style/BootTheme" inside your MainActivity instead of the whole app, It may fix the issue...
Regarding to this patch, I am still not confident...
A sample side effect is that when you are in full screen you cannot reload the app.

@osliver @r0b0t3d do you use a custom UI to handle playback state outside of defautl controls ?

@hueniverse according to: https://stackoverflow.com/questions/37188351/how-can-i-use-multiple-reactactivity-with-seperate-js-bundle a second activity can be a ReactActivity. It will allow custom UI implementation! can can also be usefull for pip implementation, but it need to bundle entry points (registerComponent)
Edit: I try to extends from ReactActivity, but once this is done, full screen doesn't display video :/

@osliver
Copy link

osliver commented May 16, 2022

@freeboub
if you mean in this way then still crash -

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.projectname">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:allowBackup="false">
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
        android:launchMode="singleTask"
        android:exported="true"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustNothing"
        android:theme="@style/BootTheme">  // moved here from <activity
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
    </application>
</manifest>

if go in this way -

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.projectname">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:allowBackup="false"
      android:theme="@style/AppTheme"> // return default theme
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
        android:launchMode="singleTask"
        android:exported="true"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustNothing"
        android:theme="@style/BootTheme"> // and add bootsplash theme to activity
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
    </application>
</manifest>

it throw error in Logical but no crash -

2022-05-16 09:53:46.396 1449-1527/com.projectname E/unknown:ReactEventEmitter: Unhandled SoftException
    com.facebook.react.bridge.ReactNoCrashSoftException: Cannot find EventEmitter for receivedTouches: ReactTag[2131361942] UIManagerType[2] EventName[topTouchStart]
        at com.facebook.react.uimanager.events.ReactEventEmitter.receiveTouches(ReactEventEmitter.java:87)
        at com.facebook.react.uimanager.events.TouchesHelper.sendTouchEvent(TouchesHelper.java:106)
        at com.facebook.react.uimanager.events.TouchEvent.dispatch(TouchEvent.java:191)
        at com.facebook.react.uimanager.events.TouchEvent.dispatchModern(TouchEvent.java:201)
        at com.facebook.react.uimanager.events.EventDispatcherImpl$DispatchEventsRunnable.run(EventDispatcherImpl.java:369)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loop(Looper.java:214)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
        at java.lang.Thread.run(Thread.java:919)
2022-05-16 09:53:46.511 1449-1527/com.projectname E/unknown:ReactEventEmitter: Unhandled SoftException
    com.facebook.react.bridge.ReactNoCrashSoftException: Cannot find EventEmitter for receivedTouches: ReactTag[2131361942] UIManagerType[2] EventName[topTouchEnd]
        at com.facebook.react.uimanager.events.ReactEventEmitter.receiveTouches(ReactEventEmitter.java:87)
        at com.facebook.react.uimanager.events.TouchesHelper.sendTouchEvent(TouchesHelper.java:106)
        at com.facebook.react.uimanager.events.TouchEvent.dispatch(TouchEvent.java:191)
        at com.facebook.react.uimanager.events.TouchEvent.dispatchModern(TouchEvent.java:201)
        at com.facebook.react.uimanager.events.EventDispatcherImpl$DispatchEventsRunnable.run(EventDispatcherImpl.java:369)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loop(Looper.java:214)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
        at java.lang.Thread.run(Thread.java:919)
2022-05-16 09:53:46.864 1449-1817/com.projectname E/EGL_emulation: eglQueryContext 32c0  EGL_BAD_ATTRIBUTE
2022-05-16 09:53:46.864 1449-1817/com.projectname E/EGL_emulation: tid 1817: eglQueryContext(1902): error 0x3004 (EGL_BAD_ATTRIBUTE)

@osliver
Copy link

osliver commented May 16, 2022

just small visual issue left with full screen - "leave full screen" covered by screen resolution (default controls)
Снимок экрана 2022-05-16 в 10 22 27

hueniverse added a commit that referenced this pull request May 21, 2022
@hueniverse
Copy link
Contributor

Given the uncertainty around this change, I decided to revert it. Moving forward it will go through the new review process which wasn't in place when this was merged.

mattleff pushed a commit to mattleff/react-native-video that referenced this pull request May 24, 2022
jason-ong added a commit to jason-ong/react-native-video that referenced this pull request Jun 27, 2022
original PR: TheWidlarzGroup#2073

Removed ExoPlayerFullscreenVideoActivity PR: TheWidlarzGroup@daf5e59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.