Skip to content

[Android] Fix for Flyout closing when updating the FlyoutPage.Detail#26425

Merged
PureWeen merged 4 commits intodotnet:net10.0from
Tamilarasan-Paranthaman:fix-26324
Feb 7, 2025
Merged

[Android] Fix for Flyout closing when updating the FlyoutPage.Detail#26425
PureWeen merged 4 commits intodotnet:net10.0from
Tamilarasan-Paranthaman:fix-26324

Conversation

@Tamilarasan-Paranthaman
Copy link
Member

@Tamilarasan-Paranthaman Tamilarasan-Paranthaman commented Dec 6, 2024

Root Cause of the issue

  • The drawer was being closed by default during the update of the flyout details. However, on other platforms, it remained open when the details were updated.

Description of Change

  • Closing the drawer by default seems unnecessary in this context. I have removed the code responsible for closing the drawer, which resolves the issue.

Issues Fixed

Fixes #26324

Tested the behaviour in the following platforms

  • Android
  • Windows
  • iOS
  • Mac

Screenshot

Before Issue Fix After Issue Fix
Issue.mov
fix.mov

Behavior on each platform

Note: From the video references below, you can see that the flyout closes automatically on Android when FlyoutPage.Detail is updated upon selecting a flyout item. In contrast, on other platforms, the flyout remains open after updating the FlyoutPage.Detail.

Platform Clicking a flyout item Clicking a flyout item and changing the details
Android
Android-Default.mov
Android-Update-Detail.mov
iOS
iOS-Default.mov
iOS-Update-Detail.mov
Windows
WinUI-Default.mp4
WinUI-Update-Detail.mp4
Mac
Mac-Default.mov
Mac-Update-Detail.mov

@karthikraja-arumugam karthikraja-arumugam added the partner/syncfusion Issues / PR's with Syncfusion collaboration label Dec 6, 2024
@dotnet-policy-service dotnet-policy-service bot added the community ✨ Community Contribution label Dec 6, 2024
@rmarinho
Copy link
Member

rmarinho commented Dec 7, 2024

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

@Tamilarasan-Paranthaman Tamilarasan-Paranthaman marked this pull request as ready for review December 9, 2024 06:04
@Tamilarasan-Paranthaman Tamilarasan-Paranthaman requested a review from a team as a code owner December 9, 2024 06:04
@Tamilarasan-Paranthaman
Copy link
Member Author

/rebase

@azure-pipelines
Copy link

Azure Pipelines successfully started running 3 pipeline(s).

DrawerLayout.AddView(flyoutView, layoutParameters);
}

DrawerLayout.CloseDrawer(flyoutView);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean that the flyout will now never close whenever we select another item? I don't think that is what we want.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jfversluis, Currently, the flyout is not closed by default when selecting items in the flyout view across all platforms.

In the reported scenario, the issue arises when the user updates the FlyoutPage.Details while selecting an item in the flyout. This triggers the flyout to close by default. However, it does not close on other platforms, leading to inconsistency across the platforms. Could you please share your insight on this scenario?

@Tamilarasan-Paranthaman Tamilarasan-Paranthaman changed the title [Android] Fix for Flyout reset during Detail update [Android] Fix for Flyout closing when updating the FlyoutPage.Detail Dec 10, 2024
@jfversluis jfversluis added the do-not-merge Don't merge this PR label Dec 13, 2024
@jfversluis
Copy link
Member

I'd like a bit more discussion on this one. I think the behavior for the Flyout is as it should and it closes whenever you click/tap on an option. The description says on other platforms it does remain open? Is that the case? As far as I know all flyouts close when you tap on something. Lets double-check what is going on here.

Copy link
Member

@PureWeen PureWeen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#26425 (comment)
Can you create a table on the description with the behavior for each platform?

  1. What is the behavior of the flyout on each platform when clicking a flyout item?
  2. What is the behavior of the flyout on each platform when clicking a flyout item and changing the details?

@Tamilarasan-Paranthaman
Copy link
Member Author

#26425 (comment) Can you create a table on the description with the behavior for each platform?

  1. What is the behavior of the flyout on each platform when clicking a flyout item?
  2. What is the behavior of the flyout on each platform when clicking a flyout item and changing the details?

@PureWeen, I have attached a video reference in the description showing the behavior on each platform for both cases. Additionally, based on the details provided in the documentation, it appears that the flyout does not close when updating the details. It seems that we should close the flyout by using the FlyoutPage.IsPresented property to display the detail page.

Copy link
Member

@PureWeen PureWeen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Based on the comparison to other platforms
And the fact that this behavior was changed from XF

I think it makes sense to take this change and call it out in our release notes.

I see that @kubaflo tested this with a native android app.

This is a little interesting because this is a feature that's built into using JET Navigation with DrawerLayout it looks like. So, yes this is how a default android app works but it's still inconsistent with iOS, WinUI and how it worked on XF.

image

@PureWeen PureWeen added this to the .NET 9 SR3 milestone Jan 8, 2025
@dotnet-policy-service
Copy link
Contributor

🚨 API change(s) detected @davidbritch FYI

@PureWeen PureWeen added the do-not-merge Don't merge this PR label Jan 8, 2025
@PureWeen PureWeen removed this from the .NET 9 SR3 milestone Jan 14, 2025
@PureWeen PureWeen modified the milestones: .NET 9 SR4, .NET 10 Planning Jan 14, 2025
@PureWeen
Copy link
Member

We'll take this for .NET10

@PureWeen PureWeen changed the base branch from main to net10.0 January 30, 2025 16:55
@PureWeen
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@PureWeen PureWeen removed the do-not-merge Don't merge this PR label Feb 7, 2025
@PureWeen PureWeen merged commit 8ec17ef into dotnet:net10.0 Feb 7, 2025
101 of 106 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Mar 10, 2025
@Tamilarasan-Paranthaman Tamilarasan-Paranthaman deleted the fix-26324 branch June 16, 2025 11:06
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Android] Flyout automatically closes when FlyoutPage.Detail is updated

5 participants