using System;
using CoreLocation;
using Foundation;
using HDL_ON;
using Shared;
using UIKit;

namespace HDL_ON_iOS
{
    public partial class ViewController : ViewControllerBase
    {
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();


            if (string.IsNullOrEmpty(OnAppConfig.Instance.SetLanguage))
            {
                if (NSLocale.PreferredLanguages[0].Contains("zh-"))
                {
                    Language.CurrentLanguage = "Chinese";
                }
                else if (NSLocale.PreferredLanguages[0].Contains("cs-"))
                {
                    Language.CurrentLanguage = "Czech";
                }
                else
                {
                    Language.CurrentLanguage = "English";
                }
            }
            else
            {
                Language.CurrentLanguage = OnAppConfig.Instance.SetLanguage;
            }
            HDL_ON.MainPage.Show();

            //侦测网络变化
            Reachability.ReachabilityChanged += UpdateStatus;

            UITapGestureRecognizer oTapRecognizer = new UITapGestureRecognizer();
            oTapRecognizer.CancelsTouchesInView = false;
            oTapRecognizer.AddTarget(
                this,
                new ObjCRuntime.Selector("ViewTappedSelector:")
            );
            this.View.AddGestureRecognizer(oTapRecognizer);
        }
        public override UIStatusBarStyle PreferredStatusBarStyle()
        {
            return UIStatusBarStyle.LightContent;
        }

        [Export("ViewTappedSelector:")]
        public void ViewTapped(UIGestureRecognizer sender)
        {
            //Txt控件名称.ResignFirstResponder();    
            UIView v = View.FindFirstResponder();
            if (v != null)
            {
                v.ResignFirstResponder();
            }
        }

        public override void DidReceiveMemoryWarning()
        {
            base.DidReceiveMemoryWarning();
            // Release any cached data, images, etc that aren't in use.
        }

        NetworkStatus internetStatus;
        void UpdateStatus(object sender, EventArgs e)
        {
            internetStatus = Reachability.InternetConnectionStatus();
            if (internetStatus == NetworkStatus.NotReachable)//没有网络连接 0
            {
            }
            else if (internetStatus == NetworkStatus.ReachableViaCarrierDataNetwork)//3,4G的网络连接 1
            {
            }
            else if (internetStatus == NetworkStatus.ReachableViaWiFiNetwork)
            { //wifi的网络连接 2
            }
        }
    }
}