/// <summary>
    /// When connectivity changes
    /// </summary>
    /// <param name="e"></param>
    protected virtual void OnConnectivityChanged(ConnectivityChangedEventArgs e)
    {
      if (ConnectivityChanged == null)
        return;

      ConnectivityChanged(this, e);
    }
		private void UpdateNetworkInfo(object sender, ConnectivityChangedEventArgs e)
		{
			if (CrossConnectivity.Current != null && CrossConnectivity.Current.ConnectionTypes != null)
			{
				var connectionType = CrossConnectivity.Current.ConnectionTypes.FirstOrDefault();
				ConnectionDetails.Text = connectionType.ToString();
			}
		}
        /// <summary>
        /// When connectivity changes
        /// </summary>
        /// <param name="e"></param>
        protected virtual void OnConnectivityChanged(ConnectivityChangedEventArgs e)
        {
            if (ConnectivityChanged == null)
            {
                return;
            }

            ConnectivityChanged(this, e);
        }
		protected virtual void handleNetworkConnectionChanged (object sender, ConnectivityChangedEventArgs e)
		{
			IsNetworkAvailable = e.IsConnected;
		}