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

Keep banner-style IAMs on the screen while background is tapped #1999

Merged
merged 1 commit into from
Feb 22, 2024

Conversation

nan-li
Copy link
Contributor

@nan-li nan-li commented Feb 20, 2024

Description

One Line Summary

Keep banner-style IAMs on the screen while background is tapped by changing the PopupWindow's focusable property to false.

Details

  • Revert the focusable property of the PopupWindow that displays an IAM view to be false.
    • This was added as part of fullbleed IAM implementation in Android Fullbleed IAMs #1481, but does not appear to be necessary, from testing different IAMs.
  • This allows banner-style IAMs to remain on the screen while the user interacts with the app.
  • Otherwise, currently, tapping on the background dismisses the banner-style IAM.
  • In addition, there was also unexpected behavior from tapping the background.. it was making the IAM disappear but not actually dismissed and will reappear when the app loses and gains focus again.
  • After these changes, Android banner-style IAMs behave the same as on iOS.

Motivation

Request from customer.
Improved banner IAM behavior.

Scope

Before After
before_fix after_fix

Testing

Unit testing

None

Manual testing

Emulator Pixel 3 XL on API 33, with notch

  • Tested banner style IAM display and dismiss (affected by this PR)
  • Tested center IAMs (behaves same as before)
  • Tested landscape device mode (behaves same as before)
  • Tested full-bleed and carousel (behaves same as before)
  • Clicking IAM buttons work, such as click events, tagging users, sending outcomes, prompting for permission.

Tested these IAMs before (on LEFT) and after (on RIGHT) to check behavior, it's a screen recording of two screen recordings:

all_iams.mov

Affected code checklist

  • Notifications
    • Display
    • Open
    • Push Processing
    • Confirm Deliveries
  • Outcomes
  • Sessions
  • In-App Messaging
  • REST API requests
  • Public API changes

Checklist

Overview

  • I have filled out all REQUIRED sections above
  • PR does one thing
  • Any Public API changes are explained in the PR details and conform to existing APIs

Testing

  • I have included test coverage for these changes, or explained why they are not needed
  • All automated tests pass, or I explained why that is not possible
  • I have personally tested this on my device, or explained why that is not possible

Final pass

  • Code is as readable as possible.
  • I have reviewed this PR myself, ensuring it meets each checklist item

This change is Reviewable

* Revert the focusable property of the PopupWindow that displays an IAM view to be false. This was added as part of fullbleed IAM implementation in #1481, but does not appear to be necessary.
* This allows banner-style top and bottom IAMs to remain on the screen while the user interacts with the app.
* Otherwise, currently, tapping on the background dismisses the banner-style IAM.
@nan-li nan-li changed the title IAM: Keep banner-style IAMs on the screen while background is tapped Keep banner-style IAMs on the screen while background is tapped Feb 20, 2024
@nan-li nan-li merged commit b88109a into main Feb 22, 2024
1 of 2 checks passed
@nan-li nan-li deleted the fix/top_iam_closing branch February 22, 2024 19:39
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 this pull request may close these issues.

2 participants