Skip to content

[refactor] Crash when trying to play in popup via list longpress menu #13597

Open

Description

@TobiGr

Checklist

  • I am able to reproduce the bug with the latest version given here: CLICK THIS LINK.
  • I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I have read the FAQ and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.
  • I have read and understood the AI policy. The content of this bug report is not generated by AI.

Affected version

0.28.5-57-202604250235 refactor nightly

Steps to reproduce the bug

  1. Ensure that the app does not have the permission to be displayed over other apps
  2. Go to a list
  3. Start the video in popup mode via the longpress dialog

Expected behavior

Dialog explaining the permission request is shown

Actual behavior

The app crashes

Screenshots/Screen recordings

No response

Logs

Crash: View class androidx.appcompat.widget.AppCompatTextView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).

Stacktrace

``` View class androidx.appcompat.widget.AppCompatTextView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant). Shutting down VM FATAL EXCEPTION: main Process: org.schabi.newpipe.debug.refactor, PID: 6704 java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:902) at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:865) at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:748) at androidx.appcompat.app.AppCompatDialog.setContentView(AppCompatDialog.java:96) at androidx.appcompat.app.AlertController.installContent(AlertController.java:232) at androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:278) at android.app.Dialog.dispatchOnCreate(Dialog.java:436) at android.app.Dialog.show(Dialog.java:325) at androidx.appcompat.app.AlertDialog$Builder.show(AlertDialog.java:1008) at org.schabi.newpipe.util.PermissionHelper.checkSystemAlertWindowPermission(PermissionHelper.java:157) at org.schabi.newpipe.util.PermissionHelper.isPopupEnabledElseAsk(PermissionHelper.java:175) at org.schabi.newpipe.util.NavigationHelper.playOnPopupPlayer(NavigationHelper.java:145) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry.lambda$static$8(StreamDialogDefaultEntry.java:82) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry$$ExternalSyntheticLambda11.accept(D8$$SyntheticClass:0) at org.schabi.newpipe.util.SparseItemUtil.fetchItemInfoIfSparse(SparseItemUtil.java:54) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry.lambda$static$9(StreamDialogDefaultEntry.java:81) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry$$ExternalSyntheticLambda4.onClick(D8$$SyntheticClass:0) at org.schabi.newpipe.info_list.dialog.InfoItemDialog.lambda$new$2(InfoItemDialog.java:76) at org.schabi.newpipe.info_list.dialog.InfoItemDialog$$ExternalSyntheticLambda2.onClick(D8$$SyntheticClass:0) at androidx.appcompat.app.AlertController$AlertParams$3.onItemClick(AlertController.java:1068) at android.widget.AdapterView.performItemClick(AdapterView.java:330) at android.widget.AbsListView.performItemClick(AbsListView.java:1274) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3287) at android.widget.AbsListView$3.run(AbsListView.java:4266) at android.os.Handler.handleCallback(Handler.java:995) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loopOnce(Looper.java:248) at android.os.Looper.loop(Looper.java:338) at android.app.ActivityThread.main(ActivityThread.java:9067) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932) ACRA caught a IllegalStateException for org.schabi.newpipe.debug.refactor java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:902) at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:865) at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:748) at androidx.appcompat.app.AppCompatDialog.setContentView(AppCompatDialog.java:96) at androidx.appcompat.app.AlertController.installContent(AlertController.java:232) at androidx.appcompat.app.AlertDialog.onCreate(AlertDialog.java:278) at android.app.Dialog.dispatchOnCreate(Dialog.java:436) at android.app.Dialog.show(Dialog.java:325) at androidx.appcompat.app.AlertDialog$Builder.show(AlertDialog.java:1008) at org.schabi.newpipe.util.PermissionHelper.checkSystemAlertWindowPermission(PermissionHelper.java:157) at org.schabi.newpipe.util.PermissionHelper.isPopupEnabledElseAsk(PermissionHelper.java:175) at org.schabi.newpipe.util.NavigationHelper.playOnPopupPlayer(NavigationHelper.java:145) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry.lambda$static$8(StreamDialogDefaultEntry.java:82) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry$$ExternalSyntheticLambda11.accept(D8$$SyntheticClass:0) at org.schabi.newpipe.util.SparseItemUtil.fetchItemInfoIfSparse(SparseItemUtil.java:54) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry.lambda$static$9(StreamDialogDefaultEntry.java:81) at org.schabi.newpipe.info_list.dialog.StreamDialogDefaultEntry$$ExternalSyntheticLambda4.onClick(D8$$SyntheticClass:0) at org.schabi.newpipe.info_list.dialog.InfoItemDialog.lambda$new$2(InfoItemDialog.java:76) at org.schabi.newpipe.info_list.dialog.InfoItemDialog$$ExternalSyntheticLambda2.onClick(D8$$SyntheticClass:0) at androidx.appcompat.app.AlertController$AlertParams$3.onItemClick(AlertController.java:1068) at android.widget.AdapterView.performItemClick(AdapterView.java:330) at android.widget.AbsListView.performItemClick(AbsListView.java:1274) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3287) at android.widget.AbsListView$3.run(AbsListView.java:4266) at android.os.Handler.handleCallback(Handler.java:995) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loopOnce(Looper.java:248) at android.os.Looper.loop(Looper.java:338) at android.app.ActivityThread.main(ActivityThread.java:9067) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932) ``

Affected Android/Custom ROM version

API 36

Affected device model

No response

Additional information

Might be solved by #12032 by passing the correct context.

Activity

  1. added theissue type on Jun 13, 2026
  2. changed the title [-][refactor][/-] [+][refactor] Crash when trying to play in popup via list longpress menu[/+] on Jun 13, 2026
  3. moved this to Todo in Rewriteon Jun 13, 2026
  4. alyshaizzati commented on Oct 16, 2026

    @alyshaizzati

    Hi! I've successfully reproduced this crash on my Android device (tested on v0.29.1). I'd love to take on this issue. Could I be assigned to this?

  5. ShareASmile commented on Oct 26, 2026

    @ShareASmile
    Collaborator

    Hi! I've successfully reproduced this crash on my Android device (tested on v0.29.1). I'd love to take on this issue. Could I be assigned to this?

    @alyshaizzati Have you reproduced it on refactor branch nightly or v0.29.1 (based on dev)..
    Please clear the air first before taking it up because OP has mentioned refactor branch specifically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugIssue is related to a bug

Type

Projects

  • Status
    Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions