From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs |   97 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 83 insertions(+), 14 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs
index adbd012..34909fd 100755
--- a/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs
@@ -338,7 +338,8 @@
             #endregion
             string strname = "";
             //鍒拌揪鍦扮偣鐐瑰嚮浜嬩欢
-            athomeView.clickviewBtn.MouseUpEventHandler += (sender, e) => {
+            athomeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
+            {
 
                 strname = athomeView.titleBtn.Text;
                 leaveView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
@@ -347,14 +348,15 @@
                 athomeView.selectedIconBtn.Visible = true;
             };
             //绂诲紑鍦扮偣鐐瑰嚮浜嬩欢
-            leaveView.clickviewBtn.MouseUpEventHandler += (sender, e) => {
+            leaveView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
+            {
                 strname = leaveView.titleBtn.Text;
                 leaveView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                 athomeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                 leaveView.selectedIconBtn.Visible = true;
                 athomeView.selectedIconBtn.Visible = false;
-            };
-           
+            };
+
             double latitude = Config.Instance.Home.Latitude;//绾害
             double longitude = Config.Instance.Home.Longitude;//缁忓害
             int r = 500;//鍗婂緞
@@ -441,15 +443,81 @@
                         LocationConditionsInfo.Remove("AtHome");
                     }
                     LocationConditionsInfo.Add("AtHome", "1");
-                }
-
-                //璋冪敤鏂规硶锛岃烦杞〉闈�
-                GDMapKit.Show((mLatitude, mLongitude, mRadius, name) =>
-                {
-                    //鎴彇瀛楃涓插悗绗�6浣嶏紱
-                    //var len = name.Substring(name.Length - 6, 6);
-
-                    //鐐瑰嚮淇濆瓨鎸夐挳锛屽洖璋冨綋鍓嶉�夋嫨鐨勭含搴︼紝缁忓害锛屽崐寰勮寖鍥�
+                }
+
+#if Android
+            //鐢宠瀹氫綅鏉冮檺
+            ((BaseActivity)Application.Activity).SetGPSLocationPermission((result1) =>
+            {
+                if (result1 == false) { return; }
+
+                //鐢宠鍏佽绋嬪簭鍐欏叆澶栭儴瀛樺偍锛屽SD鍗′笂鍐欐枃浠�
+                ((BaseActivity)Application.Activity).SetPermission((result2) =>
+                {
+                    if (result2 == false) { return; }
+                     //璇诲彇鐢佃瘽鐘舵�佹潈闄�
+                     ((BaseActivity)Application.Activity).SetPermission((result3) =>
+                     {
+                         if (result3 == false) { return; }
+
+                         //璋冪敤鏂规硶锛岃烦杞〉闈�
+                         GDMapKit.Show((mLatitude, mLongitude, mRadius, name) =>
+                         {
+                             //鎴彇瀛楃涓插悗绗�6浣嶏紱
+                             //var len = name.Substring(name.Length - 6, 6);
+
+                             //鐐瑰嚮淇濆瓨鎸夐挳锛屽洖璋冨綋鍓嶉�夋嫨鐨勭含搴︼紝缁忓害锛屽崐寰勮寖鍥�
+                             var latitudW = (int)Math.Truncate(mLatitude * 1000000);
+                             var longitudeH = (int)Math.Truncate(mLongitude * 1000000);
+                             Dictionary<string, string> accounts = new Dictionary<string, string>();
+                             if (accounts.ContainsKey("Account"))
+                             {
+                                 accounts.Remove("Account");
+                             }
+                             if (accounts.ContainsKey("Type"))
+                             {
+                                 accounts.Remove("Type");
+                             }
+                             if (accounts.ContainsKey("Latitude"))
+                             {
+                                 accounts.Remove("latitude");
+                             }
+                             if (accounts.ContainsKey("Longitude"))
+                             {
+                                 accounts.Remove("Longitude");
+                             }
+                             if (accounts.ContainsKey("Radius"))
+                             {
+                                 accounts.Remove("radius");
+                             }
+                             accounts.Add("Account", Config.Instance.Guid);
+                             accounts.Add("Type", "7");
+                             accounts.Add("Latitude", latitudW.ToString());
+                             accounts.Add("Longitude", longitudeH.ToString());
+                             accounts.Add("Radius", mRadius.ToString());
+
+                             LogicIfon.Addaccounts(accounts);
+                             LogicIfon.AddLocationconditions(LocationConditionsInfo);
+
+                             var logicCommunalPage = new LogicCommunalPage();
+                             UserView.HomePage.Instance.AddChidren(logicCommunalPage);
+                             UserView.HomePage.Instance.PageIndex += 1;
+                             logicCommunalPage.Show(() => { });
+                         }, strname, Language.StringByID(R.MyInternationalizationString.uSave), true, latitude, longitude, r);
+
+                     }, "android.permission.READ_PHONE_STATE");
+
+                }, "android.permission.WRITE_EXTERNAL_STORAGE");
+            });
+#endif
+#if iOS
+                //璋冪敤鏂规硶锛岃烦杞〉闈�
+                GDMapKit.Show((mLatitude, mLongitude, mRadius, name) =>
+                {
+                    //鎴彇瀛楃涓插悗绗�6浣嶏紱
+                    //var len = name.Substring(name.Length - 6, 6);
+
+                    //鐐瑰嚮淇濆瓨鎸夐挳锛屽洖璋冨綋鍓嶉�夋嫨鐨勭含搴︼紝缁忓害锛屽崐寰勮寖鍥�
                     var latitudW = (int)Math.Truncate(mLatitude * 1000000);
                     var longitudeH = (int)Math.Truncate(mLongitude * 1000000);
                     Dictionary<string, string> accounts = new Dictionary<string, string>();
@@ -486,7 +554,8 @@
                     UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                     UserView.HomePage.Instance.PageIndex += 1;
                     logicCommunalPage.Show(() => { });
-                }, strname, Language.StringByID(R.MyInternationalizationString.uSave), true, latitude, longitude, r);
+                }, strname, Language.StringByID(R.MyInternationalizationString.uSave), true, latitude, longitude, r);
+#endif
             };
         }
 

--
Gitblit v1.8.0