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
[Android] Flyout Page support for IconImageSource #22099
base: main
Are you sure you want to change the base?
Conversation
Hey there @kubaflo! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
/azp run |
Azure Pipelines successfully started running 3 pipeline(s). |
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.
Thanks for the PR. This is a new API and will need a bit more checks before we can merge. I also am going to dump some questions that popped into my head for anyone to answer.
However, how did this work with iOS?
I am not sure if I recall correctly, but this was done before via the page icon. This new API makes more sense though.
I assume sine this works on iOS, we are using that flow to get the icon? Should we use the same here? Or, should we use this new thing and make iOS also use this?
What about Windows?
/// <summary> | ||
/// Gets the flyout custom icon. | ||
/// </summary> | ||
IImageSource FlyoutIcon { get; } |
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.
This is a new API on the interface, so it is breaking. Maybe we can add it like this for net9, but maybe not.
Would a default implementation of null be OK? Or should this be a IIconFlyoutView : IFlyoutVIew
to avoid breaks?
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.
Yeah null would be okay as in that case, the icon would behave as previously, so it would use a default drawer icon
Hi @mattleibow, It worked on iOS before, so I didn't change anything... Maybe I should make changes for iOS to match the logic with Android. The biggest problem is that iOS operates on the flyout page in Controls/compatibility while other platforms in core/handlers iOS content of FlyoutViewHandler.iOS.cs
Maybe the iOS flyout implementation should be migrated to core/handlers as well? I believe changes made to Android in this PR should be propagated to Windows as well, but I cannot do it because of lack of a Windows device 😅 |
Description of Change
When the IconImageSource property was set on the Flyout page in the mobile application, there was an inconsistency between the Android and iOS platforms. While iOS correctly displays the specified icon, Android shows a default hamburger icon instead.
Fixes #15211
Screen.Recording.2024-04-27.at.20.39.08.mov
Screen.Recording.2024-04-27.at.20.31.50.mov