-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
feat: edge-to-edge mode on Android #52392
base: main
Are you sure you want to change the base?
Conversation
@shawnborton would it be possible to ask you to test this PR? This PR should unify how Android app is handling insets (now it'll be identical to iOS). This PR is a logical continuation of this #51956 but the key difference is that now we don't manage color of navigation bar independtly - now we make all system bars (navigation bar, status bar) transparent by default, so it matches iOS app style. The reason why I want you to test and give your feedback, is because some elements look good on iOS, but looks not very good on Android. For example, navigation bar padding on Android vs iOS:
This is the one issue I spotted at the moment, but maybe you find more - your feedback is very valuable 🙏 @mountiny would it be possible to trigger a build so that @shawnborton can test the app? |
I can trigger a test build. I don't have an Android with me at the moment but I believe @dubielzyk-expensify can help us test! |
Sounds good! Any look from UX/UI team will help a lot ❤️ |
We might need to take the PR out of draft in order to run the test build. If we don't get a test build posted in the next 20 minutes or so, let's try that. |
This comment has been minimized.
This comment has been minimized.
Well wouldya just look at that, ready for testing. |
Assigned @c3024 for c+ review |
Nice testing Jon, thanks for running through the screens and I agree with your feedback. |
Awesome @dubielzyk-expensify ! 🔥 Thank you for your feedback! |
Do we need a new build @kirillzyusko |
@mountiny no, not yet. Tomorrow I want to test on more devices and if everything works well, then I will ask for additional testing 😊 |
@@ -113,6 +113,7 @@ | |||
"expo-av": "14.0.7", | |||
"expo-image": "1.12.15", | |||
"expo-image-manipulator": "12.0.5", | |||
"expo-navigation-bar": "~3.0.7", |
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 had to add this library again, because we need to manage navigation bar button style (dark/light).
Since user can customize the theme of app independently to device settings we also have to manage it dynamically from JS code.
I checked and one method that we use (setButtonStyleAsync
) doesn't use deprecated API. However I remember, that this particular library wasn't accepted in the first round of fixing the nav bar color management, so i'm happy to discuss further steps here 🙌
@mountiny I believe this PR is ready for another round of review 🙂 Can you trigger a build and can we ask @dubielzyk-expensify to have a look again? If everything is alright then can we ask QA to test this PR before merge? 👀 |
I can fire up the build 🚀 |
Thank you 🙌 |
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
Checked this on Android and it looks great now 👍 The web build don't work though so I can't test that one. |
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.
Few NITs.
I am testing it now. Will update if I find anything.
I am seeing a gap below the chat with these steps.
I can reproduce this on Redmi Note 11 Pro+ and Samsung F23 devices 4 out of 5 times. This works well on edgeGapUnderChat-compressed.mp4 |
Thanks! I fixed it in e718209 |
🚧 @mountiny has triggered a test build. You can view the workflow run here. |
I could reproduce it as well (but it's reproducible only in release variant). I have a fix in my head, but the development of fix will take more time, because I have constantly test on release variant 🙈 I think I'll fix it on Monday! |
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
Fixed it in 842ac00 |
Thanks! Could you trigger a build here? It will make it easier for me to test on multiple devices. |
🚧 @mountiny has triggered a test build. You can view the workflow run here. |
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
Explanation of Change
Fixed Issues
$ #51673
$ #52116
PROPOSAL: #52116 (comment)
Tests
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop