| | |
| | | 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 |
| | | { |
| | |
| | | { |
| | | 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; |
| | |
| | | bool isFrist = true; |
| | | foreach (var device in deviceList) |
| | | { |
| | | FrameLayout row = new FrameLayout() |
| | | var row = new RowLayout() |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | LineColor = 0x00000000, |
| | | }; |
| | | contentView.AddChidren(row); |
| | | |
| | |
| | | contentView.BeginHeaderRefreshing(); |
| | | }); |
| | | break; |
| | | case SPK.SensorMmvPose: |
| | | case SPK.SenesorMegahealth: |
| | | case SPK.SenesorMegahealth2: |
| | | var smPage = new SenesorMegahealthManagerPage(); |
| | |
| | | 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>()); |
| | | }; |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | 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 |
| | | } |