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/SplashActivity.cs |  318 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 311 insertions(+), 7 deletions(-)

diff --git a/HDL-ON_Android/SplashActivity.cs b/HDL-ON_Android/SplashActivity.cs
index 1611515..680bb95 100644
--- a/HDL-ON_Android/SplashActivity.cs
+++ b/HDL-ON_Android/SplashActivity.cs
@@ -1,28 +1,332 @@
-锘縰sing Android.App;
+锘縰sing System;
+using Android.App;
 using Android.Content;
+using Android.Content.PM;
+using Android.Net;
 using Android.OS;
+using CN.Jpush.Android.Api;
+//using Android.Widget;
 using Com.Hdl.ON.Jpush.Androidjpush;
+using HDL_ON;
+using Java.Util;
+using Microsoft.AppCenter;
+using Microsoft.AppCenter.Analytics;
+using Microsoft.AppCenter.Crashes;
 using Shared;
 
 namespace HDL_ON_Android
 {
-    [Activity(Theme = "@style/SplashTheme", MainLauncher = true, Name = "com.hdl.onpro.SplashActivity")]
+    [Activity(Theme = "@style/SplashTheme", MainLauncher = true, Name = "com.hdl.onpro.SplashActivity",ScreenOrientation = ScreenOrientation.Portrait) ]
     [IntentFilter(new string[] { "com.hdl.onpro.SplashActivity", Intent.ActionView })]
     public class SplashActivity : Activity
     {
+        protected override void OnActivityResult(int requestCode, Result resultVal, Intent data)
+        {
+            if (requestCode == 99)
+            {
+                if (resultVal == Result.Ok)
+                {
+                    if (!OnAppConfig.Instance.FirstRunApp)
+                    {
+                        //鍒濆鍖栧弸鐩焥dk
+                        Com.Hdl.Umsdk.UmSdk.InitUmSdk(this, "61d565d9e0f9bb492bbc3d5a", "Android");
+                        //鍒濆鍖栧弸鐩焥dk config
+                        Com.Hdl.Umsdk.UmSdk.InitUMConfigure(this, "61d565d9e0f9bb492bbc3d5a", "Android", "");
+                        ////鎵撳紑baseActivity
+                        Intent i = new Intent(this, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
+                        StartActivityForResult(i, 1);
+                        OverridePendingTransition(0, 0);
+                        initAll();
+                        initOhterSdk();
+                        Finish();//鍏抽棴鑷繁
+                    }
+                }
+            }
+            base.OnActivityResult(requestCode, resultVal, data);
+        }
+
+
         protected override void OnCreate(Bundle savedInstanceState)
         {
             base.OnCreate(savedInstanceState);
 
+            //Intent i = new Intent(this, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
+            //StartActivityForResult(i, 1);
+            //OverridePendingTransition(0, 0);
+            //initAll();
 
-            //鎵撳紑baseActivity
-            Intent i = new Intent(this, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
-            StartActivity(i);
 
-            OverridePendingTransition(0, 0);
-            Finish();
+
+            if (HDL_ON.OnAppConfig.Instance.FirstRunApp || !HDL_ON.OnAppConfig.Instance.isAgreePrivacyPolicy)
+            {
+                
+                Intent intent = new Intent(this, typeof(AgreementActivity));
+                StartActivityForResult(intent,99);
+            }
+            else
+            {
+                //鍒濆鍖栧弸鐩焥dk
+                Com.Hdl.Umsdk.UmSdk.InitUmSdk(this, "61d565d9e0f9bb492bbc3d5a", "Android");
+                //鍒濆鍖栧弸鐩焥dk config
+                Com.Hdl.Umsdk.UmSdk.InitUMConfigure(this, "61d565d9e0f9bb492bbc3d5a", "Android","");
+                ////鎵撳紑baseActivity
+                Intent i = new Intent(this, typeof(BaseActivity));//Intent intent=new Intent( 璧峰缁勪欢瀵硅薄 , 鐩爣 Service.class);
+                StartActivityForResult(i, 1);
+                OverridePendingTransition(0, 0);
+                initAll();
+                initOhterSdk();
+                Finish();//鍏抽棴鑷繁
+            }
+
         }
+
+        void initOhterSdk()
+        {
+            //娉ㄥ唽鏈鐞嗗紓甯镐簨浠�
+            AppCenter.Start("64ac5859-2cd7-4ef8-a5da-5455e29679ec", typeof(Analytics), typeof(Crashes));
+            //鎵嬫満鍚嶇О Android.OS.Build.Manufacturer;
+            //OnAppConfig.Instance.PhoneName = Android.OS.Build.Manufacturer;
+            //#if DEBUG
+            //CN.Jpush.Android.Api.JPushInterface.SetDebugMode(true);
+            //#endif
+            JPushInterface.Init(this);
+
+
+            BaseActivity.OnCreateActoin += (activity, application) =>
+            {
+                //鑾峰彇鏋佸厜鎺ㄩ�両D
+                GetJPushRegistrationID(activity);
+
+            };
+
+
+        }
+
+        /// <summary>
+        /// 鎵�鏈夊垵濮嬪寲鍏ㄩ儴鍦ㄨ繖涓柟娉曞疄鐜�
+        /// </summary>
+        void initAll()
+        {
+            //绂佹灞忓箷闀夸寒
+            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)
+                {
+                    MainPage.Log(ex.Message);
+                    BaseActivity.VerifyDateTime = DateTime.MaxValue;
+                }
+            };
+
+            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";
+                }
+
+                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)
+                        {
+                            break;
+                        }
+                    }
+                    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 checkSomeInfo()
+        {
+            try
+            {
+                IsShowTip = true;
+                var status = isNetworkAvailable(this);
+                int internetStatus = 0;
+                if (!status)
+                {
+                    internetStatus = 0;
+                }
+
+                var isWifi = isWifiConnected(this);
+                if (isWifi)
+                {
+                    internetStatus = 2;
+                }
+                else
+                {
+                    internetStatus = 1;
+                }
+            }
+            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)
+                {
+                    return mWiFiNetworkInfo.IsAvailable;
+                }
+            }
+            return false;
+        }
+
     }
 
 
+    
+
 }
\ No newline at end of file

--
Gitblit v1.8.0