mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs
@@ -3,13 +3,16 @@
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
#if __Android__
using Java.Interop;
using Android.Content;
using Hdl.Onpro;
#endif
using Shared;
namespace HDL_ON.UI
{
    public class DeviceListPage  : FrameLayout
    public class DeviceListPage : FrameLayout
    {
        FrameLayout bodyView;
        VerticalRefreshLayout contentView;
@@ -26,32 +29,20 @@
        {
            Action<string, string> action = (s, a) =>
            {
                if (brand.productBrand == "")
                {
#if __ANDROID__
                    var backTemp = new AddLcCam();
                    backTemp.backAction = () =>
                    {
                        Load3tyBrandDeviceList();
                    };
                    Com.Utils.HdlToLcUtils.Instance.AddCamera(backTemp);
#endif
                }
                else
                {
                    var page = new AddDevciePage(brand);
                    MainPage.BasePageView.AddChidren(page);
                    page.LoadPage(contentView);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                }
                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);
            var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.Devices));
            topView.maginY = 10;
            topView.LoadTopView_AddIcon("3ty", action);
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            contentView = new VerticalRefreshLayout()
            {
                Y = Application.GetRealHeight(64),
                Height = Application.GetRealHeight(667 - 64),
                Y = Application.GetRealHeight(64+10),
                Height = Application.GetRealHeight(667 - 64-10),
                VerticalScrollBarEnabled = false,
            };
            bodyView.AddChidren(contentView);
@@ -71,7 +62,8 @@
        {
            var waitPage = new Loading();
            waitPage.Start();
            new System.Threading.Thread(() => {
            new System.Threading.Thread(() =>
            {
                try
                {
                    var pm = new HttpServerRequest();
@@ -89,7 +81,7 @@
                            }
                            else
                            {
                                var tipView = new EmptyTipView(Language.StringByID(StringId.NotAddedAnyDevices),160)
                                var tipView = new EmptyTipView(Language.StringByID(StringId.NotAddedAnyDevices), 160)
                                {
                                    Gravity = Gravity.CenterHorizontal,
                                };
@@ -108,7 +100,8 @@
                }
                finally
                {
                    Application.RunOnMainThread(() => {
                    Application.RunOnMainThread(() =>
                    {
                        if (waitPage != null)
                        {
                            waitPage.RemoveFromParent();
@@ -125,6 +118,10 @@
            bool isFrist = true;
            foreach (var device in deviceList)
            {
                //if (!this.CheckSupportDevice(device))
                //{
                //    continue;
                //}
                var row = new RowLayout()
                {
                    Height = Application.GetRealHeight(50),
@@ -180,7 +177,8 @@
                };
                row.AddChidren(btnName);
                btnName.MouseUpEventHandler = (sender, e) => {
                btnName.MouseUpEventHandler = (sender, e) =>
                {
                    switch (device.spk)
                    {
                        case SPK.IrModule:
@@ -200,6 +198,7 @@
                            };
                            break;
                        case SPK.SensorEnvironment:
                        case SPK.SensorEnvironmentHailin:
                        case SPK.SensorEnvironment2:
                        case SPK.SensorEnvironment3:
                            var smPage1 = new SensorEnvironmentManagerPage();
@@ -208,6 +207,21 @@
                            {
                                contentView.BeginHeaderRefreshing();
                            };
                            break;
                        case SPK.VideoDoorLock:
                            {
                                CommonMethod.Current.MainThread(() =>
                                {
                                    //萤石视频门锁
                                    var form = new VideoDoorLockPage(device, btnName, new Button(), CommonMethod.Comerom.sanfan, () =>
                                    {
                                        row.RemoveFromParent();
                                    });
                                    MainPage.BasePageView.AddChidren(form);
                                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                                    form.Show();
                                });
                            }
                            break;
                    }
                };
@@ -279,7 +293,8 @@
                        Width = Application.GetRealWidth(150),
                    };
                    row.AddChidren(btnEdit);
                    btnEdit.MouseUpEventHandler = (sender, e) =>{
                    btnEdit.MouseUpEventHandler = (sender, e) =>
                    {
                        Action<string> callBack = (str) =>
                        {
                            if (string.IsNullOrEmpty(str))
@@ -349,6 +364,23 @@
        }
        /// <summary>
        /// 检查是否支持
        /// </summary>
        /// <param name="function"></param>
        /// <returns></returns>
        bool CheckSupportDevice(Function function)
        {
            if (function == null) return false;
            if (function.spk == SPK.VideoDoorLock)
            {
                return false;
            }
            return true;
        }
    }
@@ -363,6 +395,23 @@
#if __Android__
    //[Android.Content.BroadcastReceiver(Enabled = true, Exported = false)]
    //public class ImouReceiver : Android.Content.BroadcastReceiver
    //{
    //    public override void OnReceive(Context context, Intent intent)
    //    {
    //        if (intent != null)
    //        {
    //            string action = intent.Action;
    //            if (action == "hdlUserDeviceBind")
    //            {
    //                string value = intent.GetStringExtra("data");
    //            }
    //        }
    //    }
    //}
    public class AddLcCam : Java.Lang.Object, Com.CallBack.IAddCamera
    {
@@ -423,6 +472,17 @@
        {
        }
    }
    public class BindDeviceFeedback : Java.Lang.Object, Hdl.Onpro.IRegisterDeviceFeedback
    {
        public Action<string,string> tipAction;
        public void Feedback(string method, string msg)
        {
            tipAction?.Invoke(method, msg);
        }
    }
#else
    public class AddLcCam
    {
@@ -434,4 +494,8 @@
        }
    }
#endif
}