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

4.2.0 widget crash on Android 14 #2091

Closed
weimdall opened this issue Mar 26, 2024 · 31 comments · Fixed by #2183
Closed

4.2.0 widget crash on Android 14 #2091

weimdall opened this issue Mar 26, 2024 · 31 comments · Fixed by #2183
Milestone

Comments

@weimdall
Copy link

weimdall commented Mar 26, 2024

Hello,

Since 4.2.0 update, the NextCloud Notes widget is no longer working on my phone.
Each time the widget loads, I get the following trace:

App Version: 4.2.0
App Version Code: 40020090
App Flavor: play

Files App Version Code: 30280090 (PROD)

---

OS Version: 4.14.336-perf-gf34c9ab5042f(4e704b240a)
OS API Level: 34
Device: OnePlus7
Manufacturer: OnePlus
Model (and Product): GM1901 (OnePlus7)

---

java.lang.RuntimeException: Unable to start receiver it.niedermann.owncloud.notes.widget.notelist.NoteListWidget: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4499)
	at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2281)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.app.ActivityThread.main(ActivityThread.java:8248)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
Caused by: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3061)
	at android.os.Parcel.createException(Parcel.java:3041)
	at android.os.Parcel.readException(Parcel.java:3024)
	at android.os.Parcel.readException(Parcel.java:2966)
	at android.app.IActivityManager$Stub$Proxy.getIntentSenderWithFeature(IActivityManager.java:6597)
	at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:571)
	at android.app.PendingIntent.getActivity(PendingIntent.java:552)
	at android.app.PendingIntent.getActivity(PendingIntent.java:516)
	at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.updateAppWidget(NoteListWidget.java:44)
	at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.onReceive(NoteListWidget.java:75)
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4490)
	... 9 more

@weimdall weimdall changed the title Widget crash on Android 14 4.2.0 widget crash on Android 14 Mar 26, 2024
@MyrnaMoynel
Copy link

Same issue, tried a reinstall of the app and a full cache wipe. Only the widget, app is fine otherwise

App Version: 4.2.0
App Version Code: 40020090
App Flavor: play

Files App Version Code: 30280090 (PROD)

---

OS Version: 5.10.189-android13-4-00012-g1217bb583cc5-ab11174560(11445699)
OS API Level: 34
Device: panther
Manufacturer: Google
Model (and Product): Pixel 7 (panther)

---

java.lang.RuntimeException: Unable to start receiver it.niedermann.owncloud.notes.widget.notelist.NoteListWidget: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
    at android.app.ActivityThread.handleReceiver(ActivityThread.java:4672)
    at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2357)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loopOnce(Looper.java:232)
    at android.os.Looper.loop(Looper.java:317)
    at android.app.ActivityThread.main(ActivityThread.java:8501)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
Caused by: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
    at android.os.Parcel.createExceptionOrNull(Parcel.java:3186)
    at android.os.Parcel.createException(Parcel.java:3166)
    at android.os.Parcel.readException(Parcel.java:3149)
    at android.os.Parcel.readException(Parcel.java:3091)
    at android.app.IActivityManager$Stub$Proxy.getIntentSenderWithFeature(IActivityManager.java:6668)
    at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:571)
    at android.app.PendingIntent.getActivity(PendingIntent.java:552)
    at android.app.PendingIntent.getActivity(PendingIntent.java:516)
    at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.updateAppWidget(NoteListWidget.java:44)
    at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.onReceive(NoteListWidget.java:75)
    at android.app.ActivityThread.handleReceiver(ActivityThread.java:4663)
    ... 9 more

@mark99i
Copy link

mark99i commented Mar 27, 2024

Same issue, widget not working on A14

@mirol99
Copy link

mirol99 commented Mar 28, 2024

Same here, Pixel 6A

@nspo
Copy link

nspo commented Mar 28, 2024

For others with the same issue which did not quite understand the implications of the previous comments: as a temporary workaround, it is enough to remove the widget from the home screen. Afterwards, the Notes app is usable again (though of course without the widget). While the widget was still there, I got a crash even when directly opening the app.

@mirol99
Copy link

mirol99 commented Mar 28, 2024 via email

@BloodyIron
Copy link

Any chance we can have a Dev chime in?

@msrn
Copy link

msrn commented Mar 31, 2024

Same here. Galaxy A52s 5g

App Version: 4.2.0
App Version Code: 40020090
App Flavor: fdroid

Files App Version Code: 30280090 (PROD)

---

OS Version: 5.4.233-qgki-27763529-abA528BXXS6FXB7(A528BXXS6FXB7)
OS API Level: 34
Device: a52sxq
Manufacturer: samsung
Model (and Product): SM-A528B (a52sxqeea)

---

java.lang.RuntimeException: Unable to start receiver it.niedermann.owncloud.notes.widget.notelist.NoteListWidget: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4905)
	at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2498)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:230)
	at android.os.Looper.loop(Looper.java:319)
	at android.app.ActivityThread.main(ActivityThread.java:8893)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Caused by: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3073)
	at android.os.Parcel.createException(Parcel.java:3053)
	at android.os.Parcel.readException(Parcel.java:3036)
	at android.os.Parcel.readException(Parcel.java:2978)
	at android.app.IActivityManager$Stub$Proxy.getIntentSenderWithFeature(IActivityManager.java:7021)
	at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:561)
	at android.app.PendingIntent.getActivity(PendingIntent.java:537)
	at android.app.PendingIntent.getActivity(PendingIntent.java:501)
	at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.updateAppWidget(NoteListWidget.java:44)
	at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.onReceive(NoteListWidget.java:75)
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4896)
	... 9 more
Caused by: android.os.RemoteException: Remote stack trace:
	at com.android.server.am.ActivityManagerService.getIntentSenderWithFeatureAsApp(ActivityManagerService.java:6460)
	at com.android.server.am.ActivityManagerService.getIntentSenderWithFeature(ActivityManagerService.java:6403)
	at android.app.IActivityManager$Stub.onTransact$getIntentSenderWithFeature$(IActivityManager.java:11842)
	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:3381)
	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3195)


@m0yP
Copy link

m0yP commented Mar 31, 2024

Same here, Pixel 8, stock rooted Android 14.

App Version: 4.2.0
App Version Code: 40020090
App Flavor: fdroid

Files App Version Code: 30280190 (PROD)

---

OS Version: 5.15.131-android14-11-gd99d9fe08e0c-ab11209359(11445699)
OS API Level: 34
Device: shiba
Manufacturer: Google
Model (and Product): Pixel 8 (shiba)

---

java.lang.RuntimeException: Unable to start receiver it.niedermann.owncloud.notes.widget.notelist.NoteListWidget: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4672)
	at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2357)
	at android.os.Handler.dispatchMessage(Handler.java:107)
	at android.os.Looper.loopOnce(Looper.java:232)
	at android.os.Looper.loop(Looper.java:317)
	at android.app.ActivityThread.main(ActivityThread.java:8501)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
Caused by: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3186)
	at android.os.Parcel.createException(Parcel.java:3166)
	at android.os.Parcel.readException(Parcel.java:3149)
	at android.os.Parcel.readException(Parcel.java:3091)
	at android.app.IActivityManager$Stub$Proxy.getIntentSenderWithFeature(IActivityManager.java:6668)
	at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:571)
	at android.app.PendingIntent.getActivity(PendingIntent.java:552)
	at android.app.PendingIntent.getActivity(PendingIntent.java:516)
	at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.updateAppWidget(NoteListWidget.java:44)
	at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.onReceive(NoteListWidget.java:75)
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4663)
	... 9 more
Caused by: android.os.RemoteException: Remote stack trace:
	at com.android.server.am.ActivityManagerService.getIntentSenderWithFeatureAsApp(ActivityManagerService.java:5399)
	at com.android.server.am.ActivityManagerService.getIntentSenderWithFeature(ActivityManagerService.java:5342)
	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:3296)
	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2798)
	at android.os.Binder.execTransactInternal(Binder.java:1496)


@knorx
Copy link

knorx commented Apr 1, 2024

Same here, Widget broken since Update to 4.2.0. App itself works. Deinstall, cache/data wipe had no effect.

App Version: 4.2.0
App Version Code: 40020090
App Flavor: fdroid

Files App Version Code: 30280090 (PROD)

---

OS Version: 4.14.190-perf-27790765-abA525FXXU6EXB3(A525FXXU6EXB3)
OS API Level: 34
Device: a52q
Manufacturer: samsung
Model (and Product): SM-A525F (a52qnseea)

---

java.lang.RuntimeException: Unable to start receiver it.niedermann.owncloud.notes.widget.notelist.NoteListWidget: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4905)
	at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2498)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:230)
	at android.os.Looper.loop(Looper.java:319)
	at android.app.ActivityThread.main(ActivityThread.java:8893)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Caused by: java.lang.IllegalArgumentException: it.niedermann.owncloud.notes: Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3073)
	at android.os.Parcel.createException(Parcel.java:3053)
	at android.os.Parcel.readException(Parcel.java:3036)
	at android.os.Parcel.readException(Parcel.java:2978)
	at android.app.IActivityManager$Stub$Proxy.getIntentSenderWithFeature(IActivityManager.java:7021)
	at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:561)
	at android.app.PendingIntent.getActivity(PendingIntent.java:537)
	at android.app.PendingIntent.getActivity(PendingIntent.java:501)
	at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.updateAppWidget(NoteListWidget.java:44)
	at it.niedermann.owncloud.notes.widget.notelist.NoteListWidget.onReceive(NoteListWidget.java:75)
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4896)
	... 9 more

@blitzdesigner
Copy link

Same here, app works when widget is not present on any home screen.

App Version: 4.2.0
App Version Code: 40020090
App Flavor: play

Files App Version Code: 30280090 (PROD)

---

OS Version: 4.19.278-g7b0944645172-ab10812814(11260668)
OS API Level: 34
Device: redfin
Manufacturer: Google
Model (and Product): Pixel 5 (redfin)

---

java.lang.RuntimeException: android.os.DeadObjectException: Transaction failed on small parcel; remote process probably died, but this could also be caused by running out of binder buffer space
	at io.reactivex.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:46)
	at io.reactivex.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:93)
	at io.reactivex.Maybe.blockingGet(Maybe.java:2321)
	at io.reactivex.Observable.blockingSingle(Observable.java:5381)
	at it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.pullRemoteChanges(NotesServerSyncTask.java:219)
	at it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.run(NotesServerSyncTask.java:96)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: android.os.DeadObjectException: Transaction failed on small parcel; remote process probably died, but this could also be caused by running out of binder buffer space
	at android.os.BinderProxy.transactNative(Native Method)
	at android.os.BinderProxy.transact(BinderProxy.java:584)
	at com.nextcloud.android.sso.aidl.IInputStreamService$Stub$Proxy.performNextcloudRequestV2(IInputStreamService.java:200)
	at com.nextcloud.android.sso.api.AidlNetworkRequest.performAidlNetworkRequestV2(AidlNetworkRequest.java:234)
	at com.nextcloud.android.sso.api.AidlNetworkRequest.performNetworkRequestV2(AidlNetworkRequest.java:181)
	at com.nextcloud.android.sso.api.NextcloudAPI.performNetworkRequestV2(NextcloudAPI.java:165)
	at com.nextcloud.android.sso.api.NextcloudAPI.lambda$performRequestObservableV2$0(NextcloudAPI.java:105)
	at com.nextcloud.android.sso.api.NextcloudAPI.$r8$lambda$2CK7Y9lXWWrtN8jgT_iNTMeTrHU(Unknown Source:0)
	at com.nextcloud.android.sso.api.NextcloudAPI$$ExternalSyntheticLambda0.subscribe(Unknown Source:6)
	at io.reactivex.internal.operators.observable.ObservableFromPublisher.subscribeActual(ObservableFromPublisher.java:31)
	at io.reactivex.Observable.subscribe(Observable.java:12284)
	at io.reactivex.internal.operators.observable.ObservableSingleMaybe.subscribeActual(ObservableSingleMaybe.java:31)
	at io.reactivex.Maybe.subscribe(Maybe.java:4290)
	at io.reactivex.Maybe.blockingGet(Maybe.java:2320)
	... 8 more

@BloodyIron
Copy link

@AndyScherzinger perhaps yourself or another Dev can chime into the multiple issues about this being suddenly broken for seemingly no reason? Nobody is responding thus-far into these multiple issues reported in the last few days for the same problem.

@AndyScherzinger
Copy link
Member

AndyScherzinger commented Apr 2, 2024

Hi @BloodyIron

I'll check back with the other devs. Looking at the reports the issue is "simple": 4.2.0 targets Android 14 (technically speaking) hence it needs to comply to the API definition of Android 14, which according to the stack traces you all posted - it doesn't. It (still) uses a construct which is forbidden starting with Android 14.

Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.

The last report from #2091 (comment) however is not related and I would expect that one to also happen on pre-4.2.0.

So looping in @tobiasKaminsky @alperozturk96

And additionally for a potential "quick hint" @stefan-niedermann

@stefan-niedermann
Copy link
Member

quick hint: check the intents, especially the ones in the widgets. there is some kind of compat method each intent is wrapped with. I remember I extracted flags related to implicity (as the stacktrace says) and wrapped them in this util method. Probably the roor cause is there...

@stefan-niedermann
Copy link
Member

This one maybe: https://github.com/nextcloud/notes-android/blob/main/app/src/main/java/it/niedermann/owncloud/notes/shared/util/WidgetUtil.java#L32

@BloodyIron
Copy link

Hi @BloodyIron

I'll check back with the other devs. Looking at the reports the issue is "simple": 4.2.0 targets Android 14 (technically speaking) hence it needs to comply to the API definition of Android 14, which according to the stack traces you all posted - it doesn't. It (still) uses a construct which is forbidden starting with Android 14.

Targeting U+ (version 34 and above) disallows creating or retrieving a PendingIntent with FLAG_MUTABLE, an implicit Intent within and without FLAG_NO_CREATE and FLAG_ALLOW_UNSAFE_IMPLICIT_INTENT for security reasons. To retrieve an already existing PendingIntent, use FLAG_NO_CREATE, however, to create a new PendingIntent with an implicit Intent use FLAG_IMMUTABLE.

The last report from #2091 (comment) however is not related and I would expect that one to also happen on pre-4.2.0.

So looping in @tobiasKaminsky @alperozturk96

And additionally for a potential "quick hint" @stefan-niedermann

Thanks for your help!!! \o/

@tobiasKaminsky
Copy link
Member

Working on it now.

@tobiasKaminsky
Copy link
Member

Fix is here: #2115

@tobiasKaminsky
Copy link
Member

Hm. Now no crash, but clicking on a widget leads to:

Cannot send pending intent due to unknown exception: 
                                                                                                    android.content.ActivityNotFoundException: No Activity found to handle null
                                                                                                    	at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2239)
                                                                                                    	at android.app.Activity.startIntentSenderForResultInner(Activity.java:5978)
                                                                                                    	at android.app.Activity.startIntentSenderForResult(Activity.java:5941)
                                                                                                    	at com.android.launcher3.Launcher.startIntentSenderForResult(Unknown Source:5)
                                                                                                    	at com.android.launcher3.uioverrides.QuickstepLauncher.startIntentSenderForResult(Unknown Source:30)
                                                                                                    	at android.app.Activity.startIntentSender(Activity.java:6139)
                                                                                                    	at android.widget.RemoteViews.startPendingIntent(RemoteViews.java:6776)
                                                                                                    	at com.android.launcher3.uioverrides.QuickstepInteractionHandler.onInteraction(Unknown Source:163)
                                                                                                    	at android.appwidget.AppWidgetHostView.lambda$getHandler$1(AppWidgetHostView.java:896)
                                                                                                    	at android.appwidget.AppWidgetHostView.$r8$lambda$27ZsoZ6qNW9ni4kzs1fvJKcTffM(Unknown Source:0)
                                                                                                    	at android.appwidget.AppWidgetHostView$$ExternalSyntheticLambda0.onInteraction(Unknown Source:4)
                                                                                                    	at android.widget.RemoteViews$RemoteResponse.handleViewInteraction(RemoteViews.java:6676)
                                                                                                    	at android.widget.RemoteViews$RemoteResponse.-$$Nest$mhandleViewInteraction(Unknown Source:0)
                                                                                                    	at android.widget.RemoteViews$SetPendingIntentTemplate.lambda$apply$0(RemoteViews.java:856)
                                                                                                    	at android.widget.RemoteViews$SetPendingIntentTemplate.$r8$lambda$_fZDtXee99gPNbrHJWWvsioH0SQ(Unknown Source:0)
                                                                                                    	at android.widget.RemoteViews$SetPendingIntentTemplate$$ExternalSyntheticLambda0.onItemClick(Unknown Source:8)
                                                                                                    	at android.widget.AdapterView.performItemClick(AdapterView.java:330)
                                                                                                    	at android.widget.AbsListView.performItemClick(AbsListView.java:1265)
                                                                                                    	at android.widget.AbsListView$PerformClick.run(AbsListView.java:3278)
                                                                                                    	at android.widget.AbsListView$3.run(AbsListView.java:4244)
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:958)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:205)
                                                                                                    	at android.os.Looper.loop(Looper.java:294)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:8177)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)

@tobiasKaminsky
Copy link
Member

Seems to be a 14+ problem, as this works on 10.

@tobiasKaminsky
Copy link
Member

Happens also on Android Files.

@tobiasKaminsky
Copy link
Member

What I debugged over the last two hours:

  • it works with Android 10
  • Android 14 does not work with PendingIntent.getActivity(…), but with PendingIntent.getBroadcast(…)
  • however then still setOnClickFillInIntent is not used correctly, so we cannot pass any info about the clicked element

@BloodyIron
Copy link

Fix is here: #2115

Now if the fix is verified, we need a release ;)

@AndyScherzinger
Copy link
Member

Now if the fix is verified, we need a release ;)

@BloodyIron see #2091 (comment) reads to me as step one is fixed now it fails at step 2

@strugee
Copy link
Member

strugee commented Apr 12, 2024

Pinning due to the high number of duplicates reported.

@YannBirba
Copy link

I got an app update a few days ago, looks like the app doesn't crash anymore but the widget is still unusable (does not respond to clicks). The notes list is well displayed into the widget, but can't click on them...

@AndyScherzinger
Copy link
Member

@YannBirba yes, that is correct and still a bit unfortunate. @tobiasKaminsky has been able to prevent the crashes but reacting to the clicks still needs further investigation but we decided it is better to release it already to remove the crashing as a first step.

@YannBirba
Copy link

@YannBirba yes, that is correct and still a bit unfortunate. @tobiasKaminsky has been able to prevent the crashes but reacting to the clicks still needs further investigation but we decided it is better to release it already to remove the crashing as a first step.

Yeah ofc, thx for that.

@BloodyIron
Copy link

Really looking forward to this being fixed, the widget is very useful for my daily workflow! :) Thanks for those working on fixing it!

@BloodyIron
Copy link

@AndyScherzinger since the 4.3.0 milestones have no open issues attached, can we please have a new release? This fix was a month ago and I'm still waiting for it to land on my phone so I can use the lists widget again.

@AndyScherzinger
Copy link
Member

@BloodyIron this needs to be done by @tobiasKaminsky I do not have any access to publish a new release. I know though that RCs are out, so if you go to the Play store and register for the beta program on the app you would get the release with the fixes already.

@BloodyIron
Copy link

@tobiasKaminsky any thoughts on new releases, please?

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 a pull request may close this issue.