-
-
Notifications
You must be signed in to change notification settings - Fork 389
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
fix compose notification action not recreating MainActivity #4249
Conversation
@@ -456,7 +456,7 @@ private static PendingIntent getStatusComposeIntent(Context context, Notificatio | |||
|
|||
Intent composeIntent = MainActivity.composeIntent(context, composeOptions, account.getId(), body.getId(), (int)account.getId()); | |||
|
|||
composeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | |||
composeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd leave a comment in code why we do this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
➕
@@ -456,7 +456,7 @@ private static PendingIntent getStatusComposeIntent(Context context, Notificatio | |||
|
|||
Intent composeIntent = MainActivity.composeIntent(context, composeOptions, account.getId(), body.getId(), (int)account.getId()); | |||
|
|||
composeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | |||
composeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
➕
While working on #4249 I noticed that quick replies also don't work as expected. The notification just stays in the sending state forever. There are actually 2 problems: - Notifications are sent in `NotificationFetcher` with the id of the Mastodon notification as tag and the current account id as id. The wrong notification id was forwarded to `SendStatusBroadcastReceiver` so it never had a chance of updating the notification. - Notifications containing an active remote input can't be cancelled (they just stop their animation when doing so). So instead I update the notification with info that the reply is being sent and have it dismiss automatically. I also tried replacing the original notification with the "sending" notification of `SendStatusService`, but that doesn't work because `Service.startForeground` doesn't have a tag parameter, only an id. --------- Co-authored-by: Willow <[email protected]>
closes #4247