From 631f94758c3cb42abcdda8094e77895f376eff16 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 11 一月 2021 14:53:43 +0800
Subject: [PATCH] 2021-1-12-3

---
 HDL-ON_Android/Application.cs |  142 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 104 insertions(+), 38 deletions(-)

diff --git a/HDL-ON_Android/Application.cs b/HDL-ON_Android/Application.cs
index 798ab14..2ba0094 100644
--- a/HDL-ON_Android/Application.cs
+++ b/HDL-ON_Android/Application.cs
@@ -1,10 +1,13 @@
 锘縰sing System;
 using System.Net;
+using System.Threading.Tasks;
 using Android;
 using Android.App;
 using Android.Content;
 using Android.Net;
 using Android.OS;
+using Android.Runtime;
+using Android.Widget;
 using CN.Jpush.Android.Api;
 using HDL_ON;
 using Java.Util;
@@ -29,6 +32,9 @@
         public Application(IntPtr handle, Android.Runtime.JniHandleOwnership ownerShip) : base(handle, ownerShip) { }
         public override void OnCreate()
         {
+            //娉ㄥ唽鏈鐞嗗紓甯镐簨浠�
+
+            Com.Chteam.Agent.BuglyAgentHelper.Init(this.ApplicationContext, "cb89f20750");
             if (Shared.Application.Activity != null)
             {
                 reStartApp(this);
@@ -53,6 +59,30 @@
             BaseActivity.KeepScreenON = false;
             //闅愯棌杩嫓铏氭嫙鎸夐敭
             BaseActivity.IsHideVirualButtons = true;
+            //瀹炵幇瀹夊崜杩斿洖鎸夐敭
+            BaseActivity.BackKeyAction = () => {
+                try
+                {
+                    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;
+                    }
+                }
+                catch (Exception ex)
+                {
+                    Console.WriteLine(ex.Message);
+                }
+            };
+
             init();
             BaseActivity.OnCreateActoin += (activity, application) =>
             {
@@ -67,24 +97,29 @@
                 //鑾峰彇鏋佸厜鎺ㄩ�両D
                 GetJPushRegistrationID(activity);
 
-                BaseActivity.NetworkStateChanged += (int obj) =>
+                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 缃戠粶鍙樺寲浣嗗浜庡悗鍙�");
-                    }
+                    //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);
                 };
+                //寮�鍚畾浣嶆湇鍔�
+                Shared.Application.StartGPSLocationService();
             };
             BaseActivity.RefreshUIAction += (activity) =>
             {
@@ -94,32 +129,33 @@
             BaseActivity.OnResumeAction += (activity) =>
             {
                 checkSomeInfo();
-                new HDL_ON.UI.AppUnlockPage().LoadPage();
+                
             };
             BaseActivity.OnDestroyAction += (activity) =>
             {
                 Console.WriteLine("OnDestroyAction");
                 //BusSocket.Stop();
-                OnAppConfig.Instance.unlockTime = DateTime.Now;
+                //UserInfo.Current.unlockTime = DateTime.Now;
             };
 
+       
 
             HDLUtils.SetAuthoritiesName("com.hdl.onpro.fileProvider");
 
             //Shared.Application.IsGpsEnable = true;
-
             //鑾峰彇缁忕含搴� 
             Shared.Application.LocationAction = (lon, lat) =>
             {
                 try
                 {
                     Shared.Application.LocationAction = null;
-                    Shared.Application.StopGPSLocationService();
                     new HDL_ON.DAL.Server.HttpServerRequest().GetCityInfo(lon.ToString(), lat.ToString());
+                    //鍏抽棴瀹氫綅鏈嶅姟
+                    Shared.Application.StopGPSLocationService();
                 }
-                catch
+                  catch(Exception ex)
                 {
-
+                    Utlis.WriteLine("GetCityInfo catch"+ ex.Message);
                 }
                 MainPage.Log($"缁忕含搴�:::{lon}:{lat}");
             };
@@ -138,11 +174,11 @@
                 //淇濆瓨鑾峰彇鐨勬瀬鍏夋湇鍔″櫒涓婄殑娉ㄥ唽ID鍒版湰鍦版枃浠�
                 var tokenID = JPushInterface.GetRegistrationID(activity);
                 Console.WriteLine("RegistrationID:  " + tokenID);
-                if (!string.IsNullOrEmpty(tokenID) && UserInfo.Current.PushDeviceToken != tokenID)
+                if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
                 {
-                    UserInfo.Current.PushDeviceToken = tokenID;
-                    UserInfo.Current.PhoneName = Android.OS.Build.Manufacturer;
-                    UserInfo.Current.SaveUserInfo();
+                    OnAppConfig.Instance.PushDeviceToken = tokenID;
+                    OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
+                    OnAppConfig.Instance.SaveConfig();
                 }
                 int loadTokenCount = 0;
                 System.Threading.Tasks.Task.Run(() =>
@@ -159,11 +195,11 @@
                         }
                     }
                     Console.WriteLine("RegistrationID:  " + tokenID);
-                    if (!string.IsNullOrEmpty(tokenID) && UserInfo.Current.PushDeviceToken != tokenID)
+                    if (!string.IsNullOrEmpty(tokenID) && OnAppConfig.Instance.PushDeviceToken != tokenID)
                     {
-                        UserInfo.Current.PushDeviceToken = tokenID;
-                        UserInfo.Current.PhoneName = Android.OS.Build.Manufacturer;
-                        UserInfo.Current.SaveUserInfo();
+                        OnAppConfig.Instance.PushDeviceToken = tokenID;
+                        OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
+                        OnAppConfig.Instance.SaveConfig();
                     }
                 });
 
@@ -275,6 +311,8 @@
             {
                 Console.WriteLine("HHH OnActivityStarted锛歠oreground");
                 BusSocketStart();
+                //鍚庡彴鍥炲埌鍓嶅彴
+                new HDL_ON.UI.AppUnlockPage().LoadPage();
             }
         }
 
@@ -286,6 +324,9 @@
             {
                 Console.WriteLine("HHH OnActivityStopped锛� background");
                 BusSocketStop();
+                //杩涘叆鍚庡彴
+                UserInfo.Current.unlockTime = DateTime.Now;
+
             }
         }
 
@@ -298,31 +339,56 @@
 
         int mCount;
 
+        ///// <summary>
+        ///// 鏄惁杩涘叆鍚庡彴
+        ///// </summary>
+        //public bool IsEnterBackground = false;
+
         /// <summary>
-        /// 鏄惁杩涘叆鍚庡彴
+        /// 杩涘叆鍚庡彴鐨勬椂闂�
         /// </summary>
-        public bool IsEnterBackground = false;
+        DateTime CloseTime = DateTime.Now;
 
         /// <summary>
         /// BusSocketStop
         /// </summary>
         void BusSocketStop()
         {
-            IsEnterBackground = true;
-            //BusSocket.Stop();
-            OnAppConfig.Instance.unlockTime = DateTime.Now;
+            //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;
+            //IsEnterBackground = false;
 
-            //BusSocket.Start();
+            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);
+        }
+
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.8.0