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

[HOLD for Payment 2024-09-24] Implement Android conversation notifications #37604

Closed
arosiclair opened this issue Mar 1, 2024 · 34 comments
Closed
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Daily KSv2 NewFeature Something to build that is a new item.

Comments

@arosiclair
Copy link
Contributor

In Android 11, conversation notifications were added that offer a richer notification experience for messaging.

conv_notification

Conversation notifications are placed highest in the notification shade and prominently display avatars and names with the app's logo in the corner. Individual notifications can be marked as a priority allowing them to cut through Do Not Disturb settings. This is very similar to communication notifications which we implemented for iOS here.

@arosiclair arosiclair added Daily KSv2 NewFeature Something to build that is a new item. labels Mar 1, 2024
@arosiclair arosiclair self-assigned this Mar 1, 2024
Copy link

melvin-bot bot commented Mar 1, 2024

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Daily KSv2 labels Mar 1, 2024
@arosiclair
Copy link
Contributor Author

FYI this is a copy of the old internal issue here: https://github.com/Expensify/Expensify/issues/258528

@arosiclair
Copy link
Contributor Author

From the docs, we need to implement these to get conversation notifications

  • The notification uses MessagingStyle.
  • (Only if the app targets Android 11 or higher) The notification is associated with a valid long-lived dynamic or cached sharing shortcut. The notification can set this association by calling setShortcutId() or setShortcutInfo(). If the app targets Android 10 or lower, the notification doesn't have to be associated with a shortcut, as discussed in the fallback options section.

Which means we should just need to implement sharing shortcuts. I'm going to look for a contributor to work on this.

@robertKozik you worked on our last issue for clearing notifications on Android. Would you be interested in working on this as well?

@staszekscp
Copy link
Contributor

staszekscp commented Mar 4, 2024

Hey @arosiclair! I can take care of this feature, because currently I work on the HybridApp, where we will refactor notifications in order to make sure they work for both OldDot, and NewDot. However, could we slightly wait with implementation of this feature? I just want to make sure that the notifications work fine after the refactor, and then, as a follow-up, I will add the conversation notifications on Android.

@arosiclair
Copy link
Contributor Author

Makes sense I'll assign you and put this on hold. Keep us updated 🙏

@arosiclair arosiclair changed the title Implement Android conversation notifications [HOLD] Implement Android conversation notifications Mar 4, 2024
@melvin-bot melvin-bot bot added the Overdue label Mar 12, 2024
@bfitzexpensify
Copy link
Contributor

Still held @staszekscp?

@melvin-bot melvin-bot bot removed the Overdue label Mar 13, 2024
@melvin-bot melvin-bot bot added the Overdue label Mar 25, 2024
@arosiclair
Copy link
Contributor Author

Still held I believe. cc @staszekscp for any updates

@melvin-bot melvin-bot bot removed the Overdue label Mar 25, 2024
@staszekscp
Copy link
Contributor

Hey! Sorry, I missed the previous comment - the PR with the refactor is open, I just have to find one fix for a bug that I noticed. After merging I will work on this issue - I have already done some small testing, and I think I know what needs to be done 😄

@bfitzexpensify
Copy link
Contributor

@melvin-bot melvin-bot bot removed the Overdue label Apr 7, 2024
@melvin-bot melvin-bot bot added the Overdue label Apr 15, 2024
@bfitzexpensify
Copy link
Contributor

Remains held

@melvin-bot melvin-bot bot removed the Overdue label Apr 16, 2024
@bfitzexpensify
Copy link
Contributor

@melvin-bot melvin-bot bot added the Overdue label May 1, 2024
@arosiclair
Copy link
Contributor Author

Asked for an update on the PR. Still held for now.

@melvin-bot melvin-bot bot added Reviewing Has a PR in review Weekly KSv2 and removed Monthly KSv2 labels Aug 19, 2024
@rayane-djouah
Copy link
Contributor

@arosiclair Could you please trigger an Adhoc build for #47626? thanks!

@bfitzexpensify
Copy link
Contributor

I am heading out of office until September 21st, so assigning a buddy to watch over this in my absence.

Current status: PR being worked on in #47626

@bfitzexpensify bfitzexpensify removed their assignment Sep 6, 2024
@bfitzexpensify bfitzexpensify added NewFeature Something to build that is a new item. and removed NewFeature Something to build that is a new item. labels Sep 6, 2024
@bfitzexpensify bfitzexpensify self-assigned this Sep 6, 2024
Copy link

melvin-bot bot commented Sep 6, 2024

Triggered auto assignment to @garrettmknight (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details. Please add this Feature request to a GH project, as outlined in the SO.

@rayane-djouah
Copy link
Contributor

@garrettmknight / @bfitzexpensify I reviewed the PR #47626 as C+, please assign me here. Thanks!

@rayane-djouah
Copy link
Contributor

Note

The production deploy automation failed: This should be on [HOLD for Payment 2024-09-24] according to #49287 production deploy checklist, confirmed in #47626 (comment)

@garrettmknight garrettmknight changed the title Implement Android conversation notifications [HOLD for Payment 2024-09-24] Implement Android conversation notifications Sep 19, 2024
@garrettmknight garrettmknight added Awaiting Payment Auto-added when associated PR is deployed to production and removed Reviewing Has a PR in review labels Sep 19, 2024
@melvin-bot melvin-bot bot added the Overdue label Sep 19, 2024
@garrettmknight
Copy link
Contributor

Awaiting payment

@melvin-bot melvin-bot bot removed the Overdue label Sep 19, 2024
@bfitzexpensify
Copy link
Contributor

I'm back from OOO, and can take this one back over - thanks for keeping an eye on it @garrettmknight

@bfitzexpensify
Copy link
Contributor

Payment summary:

@staszekscp - contractor, no payment required
@rayane-djouah - $250 to be paid for PR review via Upwork

Offer sent via Upwork @rayane-djouah

@rayane-djouah
Copy link
Contributor

@bfitzexpensify - Offer accepted, thank you!

@rayane-djouah
Copy link
Contributor

Checklist

  • Please propose regression test steps to ensure the new feature will work correctly on production in further releases.

Regression Test Proposal

  • Android native only test:
  1. Log into NewDot on the Android native app.
  2. Accept the notification permission prompt.
  3. Exit (leave) the app.
  4. From another account, send yourself a direct message (DM).
  5. Long press on the NewDot app icon.
  6. Verify that a message notification shortcut is displayed.
  7. Tap on the message notification shortcut and verify that the app opens the notification report.
  8. Exit the app again.
  9. Long press on the app icon.
  10. Verify that a conversation shortcut is displayed for the last notification report.
  11. Tap on the conversation shortcut and verify that the app opens the notification report.
  12. Log out from the app.
  13. Long press on the app icon.
  14. Verify that there are no shortcuts (the previous shortcuts are cleared).

Do we agree 👍 or 👎

@bfitzexpensify
Copy link
Contributor

Regression steps proposed in https://github.com/Expensify/Expensify/issues/430593

Payment complete. Closing this one out!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Daily KSv2 NewFeature Something to build that is a new item.
Projects
No open projects
Status: No status
Development

No branches or pull requests

5 participants