1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-05 23:53:33 +00:00
Files
mobile/src/App/Behaviors/ConnectivityBehavior.cs
Kyle Spearrin 24a5a16723 wip
2016-05-03 19:49:49 -04:00

44 lines
1.3 KiB
C#

using System;
using Plugin.Connectivity.Abstractions;
using Xamarin.Forms;
using XLabs.Ioc;
namespace Bit.App.Behaviors
{
public class ConnectivityBehavior : Behavior<Element>
{
private readonly IConnectivity _connectivity;
public ConnectivityBehavior()
{
_connectivity = Resolver.Resolve<IConnectivity>();
}
private static readonly BindablePropertyKey IsValidPropertyKey = BindableProperty.CreateReadOnly("Connected", typeof(bool), typeof(ConnectivityBehavior), false);
public static readonly BindableProperty IsValidProperty = IsValidPropertyKey.BindableProperty;
public bool Connected
{
get { return (bool)GetValue(IsValidProperty); }
private set { SetValue(IsValidPropertyKey, value); }
}
protected override void OnAttachedTo(Element el)
{
_connectivity.ConnectivityChanged += ConnectivityChanged;
base.OnAttachedTo(el);
}
private void ConnectivityChanged(object sender, ConnectivityChangedEventArgs e)
{
Connected = e.IsConnected;
}
protected override void OnDetachingFrom(Element el)
{
_connectivity.ConnectivityChanged -= ConnectivityChanged;
base.OnDetachingFrom(el);
}
}
}