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

Can't interact with app/screen below popup player on Android 12 #6770

Closed
4 tasks done
Joristdh opened this issue Jul 26, 2021 · 55 comments · Fixed by #8279
Closed
4 tasks done

Can't interact with app/screen below popup player on Android 12 #6770

Joristdh opened this issue Jul 26, 2021 · 55 comments · Fixed by #8279
Labels
bug Issue is related to a bug device/software specific Issues that only happen on some devices or with some specific hardware/software player Issues related to any player (main, popup and background)

Comments

@Joristdh
Copy link

Checklist

Steps to reproduce the bug

  1. This is a bug on Android 12 beta 3
  2. Open a video in the popup player (it doesn't matter which video or how you open it)
  3. Make sure the popup uses the full width of the screen (when in portrait)
  4. Open another app below the popup player, go to the home screen or open recent apps
  5. Try to interact with the screen below the popup

Actual behavior

All touches to the app/screen below the popup are ignored, because of the following behavior change in Android 12: https://developer.android.com/about/versions/12/behavior-changes-all#untrusted-touch-events

Expected behavior

The app below the popup responds to the touches.

Workaround

For now this issues can be solved per device by running the following ADB command:
adb shell settings put global block_untrusted_touches 0

Device info

  • Android version/Custom ROM version: Android 12 beta 3
  • Device model: Pixel 3
@Joristdh Joristdh added the bug Issue is related to a bug label Jul 26, 2021
@AudricV AudricV added device/software specific Issues that only happen on some devices or with some specific hardware/software player Issues related to any player (main, popup and background) labels Jul 26, 2021
@chrstfer
Copy link

chrstfer commented Aug 3, 2021

Im seeing this sporadically on android 11 (samsung gs20 ultra with up to date stock firmware) with most recent release (0.21.7). It doesn't seem to matter about the fullwidth thing, though iwill start to pay attention if that is triggering it and then the issue is persisting after i make it smaller again.

Also, often the app beneath will respond to drags and swipes but no controls will send their events even though they animate.

This might be because certain apps are supporting new APIs? Or it might be a different but similar bug.

@chrstfer
Copy link

chrstfer commented Aug 9, 2021

What needs to be done to fix this? Its real annoying to need to clear my queue (because of an unrelated issue) just to send a tweet.

@Joristdh
Copy link
Author

@chrstfer I don't think it is the same bug. The behavior change is introduced in Android 12, as you can see in the link I provided in the description. If you encounter a similar bug in Android 11 it's probably caused by something else.
Maybe Samsung implemented a similar restriction in One UI or those apps implemented some restrictions themselves (for while another app overlays them).

If your bug does have the same cause, the ADB shell command in the description should fix it. If it doesn't, or you can't execute the command at all (because you aren't on Android 12), you should probably file a new bug report detailing your specific issue.

@hackel
Copy link

hackel commented Sep 2, 2021

I also (still) have this issue on Android 12 beta 4.1 and the width of the pop-up makes no difference. I believe I read that the native PIP mode will need to be used going forward for security.

Update: Still broken in Android 12 final, as expected (sadly).

@captainhook
Copy link

I am also seeing this on Pixel 5, Android 12.

I'm not keen on the security implications of the workaround, so I'll wait for PiP implementation, but I can confirm it works.

@Joristdh
Copy link
Author

It is also possible to only exclude NewPipe from this new permission:
adb shell am compat disable BLOCK_UNTRUSTED_TOUCHES org.schabi.newpipe

I haven't tested this myself, but this should allow you to only disable this restriction for the NewPipe overlay

@captainhook
Copy link

captainhook commented Oct 25, 2021

>adb shell am compat disable BLOCK_UNTRUSTED_TOUCHES org.schabi.newpipe
Cannot override a change on a non-debuggable app and user build.

Seems to not work for this.
It is documented here though so good thinking: https://developer.android.com/about/versions/12/behavior-changes-all?hl=ro#untrusted-touch-events

@schnatzi
Copy link

schnatzi commented Oct 31, 2021

Same thing on Pixel 6 with Android 12.0. Oddly enough the problem wasn't an issue on the Pixel 3 with Android 12 at my end.

@dbenjaminmiller
Copy link

Can confirm this is an issue for me on Android 12. What I think would be the proper solution is to offer a native popup as the default for A12 users with the old-style popup available as an option (which would require ADB access to be useful).

@asdf512
Copy link

asdf512 commented Nov 3, 2021

#2223 Is the current open issue for implementing PiP support. Others date back to 2017. Hopefully with the recent problems caused by android 12 this will be resolved.

@Coderdude112
Copy link

@schnatzi You arn't having problems with it on your Pixel 3? I'm having problems on my Pixel 3...

@schnatzi
Copy link

schnatzi commented Nov 4, 2021

@schnatzi You aren't having problems with it on your Pixel 3? I'm having problems on my Pixel 3...

Maybe it just didn't occur at my end, because I didn't use it in combination with other apps since the update.

@codingicebear
Copy link

Can confirm this. When in pop up player mode, screen below the player becomes unresponsive.

A12 latest build

@PacoBell
Copy link

PacoBell commented Dec 4, 2021

adb shell am compat disable BLOCK_UNTRUSTED_TOUCHES org.schabi.newpipe
Cannot override a change on a non-debuggable app and user build.

Seems to not work for this. It is documented here though so good thinking: https://developer.android.com/about/versions/12/behavior-changes-all?hl=ro#untrusted-touch-events

Yes, the specifically targeted app workaround doesn't work, but the global one does:

adb shell settings put global block_untrusted_touches 0

Just FYI 😉

@Coderdude112
Copy link

Thanks @PacoBell! Worked immediately

@rawlife56
Copy link

The security measure exists for a reason. It is not smart enough to disable it globally.

@Coderdude112
Copy link

@rawlife56 Yes, it does exist for a reason, I believe there is an application for it. It's new with Android 12 to my knowledge and not many apps have been updated to work with the new permissions. Pip is a useful feature and is something I use all the time, so this temporary fix is ok.

@book000
Copy link

book000 commented Dec 14, 2021

This issue also occurs on Pixel 3a, Android 12.
Moreover, it seems to occur even when playing in the background... (There is a notification in the notification column that "NewPipe is displayed above other apps")
If you stop NewPipe playing in the background from the notification column as it is, in the worst case you will not be able to operate Home or other applications.

@werjany
Copy link

werjany commented Apr 7, 2022

Please test #8045. It's not the optimal solution at all, but should really help you until the player rewrite is done.

After the newest update to MIUI 13 that solution doesn't work at all. Cannot use a popup window - the phone doesn't respond to touching anywhere else.

@moneytoo
Copy link
Contributor

moneytoo commented Apr 7, 2022

This must be just some fixable issue as other video players using overlay window API (not the PiP) work just fine on Android 12 (Samsung Galaxy S21 FE). For example Nova Video Player or (when configured to use overlay window instead of native PiP) MX Player and OPlayer. I will try debugging that when I have some time.
EDIT: Could it be because of FLAG_NOT_TOUCHABLE in the overlay drop zone for closing the popup?

@AudricV
Copy link
Member

AudricV commented Apr 7, 2022

I made some tests and the non interaction of the screen on Android 12 is definitively caused by the close popup view button! By preventing its construction on Android 12+, other apps can get touches made to the screen.

However, several things in the player are based on this button, and just prevent the creation of this button crashes the app when resizing or moving the view. So, if the solution to this issue is to disable this button, at least for Android 12+, code using the close popup button will need to be updated.

@AudricV
Copy link
Member

AudricV commented Apr 14, 2022

So, if the solution to this issue is to disable this button, at least for Android 12+, code using the close popup button will need to be updated.

I did it and the issue seems to be gone, at least on my emulator (Pixel 5 running Android 12).

However, I can't test the resize gesture.

Could you test this gesture and everything else with the popup player, using the following APK to see if I didn't break something with my changes (you can find them here: https://github.com/TiA4f8R/NewPipe/tree/disable-close-popup-button-creation-android-12-and-higher)? Thank you in advance!

app-debug.zip

@AudricV AudricV removed the help wanted Help is wanted in fixing this issue label Apr 14, 2022
@werjany
Copy link

werjany commented Apr 14, 2022

made some tests and the non interaction of the screen on Android 12 is definitively caused by the close popup view button! By preventing its construction on Android 12+, other apps can get touches made to the screen.

However, several things in the player are based on this button, and just prevent the creation of this button crashes the app when resizing or moving the view. So, if the solution to this issue is to disable this button, at least for Android 12+, code using the close popup button will need to be updated.

I tried using your update. Didn't solve the problem (Xiaomi Mi Note 10 Lite, MIUI 13.0.1, Android 12). It is still impossible to use the overlaying window outside the app, nothing except bottom buttons, notifications and control centre interacts.

@TacoTheDank TacoTheDank unpinned this issue Apr 15, 2022
@moneytoo
Copy link
Contributor

I did it and the issue seems to be gone, at least on my emulator (Pixel 5 running Android 12).

However, I can't test the resize gesture.

FYI: It is possible to use pinch to zoom (using standard mouse) in the emulator. There's some "secret" key combination to se the wanted initial zones for the gesture (last time I needed this I found the answer on StackOverflow).

Could you test this gesture and everything else with the popup player, using the following APK to see if I didn't break something with my changes (you can find them here: https://github.com/TiA4f8R/NewPipe/tree/disable-close-popup-button-creation-android-12-and-higher)? Thank you in advance!

Works for me seemingly fine on Android 12 (Samsung Galaxy S21 FE) including the window resize.

@vnckppl
Copy link

vnckppl commented Apr 20, 2022

Running the fix on my Samsung a53 stock without any issues. Watching a video in popup mode while typing this comment.

@AudricV
Copy link
Member

AudricV commented Apr 21, 2022

@moneytoo @vnckppl Sorry to ping you, but could you also test this APK and see if the issue is gone too?

It seems when setting a lower opacity to the close button (up to 0.8), we can also use the popup player on Android 12 and higher.

Could you test the following changes to see if they work (the source code is available here)? Thank you!

app-debug.zip

@moneytoo
Copy link
Contributor

@TiA4f8R The attached build works perfectly for me when using the popup player.

@werjany
Copy link

werjany commented Apr 21, 2022

@moneytoo @vnckppl Sorry to ping you, but could you also test this APK and see if the issue is gone too?

It seems when setting a lower opacity to the close button (up to 0.8), we can also use the popup player on Android 12 and higher.

Could you test the following changes to see if they work (the source code is available here)? Thank you!

app-debug.zip

That works for me too! Thanks!

@book000
Copy link

book000 commented Apr 21, 2022

The build posted by @TiA4f8R confirms that the popups work as expected! (Pixel 3a / Android 12)
Thank you.

@alexsohn1126
Copy link

@moneytoo @vnckppl Sorry to ping you, but could you also test this APK and see if the issue is gone too?

It seems when setting a lower opacity to the close button (up to 0.8), we can also use the popup player on Android 12 and higher.

Could you test the following changes to see if they work (the source code is available here)? Thank you!

app-debug.zip

Amazing. Worked for me.
Using Galaxy S10+ with Android 12.

@vnckppl
Copy link

vnckppl commented Apr 22, 2022

@moneytoo @vnckppl Sorry to ping you, but could you also test this APK and see if the issue is gone too?

It seems when setting a lower opacity to the close button (up to 0.8), we can also use the popup player on Android 12 and higher.

Could you test the following changes to see if they work (the source code is available here)? Thank you!

app-debug.zip

Works great! I can navigate normally in underlying apps and dragging the popup window to the closing button works too.

@AudricV
Copy link
Member

AudricV commented Apr 23, 2022

This bug should have been fixed by #8279, included in the upcoming release, 0.23.0. Closing as resolved.

@AudricV AudricV closed this as completed Apr 23, 2022
@SameenAhnaf SameenAhnaf mentioned this issue Apr 30, 2022
5 tasks
ShareASmile added a commit to ShareASmile/FoxPipe that referenced this issue Jun 14, 2024
…s of 15-01-2024 into pre-unified-legacy

This is a fork of TeamNewPipe/NewPipe-legacy that I have been patching for a few months now. There is no commit history as this has been a personal project up until today.

Pulled in a major chunk of related commits for NewPipe Preunified from upstream TeamNewPipe/NewPipe repository:
1. Update NewPipe extractor to fetch likes count Fix TeamNewPipe/NewPipe#10624
2. Access Background Player Queue from Main menu by HybridAU
TeamNewPipe/NewPipe#8419
3. Added Bandcamp Music Support Into NewPipeLegacy, Improve Bandcamp intent filters
TeamNewPipe/NewPipe#3741
TeamNewPipe/NewPipe#6373
TeamNewPipe/NewPipe#6456
4. Disable sending metrics to Google when using Android System WebView
TeamNewPipe/NewPipe#5337
5. Add basic resize functionality
TeamNewPipe/NewPipe#3948
6. [media.ccc.de] Add recent & live stream kiosk
TeamNewPipe/NewPipe#5251
TeamNewPipe/NewPipe#5286
[media.ccc.de] Fix service color
TeamNewPipe/NewPipe#5258
7. Ability to see Pinned Comment added by dkramer95
TeamNewPipe/NewPipe#7577
8. Clicking on Title In Background Player Should Open Video Details
TeamNewPipe/NewPipe#3808 by https://github.com/budde25
9. Added Swipe to Refresh for Channels New Videos in Subscription Feed
TeamNewPipe/NewPipe#4893
10. [peertube] implement sepia search
TeamNewPipe/NewPipe#5257
11. Allow installation on external storage by triallax in
TeamNewPipe/NewPipe#6037
12. Change UA to privacy.resistFingerprinting
TeamNewPipe/NewPipe#5649 by FireMasterK
13. Add formatting removal on paste for search TeamNewPipe/NewPipe#5912 by imericxu
14. Remember Last Selected Media Type For Downloads
TeamNewPipe/NewPipe#4038 by vmazoyer
15. Improve search suggestion experience when remote ones can't be fetched
TeamNewPipe/NewPipe#4029 by StyPox
16. Fix Download Button Not Visible After Playing Live Stream, Fix video detail controls visibility set inconsistently
Add this commit by StyPox
TeamNewPipe/NewPipe@dbb86d2 from
TeamNewPipe/NewPipe#4362
17. [Background Player] Fix very small thumbnails in Video Detail Page by TobiGR in
TeamNewPipe/NewPipe#5818
18. Add Always Expand Description In Appearance Settings
TeamNewPipe/NewPipe#2998 by B0pol
(Related) entries from search history Increased from 25 to 80 and Search Suggestions Entries from 3 to 60 commit copied from
TeamNewPipe/NewPipe#2666 thanks to ergor
20. Fixes snackbar error on disabled likes count
Fixes TeamNewPipe/NewPipe#7405 by TeamNewPipe/NewPipeExtractor#753
21. Fixed player controls not hiding after replay & Bluetooth headset button by Alexander--
TeamNewPipe/NewPipe#3547
22. update user agent in Downloader to firefox latest ESR 115 by Nickoriginal
TeamNewPipe/NewPipe#8269
23. Changed Dark Theme Colors To Darker Variant by sauravrao637
TeamNewPipe/NewPipe#6244
24. Support for PeerTube Short Links
TeamNewPipe/NewPipe#7353
25. Handle URLs for YouTube Shorts
TeamNewPipe/NewPipe#7181
26. Fix playback speed not being updated in Background Player & Fix TeamNewPipe/NewPipe#8058
Fixed Combinedly by TeamNewPipe/NewPipe#6421 by Tobius
and by seanzzy in
TeamNewPipe/NewPipe#8244
27. Added comments disabled functionallity by litetex in
TeamNewPipe/NewPipe#6483
28. [media.ccc.de] Fix service color
TeamNewPipe/NewPipe#5258
29. Ignore ContentNotSupportedException caused by Bandcamp fan pages
TeamNewPipe/NewPipeExtractor#1033
30. Crash when rotating device on unsupported channels
TeamNewPipe/NewPipe#6696
31. Correct Gigaget's license from GPLv2 to GPLv3
TeamNewPipe/NewPipe#4892
32. Add basic resize functionality [Samsung Dex Now Supported]
TeamNewPipe/NewPipe#3948
33. [Security] Update ktlint to 0.40.0
34. Fix security vulnerability update checkstyle / guava
35. Update ExoPlayer from 2.11.6 to 2.11.8
36. Update checkstyle, OkHttp, use Kotlin JDK8 by TacoTheDank added this commit
TeamNewPipe/NewPipe@79e2bb3
from TeamNewPipe/NewPipe#3909
37. Use user agent of DownloaderImpl also in ReCapthaActivity
TeamNewPipe/NewPipe#5215
38. Fix ACRA bug reports not containing stack trace, Do not init ACRA if inside its own process
TeamNewPipe/NewPipe#3982
39. Remove deprecated calls to set Sender class to ACRA
TeamNewPipe/NewPipe#3982
40.Use SubtitlesStream#getUrl instead of getURL
TeamNewPipe/NewPipe#4120
41. Remove pbj=1 parameter from YouYube urls in recaptcha activity
TeamNewPipe/NewPipe#5208
42. Set notification style in Android 11 to MediaStyle Thanks to XiangRongLin for Limted Support for preunified refer to this commit
XiangRongLin@aa55a09
43. Click on title in background player opens video details
TeamNewPipe/NewPipe#3808
44. Add 2K and 4K to the options list for default resolution
 TeamNewPipe/NewPipe#2968
45. Fix crash when opening video in local playlist tab
Fixes TeamNewPipe/NewPipe#3887
by TeamNewPipe/NewPipe#3892 by wb9688
46.  Handle ContentNotSupportedException
TeamNewPipe/NewPipe#3300
47. [YouTube] Improve download speed by Theta-dev
TeamNewPipe/NewPipe#9948
48. Disable commenter image when disabling thumbnails loading by 4D17Y4
Fixes TeamNewPipe/NewPipe#4205
TeamNewPipe/NewPipe#4350
49. Adapt opacity of popup close button to allow touches in other apps on Android >=11
Fixes TeamNewPipe/NewPipe#6770
TeamNewPipe/NewPipe#8279
50. Better error messages for SoundCloud and YouTube unavailable contents
TeamNewPipe/NewPipe#5385
51. Mitigating long buffering on initial video playback by using custom progress-load-interval in exoplayer,
Use 16 KiB as the default progressive load interval by karyogamy
TeamNewPipe/NewPipe#7919
52. Support for opening YouTube Live URLs
TeamNewPipe/NewPipe#9725

Co-Authored-By: Tobi <17365767+tobigr@users.noreply.github.com>
Co-Authored-By: Stypox <stypox@pm.me>
Co-Authored-By: Audric V. <74829229+audricv@users.noreply.github.com>
Co-Authored-By: bopol <58657617+b0pol@users.noreply.github.com>
Co-Authored-By: Isira Seneviratne <31027858+isira-seneviratne@users.noreply.github.com>
Co-Authored-By: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-Authored-By: fynngodau <fynngodau@mailbox.org>
Co-Authored-By: David Kramer <6166095+dkramer95@users.noreply.github.com>
Co-Authored-By: Ethan Budd <budde25@protonmail.com>
Co-Authored-By: triallax <triallax@tutanota.com>
Co-Authored-By: Kavin <20838718+firemasterk@users.noreply.github.com>
Co-Authored-By: Eric Xu <xeric.2002@gmail.com>
Co-Authored-By: Vincent Mazoyer <17800856+vmazoyer@users.noreply.github.com>
Co-Authored-By: Erol Gorancic <erol@gorancic.no>
Co-Authored-By: Alexander-- <1107390+alexander--@users.noreply.github.com>
Co-Authored-By: Saurav Rao <56369484+sauravrao637@users.noreply.github.com>
Co-Authored-By: Nickoriginal <85299944+nickoriginal@users.noreply.github.com>
Co-Authored-By: Ziyan Zhang <71145592+seanzzy@users.noreply.github.com>
Co-Authored-By: litetex <40789489+litetex@users.noreply.github.com>
Co-Authored-By: XiangRongLin <41164160+xiangronglin@users.noreply.github.com>
Co-Authored-By: wb9688 <46277131+wb9688@users.noreply.github.com>
Co-Authored-By: Okan25 <92695587+okan25@users.noreply.github.com>
Co-Authored-By: Michael Van Delft <1610265+hybridau@users.noreply.github.com>
Co-Authored-By: Taco <32376686+tacothedank@users.noreply.github.com>
Co-Authored-By: ThetaDev <thetadev@magenta.de>
Co-Authored-By: Aditya-Srivastav <54016427+4d17y4@users.noreply.github.com>
Co-Authored-By: John Zhen Mo <zhenmogukl@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue is related to a bug device/software specific Issues that only happen on some devices or with some specific hardware/software player Issues related to any player (main, popup and background)
Projects
None yet