From 9d1acd149d4361874ebb0b9097a7650cde5c5add Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 09 二月 2023 15:15:52 +0800
Subject: [PATCH] Update MainPage.cs
---
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs | 392 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 330 insertions(+), 62 deletions(-)
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs
index e98e1f7..2496657 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs
@@ -3,6 +3,9 @@
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
+#if __Android__
+using Java.Interop;
+#endif
using Shared;
namespace HDL_ON.UI
{
@@ -23,10 +26,124 @@
{
Action<string, string> action = (s, a) =>
{
- var page = new AddDevciePage(brand);
- MainPage.BasePageView.AddChidren(page);
- page.LoadPage(contentView);
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ if (brand.productBrand == "IMOU")
+ {
+#if __ANDROID__
+
+ FunctionList.List.GetIpCamImouList();
+
+
+ if (string.IsNullOrEmpty(Com.Utils.HdlToLcUtils.Instance.SubAccessToken))
+ {
+
+ var waitPage = new Loading();
+ MainPage.BaseView.AddChidren(waitPage);
+ waitPage.Start("");
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+
+#if DEBUG
+ Com.Utils.HdlToLcUtils.Instance.ShowErrorInfo(true);
+#endif
+
+ var http = new HttpServerRequest();
+ var pack = http.GetLcSubAccountToken();
+ if (pack.Code == StateCode.SUCCESS)
+ {
+ if (pack.Data == null || string.IsNullOrEmpty(pack.Data.ToString()))
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.Get3tyIotInfoFailed));
+ return;
+ });
+ }
+ Com.Utils.HdlToLcUtils.Instance.InitData(Shared.Application.Activity, "HDL-HOME-APP-TEST", "WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss", OnAppConfig.Instance.RequestHttpsHost);
+ Com.Utils.HdlToLcUtils.Instance.HomeId = DB_ResidenceData.Instance.CurrentRegion.id;
+ Com.Utils.HdlToLcUtils.Instance.Token = UserInfo.Current.AccessToken;
+ Com.Utils.HdlToLcUtils.Instance.SubAccessToken = pack.Data.ToString();
+#if __ANDROID__
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+
+ var result = Com.Utils.HdlToLcUtils.Instance.CheckCameraPermissions();
+ if (result)
+ {
+ var backTemp = new AddLcCam();
+ backTemp.backAction = () =>
+ {
+ Load3tyBrandDeviceList();
+ };
+ Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
+ }
+ else
+ {
+ Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions();
+ }
+ }
+ catch (Exception ex)
+ {
+
+ }
+ });
+#endif
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new PublicAssmebly().TipMsg(Language.StringByID(StringId.Tip), Language.StringByID(StringId.huoqushujushibao) + $"({pack.Code})");
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log("鍔犺浇涔愭鎽勫儚澶村紓甯�");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+ else
+ {
+ var result = Com.Utils.HdlToLcUtils.Instance.CheckCameraPermissions();
+ if (result)
+ {
+ var backTemp = new AddLcCam();
+ backTemp.backAction = () =>
+ {
+ Load3tyBrandDeviceList();
+ };
+ Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
+ }
+ else
+ {
+ Com.Utils.HdlToLcUtils.Instance.RequestCameraPermissions();
+ }
+ }
+#endif
+ }
+ else
+ {
+ var page = new AddDevciePage(brand);
+ MainPage.BasePageView.AddChidren(page);
+ page.LoadPage(contentView);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ }
};
new TopViewDiv(bodyView, Language.StringByID(StringId.Devices)).LoadTopView_AddIcon("3ty", action);
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
@@ -115,63 +232,6 @@
LineColor = 0x00000000,
};
contentView.AddChidren(row);
- if(device.spk == SPK.IpCam_Imou)
- {
- var btnDel = new Button()
- {
- TextColor = CSS_Color.MainBackgroundColor,
- BackgroundColor = CSS_Color.WarningColor,
- TextID = StringId.Del,
- TextAlignment = TextAlignment.Center,
- };
- row.AddRightView(btnDel);
-
- btnDel.MouseUpEventHandler = (sender, e) => {
- Action action = () => {
- var waitPage = new Loading();
- this.AddChidren(waitPage);
- waitPage.Start("");
- new System.Threading.Thread(() =>
- {
- try
- {
- var http = new HttpServerRequest();
- var result = http.Delete3tyDevice( device.deviceId);
- if (result.Code == StateCode.SUCCESS)
- {
- Application.RunOnMainThread(() =>
- {
- Load3tyBrandDeviceList();
- });
- }
- else
- {
- Application.RunOnMainThread(() =>
- {
- new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.OperationFailed)+$"({result.Code})", true);
- });
- }
- }catch (Exception ex)
- {
- MainPage.Log($"鍒犻櫎绗笁鏂硅澶囧け璐�:{ex.Message}");
- }
- finally
- {
- Application.RunOnMainThread(() =>
- {
- if(waitPage!= null)
- {
- waitPage.RemoveFromParent();
- waitPage = null;
- }
- });
- }
- })
- { IsBackground = true }.Start();
- };
- new PublicAssmebly().TipOptionMsg(StringId.Tip, Language.StringByID(StringId.AreYouSureToDeleteThisDevice), action);
- };
- }
if (isFrist)
{
@@ -251,6 +311,140 @@
break;
}
};
+
+
+
+ if (device.spk == SPK.IpCam_Imou)
+ {
+ var btnDel = new Button()
+ {
+ TextColor = CSS_Color.MainBackgroundColor,
+ BackgroundColor = CSS_Color.WarningColor,
+ TextID = StringId.Del,
+ TextAlignment = TextAlignment.Center,
+ };
+ row.AddRightView(btnDel);
+
+ btnDel.MouseUpEventHandler = (sender, e) =>
+ {
+ Action action = () =>
+ {
+ var waitPage = new Loading();
+ this.AddChidren(waitPage);
+ waitPage.Start("");
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var http = new HttpServerRequest();
+ var result = http.Delete3tyDevice(device.deviceId);
+ if (result.Code == StateCode.SUCCESS)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ Load3tyBrandDeviceList();
+ });
+ }
+ else
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.OperationFailed) + $"({result.Code})", true);
+ });
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鍒犻櫎绗笁鏂硅澶囧け璐�:{ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ };
+ new PublicAssmebly().TipOptionMsg(StringId.Tip, Language.StringByID(StringId.AreYouSureToDeleteThisDevice), action);
+ };
+
+ var btnEdit = new Button()
+ {
+ Width = Application.GetRealWidth(150),
+ };
+ row.AddChidren(btnEdit);
+ btnEdit.MouseUpEventHandler = (sender, e) =>{
+ Action<string> callBack = (str) =>
+ {
+ if (string.IsNullOrEmpty(str))
+ {
+ new Tip()
+ {
+ CloseTime = 1,
+ Text = Language.StringByID(StringId.NameCannotBeEmpty),
+ Direction = AMPopTipDirection.None,
+ }.Show(bodyView);
+ return;
+ }
+ if (str == device.name)
+ {
+ return;
+ }
+ var waitPage = new Loading();
+ bodyView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ var resultObj = new HttpServerRequest().UpdataDevcieName(device, str);
+ if (resultObj.Code == StateCode.SUCCESS)
+ {
+ device.name = str;
+ var deviceNew = FunctionList.List.GetIpCamImouList().Find((obj) => obj.deviceId == device.deviceId);
+ if (deviceNew != null)
+ {
+ deviceNew.name = str;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ btnName.Text = str;
+ });
+ }
+ else
+ {
+ //澶辫触鎻愮ず
+ IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code);
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"update 3ty device name error : {ex.Message}");
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ };
+ new PublicAssmebly().LoadDialog_EditParater(StringId.ChangeName, device.name, callBack, StringId.NameCannotBeEmpty, 0, new List<string>());
+ };
+ }
+
}
}
@@ -265,5 +459,79 @@
{
public List<Function> list = new List<Function>();
}
-
+
+
+
+#if __Android__
+ public class AddLcCam : Java.Lang.Object, Com.CallBack.IAddCamera
+ {
+
+ public Action backAction;
+
+ //public IntPtr Handle => throw new NotImplementedException();
+
+ //public int JniIdentityHashCode => throw new NotImplementedException();
+
+ //public JniObjectReference PeerReference => throw new NotImplementedException();
+
+ //public JniPeerMembers JniPeerMembers => throw new NotImplementedException();
+
+ //public JniManagedPeerStates JniManagedPeerState => throw new NotImplementedException();
+
+ public void Back()
+ {
+ backAction?.Invoke();
+ }
+
+ public void Dispose()
+ {
+ }
+
+ public void Disposed()
+ {
+ }
+
+ public void DisposeUnlessReferenced()
+ {
+ }
+
+ public void Finalized()
+ {
+ }
+
+ public void OnError(string p0)
+ {
+ }
+
+ public void SetJniIdentityHashCode(int value)
+ {
+ }
+
+ public void SetJniManagedPeerState(JniManagedPeerStates value)
+ {
+ }
+
+ public void SetPeerReference(JniObjectReference reference)
+ {
+ }
+
+ public void Success(string p0)
+ {
+ }
+
+ public void UnregisterFromRuntime()
+ {
+ }
+ }
+#else
+ public class AddLcCam
+ {
+ public Action backAction;
+
+ public void Back()
+ {
+ backAction?.Invoke();
+ }
+ }
+#endif
}
--
Gitblit v1.8.0