From 07b0239f824ddb5a0cadf93f20ff6247f72baca2 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 19 一月 2022 11:32:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wxr0114' into wjc

---
 HDL-ON_Android/Application.cs |  497 ++++++++++++++-----------------------------------------
 1 files changed, 128 insertions(+), 369 deletions(-)

diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs
index b2261ff..dbb5630 100644
--- a/HDL-ON_Android/Application.cs
+++ b/HDL-ON_Android/Application.cs
@@ -18,400 +18,159 @@
 
 namespace HDL_ON_Android
 {
-  /// <summary>
-  /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application
-  /// </summary>
-  [Android.App.Application]
-  public class Application : Android.App.Application, Android.App.Application.IActivityLifecycleCallbacks
-  {
-    static void reStartApp(Android.App.Application application)
-    {
-      var intent = new Intent(application, typeof(BaseActivity));
-      intent.AddFlags(ActivityFlags.NewTask);
-      application.StartActivity(intent);
-      Android.OS.Process.KillProcess(Android.OS.Process.MyPid());
-    }
-
-    public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }
-    public override void OnCreate()
-    {
-      //娉ㄥ唽鏈鐞嗗紓甯镐簨浠�
-      AppCenter.Start("64ac5859-2cd7-4ef8-a5da-5455e29679ec", typeof(Analytics), typeof(Crashes));
-      if (Shared.Application.Activity != null)
-      {
-        reStartApp(this);
-        return;
-      }
-
-      base.OnCreate();
-      RegisterActivityLifecycleCallbacks(this);
-
-      initAll();
-
-    }
-
-
-
     /// <summary>
-    /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜�
+    /// 璁惧畾涓洪粯璁ゅ惎鍔ㄧ殑Application
     /// </summary>
-    void initAll()
+    [Android.App.Application]
+    public class Application : Android.App.Application, Android.App.Application.IActivityLifecycleCallbacks
     {
-
-      string[] permissions = new string[] { Manifest.Permission.WriteExternalStorage, Manifest.Permission.RecordAudio,
-            Manifest.Permission.Camera, Manifest.Permission.ProcessOutgoingCalls, Manifest.Permission.GetAccounts};
-      //绂佹灞忓箷闀夸寒
-      BaseActivity.KeepScreenON = false;
-      //闅愯棌铏氭嫙鎸夐敭
-      BaseActivity.IsHideVirualButtons = true;
-      //瀹炵幇瀹夊崜杩斿洖鎸夐敭
-      BaseActivity.BackKeyAction = () =>
-      {
-        try
+        static void reStartApp(Android.App.Application application)
         {
-          var result = MainPage.LoadEvent_BackAction();
-          switch (result)
-          {
-            case 0:
-              break;
-            case 1:
-            case 2:
-              BaseActivity.VerifyDateTime = DateTime.MaxValue;
-              break;
-            default:
-              BaseActivity.VerifyDateTime = DateTime.MaxValue;
-              break;
-          }
+            var intent = new Intent(application, typeof(BaseActivity));
+            intent.AddFlags(ActivityFlags.NewTask);
+            application.StartActivity(intent);
+            Android.OS.Process.KillProcess(Android.OS.Process.MyPid());
         }
-        catch (Exception ex)
+
+        public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }
+        public override void OnCreate()
         {
-          MainPage.Log(ex.Message);
-          BaseActivity.VerifyDateTime = DateTime.MaxValue;
-        }
-      };
-
-      init();
-      BaseActivity.OnCreateActoin += (activity, application) =>
-      {
-        Language.CurrentLanguage = "Chinese";
-        Locale locale1 = Locale.Default;
-        var localeList = Resources.Configuration.Locale;
-        if (localeList.Language == "zh")
-        {
-          Language.CurrentLanguage = "Chinese";
-        }
-        else
-        {
-          Language.CurrentLanguage = "English";
-        }
-        //鑾峰彇鏋佸厜鎺ㄩ�両D
-        GetJPushRegistrationID(activity);
-
-        BaseActivity.NetworkStateChanged += (int internetStatus) =>
-              {
-                //if (!IsEnterBackground)
-                //{
-                //    ////BusSocket.Stop();
-                //    //new System.Threading.Thread(() =>
-                //    //{
-                //    //    System.Threading.Thread.Sleep(1000);
-                //    //    //BusSocket.Start();
-                //    //})
-                //    //{ IsBackground = true }.Start();
-
-                //}
-                //else
-                //{
-                //    Console.WriteLine("HHH 缃戠粶鍙樺寲浣嗗浜庡悗鍙�");
-                //}
-
-                //缃戠粶鍙樺寲澶勭悊
-                HDLCommon.Current.UpdateInternetStatus((int)internetStatus, MainPage.IsEnterBackground);
-              };
-      };
-      BaseActivity.RefreshUIAction += (activity) =>
-      {
-        MainPage.Show();
-        checkSomeInfo();
-      };
-      BaseActivity.OnResumeAction += (activity) =>
-      {
-        checkSomeInfo();
-      };
-      BaseActivity.OnDestroyAction += (activity) =>
-      {
-        Console.WriteLine("OnDestroyAction");
-        //BusSocket.Stop();
-        //UserInfo.Current.unlockTime = DateTime.Now;
-      };
-
-
-      HDLUtils.SetAuthoritiesName("com.hdl.onpro.fileProvider");
-
-      //Shared.Application.IsGpsEnable = true;
-      bool isfirst = true;
-      //鑾峰彇缁忕含搴� 
-      Shared.Application.LocationAction = (lon, lat) =>
-      {
-        try
-        {
-          if (isfirst)
-          {
-            //鍙Е鍙戜竴娆�
-            //Shared.Application.LocationAction = null;
-            new HDL_ON.DAL.Server.HttpServerRequest().GetCityWeatherInfo(lon.ToString(), lat.ToString());
-          }
-          isfirst = false;
-          ///鐩戝惉缁忕含搴�
-          HDL_ON.UI.UI2.Intelligence.Automation.LogicMethod.CurrLogicMethod.AppLatAndLonEvent(lon, lat);
-          //鍏抽棴瀹氫綅鏈嶅姟
-          //Shared.Application.StopGPSLocationService();
-        }
-        catch (Exception ex)
-        {
-          Utlis.WriteLine("GetCityInfo catch" + ex.Message);
-        }
-        MainPage.Log($"缁忕含搴�:::{lon}:{lat}");
-      };
-    }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    /// <param name="activity"></param>
-    void GetJPushRegistrationID(BaseActivity activity)
-    {
-      try
-      {
-        //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠�
-        var tokenID = JPushInterface.GetRegistrationID(activity);
-        Console.WriteLine("RegistrationID:  " + tokenID);
-        if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
-        {
-          OnAppConfig.Instance.PushDeviceToken = tokenID;
-          OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
-          OnAppConfig.Instance.SaveConfig();
-        }
-        int loadTokenCount = 0;
-        System.Threading.Tasks.Task.Run(() =>
-        {
-          while (string.IsNullOrEmpty(tokenID))
-          {
-            System.Threading.Thread.Sleep(1000);
-            tokenID = JPushInterface.GetRegistrationID(activity);
-            Console.WriteLine("Sleep.tokenID + " + JPushInterface.GetRegistrationID(activity));
-            loadTokenCount++;
-            if (loadTokenCount > 30)
+            if (Shared.Application.Activity != null)
             {
-              break;
+                //reStartApp(this);
+                return;
             }
-          }
-          Console.WriteLine("RegistrationID:  " + tokenID);
-          if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
-          {
-            OnAppConfig.Instance.PushDeviceToken = tokenID;
-            OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
-            OnAppConfig.Instance.SaveConfig();
-          }
-        });
 
-      }
-      catch
-      {
-
-      }
-    }
-
-    public static bool IsShowTip = true;
-    void init()
-    {
-      //鎵嬫満鍚嶇О Android.OS.Build.Manufacturer;
-      //OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
-      //#if DEBUG
-      //CN.Jpush.Android.Api.JPushInterface.SetDebugMode(true);
-      //#endif
-      CN.Jpush.Android.Api.JPushInterface.Init(this);
-
-    }
-    void checkSomeInfo()
-    {
-      try
-      {
-        IsShowTip = true;
-        var status = isNetworkAvailable(this);
-        int internetStatus = 0;
-        if (!status)
-        {
-          internetStatus = 0;
+            base.OnCreate();
+            RegisterActivityLifecycleCallbacks(this);
         }
 
-        var isWifi = isWifiConnected(this);
-        if (isWifi)
+        public void OnActivityCreated(Activity activity, Bundle savedInstanceState)
         {
-          internetStatus = 2;
+
         }
-        else
+
+        public void OnActivityDestroyed(Activity activity)
         {
-          internetStatus = 1;
+            //throw new NotImplementedException ();
         }
-      }
-      catch (Exception ex)
-      {
-        Console.WriteLine($"android check some info erorr : {ex.Message}");
-      }
-    }
 
-    bool isNetworkAvailable(Context context)
-    {
-      var cm = (ConnectivityManager)context.GetSystemService(ConnectivityService);
-      if (cm == null || cm.ActiveNetworkInfo == null)
-      {
-        return false;
-      }
-      else
-      {
-        return cm.ActiveNetworkInfo.IsAvailable;
-      }
-    }
-
-    bool isWifiConnected(Context context)
-    {
-      if (context != null)
-      {
-        var mConnectivityManager = (ConnectivityManager)context.GetSystemService
-        (ConnectivityService);
-        var mWiFiNetworkInfo = mConnectivityManager.GetNetworkInfo(ConnectivityType.Wifi);
-        if (mWiFiNetworkInfo != null)
+        public void OnActivityPaused(Activity activity)
         {
-          return mWiFiNetworkInfo.IsAvailable;
+            //throw new NotImplementedException ();
         }
-      }
-      return false;
-    }
 
-    public void OnActivityCreated(Activity activity, Bundle savedInstanceState)
-    {
-
-    }
-
-    public void OnActivityDestroyed(Activity activity)
-    {
-      //throw new NotImplementedException ();
-    }
-
-    public void OnActivityPaused(Activity activity)
-    {
-      //throw new NotImplementedException ();
-    }
-
-    public void OnActivityResumed(Activity activity)
-    {
-      //throw new NotImplementedException ();
-    }
-
-    public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
-    {
-      //throw new NotImplementedException ();
-    }
-
-    public void OnActivityStarted(Activity activity)
-    {
-      //throw new NotImplementedException ();
-
-      mCount++;
-      if (mCount == 1)
-      {
-        Console.WriteLine("HHH OnActivityStarted锛歠oreground");
-        BusSocketStart();
-        //鍚庡彴鍥炲埌鍓嶅彴
-        new HDL_ON.UI.AppUnlockPage().LoadPage();
-      }
-    }
-
-    public void OnActivityStopped(Activity activity)
-    {
-
-      mCount--;
-      if (mCount == 0)
-      {
-        Console.WriteLine("HHH OnActivityStopped锛� background");
-        BusSocketStop();
-        //杩涘叆鍚庡彴
-        UserInfo.Current.unlockTime = DateTime.Now;
-
-      }
-    }
-
-
-    public override void OnTerminate()
-    {
-      base.OnTerminate();
-      UnregisterActivityLifecycleCallbacks(this);
-    }
-
-    int mCount;
-
-    ///// <summary>
-    ///// 鏄惁杩涘叆鍚庡彴
-    ///// </summary>
-    //public bool IsEnterBackground = false;
-
-    /// <summary>
-    /// 杩涘叆鍚庡彴鐨勬椂闂�
-    /// </summary>
-    DateTime CloseTime = DateTime.Now;
-
-    /// <summary>
-    /// BusSocketStop
-    /// </summary>
-    void BusSocketStop()
-    {
-      //IsEnterBackground = true;
-      CloseTime = DateTime.Now;
-      MainPage.IsEnterBackground = true;
-      //杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵��
-      HDL_ON.DAL.Mqtt.MqttClient.RemoteMqttIsConnecting = false;
-      HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop();
-
-    }
-
-    /// <summary>
-    /// BusSocketStart
-    /// </summary>
-    void BusSocketStart()
-    {
-      //IsEnterBackground = false;
-
-      if (CloseTime.AddSeconds(10) < DateTime.Now)
-      {
-        //鍚庡彴瓒呰繃10s灏辨柇寮�MQTT閲嶈繛
-        //if (HDL_ON.DriverLayer.Control.Ins.IsRemote)
+        public void OnActivityResumed(Activity activity)
         {
-          HDL_ON.DAL.Mqtt.MqttClient.DisConnectRemote("closeTime", false);
+            //throw new NotImplementedException ();
         }
-      }
 
-      MainPage.IsEnterBackground = false;
-      HDL_ON.DriverLayer.UdpSocket._BusSocket.Start();
-      HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
-    }
+        public void OnActivitySaveInstanceState(Activity activity, Bundle outState)
+        {
+            //throw new NotImplementedException ();
+        }
 
-    protected override void Dispose(bool disposing)
-    {
-      base.Dispose(disposing);
-    }
+        public void OnActivityStarted(Activity activity)
+        {
+            //throw new NotImplementedException ();
+            if (HDL_ON.OnAppConfig.Instance.FirstRunApp)
+            {
+                return;
+            }
+            mCount++;
+            if (mCount == 1)
+            {
+                Console.WriteLine("HHH OnActivityStarted锛歠oreground");
+                BusSocketStart();
+                //鍚庡彴鍥炲埌鍓嶅彴
+                new HDL_ON.UI.AppUnlockPage().LoadPage();
+            }
+        }
 
-    /// <summary>
-    /// 鏌ヨ閫氱煡鏉冮檺锛屽苟鎻愮ず
-    /// </summary>
-    public void QueryNotificationPermission()
-    {
+        public void OnActivityStopped(Activity activity)
+        {
+
+            mCount--;
+            if (mCount == 0)
+            {
+                Console.WriteLine("HHH OnActivityStopped锛� background");
+                BusSocketStop();
+                //杩涘叆鍚庡彴
+                UserInfo.Current.unlockTime = DateTime.Now;
+
+            }
+        }
+
+
+        public override void OnTerminate()
+        {
+            base.OnTerminate();
+            UnregisterActivityLifecycleCallbacks(this);
+        }
+
+        public int mCount;
+
+        ///// <summary>
+        ///// 鏄惁杩涘叆鍚庡彴
+        ///// </summary>
+        //public bool IsEnterBackground = false;
+
+        /// <summary>
+        /// 杩涘叆鍚庡彴鐨勬椂闂�
+        /// </summary>
+        DateTime CloseTime = DateTime.Now;
+
+        /// <summary>
+        /// BusSocketStop
+        /// </summary>
+        void BusSocketStop()
+        {
+            //IsEnterBackground = true;
+            CloseTime = DateTime.Now;
+            MainPage.IsEnterBackground = true;
+            //杩涘叆鍚庡彴mqtt姝e湪杩炴帴閲嶇疆鐘舵��
+            HDL_ON.DAL.Mqtt.MqttClient.RemoteMqttIsConnecting = false;
+            HDL_ON.DriverLayer.UdpSocket._BusSocket.Stop();
+
+        }
+
+        /// <summary>
+        /// BusSocketStart
+        /// </summary>
+        void BusSocketStart()
+        {
+            //IsEnterBackground = false;
+
+            if (CloseTime.AddSeconds(10) < DateTime.Now)
+            {
+                //鍚庡彴瓒呰繃10s灏辨柇寮�MQTT閲嶈繛
+                //if (HDL_ON.DriverLayer.Control.Ins.IsRemote)
+                {
+                    HDL_ON.DAL.Mqtt.MqttClient.DisConnectRemote("closeTime", false);
+                }
+            }
+
+            MainPage.IsEnterBackground = false;
+            HDL_ON.DriverLayer.UdpSocket._BusSocket.Start();
+            HDL_ON.DriverLayer.Control.Ins.SearchLoaclGateway();
+        }
+
+        protected override void Dispose(bool disposing)
+        {
+            base.Dispose(disposing);
+        }
+
+        /// <summary>
+        /// 鏌ヨ閫氱煡鏉冮檺锛屽苟鎻愮ず
+        /// </summary>
+        public void QueryNotificationPermission()
+        {
+
+
+        }
+
 
 
     }
 
-
-
-  }
-
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0