fix quick replies from notifications (#4250)
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 <charlag@tuta.io>
This commit is contained in:
parent
22ec78c75a
commit
7d3aafdd65
3 changed files with 27 additions and 28 deletions
|
|
@ -97,7 +97,7 @@ public class NotificationHelper {
|
|||
|
||||
public static final String KEY_SENDER_ACCOUNT_FULL_NAME = "KEY_SENDER_ACCOUNT_FULL_NAME";
|
||||
|
||||
public static final String KEY_NOTIFICATION_ID = "KEY_NOTIFICATION_ID";
|
||||
public static final String KEY_SERVER_NOTIFICATION_ID = "KEY_SERVER_NOTIFICATION_ID";
|
||||
|
||||
public static final String KEY_CITED_STATUS_ID = "KEY_CITED_STATUS_ID";
|
||||
|
||||
|
|
@ -412,7 +412,7 @@ public class NotificationHelper {
|
|||
.putExtra(KEY_SENDER_ACCOUNT_ID, account.getId())
|
||||
.putExtra(KEY_SENDER_ACCOUNT_IDENTIFIER, account.getIdentifier())
|
||||
.putExtra(KEY_SENDER_ACCOUNT_FULL_NAME, account.getFullName())
|
||||
.putExtra(KEY_NOTIFICATION_ID, notificationId)
|
||||
.putExtra(KEY_SERVER_NOTIFICATION_ID, body.getId())
|
||||
.putExtra(KEY_CITED_STATUS_ID, inReplyToId)
|
||||
.putExtra(KEY_VISIBILITY, replyVisibility)
|
||||
.putExtra(KEY_SPOILER, contentWarning)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue