wxr
2023-02-22 8da95ae83bbc43b9f6c11224975de5214fa5d651
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/DeviceListPage.cs
@@ -5,6 +5,8 @@
using HDL_ON.UI.CSS;
#if __Android__
using Java.Interop;
using Android.Content;
using Hdl.Onpro;
#endif
using Shared;
namespace HDL_ON.UI
@@ -26,124 +28,10 @@
        {
            Action<string, string> action = (s, a) =>
            {
                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;
                }
                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;
@@ -463,6 +351,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
    {
@@ -523,6 +428,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
    {
@@ -534,4 +450,8 @@
        }
    }
#endif
}