From f46be160caed45c67e8980173d29ed48d525a4d3 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 28 三月 2023 14:49:52 +0800
Subject: [PATCH] 2023年03月28日14:49:50

---
 HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs |  243 +++++++++++++++++++++++++++++++----------------
 1 files changed, 159 insertions(+), 84 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
index f07cff2..ccca825 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -2,6 +2,10 @@
 using HDL_ON.Entity;
 using System.Collections.Generic;
 using Shared;
+#if __IOS__
+#else
+using Com.Videogo.Hdl;
+#endif
 
 namespace HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock
 {
@@ -11,8 +15,15 @@
     public class CommonMethod
     {
         private Loading loading;
-        private static CommonMethod commonMethod = null;
+        /// <summary>
+        /// 璁板綍褰撳墠鐣岄潰绱㈠紩鍊�
+        /// </summary>
+        private int pageLayoutIndexValue;
 
+        private static CommonMethod commonMethod = null;
+        /// <summary>
+        /// 鑾峰彇瀵硅薄
+        /// </summary>
         public static CommonMethod Current
         {
             get
@@ -28,31 +39,47 @@
 
         }
 
-        #region  --------- 璺宠浆鍒癆ndroid閭h竟鐨勬柟娉�(钀ょ煶瑙嗛闂ㄩ攣) --------
+#region  --------- 璺宠浆鍒癆ndroid閭h竟鐨勬柟娉�(钀ょ煶瑙嗛闂ㄩ攣) --------
         /// <summary>
-        /// 娣诲姞璁惧鍒颁簯绔�
+        /// 璇诲彇浜戠鐨勪笂璁惧鍒楄〃(android婧愮敓娣诲姞璁惧鍒颁簯绔垚鍔熷悗)
         /// <paramref name="devSerial"/>璁惧搴忓垪鍙�</param>
         /// </summary>
-        public void SkipAddDeviceActivity(string devSerial)
+        public void SkipAddDeviceActivity(string spk)
         {
-            if (string.IsNullOrEmpty(devSerial)) return;
-            new System.Threading.Thread(() =>
-            {
-                var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock);
-                if (list.Count > 0)
-                {
-                    var function = list.Find((o) => o.sid == devSerial);
-                    if (function != null)
-                    {
-                        this.SaveFunctionFile(function);
-                    }
-                }
-            })
-            { IsBackground = true }.Start();
-            //鏈疄鐜�
 #if __IOS__
 
 #else
+            this.InitializationAndroidData((isBools) =>
+            {
+                if (!isBools) {
+                    this.MainThread(()=> {
+                        this.ShowTip("鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken澶辫触銆�");
+
+                    });
+                }
+                HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity,spk);
+                HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, adnroidActionDevSerial) =>
+                {
+                    if (isBool)
+                    {
+
+                        var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock);
+                        if (list.Count > 0)
+                        {
+                            var function = list.Find((o) => o.sid == adnroidActionDevSerial);
+                            if (function != null)
+                            {
+                                this.SaveFunctionFile(function);
+                            }
+                        }
+
+
+                    }
+
+                }));
+            });
+
+
 
 #endif
 
@@ -65,33 +92,71 @@
         /// <param name="spk">璁惧spk(浜戦泙涓婂畾涔夊ソ鐨�)</param>
         public void SkipRTVActivity(string deviceSerial, string deviceId, string spk)
         {
-            Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) =>
-            {
-                dialog.Close();
-            }, (dialog) =>
-            {
-                dialog.Close();
-            });
 #if __IOS__
 #else
+            this.InitializationAndroidData((isBools) =>
+            {
+                if (!isBools)
+                {
+                    this.MainThread(() => {
+                        this.ShowTip("鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken澶辫触銆�");
+
+                    });
+                }
+                Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) =>
+                {
+                    dialog.Close();
+                    HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk);
+                }, (dialog) =>
+                {
+                    dialog.Close();
+                });
+               
+            });
+          
+
 #endif
-            //jumpToEZRealPlayActivity(Shared.Application.Activity,  deviceId,  deviceSerial,  spk)
         }
         /// <summary>
         /// 娴忚鍘嗗彶璁板綍
         /// </summary>
-        public void SkipRecordActivity()
+        public void SkipRecordActivity(string deviceId)
         {
+            this.InitializationAndroidData((s)=> {
+
+#if __IOS__
+#else
+                HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId);
+#endif
+
+            });
             //鏈疄鐜�
             //this.InitializationAndroidData();
             //
         }
         /// <summary>
         /// 涓存椂瀵嗙爜寮�闂�
+        /// <paramref name="deviceId"/>
         /// </summary>
-        public void SkipPSWActivity()
+        public void SkipPSWActivity(string deviceId)
         {
-            //jumpTempPasswordActivity(Application.Activity, deviceId);
+
+            this.InitializationAndroidData((isBools) =>
+            {
+                if (!isBools)
+                {
+                    this.MainThread(() =>
+                    {
+                        this.ShowTip("鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken澶辫触銆�");
+
+                    });
+                }
+#if __IOS__
+#else
+                HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId);
+#endif
+
+            });
         }
 
         /// <summary>
@@ -99,6 +164,8 @@
         /// </summary>
         public void InitializationAndroidData(Action<bool> action)
         {
+           
+   
             bool isBool = true;
             this.SunThread(() =>
             {
@@ -112,7 +179,7 @@
                         {
                             //Token
                             isBool = false;
-                            return;
+                            return; 
                         }
                         Application.RunOnMainThread(() =>
                         {
@@ -121,7 +188,7 @@
                                 //鍒濆鍖栬悿鐭充簯SDK锛屼腑鏂囧浗鍐卥ey銆佽嫳鏂囨捣澶杒ey 寮�鍙戣�呰处鍙蜂娇鐢ㄥ簲鐢ㄥ寘鍚嶇敵璇风殑APPKEY锛屼笉鍚屽寘鍚嶅簲鐢ㄩ渶閰嶇疆涓嶅悓鐨凙PPKEY
                                 EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
                                 //1.璁剧疆鎵�闇�娌充笢鐨凙ccessToken鍜孯efreshToken銆佸煙鍚嶅湴鍧�
-                                EZSDK.IOS.EZSDK.SharedInstance().SetHDlAccessToken(UserVideoDoorLockInfo.Current.LoginTokenString, UserVideoDoorLockInfo.Current.RefreshToken);
+                                EZSDK.IOS.EZSDK.SharedInstance().SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken);
                                 EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id);
                                 //2.璁剧疆钀ょ煶瀛愯处鍙风殑AccessToken鍒癝DK
                                 EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(ezChildAccessToken);
@@ -131,36 +198,8 @@
                                 //info.de
                                 //EZSDK.IOS.EZSDK.Play(info);
 #else
-                            //Android
-                            //1.璁剧疆鎵�闇�娌充笢鐨則oken銆佸煙鍚嶅湴鍧�
-                            //2.璁剧疆钀ょ煶瀛愯处鍙风殑token
-                            //3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈�
-                            ((BaseActivity)Shared.Application.Activity).SetCamera(b =>
-                            {
-                                if (b)
-                                {
-                                    ((BaseActivity)Shared.Application.Activity).SetPermission(result =>
-                                    {
-                                        if (result)
-                                        {
-                                            Android.Content.Intent intent = new Android.Content.Intent();
-                                            var bundle = new Android.OS.Bundle();
-                                            //浼犻�抧ame鍙傛暟涓簍inyphp
-                                            bundle.PutString("EzChildAccessToken", ezChildAccessToken);
-                                            bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString);
-                                            bundle.PutString("HdlrefreshToken", UserInfo.Current.RefreshToken);
-                                            bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost);
-                                            bundle.PutString("EzvizAppKey", "1aa98a90489b4838b966b57018b4b04b");
-                                            bundle.PutInt("Platform", 1);
-                                            bundle.PutString("HomeId", DB_ResidenceData.Instance.CurrentRegion.id);
-                                            intent.PutExtras(bundle);
-                                            //intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity"));
-                                            //Shared.Application.Activity.StartActivity(intent);
-                                        }
-                                    }, "android.permission.RECORD_AUDIO");
+                            HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, "1aa98a90489b4838b966b57018b4b04b", 1, DB_ResidenceData.Instance.CurrentRegion.id);
 
-                                }
-                            });
 #endif
                         });
 
@@ -179,6 +218,7 @@
                 }
             });
         }
+
         /// <summary>
         /// 鏇存崲浣忓畢
         /// </summary>
@@ -188,7 +228,7 @@
             if (DB_ResidenceData.Instance.CurrentRegion.id == home.id || string.IsNullOrEmpty(home.id)) return;
 
         }
-        #endregion
+#endregion
 
         /// <summary>
         /// 钀ょ煶瑙嗛闂ㄩ攣鐨勫浘鏍�
@@ -206,7 +246,7 @@
             }
 
         }
-        #region  --------- 鍔熻兘鏂囦欢淇濆瓨锛屽垹闄� --------
+#region  --------- 鍔熻兘鏂囦欢淇濆瓨锛屽垹闄� --------
         /// <summary>
         /// 淇濆瓨鏈湴鏂囦欢
         /// </summary>
@@ -230,7 +270,7 @@
             FunctionList.List.DeleteFunction(function);
             MainPage.Log($"鏂囦欢鍒犻櫎->{function.name}-->{function.spk}");
         }
-        #endregion
+#endregion
         /// <summary>
         /// 鑾峰彇Loading瀵硅薄
         /// </summary>
@@ -239,27 +279,31 @@
         {
             get
             {
-                if (loading == null)
+                this.MainThread(() =>
                 {
-                    loading = new Loading();
-                }
-                if (MainPage.BasePageView.ChildrenCount < 1)
-                {
-                    return loading;
-                }
-                View view = MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1);
-                if (view is FrameLayout)
-                {
-                    ((FrameLayout)view).AddChidren(loading);
-                }
-                else if (view is PageLayout)
-                {
-                    ((PageLayout)view).AddChidren(loading);
-                }
+                    //if (loading != null && this.pageLayoutIndexValue == MainPage.BasePageView.ChildrenCount - 1)
+                    //{
+                    //    //闃叉浜岄噸娣诲姞瀵硅薄
+                    //    return;
+                    //}
+                    if (loading == null)//|| MainPage.BasePageView.ChildrenCount < 1)
+                    {
+                        loading = new Loading();
+                    }
+                    //loading.BringToFront();
+                    Application.MainPage.AddChidren(loading);
+                    //View view = MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1);
+                    //if (view is ViewGroup)
+                    //{
+                    //    pageLayoutIndexValue = MainPage.BasePageView.ChildrenCount - 1;
+                    //    ((ViewGroup)view).AddChidren(loading);
+                    //}
+                });
                 return loading;
             }
 
         }
+
         /// <summary>
         /// 鑾峰彇钀ょ煶瑙嗛闂ㄩ攣鍒楄〃
         /// </summary>
@@ -273,7 +317,7 @@
 #endif
             return list;
         }
-        #region  ---------鑷畾涔夌嚎绋�(瀛愮嚎绋嬶紝涓荤嚎绋�)--------
+#region  ---------鑷畾涔夌嚎绋�(瀛愮嚎绋嬶紝涓荤嚎绋�)--------
         /// <summary>
         /// 瀛愮嚎绋�
         /// </summary>
@@ -315,8 +359,8 @@
             });
 
         }
-        #endregion
-        #region  --------- 鎻愮ず妗嗭紝纭妗� --------
+#endregion
+#region  --------- 鎻愮ず妗嗭紝纭妗� --------
         /// <summary>
         /// 瀵硅瘽妗�(鍙绋嬪簭鎶ラ敊鐨勬椂鍊欐墠鐢ㄥ埌)
         /// </summary>
@@ -356,7 +400,7 @@
                 new PublicAssmebly().TipMsgAutoClose(msg, false, time * 1000);
             });
         }
-        #endregion
+#endregion
         /// <summary>
         /// 寮规绫诲瀷
         /// </summary>
@@ -376,5 +420,36 @@
             room,//鎴块棿
             push,//鎺ㄩ��
         }
+
+#if __IOS__
+#else
+        /// <summary>
+        /// 
+        /// </summary>
+        public class AndroidIHdlInterface : Java.Lang.Object, IHdlInterface
+        {
+
+            Action<bool,string> mAction;
+            public AndroidIHdlInterface(Action<bool,string> action)
+            {
+                mAction = action;
+            }
+            /// <summary>
+            /// 
+            /// </summary>
+            /// <param name="p0">true鏄叆缃戞垚鍔�(婧愮敓鍥炶皟杩斿洖)</param>
+            /// <param name="p1">璁惧鐨勫簭鍒楀寲(婧愮敓鍥炶皟杩斿洖)</param>
+            public void AddCallback(bool p0, string p1)
+            {
+                mAction?.Invoke(p0,p1);
+            }
+
+           
+        }
+#endif
+
+
     }
+
+ 
 }

--
Gitblit v1.8.0