mirror of
https://github.com/bitwarden/mobile.git
synced 2024-09-28 03:57:43 +02:00
30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
|
using System;
|
|||
|
using Xamarin.Forms;
|
|||
|
|
|||
|
namespace Bit.App.Controls
|
|||
|
{
|
|||
|
public class ExtendedToolbarItem : ToolbarItem
|
|||
|
{
|
|||
|
public bool UseOriginalImage { get; set; }
|
|||
|
|
|||
|
// HACK: For the issue of correctly updating the avatar toolbar item color on iOS
|
|||
|
// we need to subscribe to the PropertyChanged event of the ToolbarItem on the CustomNavigationRenderer
|
|||
|
// The problem is that there are a lot of private places where the navigation renderer disposes objects
|
|||
|
// that we don't have access to, and that we should in order to properly prevent memory leaks
|
|||
|
// So as a hack solution we have this OnAppearing/OnDisappearing actions and methods to be called on page lifecycle
|
|||
|
// to subscribe/unsubscribe indirectly on the CustomNavigationRenderer
|
|||
|
public Action OnAppearingAction { get; set; }
|
|||
|
public Action OnDisappearingAction { get; set; }
|
|||
|
|
|||
|
public void OnAppearing()
|
|||
|
{
|
|||
|
OnAppearingAction?.Invoke();
|
|||
|
}
|
|||
|
|
|||
|
public void OnDisappearing()
|
|||
|
{
|
|||
|
OnDisappearingAction?.Invoke();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|