DLL/EZvizMonitor/ys.dllBinary files differ
HDL-ON_Android/Assets/Phone/FunctionIcon/Icon/securitydoorezviz.png
HDL-ON_Android/HDL-ON_Android.csproj
@@ -163,15 +163,6 @@ <Reference Include="videophone"> <HintPath>..\DLL\FL\Android\videophone.dll</HintPath> </Reference> <Reference Include="Square.OkHttp3"> <HintPath>..\DLL\EZvizMonitor\Square.OkHttp3.dll</HintPath> </Reference> <Reference Include="Square.OkIO"> <HintPath>..\DLL\EZvizMonitor\Square.OkIO.dll</HintPath> </Reference> <Reference Include="ys"> <HintPath>..\DLL\EZvizMonitor\ys.dll</HintPath> </Reference> <Reference Include="UMSdkDroid"> <HintPath>..\DLL\UMeng\UMSdkDroid.dll</HintPath> </Reference> @@ -429,6 +420,7 @@ <AndroidAsset Include="Assets\Phone\FunctionIcon\DoorLock\History.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\DoorLock\Cell.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\FunctionBg\VideoDoorLockFunctionBg.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\securitydoorezviz.png" /> </ItemGroup> <ItemGroup> <AndroidResource Include="Resources\values\colors.xml" /> @@ -777,14 +769,17 @@ <PackageReference Include="Xamarin.Android.Support.Constraint.Layout.Solver"> <Version>1.1.0</Version> </PackageReference> <PackageReference Include="Microsoft.AppCenter"> <Version>4.2.0</Version> </PackageReference> <PackageReference Include="Microsoft.AppCenter.Crashes"> <Version>4.2.0</Version> </PackageReference> <PackageReference Include="Microsoft.AppCenter.Analytics"> <Version>4.2.0</Version> </PackageReference> <PackageReference Include="Microsoft.AppCenter"> <Version>4.2.0</Version> </PackageReference> <PackageReference Include="Square.OkHttp3"> <Version>3.14.4</Version> </PackageReference> </ItemGroup> <ItemGroup> @@ -1640,6 +1635,12 @@ <Folder Include="Assets\Phone\FunctionIcon\Inverter\" /> <Folder Include="Assets\Phone\FunctionIcon\Electrical\MechanicalArm\" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\ys\ys.csproj"> <Project>{DF065E3F-C3A1-4908-9582-000974B7C290}</Project> <Name>ys</Name> </ProjectReference> </ItemGroup> <Import Project="..\HDL_ON\HDL_ON.projitems" Label="Shared" Condition="Exists('..\HDL_ON\HDL_ON.projitems')" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. HDL-ON_Android/Resources/Resource.designer.cs
Diff too large HDL-ON_Android/Resources/drawable/btn_disagree.xml
@@ -8,7 +8,7 @@ <!-- 填充颜色 --> <solid android:color="@color/white" /> android:color="#FFFFFF"/> <!-- 边框颜色--> <stroke HDL-ON_Android/Resources/drawable/dialog_background2.xml
@@ -8,6 +8,6 @@ <!-- 填充颜色 --> <solid android:color="@color/white" /> android:color="#FFFFFF"/> </shape> HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -1572,6 +1572,7 @@ <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\VideoDoorLockOpen.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\DoorLock\Cell.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\FunctionBg\VideoDoorLockFunctionBg.png" /> <BundleResource Include="Resources\Phone\FunctionIcon\Icon\securitydoorezviz.png" /> </ItemGroup> <ItemGroup> <ITunesArtwork Include="iTunesArtwork" /> HDL-ON_iOS/Resources/Phone/FunctionIcon/Icon/securitydoorezviz.png
HDL_APP_Project.sln
@@ -18,6 +18,8 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UMSdk", "UMSdk\UMSdk.csproj", "{5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ys", "..\ys\ys.csproj", "{DF065E3F-C3A1-4908-9582-000974B7C290}" EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution HDL_ON\HDL_ON.projitems*{09712674-2a38-407b-b1e2-560b2c352f9a}*SharedItemsImports = 4 @@ -119,6 +121,18 @@ {5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}.Release|iPhone.Build.0 = Release|Any CPU {5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU {5CD1B2DE-1ABD-4B46-8C97-CCB6EA90346A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Debug|Any CPU.Build.0 = Debug|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Debug|iPhone.ActiveCfg = Debug|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Debug|iPhone.Build.0 = Debug|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Release|Any CPU.ActiveCfg = Release|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Release|Any CPU.Build.0 = Release|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Release|iPhone.ActiveCfg = Release|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Release|iPhone.Build.0 = Release|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU {DF065E3F-C3A1-4908-9582-000974B7C290}.Release|iPhoneSimulator.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE HDL_ON/DAL/Server/HttpUtil.cs
@@ -17,8 +17,8 @@ /// 固定域名,正式环境 /// 公共域名就近解析 /// </summary> //public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm public const string GlobalRequestHttpsHost = "https://nearest.hdlcontrol.com"; //public const string GlobalRequestHttpsHost = "https://test-gz.hdlcontrol.com";//mmmm /// <summary> /// RegionMark /// </summary> HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -5,6 +5,7 @@ using HDL_ON.Entity; using HDL_ON.UI; using HDL_ON.UI.CSS; using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Shared; @@ -605,21 +606,35 @@ }; } /// <summary> /// 加载功能列表界面 /// </summary> void LoadFunctionPageView() void LoadFunctionPageView () { #region functionsPageView = new VerticalScrolViewLayout() { BackgroundColor = CSS_Color.BackgroundColor, Height = Application.GetRealHeight(667 - 64 - 49 + 20), }; contentPageView.AddChidren(functionsPageView); this.RefreshFunctionView(); FrameLayout functionContentView; } FrameLayout functionContentView; /// <summary> /// 显示功能列表界面 /// </summary> void RefreshFunctionView() { #region //functionsPageView = new VerticalScrolViewLayout() //{ // BackgroundColor = CSS_Color.BackgroundColor, // Height = Application.GetRealHeight(667 - 64 - 49 + 20), //}; //contentPageView.AddChidren(functionsPageView); //FrameLayout functionContentView; functionContentView = new FrameLayout() { Y = Application.GetRealHeight(16), @@ -806,7 +821,7 @@ TextAlignment = TextAlignment.CenterLeft, IsMoreLines = true, }; functionView.AddChidren(btnName); functionView.AddChidren(btnName); if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir && item != ShowFunction.Music @@ -1156,8 +1171,11 @@ btnName.TextID = StringId.yingshishipinmensuo; btnFunctionViewBg.MouseUpEventHandler = (sender, e) => { var list = HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockList(); var form = new UI2.FuntionControlView.VideoDoorLock.VideoDoorLockListPage(null); var list =CommonMethod.Current.GetVideoDoorLockList(); var form = new VideoDoorLockListPage(()=> { functionContentView?.RemoveFromParent(); this.RefreshFunctionView(); }); form.AddForm(list); }; break; @@ -1468,6 +1486,8 @@ #endregion } void refreshInverterInfo(Button btnPowerTenerationToday, Button btnWorkingMode, Button btnCurrentPowerGeneration) { new System.Threading.Thread(() => HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs
@@ -226,6 +226,7 @@ dialog.Close(); LoadEvent_ChangeCurHome(home); LoadContentView(); HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.ChangeCurrHome(home); }; } dialog.Show(); HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
@@ -54,15 +54,14 @@ /// <summary> /// 解绑设备回调 /// </summary> Action actionDel; public Action actionDel; #endregion public FunctionBaseInfoSetPage(Function func, Action action,Action actionDel=null) public FunctionBaseInfoSetPage(Function func, Action action) { bodyView = this; function = func; actionRefresh = action; this.actionDel = actionDel; } public override void RemoveFromParent() HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/CommonMethod.cs
@@ -2,6 +2,7 @@ using HDL_ON.Entity; using System.Collections.Generic; using Shared; using Com.Videogo.Hdl; namespace HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock { @@ -11,8 +12,15 @@ public class CommonMethod { private Loading loading; private static CommonMethod commonMethod = null; /// <summary> /// 记录当前界面索引值 /// </summary> private int pageLayoutIndexValue; private static CommonMethod commonMethod = null; /// <summary> /// 获取对象 /// </summary> public static CommonMethod Current { get @@ -30,26 +38,41 @@ #region --------- 跳转到Android那边的方法(萤石视频门锁) -------- /// <summary> /// 添加设备到云端 /// 读取云端的上设备列表(android源生添加设备到云端成功后) /// <paramref name="devSerial"/>设备序列号</param> /// </summary> public void SkipAddDeviceActivity(string devSerial) { if (string.IsNullOrEmpty(devSerial)) return; new System.Threading.Thread(() => this.InitializationAndroidData((isBools) => { var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock); if (list.Count > 0) { var function = list.Find((o) => o.sid == devSerial); if (function != null) { this.SaveFunctionFile(function); } if (!isBools) { this.MainThread(()=> { this.ShowTip("先获取萤石云子账号token失败。"); }); } }) { IsBackground = true }.Start(); //未实现 HDLEzvizSdk.Instance.JumpToEZScanActivity(Application.Activity); HDLEzvizSdk.SetAddCallback(new AndroidIHdlInterface((isBool, adnroidActionDevSerial) => { if (isBool) { var list = VideDoorLockSend.Current.GetVideoDoorLockDeviceList(SPK.VideoDoorLock); if (list.Count > 0) { var function = list.Find((o) => o.sid == adnroidActionDevSerial); if (function != null) { this.SaveFunctionFile(function); } } } })); }); #if __IOS__ #else @@ -65,33 +88,66 @@ /// <param name="spk">设备spk(云雀上定义好的)</param> public void SkipRTVActivity(string deviceSerial, string deviceId, string spk) { Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) => this.InitializationAndroidData((isBools) => { dialog.Close(); }, (dialog) => { dialog.Close(); if (!isBools) { this.MainThread(() => { this.ShowTip("先获取萤石云子账号token失败。"); }); } Video.View.ShowDialog.Currnet.ClickBox(Language.StringByID(StringId.laizimenlinghujiao), (dialog) => { dialog.Close(); HDLEzvizSdk.Instance.JumpToEZRealPlayActivity(Application.Activity,deviceId,deviceSerial,spk); }, (dialog) => { dialog.Close(); }); }); #if __IOS__ #else #endif //jumpToEZRealPlayActivity(Shared.Application.Activity, deviceId, deviceSerial, spk) } /// <summary> /// 浏览历史记录 /// </summary> public void SkipRecordActivity() public void SkipRecordActivity(string deviceId) { this.InitializationAndroidData((s)=> { HDLEzvizSdk.Instance.JumpLockHistoryActivity(Application.Activity, deviceId); }); //未实现 //this.InitializationAndroidData(); // } /// <summary> /// 临时密码开门 /// <paramref name="deviceId"/> /// </summary> public void SkipPSWActivity() public void SkipPSWActivity(string deviceId) { //jumpTempPasswordActivity(Application.Activity, deviceId); this.InitializationAndroidData((isBools) => { if (!isBools) { this.MainThread(() => { this.ShowTip("先获取萤石云子账号token失败。"); }); } HDLEzvizSdk.Instance.JumpTempPasswordActivity(Application.Activity, deviceId); }); } /// <summary> @@ -99,6 +155,8 @@ /// </summary> public void InitializationAndroidData(Action<bool> action) { bool isBool = true; this.SunThread(() => { @@ -131,36 +189,8 @@ //info.de //EZSDK.IOS.EZSDK.Play(info); #else //Android //1.设置所需河东的token、域名地址 //2.设置萤石子账号的token //3.打开摄像头设备列表页面 ((BaseActivity)Shared.Application.Activity).SetCamera(b => { if (b) { ((BaseActivity)Shared.Application.Activity).SetPermission(result => { if (result) { Android.Content.Intent intent = new Android.Content.Intent(); var bundle = new Android.OS.Bundle(); //传递name参数为tinyphp bundle.PutString("EzChildAccessToken", ezChildAccessToken); bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString); bundle.PutString("HdlrefreshToken", UserInfo.Current.RefreshToken); bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost); bundle.PutString("EzvizAppKey", "1aa98a90489b4838b966b57018b4b04b"); bundle.PutInt("Platform", 1); bundle.PutString("HomeId", DB_ResidenceData.Instance.CurrentRegion.id); intent.PutExtras(bundle); //intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity")); //Shared.Application.Activity.StartActivity(intent); } }, "android.permission.RECORD_AUDIO"); HDLEzvizSdk.Instance.Init(Application.Activity.Application, ezChildAccessToken, UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken, OnAppConfig.Instance.RequestHttpsHost, "1aa98a90489b4838b966b57018b4b04b", 1, DB_ResidenceData.Instance.CurrentRegion.id); } }); #endif }); @@ -179,6 +209,7 @@ } }); } /// <summary> /// 更换住宅 /// </summary> @@ -239,27 +270,31 @@ { get { if (loading == null) this.MainThread(() => { loading = new Loading(); } if (MainPage.BasePageView.ChildrenCount < 1) { return loading; } View view = MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1); if (view is FrameLayout) { ((FrameLayout)view).AddChidren(loading); } else if (view is PageLayout) { ((PageLayout)view).AddChidren(loading); } //if (loading != null && this.pageLayoutIndexValue == MainPage.BasePageView.ChildrenCount - 1) //{ // //防止二重添加对象 // return; //} if (loading == null)//|| MainPage.BasePageView.ChildrenCount < 1) { loading = new Loading(); } //loading.BringToFront(); Application.MainPage.AddChidren(loading); //View view = MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1); //if (view is ViewGroup) //{ // pageLayoutIndexValue = MainPage.BasePageView.ChildrenCount - 1; // ((ViewGroup)view).AddChidren(loading); //} }); return loading; } } /// <summary> /// 获取萤石视频门锁列表 /// </summary> @@ -376,5 +411,34 @@ room,//房间 push,//推送 } /// <summary> /// /// </summary> public class AndroidIHdlInterface : Java.Lang.Object, IHdlInterface { Action<bool,string> mAction; public AndroidIHdlInterface(Action<bool,string> action) { mAction = action; } /// <summary> /// /// </summary> /// <param name="p0">true是入网成功(源生回调返回)</param> /// <param name="p1">设备的序列化(源生回调返回)</param> public void AddCallback(bool p0, string p1) { mAction?.Invoke(p0,p1); } } } } HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockListPage.cs
@@ -179,6 +179,7 @@ this.dicBatteryContr[i_device.sid] = btnBattery; frameBack.ButtonClickEvent += (sender, e) => { var form = new VideoDoorLockPage(i_device, btnName, btnRoom, CommonMethod.Comerom.function,()=> { this.CloseForm(); this.action?.Invoke(); @@ -186,6 +187,7 @@ MainPage.BasePageView.AddChidren(form); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; form.Show(); }; //底部再加个间距 HDL_ON/UI/UI2/FuntionControlView/VideoDoorLock/VideoDoorLockPage.cs
@@ -88,8 +88,8 @@ /// 构造函数 /// </summary> /// <param name="function">设备</param> /// <param name="btnDeviceName">上一级界面的设备名字控件</param> /// <param name="btnRoomName">上一级界面的房间名字控件</param> /// <param name="btnDeviceName">上一级界面的设备名字控件(注:不能传null,没有可以传new Button())</param> /// <param name="btnRoomName">上一级界面的房间名字控件(注:不能传null,没有可以传new Button())</param> public VideoDoorLockPage(Function function, Button btnDeviceName, Button btnRoomName, CommonMethod.Comerom comerom, Action action) { this.device = function; @@ -214,11 +214,11 @@ TextAlignment = TextAlignment.Center, UnSelectedImagePath = "FunctionIcon/DoorLock/Cell.png", }; cellFrame.AddChidren(btnCell); cellFrame.AddChidren(btnCell); //门锁状态 btnDoorLockIcon = new Button //门锁状态 btnDoorLockIcon = new Button { X = Application.GetRealWidth(65), Y = Application.GetRealHeight(108), @@ -274,36 +274,39 @@ //返回 this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { RemoveFromParent(); this.RemoveFromParent(); }; //设置 this.topView.clickSetBtn.MouseUpEventHandler += (sender, e) => { //调用秀绕的界面 var infoView = new UI.FunctionBaseInfoSetPage(this.device, () => CommonMethod.Current.MainThread(() => { //调用秀绕的界面 var infoView = new UI.FunctionBaseInfoSetPage(this.device, () => { if (this.btnDeviceName == null || this.btnRoomName == null || this.device == null) { return; } ////刷新显示 this.btnDeviceName.Text = this.device.name; this.btnRoomName.Text = this.device.GetRoomListName(); this.btnCurrDeviceName.Text = this.device.name; this.btnCurrDeviceRoom.Text = this.device.GetRoomListName(); this.CalculatedPosition();//重新计算宽度 }); infoView.actionDel += () => { //解绑设备后 this.RemoveFromParent(); this.action?.Invoke(); if (this.btnDeviceName == null || this.btnRoomName == null) { return; } ////刷新显示 this.btnDeviceName.Text = this.device.name; this.btnRoomName.Text = this.device.GetRoomListName(); this.btnCurrDeviceName.Text = this.device.name; this.btnCurrDeviceRoom.Text = this.device.GetRoomListName(); this.CalculatedPosition();//重新计算宽度 }, () => { //解绑设备后 this.RemoveFromParent(); this.action?.Invoke(); }; MainPage.BasePageView.AddChidren(infoView); infoView.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); MainPage.BasePageView.AddChidren(infoView); infoView.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; //收藏 this.btnCollectIcon.MouseUpEventHandler += (sender, e) => @@ -314,15 +317,17 @@ //实时视频 this.rtvFL.SetClickListener((fl, btnStateImage, btnStateText) => { CommonMethod.Current.SkipRTVActivity(this.device.sid,this.device.deviceId,this.device.spk); CommonMethod.Current.SkipRTVActivity(this.device.sid, this.device.deviceId, this.device.spk); }); //临时密码 this.pswFL.SetClickListener((fl, btnStateImage, btnStateText) => { CommonMethod.Current.SkipPSWActivity(); this.pswFL.SetClickListener((fl, btnStateImage, btnStateText) => { CommonMethod.Current.SkipPSWActivity(this.device.deviceId); }); //历史记录 this.recordFL.SetClickListener((fl, btnStateImage, btnStateText) => { CommonMethod.Current.SkipRecordActivity(); this.recordFL.SetClickListener((fl, btnStateImage, btnStateText) => { CommonMethod.Current.SkipRecordActivity(this.device.deviceId); });