recloudstream / recloudstream/cloudstream

Right side of the screen becomes unresponsive during full screen playback (After disconnecting and reconnecting earphones)

Open
#3,090 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Kotlin
Stars
10.7k
Forks
1.1k
Avg merge
1d 23h
Merged PRs (30d)
15

Description

Steps to reproduce
  1. Open the cloudstream
  2. Connect earphones
  3. Play a media
  4. Disconnect earphones
  5. Reconnect earphones
  6. Right side of the screen is unresponsive
  7. Left side is fine
Expected behavior

Touch control should work on both the left and right side of the screen during Fullscreen playback, allowing access to the title bar and seekbar

Actual behavior

During Fullscreen playback the right side of the screen becomes unresponsive to touch and the title bar and seekbar do not appear when tapped

Cloudstream version and commit hash

4.8.0 8bdc599 July 9, 2026 23:49:58

Android version

Android 11

Logcat
--------- beginning of main
07-24 23:22:12.734 18919 18919 V PhoneWindow: DecorView setVisiblity: visibility = 0, Parent = android.view.ViewRootImpl@80b4ffc, this = DecorView@8180685[MainActivity]
07-24 23:22:12.756 18919 18919 V PhoneWindow: DecorView setVisiblity: visibility = 0, Parent = android.view.ViewRootImpl@80b4ffc, this = DecorView@8180685[MainActivity]
--------- beginning of system
07-24 23:22:14.868 18919 18919 D ViewRootImpl: enqueueInputEventMotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=515.0, y[0]=929.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519821134, downTime=519821134, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:14.868 18919 18919 D ViewRootImpl[MainActivity]: processMotionEvent MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=515.0, y[0]=929.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519821134, downTime=519821134, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:14.869 18919 18919 D ViewRootImpl[MainActivity]: dispatchPointerEvent handled=true, event=MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=515.0, y[0]=929.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519821134, downTime=519821134, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:14.933 18919 18919 D ViewRootImpl[MainActivity]: processMotionEvent MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=515.0, y[0]=929.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519821201, downTime=519821134, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:14.935 18919 18919 D ViewRootImpl[MainActivity]: dispatchPointerEvent handled=true, event=MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=515.0, y[0]=929.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519821201, downTime=519821134, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:14.953 18919 18919 I NavComponent: Navigating to fragment: 2131361886
07-24 23:22:15.124 18919 18919 W st.cloudstream: Accessing hidden method Landroid/graphics/Canvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V (greylist-max-o, linking, denied)
07-24 23:22:16.161 18919 18919 D ViewRootImpl: enqueueInputEventMotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=537.0, y[0]=1269.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519822427, downTime=519822427, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:16.161 18919 18919 D ViewRootImpl[MainActivity]: processMotionEvent MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=537.0, y[0]=1269.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519822427, downTime=519822427, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:16.166 18919 18919 D ViewRootImpl[MainActivity]: dispatchPointerEvent handled=true, event=MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=537.0, y[0]=1269.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519822427, downTime=519822427, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:16.328 18919 18919 D ViewRootImpl[MainActivity]: processMotionEvent MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=561.0, y[0]=1005.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519822595, downTime=519822427, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:16.330 18919 18919 D ViewRootImpl[MainActivity]: dispatchPointerEvent handled=true, event=MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=561.0, y[0]=1005.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519822595, downTime=519822427, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:17.135 18919 18919 D ViewRootImpl: enqueueInputEventMotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=461.0, y[0]=1310.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519823401, downTime=519823401, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:17.136 18919 18919 D ViewRootImpl[MainActivity]: processMotionEvent MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=461.0, y[0]=1310.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519823401, downTime=519823401, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:17.137 18919 18919 D ViewRootImpl[MainActivity]: dispatchPointerEvent handled=true, event=MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=461.0, y[0]=1310.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519823401, downTime=519823401, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:17.216 18919 18919 D ViewRootImpl[MainActivity]: processMotionEvent MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=461.0, y[0]=1310.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519823484, downTime=519823401, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:17.217 18919 18919 D ViewRootImpl[MainActivity]: dispatchPointerEvent handled=true, event=MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=461.0, y[0]=1310.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=519823484, downTime=519823401, deviceId=3, source=0x1002, displayId=0 }
07-24 23:22:17.264 18919 18919 D TestOverScroll: getScaledOverscrollDistance: b
07-24 23:22:17.274 18919 18919 D ColorViewRootUtil: initSwipState, isDisplayCompatApp false
07-24 23:22:17.274 18919 18919 D ColorViewRootUtil: mScreenHeight 1600, mScreenWidth 720
07-24 23:22:17.277 18919 18919 D ViewRootImpl[MainActivity]: hardware acceleration = true , fakeHwAccelerated = false, sRendererDisabled = false, forceHwAccelerated = false, sSystemRendererDisabled = false
07-24 23:22:17.291 18919 18919 E libEGL  : Invalid file path for libcolorx-loader.so
07-24 23:22:17.291 18919 18919 I chatty  : uid=10456(com.lagradost.cloudstream3) identical 2 lines
07-24 23:22:17.291 18919 18919 E libEGL  : Invalid file path for libcolorx-loader.so
07-24 23:22:17.291 18919 18919 E libEGL  : Invalid file path for libcolorx-loader.so
07-24 23:22:17.291 18919 18919 E libEGL  : Invalid file path for libcolorx-loader.so
07-24 23:22:17.292 18919 18919 I InputTransport: Create ARC handle: 0xb400007c87e2cf20
Other details

No response

Acknowledgements
  • I am sure my issue is related to the app and NOT some extension.
  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
  • I have written a short but informative title.
  • I have updated the app to pre-release version Latest.
  • I will fill out all of the requested information in this form.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the earphone disconnect/reconnect sequence during fullscreen playback on Android 11, then inspect the fullscreen playback touch handling and audio-device reconnection flow. The fix is done when taps on both sides of the screen reveal and operate the title bar and seekbar after reconnecting earphones.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.