| | |
| | | <Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default"> |
| | | <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.B6AE371B-2CF1-4E7C-9F7B-D664D119C1E0" /> |
| | | <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI0-Public/PublicAssmebly.cs"> |
| | | <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs"> |
| | | <Files> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs" Line="19" Column="22" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs" /> |
| | | <File FileName="HDL-ON_iOS/Resources/Language.ini" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs" /> |
| | | <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs" /> |
| | | <File FileName="HDL_ON/UI/UI0-Public/PublicAssmebly.cs" Line="120" Column="23" /> |
| | | <File FileName="HDL_ON/Entity/DB_ResidenceData.cs" Line="443" Column="68" /> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs" Line="33" Column="56" /> |
| | | <File FileName="HDL_ON/DriverLayer/CommonPage.cs" Line="430" Column="56" /> |
| | | <File FileName="HDL_ON/Entity/Enumerative/MyEnum.cs" Line="58" Column="17" /> |
| | | <File FileName="HDL_ON/Entity/Enumerative/Command.cs" Line="1692" Column="38" /> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs" Line="89" Column="22" /> |
| | | <File FileName="HDL_ON/UI/UI2/1-HomePage/HomePage.cs" Line="152" Column="63" /> |
| | | <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" Line="604" Column="47" /> |
| | | <File FileName="HDL_ON/UI/UI2/2-Classification/FunctionPage.cs" Line="1" Column="1" /> |
| | | <File FileName="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" Line="637" Column="48" /> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs" Line="24" Column="45" /> |
| | | <File FileName="HDL_ON/DAL/FileUtils.cs" Line="266" Column="16" /> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs" Line="24" Column="23" /> |
| | | <File FileName="HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs" Line="137" Column="1" /> |
| | | </Files> |
| | | <Pads> |
| | | <Pad Id="ProjectPad"> |
| | |
| | | <Node name="DAL" expanded="True"> |
| | | <Node name="Server" expanded="True" /> |
| | | </Node> |
| | | <Node name="DriverLayer" expanded="True" /> |
| | | <Node name="Entity" expanded="True"> |
| | | <Node name="Enumerative" expanded="True" /> |
| | | <Node name="Function" expanded="True" /> |
| | | </Node> |
| | | <Node name="UI" expanded="True"> |
| | | <Node name="UI0-Public" expanded="True"> |
| | | <Node name="PublicAssmebly.cs" selected="True" /> |
| | | </Node> |
| | | <Node name="CSS" expanded="True" /> |
| | | <Node name="UI0-Public" expanded="True" /> |
| | | <Node name="UI1-Login" expanded="True" /> |
| | | <Node name="UI2" expanded="True"> |
| | | <Node name="4-PersonalCenter" expanded="True" /> |
| | | <Node name="2-Classification" expanded="True" /> |
| | | <Node name="4-PersonalCenter" expanded="True"> |
| | | <Node name="UnlockSetting" expanded="True" /> |
| | | </Node> |
| | | <Node name="FuntionControlView" expanded="True"> |
| | | <Node name="Music" expanded="True"> |
| | | <Node name="A31USBMusicList.cs" selected="True" /> |
| | | </Node> |
| | | </Node> |
| | | </Node> |
| | | </Node> |
| | | </Node> |
| | | <Node name="HDL-ON_iOS" expanded="True"> |
| | | <Node name="References" expanded="True" /> |
| | | <Node name="Resources" expanded="True" /> |
| | | <Node name="Resources" expanded="True"> |
| | | <Node name="Phone" expanded="True" /> |
| | | </Node> |
| | | </Node> |
| | | <Node name="Shared.IOS" expanded="True" /> |
| | | </Node> |
| | | </State> |
| | | </Pad> |
| | |
| | | {"Format":1,"ProjectReferences":[],"MetadataReferences":[{"FilePath":"/Users/nigel/.nuget/packages/fastandroidcamera/2.0.0/lib/MonoAndroid403/FastAndroidCamera.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Java.Interop.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v9.0/Mono.Android.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/mqttnet/3.0.8/lib/netstandard2.0/MQTTnet.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/newtonsoft.json/12.0.3/lib/netstandard2.0/Newtonsoft.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/Desktop/HDL_APP_Project/Shared.Droid/bin/Debug/Shared.Droid.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Net.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Numerics.Vectors.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Web.Services.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.core.common/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Core.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.core.runtime/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Core.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.common/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.livedata.core/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.LiveData.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.livedata/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.LiveData.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.runtime/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.viewmodel/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.ViewModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.animated.vector.drawable/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Animated.Vector.Drawable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.annotations/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Annotations.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.asynclayoutinflater/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.AsyncLayoutInflater.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.collections/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Collections.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.compat/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Compat.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.coordinaterlayout/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.CoordinaterLayout.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.core.ui/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Core.UI.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.core.utils/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Core.Utils.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.cursoradapter/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.CursorAdapter.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.customtabs/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.CustomTabs.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.customview/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.CustomView.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.design/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Design.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.documentfile/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.DocumentFile.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.drawerlayout/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.DrawerLayout.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.fragment/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Fragment.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.interpolator/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Interpolator.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.loader/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Loader.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.localbroadcastmanager/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.LocalBroadcastManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.media.compat/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Media.Compat.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.print/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Print.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.slidingpanelayout/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.SlidingPaneLayout.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.swiperefreshlayout/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.SwipeRefreshLayout.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.transition/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Transition.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.v4/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.v4.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.v7.appcompat/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.v7.AppCompat.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.v7.cardview/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.v7.CardView.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.v7.recyclerview/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.v7.RecyclerView.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.vector.drawable/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Vector.Drawable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.versionedparcelable/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.VersionedParcelable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.viewpager/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.ViewPager.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.essentials/1.3.1/lib/monoandroid90/Xamarin.Essentials.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/MonoAndroid71/ZXing.Net.Mobile.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/MonoAndroid71/zxing.portable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/MonoAndroid71/ZXingNetMobile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Contracts.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.FileVersionInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebSockets.Client.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Dynamic.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Principal.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.ThreadPool.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Cng.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.EventBasedAsync.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.CompilerServices.VisualC.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.DeriveBytes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/netstandard.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.UnmanagedMemoryStream.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Http.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.Xsl.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.Writer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Console.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Cache.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Sockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.NetworkInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Utilities.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Principal.Windows.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Claims.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Hashing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.DriveInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.X509Certificates.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.Watcher.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TraceSource.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.Lightweight.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.CodePages.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Expressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Timer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.Pipes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.HttpListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.RegularExpressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.NonGeneric.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.Concurrent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Overlapped.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Pkcs.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Handles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Data.SqlClient.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ObjectModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebHeaderCollection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.RuntimeInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.TypeConverter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Mail.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.SecureString.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Registry.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.RSA.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.Annotations.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.Compression.ZipFile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.WindowsRuntime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Queryable.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.ResourceManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.Reader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.ILGeneration.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Data.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.NameResolution.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceProcess.ServiceController.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Loader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.AuthenticationManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Tracing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.AppContext.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Buffers.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.ECDsa.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Csp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TextWriterTraceListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.MemoryMappedFiles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.OpenSsl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Registry.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.RandomNumberGenerator.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.Specialized.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.ProtectedData.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ValueTuple.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.ServicePoint.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XmlSerializer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.IsolatedStorage.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.NetTcp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.TypeExtensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.Calendars.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Requests.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebSockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Thread.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Process.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Tools.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Hashing.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Debug.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TraceEvent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Drawing.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Formatters.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Ping.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Duplex.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.StackTrace.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.DispatchProxy.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.Aes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Memory.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Drawing.Common.dll","Aliases":[],"Framework":null}],"Files":["/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/MainActivity.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/Resource.designer.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Properties/AssemblyInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Application.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Scan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/MainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/HttpListener.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/FileUtils.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/R.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MyWebClient.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MqttCommon.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequest.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResponsePack.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/EmptyHttpReques.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequestBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Room.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/MyEnum.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/DB_ResidenceData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Function.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Target.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/BusSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CRC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Packet.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResidenceConfig.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/UserInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control_Bus.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/BusData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmebly.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/CSS/CSS.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseFloorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ResetPassword_VerificationCode.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/BaseView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDiv.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/A_Protocol_Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Scene.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/FunctionList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/AC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Curtain.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/FloorHeating.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Light.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/CityInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/OperationSuccessPromptPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/AppUnlockPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CommonPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Fan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/SwitchSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/TV.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Sensor.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/AProtocolEntity.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/AboutResources.txt","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Properties/AndroidManifest.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/AboutAssets.txt","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/layout/activity_main.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/layout/content_main.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/colors.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/dimens.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/ic_launcher_background.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/strings.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/styles.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/menu/menu_main.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-anydpi-v26/ic_launcher.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-anydpi-v26/ic_launcher_round.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-hdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-hdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-hdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-mdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-mdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-mdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xhdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xhdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xhdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxhdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxhdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxhdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxxhdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxxhdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/drawable/Loading.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/drawable/Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxhdpi/Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/xml/network_security_config.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/xml/file_paths.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Language.ini","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Classification/ToggleDisplayLarge.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Classification/ToggleDisplayThumbnail.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Classification/Room/AllCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Classification/Room/Roombg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/MsgIconTip.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/SceneCovered.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/MsgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/NoCollectionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/Functionbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/ChangeViewbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/CollectionWhiteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/FunctionOnbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/CollectionGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/IntellectualizationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/ClassificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/UserPageNavbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/CollectionIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/PersonalCenterIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/IntellectualizationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/ClassificationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/PersonalCenterIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/ShowPasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/SearchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/VerificationCodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/AccountIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/QQIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/WechatIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/HidePasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/EmailIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/ChooseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/RightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/MinusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/EditIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Fragmentbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DownIcon_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/LocationAddressIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/TipIcon_Failed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/ChooseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Switch_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Logo-bg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Logo.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/TipIcon_Successfully.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/FuncInfoSetIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/ThumbImage.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AddIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/PlusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Edit.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/SwitchOn_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/PowerClose.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/PowerOpen.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/transparent.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/ChooseRoomListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Right.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/BackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DeviceInfoIcon/TempIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DeviceInfoIcon/Pm25Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DeviceInfoIcon/HumidityIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DeviceInfoIcon/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/MsgIcon/LoadingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/MsgIcon/TipIconWhite.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/MsgIcon/TipIconBlack.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/13.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/18.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/5.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/6.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/45.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/0.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Music/MusicIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Music/MusicOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TVIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanIconBgGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TVThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVPowerIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/PlusIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TV123Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVRightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVOkIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVleftIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVMenuUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVMenuIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/MenuBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVBackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVMuteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/ReduceIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVMenuDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/FloorHeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/OrdinaryIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/NightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/AwayIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/OrdinaryIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/NightIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/FloorHeatingThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/FloorHeatingOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/AwayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AutoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/LowIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AcOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AcIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/DehumidificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AirSupplyIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/LowIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/DivBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/DivBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/CoolIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindMediumIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindLowIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AirSupplyIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindLowIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindMediumIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HeatingIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/MediumIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/CoolIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AutoIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/DehumidificationIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindHighIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindHighIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/MediumIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HighIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HeatIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AcThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HightIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainCloseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOpenIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainCloseBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOpenWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOpenOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainStopOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOpenBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainStopIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainBgOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/MusicFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/FreshAirFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/EnergyMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/EnvironmentalFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/LightFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/VideoIntercomFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/PanelFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/FloorHeatingFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/ACFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/CurtainFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/ElectricFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/SensorFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/DoorLockFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/TipInfoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/WeatherFanSpeedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SensorColorTipBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/DiagramIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SmogIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/UpArrow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/DiagramIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/LocationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/ColorWheel.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/MovieMark.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/s1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/s2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/DelayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/SceneIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/GeneralSettingsIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AuxiliaryFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/ResidenceArmIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/HomeListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AddFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/SupportIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/UserTypebg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/SwitchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/ResidenceManageIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AdminTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/NightViewIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/ResidenceMemberIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/ResidenceDataBackupIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/MemberTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/PersonalData/QRcodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/3On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/FingerIconRed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/1On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/FingerprintIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/2On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/4On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/GestureIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/GestureGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/FaceIdIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/1.png","/Users/nigel/Desktop/HDL_APP_Project/Shared.Droid/Shared.Droid.csproj","/Users/nigel/.nuget/packages/xamarin.android.support.versionedparcelable/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.runtime/1.1.1.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.compat/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.media.compat/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.viewmodel/1.1.1.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.coordinaterlayout/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.v7.recyclerview/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.animated.vector.drawable/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.v7.appcompat/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.transition/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.design/28.0.0.3/proguard/monoandroid90/proguard.txt"],"BuildActions":["Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","None","None","None","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","ProjectReference","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration"],"Analyzers":[],"AdditionalFiles":[],"EditorConfigFiles":[]} |
| | | {"Format":1,"ProjectReferences":[],"MetadataReferences":[{"FilePath":"/Users/nigel/.nuget/packages/fastandroidcamera/2.0.0/lib/MonoAndroid403/FastAndroidCamera.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Java.Interop.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v9.0/Mono.Android.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/mqttnet/3.0.8/lib/netstandard2.0/MQTTnet.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/mscorlib.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/newtonsoft.json/12.0.3/lib/netstandard2.0/Newtonsoft.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/Desktop/HDL_APP_Project/Shared.Droid/bin/Debug/Shared.Droid.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Net.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Numerics.Vectors.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Web.Services.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/System.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.core.common/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Core.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.core.runtime/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Core.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.common/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.livedata.core/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.LiveData.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.livedata/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.LiveData.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.runtime/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.viewmodel/1.1.1.3/lib/monoandroid90/Xamarin.Android.Arch.Lifecycle.ViewModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.animated.vector.drawable/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Animated.Vector.Drawable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.annotations/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Annotations.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.asynclayoutinflater/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.AsyncLayoutInflater.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.collections/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Collections.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.compat/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Compat.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.coordinaterlayout/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.CoordinaterLayout.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.core.ui/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Core.UI.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.core.utils/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Core.Utils.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.cursoradapter/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.CursorAdapter.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.customtabs/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.CustomTabs.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.customview/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.CustomView.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.design/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Design.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.documentfile/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.DocumentFile.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.drawerlayout/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.DrawerLayout.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.fragment/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Fragment.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.interpolator/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Interpolator.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.loader/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Loader.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.localbroadcastmanager/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.LocalBroadcastManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.media.compat/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Media.Compat.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.print/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Print.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.slidingpanelayout/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.SlidingPaneLayout.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.swiperefreshlayout/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.SwipeRefreshLayout.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.transition/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Transition.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.v4/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.v4.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.v7.appcompat/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.v7.AppCompat.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.v7.cardview/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.v7.CardView.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.v7.recyclerview/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.v7.RecyclerView.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.vector.drawable/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.Vector.Drawable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.versionedparcelable/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.VersionedParcelable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.android.support.viewpager/28.0.0.3/lib/monoandroid90/Xamarin.Android.Support.ViewPager.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.essentials/1.3.1/lib/monoandroid90/Xamarin.Essentials.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/MonoAndroid71/ZXing.Net.Mobile.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/MonoAndroid71/zxing.portable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/MonoAndroid71/ZXingNetMobile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Contracts.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.FileVersionInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebSockets.Client.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Dynamic.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Principal.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.ThreadPool.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Cng.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.EventBasedAsync.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.CompilerServices.VisualC.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.DeriveBytes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/netstandard.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.UnmanagedMemoryStream.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Http.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.Xsl.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.Writer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Console.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Cache.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Sockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.NetworkInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Utilities.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Principal.Windows.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Claims.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Hashing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.DriveInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.X509Certificates.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.Watcher.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TraceSource.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.Lightweight.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.CodePages.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Expressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Timer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.Pipes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.HttpListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.RegularExpressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.NonGeneric.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.Concurrent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Overlapped.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Pkcs.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Handles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Data.SqlClient.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ObjectModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebHeaderCollection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.RuntimeInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.TypeConverter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Mail.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.SecureString.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Registry.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.RSA.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.Annotations.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.Compression.ZipFile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.InteropServices.WindowsRuntime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.Queryable.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.ResourceManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.Reader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.ILGeneration.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Data.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.NameResolution.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ComponentModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceProcess.ServiceController.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Loader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.AuthenticationManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Tasks.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Tracing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.AppContext.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Buffers.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.ECDsa.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Csp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TextWriterTraceListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Text.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.MemoryMappedFiles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.OpenSsl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Registry.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.RandomNumberGenerator.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Collections.Specialized.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.ProtectedData.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ValueTuple.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XPath.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.ServicePoint.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Xml.XmlSerializer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Resources.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.IsolatedStorage.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.NetTcp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.TypeExtensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Globalization.Calendars.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Requests.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.WebSockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.Emit.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.IO.FileSystem.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Threading.Thread.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Linq.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Process.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Tools.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Hashing.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.Debug.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/Microsoft.Win32.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.TraceEvent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Drawing.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Runtime.Serialization.Formatters.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Ping.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.ServiceModel.Duplex.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Diagnostics.StackTrace.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Reflection.DispatchProxy.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Security.Cryptography.Encryption.Aes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Memory.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Net.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.Android.framework/Versions/10.1.3.7/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/Facades/System.Drawing.Common.dll","Aliases":[],"Framework":null}],"Files":["/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/MainActivity.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/Resource.designer.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Properties/AssemblyInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Application.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Scan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/MainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/HttpListener.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/FileUtils.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/R.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MyWebClient.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MqttCommon.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequest.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResponsePack.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/EmptyHttpReques.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequestBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Room.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/MyEnum.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/DB_ResidenceData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Function.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Target.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/BusSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CRC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Packet.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResidenceConfig.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/UserInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control_Bus.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/BusData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmebly.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/CSS/CSS.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseFloorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ResetPassword_VerificationCode.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/BaseView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDiv.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/A_Protocol_Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Scene.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/FunctionList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/AC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Curtain.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/FloorHeating.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Light.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/CityInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/OperationSuccessPromptPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/AppUnlockPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CommonPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Fan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/SwitchSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/TV.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Sensor.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/AProtocolEntity.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31Radio.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31RadioList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicSourcePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveRadioList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayStatus.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LocalMusicList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveMusicList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyListMusic.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/DialogView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/TopView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/MusicView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/PlayView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/SizeClass.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/TipView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/MusicSourceView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/SongView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/AboutResources.txt","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Properties/AndroidManifest.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/AboutAssets.txt","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/layout/activity_main.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/layout/content_main.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/colors.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/dimens.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/ic_launcher_background.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/strings.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/values/styles.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/menu/menu_main.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-anydpi-v26/ic_launcher.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-anydpi-v26/ic_launcher_round.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-hdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-hdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-hdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-mdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-mdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-mdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xhdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xhdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xhdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxhdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxhdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxhdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxxhdpi/ic_launcher.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxxhdpi/ic_launcher_foreground.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxxhdpi/ic_launcher_round.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/drawable/Loading.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/drawable/Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/mipmap-xxhdpi/Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/xml/network_security_config.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Resources/xml/file_paths.xml","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Language.ini","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Classification/ToggleDisplayLarge.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Classification/ToggleDisplayThumbnail.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Classification/Room/AllCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Classification/Room/Roombg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/MsgIconTip.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/SceneCovered.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/MsgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/NoCollectionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/Functionbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/ChangeViewbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/CollectionWhiteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/FunctionOnbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Collection/CollectionGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/IntellectualizationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/ClassificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/UserPageNavbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/CollectionIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/PersonalCenterIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/IntellectualizationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/ClassificationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Navigation/PersonalCenterIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/ShowPasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/SearchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/VerificationCodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/AccountIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/QQIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/WechatIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/HidePasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/EmailIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/LoginIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/ChooseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/RightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/MinusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/EditIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Fragmentbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DownIcon_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/LocationAddressIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/TipIcon_Failed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/ChooseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Switch_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Logo-bg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Logo.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/TipIcon_Successfully.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/FuncInfoSetIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/ThumbImage.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AddIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/PlusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Edit.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/SwitchOn_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/PowerClose.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/PowerOpen.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/transparent.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/ChooseRoomListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/Right.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/BackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DeviceInfoIcon/TempIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DeviceInfoIcon/Pm25Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DeviceInfoIcon/HumidityIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/DeviceInfoIcon/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/MsgIcon/LoadingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/MsgIcon/TipIconWhite.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/MsgIcon/TipIconBlack.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/13.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/18.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/5.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/6.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/45.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/Public/AirIcon/0.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Music/MusicIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Music/MusicOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TVIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/FanIconBgGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TVThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVPowerIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/PlusIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TV123Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVRightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVOkIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVleftIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVMenuUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVMenuIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/MenuBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVBackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVMuteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/ReduceIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Electrical/TV/TVMenuDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/FloorHeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/OrdinaryIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/NightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/AwayIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/OrdinaryIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/NightIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/FloorHeatingThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/FloorHeatingOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FloorHeating/AwayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AutoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/LowIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AcOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AcIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/DehumidificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AirSupplyIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/LowIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/DivBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/DivBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/CoolIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindMediumIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindLowIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AirSupplyIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindLowIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindMediumIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HeatingIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/MediumIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/CoolIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AutoIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/DehumidificationIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindHighIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/WindHighIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/MediumIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HighIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HeatIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/AcThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/AC/HightIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainCloseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOpenIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainCloseBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOpenWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOpenOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainStopOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainOpenBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainStopIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Curtain/CurtainBgOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/MusicFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/FreshAirFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/EnergyMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/EnvironmentalFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/LightFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/VideoIntercomFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/PanelFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/FloorHeatingFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/ACFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/CurtainFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/ElectricFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/SensorFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/FunctionBg/DoorLockFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/TipInfoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/WeatherFanSpeedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SensorColorTipBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/DiagramIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/SmogIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/UpArrow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/DiagramIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/EnvironmentalScience/LocationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/ColorWheel.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Light/LightThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/MovieMark.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/s1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/s2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/DelayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Scene/SceneIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/FunctionIcon/Socket/SocketThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/GeneralSettingsIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AuxiliaryFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/ResidenceArmIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/HomeListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AddFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/SupportIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/UserTypebg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/SwitchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/ResidenceManageIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AdminTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/NightViewIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/ResidenceMemberIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/ResidenceDataBackupIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/MemberTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/PersonalData/QRcodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/3On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/FingerIconRed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/1On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/.DS_Store","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/FingerprintIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/2On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/4On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/GestureIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/GestureGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/FaceIdIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/1.png","/Users/nigel/Desktop/HDL_APP_Project/Shared.Droid/Shared.Droid.csproj","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/.DS_Store","/Users/nigel/.nuget/packages/xamarin.android.support.versionedparcelable/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.runtime/1.1.1.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.compat/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.media.compat/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.arch.lifecycle.viewmodel/1.1.1.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.coordinaterlayout/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.v7.recyclerview/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.animated.vector.drawable/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.v7.appcompat/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.transition/28.0.0.3/proguard/monoandroid90/proguard.txt","/Users/nigel/.nuget/packages/xamarin.android.support.design/28.0.0.3/proguard/monoandroid90/proguard.txt"],"BuildActions":["Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","None","None","None","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidResource","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","AndroidAsset","ProjectReference","None","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration","ProguardConfiguration"],"Analyzers":[],"AdditionalFiles":[],"EditorConfigFiles":[]} |
| | |
| | | {"Format":1,"ProjectReferences":[],"MetadataReferences":[{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.analytics/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Analytics.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.analytics/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Analytics.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.crashes/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Crashes.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.crashes/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Crashes.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/mqttnet/3.0.8/lib/netstandard2.0/MQTTnet.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/mscorlib.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/newtonsoft.json/12.0.2/lib/netstandard2.0/Newtonsoft.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/OpenTK-1.0.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/Desktop/HDL_APP_Project/Shared.IOS/bin/Debug/Shared.IOS.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Drawing.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Numerics.Vectors.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Web.Services.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.essentials/1.1.0/lib/xamarinios10/Xamarin.Essentials.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Xamarin.iOS.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/ZXing.Net.Mobile.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/zxing.portable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/ZXingNetMobile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Contracts.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.FileVersionInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebSockets.Client.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Dynamic.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Principal.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.ThreadPool.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Cng.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.EventBasedAsync.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.CompilerServices.VisualC.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.DeriveBytes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/netstandard.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.UnmanagedMemoryStream.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Http.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.Xsl.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.Writer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Console.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Cache.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Sockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.NetworkInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Utilities.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Principal.Windows.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Claims.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Hashing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.DriveInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.X509Certificates.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.Watcher.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TraceSource.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.Lightweight.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.CodePages.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Expressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Timer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.Pipes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.HttpListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.RegularExpressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.NonGeneric.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.Concurrent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Overlapped.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Pkcs.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Handles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Data.SqlClient.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ObjectModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebHeaderCollection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.RuntimeInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.TypeConverter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Mail.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.SecureString.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Registry.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.RSA.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.Annotations.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.Compression.ZipFile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.WindowsRuntime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Queryable.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.ResourceManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.Reader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.ILGeneration.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Data.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.NameResolution.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceProcess.ServiceController.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Loader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.AuthenticationManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Tracing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.AppContext.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Buffers.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.ECDsa.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Csp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TextWriterTraceListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.MemoryMappedFiles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.OpenSsl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Registry.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.RandomNumberGenerator.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.Specialized.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.ProtectedData.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ValueTuple.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.ServicePoint.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XmlSerializer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.IsolatedStorage.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.NetTcp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.TypeExtensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.Calendars.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Requests.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebSockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Thread.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Process.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Tools.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Hashing.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Debug.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TraceEvent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Drawing.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Formatters.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Ping.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Duplex.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.StackTrace.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.DispatchProxy.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.Aes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Memory.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Primitives.dll","Aliases":[],"Framework":null}],"Files":["/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Main.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/AppDelegate.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewController.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewController.designer.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewControllerBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Reachability.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Scan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/MainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/HttpListener.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/FileUtils.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/R.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MyWebClient.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MqttCommon.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequest.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResponsePack.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/EmptyHttpReques.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequestBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Room.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/MyEnum.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/DB_ResidenceData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Function.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Target.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/BusSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CRC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Packet.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResidenceConfig.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/UserInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control_Bus.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/BusData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmebly.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/CSS/CSS.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseFloorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ResetPassword_VerificationCode.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/BaseView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDiv.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/A_Protocol_Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Scene.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/FunctionList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/AC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Curtain.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/FloorHeating.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Light.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/CityInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/OperationSuccessPromptPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/AppUnlockPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CommonPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Fan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/SwitchSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/TV.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Sensor.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/AProtocolEntity.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1024x500.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2048X2732 .png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/4096X4096.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/750X1134.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/1024.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/120.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/152.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/167.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/180.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/40.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/58.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/60.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/76.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/80.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/87.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/40·40@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/60·60@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/58·58@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/87·87@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/80·80@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/120·120@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/120·120@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/180·180@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/20·20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/40·40@2x-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/29·29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/58·58@2x-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/1024·1024@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1242*2688.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/828*1792.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2688*1242.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1792*828.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1125*2436.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2436*1125.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1242*2208.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/750*1334.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2208*1242.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*960.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/320*480.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*960-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*1136.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*1136-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/LaunchScreen.storyboard","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Main.storyboard","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Info.plist","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Entitlements.plist","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/ShowPasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/SearchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/VerificationCodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/AccountIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/QQIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/WechatIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/HidePasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/EmailIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Language.ini","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/BackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Logo.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Logo-bg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/UserTypebg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AdminTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/MemberTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceManageIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceMemberIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceArmIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceDataBackupIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AuxiliaryFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/NightViewIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/SwitchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/GeneralSettingsIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/SupportIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/UserPageNavbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/ClassificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/IntellectualizationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/PersonalCenterIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/PersonalCenterIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/ClassificationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/IntellectualizationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/CollectionIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/HomeListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/PersonalData/QRcodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/ToggleDisplayThumbnail.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/ToggleDisplayLarge.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/Room/Roombg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/MsgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/MsgIconTip.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/Functionbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/FunctionOnbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/ChangeViewbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/HumidityIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/Pm25Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/TempIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/transparent.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionWhiteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/Room/AllCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PowerClose.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PowerOpen.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainStopIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainStopOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/FuncInfoSetIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/ColorWheel.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ThumbImage.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Fragmentbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Edit.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/RightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PlusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MinusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/LocationAddressIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AddIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/EditIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Right.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DownIcon_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseRoomListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/MovieMark.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/SceneIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/SceneCovered.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/DelayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/s2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/s1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainBgOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AirSupplyIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AutoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/CoolIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DehumidificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/HeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/MusicFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/FreshAirFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/EnergyMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/EnvironmentalFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/LightFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/VideoIntercomFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/PanelFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/FloorHeatingFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/ACFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/CurtainFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/ElectricFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SensorFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/DoorLockFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DivBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DivBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AirSupplyIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AutoIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/CoolIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DehumidificationIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/HeatingIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindHighIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindHighIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindLowIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindLowIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindMediumIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindMediumIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/TipIconBlack.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/TipIconWhite.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/1On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/4On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/3On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/2On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FingerprintIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FaceIdIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/GestureIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/TipIcon_Successfully.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/TipIcon_Failed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/GestureGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Switch_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/SwitchOn_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FingerIconRed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/NightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/NightIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/OrdinaryIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/OrdinaryIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/AwayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/AwayIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconBgGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVPowerIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TV123Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVRightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVOkIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVleftIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVBackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMuteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/MenuBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/PlusIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/ReduceIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TVThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TVIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SmogIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/LocationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/UpArrow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/WeatherFanSpeedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/TipInfoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorColorTipBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/echarts.html","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/macarons.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/macarons2.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/red.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/roma.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/helianthus.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/green.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/infographic.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/shine.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/gray.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/sakura.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/blue.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/dark.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/mint.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/js/echarts-all.tmp","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/DiagramIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/DiagramIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/LoadingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/NoCollectionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/0.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/13.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/18.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/45.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/5.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/6.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/iTunesArtwork","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/iTunesArtwork@2x"],"BuildActions":["Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","InterfaceDefinition","InterfaceDefinition","None","None","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","ITunesArtwork","ITunesArtwork"],"Analyzers":[],"AdditionalFiles":[],"EditorConfigFiles":[]} |
| | | {"Format":1,"ProjectReferences":[],"MetadataReferences":[{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.analytics/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Analytics.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.analytics/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Analytics.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.crashes/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Crashes.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.crashes/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Crashes.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/mqttnet/3.0.8/lib/netstandard2.0/MQTTnet.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/mscorlib.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/newtonsoft.json/12.0.2/lib/netstandard2.0/Newtonsoft.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/OpenTK-1.0.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/Desktop/HDL_APP_Project/Shared.IOS/bin/Debug/Shared.IOS.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Drawing.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Numerics.Vectors.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Web.Services.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.essentials/1.1.0/lib/xamarinios10/Xamarin.Essentials.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Xamarin.iOS.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/ZXing.Net.Mobile.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/zxing.portable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/ZXingNetMobile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Contracts.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.FileVersionInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebSockets.Client.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Dynamic.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Principal.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.ThreadPool.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Cng.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.EventBasedAsync.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.CompilerServices.VisualC.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.DeriveBytes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/netstandard.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.UnmanagedMemoryStream.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Http.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.Xsl.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.Writer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Console.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Cache.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Sockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.NetworkInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Utilities.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Principal.Windows.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Claims.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Hashing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.DriveInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.X509Certificates.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.Watcher.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TraceSource.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.Lightweight.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.CodePages.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Expressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Timer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.Pipes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.HttpListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.RegularExpressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.NonGeneric.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.Concurrent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Overlapped.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Pkcs.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Handles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Data.SqlClient.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ObjectModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebHeaderCollection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.RuntimeInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.TypeConverter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Mail.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.SecureString.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Registry.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.RSA.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.Annotations.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.Compression.ZipFile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.WindowsRuntime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Queryable.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.ResourceManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.Reader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.ILGeneration.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Data.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.NameResolution.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceProcess.ServiceController.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Loader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.AuthenticationManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Tracing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.AppContext.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Buffers.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.ECDsa.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Csp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TextWriterTraceListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.MemoryMappedFiles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.OpenSsl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Registry.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.RandomNumberGenerator.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.Specialized.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.ProtectedData.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ValueTuple.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.ServicePoint.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XmlSerializer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.IsolatedStorage.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.NetTcp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.TypeExtensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.Calendars.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Requests.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebSockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Thread.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Process.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Tools.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Hashing.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Debug.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TraceEvent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Drawing.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Formatters.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Ping.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Duplex.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.StackTrace.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.DispatchProxy.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.Aes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Memory.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Primitives.dll","Aliases":[],"Framework":null}],"Files":["/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Main.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/AppDelegate.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewController.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewController.designer.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewControllerBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Reachability.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Scan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/MainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/HttpListener.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/FileUtils.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/R.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MyWebClient.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MqttCommon.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequest.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResponsePack.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/EmptyHttpReques.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequestBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Room.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/MyEnum.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/DB_ResidenceData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Function.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Target.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/BusSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CRC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Packet.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResidenceConfig.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/UserInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control_Bus.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/BusData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmebly.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/CSS/CSS.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseFloorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ResetPassword_VerificationCode.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/BaseView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDiv.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/A_Protocol_Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Scene.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/FunctionList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/AC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Curtain.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/FloorHeating.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Light.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/CityInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/OperationSuccessPromptPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/AppUnlockPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CommonPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Fan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/SwitchSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/TV.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Sensor.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/AProtocolEntity.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31Radio.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31RadioList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicSourcePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveRadioList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayStatus.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LocalMusicList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveMusicList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyListMusic.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/DialogView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/TopView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/MusicView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/PlayView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/SizeClass.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/TipView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/MusicSourceView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/SongView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1024x500.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2048X2732 .png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/4096X4096.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/750X1134.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/1024.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/120.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/152.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/167.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/180.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/40.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/58.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/60.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/76.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/80.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/87.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/40·40@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/60·60@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/58·58@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/87·87@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/80·80@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/120·120@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/120·120@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/180·180@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/20·20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/40·40@2x-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/29·29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/58·58@2x-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/1024·1024@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1242*2688.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/828*1792.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2688*1242.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1792*828.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1125*2436.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2436*1125.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1242*2208.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/750*1334.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2208*1242.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*960.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/320*480.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*960-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*1136.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*1136-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/LaunchScreen.storyboard","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Main.storyboard","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Info.plist","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Entitlements.plist","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/ShowPasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/SearchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/VerificationCodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/AccountIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/QQIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/WechatIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/HidePasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/EmailIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Language.ini","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/BackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Logo.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Logo-bg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/UserTypebg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AdminTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/MemberTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceManageIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceMemberIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceArmIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceDataBackupIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AuxiliaryFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/NightViewIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/SwitchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/GeneralSettingsIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/SupportIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/UserPageNavbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/ClassificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/IntellectualizationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/PersonalCenterIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/PersonalCenterIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/ClassificationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/IntellectualizationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/CollectionIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/HomeListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/PersonalData/QRcodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/ToggleDisplayThumbnail.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/ToggleDisplayLarge.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/Room/Roombg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/MsgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/MsgIconTip.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/Functionbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/FunctionOnbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/ChangeViewbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/HumidityIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/Pm25Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/TempIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/transparent.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionWhiteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/Room/AllCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PowerClose.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PowerOpen.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainStopIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainStopOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/FuncInfoSetIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/ColorWheel.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ThumbImage.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Fragmentbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Edit.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/RightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PlusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MinusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/LocationAddressIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AddIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/EditIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Right.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DownIcon_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseRoomListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/MovieMark.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/SceneIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/SceneCovered.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/DelayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/s2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/s1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainBgOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AirSupplyIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AutoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/CoolIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DehumidificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/HeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/MusicFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/FreshAirFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/EnergyMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/EnvironmentalFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/LightFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/VideoIntercomFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/PanelFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/FloorHeatingFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/ACFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/CurtainFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/ElectricFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SensorFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/DoorLockFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DivBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DivBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AirSupplyIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AutoIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/CoolIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DehumidificationIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/HeatingIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindHighIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindHighIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindLowIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindLowIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindMediumIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindMediumIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/TipIconBlack.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/TipIconWhite.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/1On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/4On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/3On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/2On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FingerprintIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FaceIdIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/GestureIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/TipIcon_Successfully.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/TipIcon_Failed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/GestureGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Switch_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/SwitchOn_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FingerIconRed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/NightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/NightIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/OrdinaryIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/OrdinaryIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/AwayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/AwayIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconBgGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVPowerIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TV123Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVRightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVOkIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVleftIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVBackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMuteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/MenuBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/PlusIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/ReduceIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TVThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TVIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SmogIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/LocationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/UpArrow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/WeatherFanSpeedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/TipInfoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorColorTipBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/echarts.html","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/macarons.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/macarons2.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/red.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/roma.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/helianthus.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/green.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/infographic.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/shine.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/gray.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/sakura.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/blue.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/dark.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/mint.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/js/echarts-all.tmp","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/DiagramIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/DiagramIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/LoadingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/NoCollectionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/0.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/13.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/18.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/45.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/5.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/6.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/bluetooth.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/addMusic1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/prve1Selected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/love1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/selectedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/playList.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/myLove.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/radio.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/filePlay.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/collect.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/loveMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/qqMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/clear.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/radioIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/musicIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/file.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/vol.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/usb.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/localMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/next1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/loveSelected1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/selectedMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/noMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/addMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/playBj.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/loveRadio.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/list.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/set.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/nextSelected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/Merge.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/playStatus.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/random.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/collectSelected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/pause.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/progressIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/prevSeletced.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/MusicBack.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/fileList.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/myList.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/single.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/edit.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/next.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/filePause.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/line.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/loveSelected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/sourceNetx.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/love.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/pause1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/play1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/play.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/noSelectedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/next1Selected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/prev.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/prve1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/iTunesArtwork","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/iTunesArtwork@2x","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/.DS_Store"],"BuildActions":["Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","InterfaceDefinition","InterfaceDefinition","None","None","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","ITunesArtwork","ITunesArtwork","None"],"Analyzers":[],"AdditionalFiles":[],"EditorConfigFiles":[]} |
| | |
| | | {"Format":1,"ProjectReferences":[],"MetadataReferences":[{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.analytics/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Analytics.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.analytics/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Analytics.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.crashes/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Crashes.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.crashes/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Crashes.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/mqttnet/3.0.8/lib/netstandard2.0/MQTTnet.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/mscorlib.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/newtonsoft.json/12.0.2/lib/netstandard2.0/Newtonsoft.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/OpenTK-1.0.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/Desktop/HDL_APP_Project/Shared.IOS/bin/Debug/Shared.IOS.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Drawing.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Numerics.Vectors.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Web.Services.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.essentials/1.1.0/lib/xamarinios10/Xamarin.Essentials.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Xamarin.iOS.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/ZXing.Net.Mobile.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/zxing.portable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/ZXingNetMobile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Contracts.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.FileVersionInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebSockets.Client.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Dynamic.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Principal.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.ThreadPool.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Cng.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.EventBasedAsync.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.CompilerServices.VisualC.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.DeriveBytes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/netstandard.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.UnmanagedMemoryStream.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Http.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.Xsl.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.Writer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Console.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Cache.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Sockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.NetworkInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Utilities.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Principal.Windows.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Claims.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Hashing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.DriveInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.X509Certificates.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.Watcher.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TraceSource.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.Lightweight.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.CodePages.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Expressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Timer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.Pipes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.HttpListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.RegularExpressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.NonGeneric.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.Concurrent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Overlapped.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Pkcs.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Handles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Data.SqlClient.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ObjectModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebHeaderCollection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.RuntimeInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.TypeConverter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Mail.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.SecureString.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Registry.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.RSA.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.Annotations.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.Compression.ZipFile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.WindowsRuntime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Queryable.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.ResourceManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.Reader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.ILGeneration.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Data.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.NameResolution.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceProcess.ServiceController.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Loader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.AuthenticationManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Tracing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.AppContext.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Buffers.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.ECDsa.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Csp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TextWriterTraceListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.MemoryMappedFiles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.OpenSsl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Registry.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.RandomNumberGenerator.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.Specialized.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.ProtectedData.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ValueTuple.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.ServicePoint.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XmlSerializer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.IsolatedStorage.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.NetTcp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.TypeExtensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.Calendars.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Requests.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebSockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Thread.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Process.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Tools.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Hashing.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Debug.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TraceEvent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Drawing.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Formatters.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Ping.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Duplex.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.StackTrace.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.DispatchProxy.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.Aes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Memory.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Primitives.dll","Aliases":[],"Framework":null}],"Files":["/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Main.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/AppDelegate.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewController.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewController.designer.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewControllerBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Reachability.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Scan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/MainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/HttpListener.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/FileUtils.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/R.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MyWebClient.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MqttCommon.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequest.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResponsePack.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/EmptyHttpReques.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequestBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Room.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/MyEnum.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/DB_ResidenceData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Function.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Target.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/BusSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CRC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Packet.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResidenceConfig.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/UserInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control_Bus.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/BusData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmebly.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/CSS/CSS.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseFloorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ResetPassword_VerificationCode.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/BaseView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDiv.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/A_Protocol_Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Scene.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/FunctionList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/AC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Curtain.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/FloorHeating.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Light.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/CityInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/OperationSuccessPromptPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/AppUnlockPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CommonPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Fan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/SwitchSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/TV.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Sensor.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/AProtocolEntity.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1024x500.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2048X2732 .png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/4096X4096.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/750X1134.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/1024.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/120.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/152.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/167.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/180.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/40.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/58.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/60.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/76.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/80.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/87.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/40·40@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/60·60@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/58·58@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/87·87@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/80·80@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/120·120@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/120·120@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/180·180@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/20·20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/40·40@2x-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/29·29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/58·58@2x-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/1024·1024@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1242*2688.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/828*1792.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2688*1242.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1792*828.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1125*2436.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2436*1125.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1242*2208.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/750*1334.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2208*1242.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*960.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/320*480.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*960-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*1136.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*1136-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/LaunchScreen.storyboard","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Main.storyboard","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Info.plist","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Entitlements.plist","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/ShowPasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/SearchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/VerificationCodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/AccountIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/QQIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/WechatIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/HidePasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/EmailIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Language.ini","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/BackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Logo.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Logo-bg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/UserTypebg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AdminTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/MemberTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceManageIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceMemberIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceArmIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceDataBackupIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AuxiliaryFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/NightViewIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/SwitchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/GeneralSettingsIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/SupportIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/UserPageNavbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/ClassificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/IntellectualizationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/PersonalCenterIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/PersonalCenterIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/ClassificationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/IntellectualizationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/CollectionIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/HomeListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/PersonalData/QRcodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/ToggleDisplayThumbnail.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/ToggleDisplayLarge.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/Room/Roombg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/MsgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/MsgIconTip.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/Functionbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/FunctionOnbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/ChangeViewbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/HumidityIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/Pm25Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/TempIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/transparent.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionWhiteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/Room/AllCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PowerClose.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PowerOpen.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainStopIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainStopOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/FuncInfoSetIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/ColorWheel.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ThumbImage.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Fragmentbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Edit.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/RightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PlusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MinusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/LocationAddressIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AddIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/EditIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Right.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DownIcon_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseRoomListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/MovieMark.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/SceneIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/SceneCovered.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/DelayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/s2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/s1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainBgOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AirSupplyIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AutoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/CoolIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DehumidificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/HeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/MusicFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/FreshAirFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/EnergyMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/EnvironmentalFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/LightFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/VideoIntercomFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/PanelFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/FloorHeatingFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/ACFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/CurtainFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/ElectricFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SensorFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/DoorLockFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DivBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DivBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AirSupplyIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AutoIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/CoolIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DehumidificationIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/HeatingIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindHighIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindHighIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindLowIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindLowIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindMediumIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindMediumIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/TipIconBlack.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/TipIconWhite.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/1On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/4On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/3On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/2On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FingerprintIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FaceIdIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/GestureIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/TipIcon_Successfully.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/TipIcon_Failed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/GestureGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Switch_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/SwitchOn_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FingerIconRed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/NightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/NightIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/OrdinaryIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/OrdinaryIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/AwayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/AwayIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconBgGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVPowerIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TV123Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVRightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVOkIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVleftIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVBackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMuteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/MenuBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/PlusIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/ReduceIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TVThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TVIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SmogIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/LocationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/UpArrow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/WeatherFanSpeedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/TipInfoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorColorTipBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/echarts.html","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/macarons.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/macarons2.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/red.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/roma.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/helianthus.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/green.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/infographic.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/shine.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/gray.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/sakura.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/blue.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/dark.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/mint.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/js/echarts-all.tmp","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/DiagramIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/DiagramIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/LoadingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/NoCollectionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/0.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/13.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/18.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/45.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/5.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/6.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/iTunesArtwork","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/iTunesArtwork@2x"],"BuildActions":["Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","InterfaceDefinition","InterfaceDefinition","None","None","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","ITunesArtwork","ITunesArtwork"],"Analyzers":[],"AdditionalFiles":[],"EditorConfigFiles":[]} |
| | | {"Format":1,"ProjectReferences":[],"MetadataReferences":[{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.analytics/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Analytics.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.analytics/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Analytics.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.crashes/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Crashes.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter.crashes/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.Crashes.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/microsoft.appcenter/3.1.0/lib/Xamarin.iOS10/Microsoft.AppCenter.iOS.Bindings.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/mqttnet/3.0.8/lib/netstandard2.0/MQTTnet.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/mscorlib.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/newtonsoft.json/12.0.2/lib/netstandard2.0/Newtonsoft.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/OpenTK-1.0.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/Desktop/HDL_APP_Project/Shared.IOS/bin/Debug/Shared.IOS.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Drawing.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Numerics.Vectors.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Web.Services.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/System.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/xamarin.essentials/1.1.0/lib/xamarinios10/Xamarin.Essentials.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Xamarin.iOS.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/ZXing.Net.Mobile.Core.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/zxing.portable.dll","Aliases":[],"Framework":null},{"FilePath":"/Users/nigel/.nuget/packages/zxing.net.mobile/2.4.1/lib/Xamarin.iOS10/ZXingNetMobile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Contracts.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.FileVersionInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebSockets.Client.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Dynamic.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Xml.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Principal.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.ThreadPool.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Cng.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.EventBasedAsync.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.CompilerServices.VisualC.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.DeriveBytes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/netstandard.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.UnmanagedMemoryStream.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Http.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.Xsl.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.Writer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Console.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Cache.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Sockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.NetworkInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Utilities.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Principal.Windows.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Claims.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Hashing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.DriveInfo.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.X509Certificates.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Numerics.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.Watcher.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TraceSource.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.Lightweight.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.CodePages.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Expressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Timer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.Pipes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.HttpListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.RegularExpressions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.NonGeneric.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.Concurrent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Overlapped.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Pkcs.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Handles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Data.SqlClient.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ObjectModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebHeaderCollection.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.RuntimeInformation.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.TypeConverter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Mail.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Parallel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.SecureString.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Registry.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.RSA.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.Annotations.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.Compression.ZipFile.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.InteropServices.WindowsRuntime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.Queryable.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.ResourceManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.Reader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.ILGeneration.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Data.Common.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.NameResolution.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ComponentModel.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceProcess.ServiceController.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Loader.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Security.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.AuthenticationManager.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Tasks.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Tracing.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.AppContext.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Buffers.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.ECDsa.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Csp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TextWriterTraceListener.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Text.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.MemoryMappedFiles.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.OpenSsl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Registry.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.RandomNumberGenerator.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Collections.Specialized.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.ProtectedData.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ValueTuple.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XPath.XmlDocument.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.ServicePoint.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Xml.XmlSerializer.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Extensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Resources.ReaderWriter.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encoding.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.IsolatedStorage.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.NetTcp.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.AccessControl.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.TypeExtensions.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Globalization.Calendars.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Requests.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.WebSockets.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.Emit.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.IO.FileSystem.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Json.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Threading.Thread.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Linq.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Process.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Tools.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Hashing.Algorithms.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.Debug.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/Microsoft.Win32.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.TraceEvent.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Drawing.Primitives.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Runtime.Serialization.Formatters.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Ping.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.ServiceModel.Duplex.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Diagnostics.StackTrace.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Reflection.DispatchProxy.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Security.Cryptography.Encryption.Aes.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Memory.dll","Aliases":[],"Framework":null},{"FilePath":"/Library/Frameworks/Xamarin.iOS.framework/Versions/13.10.0.21/lib/mono/Xamarin.iOS/Facades/System.Net.Primitives.dll","Aliases":[],"Framework":null}],"Files":["/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Main.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/AppDelegate.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewController.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewController.designer.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/ViewControllerBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Reachability.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Scan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/MainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/HttpListener.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/FileUtils.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/R.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MyWebClient.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Net/MqttCommon.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequest.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResponsePack.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/EmptyHttpReques.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DAL/Server/HttpServerRequestBase.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Room.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Enumerative/MyEnum.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/DB_ResidenceData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Function.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Target.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/BusSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CRC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Packet.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResidenceConfig.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/UserInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/Control_Bus.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/BusData.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmebly.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/CSS/CSS.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/UserPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseFloorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/1-HomePage/HomePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalCenterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomEditFunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/ResidentialManagePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/RoomsManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/LoginPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ForgetPasswordPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/ResetPassword_VerificationCode.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/BaseView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI1-Login/RegisterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDiv.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/TopViewDivBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/ChooseRoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/AC/ACPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Common/A_Protocol_Command.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/RoomPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Scene.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/FunctionList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/AC.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Curtain.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/FloorHeating.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Light.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/CityInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/OperationSuccessPromptPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI0-Public/AppUnlockPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/DriverLayer/CommonPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Fan.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/SwitchSocket.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/TV.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/Function/Sensor.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/Entity/AProtocolEntity.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31Radio.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31RadioList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicSourcePage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveRadioList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayStatus.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LocalMusicList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveMusicList.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyListMusic.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/DialogView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/TopView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/MusicView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/PlayView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/SizeClass.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/TipView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/MusicSourceView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/SongView.cs","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1024x500.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2048X2732 .png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/4096X4096.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/750X1134.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/1024.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/120.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/152.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/167.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/180.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/40.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/58.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/60.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/76.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/80.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/87.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/AppIcon.appiconset/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/40·40@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/60·60@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/58·58@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/87·87@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/80·80@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/120·120@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/120·120@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/180·180@3x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/20·20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/40·40@2x-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/29·29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/58·58@2x-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/AppIcon.appiconset/1024·1024@2x.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1242*2688.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/828*1792.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2688*1242.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1792*828.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1125*2436.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2436*1125.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/1242*2208.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/750*1334.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/2208*1242.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*960.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/320*480.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*960-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*1136.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Assets.xcassets/LaunchImage.launchimage/640*1136-1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/LaunchScreen.storyboard","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Main.storyboard","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Info.plist","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Entitlements.plist","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/ShowPasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/SearchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/VerificationCodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/AccountIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/QQIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/WechatIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/HidePasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/EmailIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/LoginIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Language.ini","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/BackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Logo.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Logo-bg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/UserTypebg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AdminTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/MemberTypeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceManageIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceMemberIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceArmIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/ResidenceDataBackupIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AuxiliaryFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AddFunctionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/NightViewIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/SwitchIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/GeneralSettingsIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/SupportIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/UserPageNavbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/ClassificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/IntellectualizationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/PersonalCenterIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/PersonalCenterIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/ClassificationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/IntellectualizationIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Navigation/CollectionIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/HomeListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/PersonalData/QRcodeIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/ToggleDisplayThumbnail.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/ToggleDisplayLarge.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/Room/Roombg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/MsgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/MsgIconTip.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/Functionbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/FunctionOnbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/ChangeViewbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/HumidityIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/Pm25Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/TempIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/transparent.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionWhiteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Classification/Room/AllCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PowerClose.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PowerOpen.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainStopIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainStopOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Music/MusicOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/FuncInfoSetIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/ColorWheel.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ThumbImage.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Fragmentbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Edit.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/RightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AcThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/FloorHeatingThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Light/LightThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/PlusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MinusSignIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/CollectionGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Switch.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/SwitchOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/LocationAddressIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AddIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/EditIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Right.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DownIcon_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/ChooseRoomListbg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/MovieMark.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/SceneIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/SceneCovered.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/DelayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/s2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Scene/s1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainBgOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AirSupplyIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AutoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/CoolIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DehumidificationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/HeatingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/MusicFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/FreshAirFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/EnergyMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/EnvironmentalFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/LightFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/VideoIntercomFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/PanelFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/FloorHeatingFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/ACFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/CurtainFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/ElectricFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/SensorFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FunctionBg/DoorLockFunctionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/DeviceInfoIcon/Restored_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainOpenWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Curtain/CurtainCloseBlueIcon_Shadow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DivBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DivBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AirSupplyIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/AutoIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/CoolIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/DehumidificationIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/HeatingIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindHighIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindHighIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindLowIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindLowIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindMediumIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/AC/WindMediumIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/TipIconBlack.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/TipIconWhite.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/1On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/4On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/3On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/2On.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FingerprintIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FaceIdIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/GestureIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/PasswordIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/TipIcon_Successfully.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/TipIcon_Failed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/GestureGrayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/Switch_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/SwitchOn_2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FingerIconRed.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/NightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/NightIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/OrdinaryIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/OrdinaryIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/AwayIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/FloorHeating/AwayIconGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconBgGray.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketOnIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/FanIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIconOnBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Socket/SocketIconBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVPowerIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TV123Icon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVRightIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVOkIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVleftIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuUpIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVBackIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMuteIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/TVMenuDownIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/MenuBgIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/PlusIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TV/ReduceIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TVThinIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/Electrical/TVIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SmogIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/LocationIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/UpArrow.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/WeatherFanSpeedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/TipInfoIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorColorTipBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/SensorHistoryBg3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/echarts.html","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/macarons.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/macarons2.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/red.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/roma.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/helianthus.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/green.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/infographic.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/shine.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/gray.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/sakura.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/blue.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/dark.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/theme/mint.js","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/js/echarts-all.tmp","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/DiagramIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/FunctionIcon/EnvironmentalScience/DiagramIconOn.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/MsgIcon/LoadingIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Collection/NoCollectionBg.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/0.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/13.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/18.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/2.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/20.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/29.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/3.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/4.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/45.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/5.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/Public/AirIcon/6.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/bluetooth.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/addMusic1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/prve1Selected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/love1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/selectedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/playList.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/myLove.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/radio.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/filePlay.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/collect.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/loveMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/qqMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/clear.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/radioIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/musicIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/file.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/vol.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/usb.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/localMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/next1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/loveSelected1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/selectedMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/noMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/addMusic.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/playBj.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/loveRadio.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/list.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/set.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/nextSelected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/Merge.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/playStatus.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/random.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/collectSelected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/pause.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/progressIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/prevSeletced.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/MusicBack.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/fileList.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/myList.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/single.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/edit.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/next.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/filePause.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/line.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/loveSelected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/sourceNetx.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/love.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/pause1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/play1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/play.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/noSelectedIcon.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/next1Selected.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/prev.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/Resources/Phone/MusicIcon/prve1.png","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/iTunesArtwork","/Users/nigel/Desktop/HDL_APP_Project/HDL-ON_iOS/iTunesArtwork@2x","/Users/nigel/Desktop/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/Music/View/.DS_Store"],"BuildActions":["Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","Compile","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","ImageAsset","InterfaceDefinition","InterfaceDefinition","None","None","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","BundleResource","ITunesArtwork","ITunesArtwork","None"],"Analyzers":[],"AdditionalFiles":[],"EditorConfigFiles":[]} |
| | |
| | | <BundleResource Include="Resources\Phone\Public\AirIcon\45.png" /> |
| | | <BundleResource Include="Resources\Phone\Public\AirIcon\5.png" /> |
| | | <BundleResource Include="Resources\Phone\Public\AirIcon\6.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\bluetooth.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\addMusic1.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\prve1Selected.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\love1.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\selectedIcon.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\playList.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\myLove.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\radio.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\filePlay.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\collect.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\loveMusic.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\qqMusic.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\clear.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\radioIcon.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\musicIcon.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\file.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\vol.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\usb.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\localMusic.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\next1.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\loveSelected1.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\selectedMusic.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\noMusic.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\addMusic.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\playBj.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\loveRadio.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\list.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\set.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\nextSelected.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\Merge.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\playStatus.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\random.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\collectSelected.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\pause.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\progressIcon.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\prevSeletced.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\MusicBack.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\fileList.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\myList.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\single.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\edit.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\next.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\filePause.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\line.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\loveSelected.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\sourceNetx.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\love.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\pause1.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\play1.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\play.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\noSelectedIcon.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\next1Selected.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\prev.png" /> |
| | | <BundleResource Include="Resources\Phone\MusicIcon\prve1.png" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ITunesArtwork Include="iTunesArtwork" /> |
| | |
| | | 256=暂无已收藏的功能 |
| | | 257=请输入内容 |
| | | 258=欢迎新成员加入 |
| | | 259=是否确认移除该成员? |
| | | 259=是否确认移除该成员? |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | 5000=音乐 |
| | | 5001=组合 |
| | | 5002=设置 |
| | | 5003=基础信息 |
| | | 5004=播放器名称 |
| | | 5005=蓝牙名称 |
| | | 5006=区域 |
| | | 5007=歌单 |
| | | 5008=我的最爱 |
| | | 5009=我的列表 |
| | | 5010=选择音源 |
| | | 5011=本地音乐 |
| | | 5012=USB |
| | | 5013=在线电台 |
| | | 5014=QQ音乐 |
| | | 5015=蓝牙 |
| | | 5016=线路输入 |
| | | 5017=修改名称 |
| | | 5018=单曲播放 |
| | | 5019=随机播放 |
| | | 5020=列表播放 |
| | | 5021=已切换到 |
| | | 5022=取消 |
| | | 5023=删除 |
| | | 5024=编辑 |
| | | 5025=列表名称相同 |
| | | 5026=列表名为空 |
| | | 5027=请输入列表名 |
| | | 5028=添加新的列表 |
| | | 5029=提示 |
| | | 5030=是否确认删除文件夹 |
| | | 5031=确认 |
| | | 5032=名称为空 |
| | | 5033=已添加到歌单: |
| | | 5034=电台 |
| | | 5035=选择组合 |
| | | 5036=需要播放 |
| | | 5037=至少选中两个以上播放器 |
| | | 5038=不能选中两个或两个以上主播放器进行组合 |
| | | 5039=还没选中播放器 |
| | | 5040=选中解除播放器 |
| | | 5041=还没有选择解除组播放器 |
| | | 5042=配置中... |
| | | 5043=解除中... |
| | | 5044=音量 |
| | | 5045=总音量 |
| | | 5046=调节音量 |
| | | |
| | |
| | | public readonly static int PlsEntryPassword = 6; |
| | | public readonly static int PlsEntryAccount = 5; |
| | | public readonly static int LoginByEmail = 4; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public readonly static int a31Music = 5000; |
| | | public readonly static int merge = 5001; |
| | | public readonly static int set = 5002; |
| | | public readonly static int information = 5003; |
| | | public readonly static int playerName = 5004; |
| | | public readonly static int bluetoothName = 5005; |
| | | public readonly static int region = 5006; |
| | | public readonly static int playList = 5007; |
| | | public readonly static int myLove = 5008; |
| | | public readonly static int myList = 5009; |
| | | public readonly static int selectedSource = 5010; |
| | | public readonly static int localMusic = 5011; |
| | | public readonly static int usb = 5012; |
| | | public readonly static int radio = 5013; |
| | | public readonly static int qqMusic = 5014; |
| | | public readonly static int bluetooth = 5015; |
| | | public readonly static int line = 5016; |
| | | public readonly static int modifyName = 5017; |
| | | public readonly static int singleMode = 5018; |
| | | public readonly static int randomMode = 5019; |
| | | public readonly static int listMode = 5020; |
| | | public readonly static int switchTo = 5021; |
| | | public readonly static int cancelMusic = 5022; |
| | | public readonly static int delMusic = 5023; |
| | | public readonly static int editMusic = 5024; |
| | | public readonly static int listNamesSame = 5025; |
| | | public readonly static int listNameNull = 5026; |
| | | public readonly static int listNameInput = 5027; |
| | | public readonly static int addNewList = 5028; |
| | | public readonly static int tip = 5029; |
| | | public readonly static int delMusicFile = 5030; |
| | | public readonly static int confirmMusic = 5031; |
| | | public readonly static int nameNull = 5032; |
| | | public readonly static int addMusicList = 5033; |
| | | public readonly static int radioLove = 5034; |
| | | public readonly static int selectedMergence = 5035; |
| | | public readonly static int readyPlay = 5036; |
| | | public readonly static int selectAtLeastTwoPlayers = 5037; |
| | | public readonly static int cannotSelectTwoOrMoreMainPlayersToCombine = 5038; |
| | | public readonly static int noSelectedPlay = 5039; |
| | | public readonly static int checkTheReleasePlayer = 5040; |
| | | public readonly static int noCheckTheReleasePlayer = 5041; |
| | | public readonly static int inConfiguration = 5042; |
| | | public readonly static int lifting = 5043; |
| | | public readonly static int volumeMusic = 5044; |
| | | public readonly static int totalVolume = 5045; |
| | | public readonly static int volumeAdjustment = 5046; |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | break; |
| | | case Command.ReadDeviceLoopInfoACK: |
| | | FunctionType dt = (FunctionType)(11 * 256 + receiveBytes[1]); |
| | | string tag = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2]; |
| | | |
| | | foreach (var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) |
| | | { |
| | | if (sensor.bus_Data != null) |
| | | { |
| | | if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus_Data.SubnetID == subnetID && |
| | | sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.LoopID == receiveBytes[2]) |
| | | { |
| | | switch (dt) |
| | | { |
| | | case FunctionType.Temp: |
| | | byte[] tempBytes = new byte[] { receiveBytes[24], receiveBytes[25], receiveBytes[26], receiveBytes[27] }; |
| | | sensor.values = Math.Round(BitConverter.ToSingle(tempBytes, 0), 1); |
| | | break; |
| | | case FunctionType.Humidity: |
| | | sensor.values = Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 10; |
| | | break; |
| | | case FunctionType.TVOC: |
| | | sensor.values = Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 100; |
| | | break; |
| | | case FunctionType.PM25: |
| | | sensor.values = Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]); |
| | | break; |
| | | case FunctionType.CO2: |
| | | sensor.values = Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]); |
| | | break; |
| | | } |
| | | EnvironmentalSciencePage.LoadEvent_UpdataStatus(sensor); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case Command.New_Analog_Quantity_BROADCAST: |
| | | string tag1 = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2]; |
| | | foreach (var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) |
| | | { |
| | | if (sensor.bus_Data != null) |
| | | { |
| | | if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus_Data.SubnetID == subnetID && |
| | | sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.LoopID == receiveBytes[2]) |
| | | { |
| | | //0保留 1无符号4Byte整形 2有符号4Byte整形 3Float形(代±) |
| | | switch (receiveBytes[3]) |
| | | { |
| | | case 1: |
| | | sensor.values = (receiveBytes[5]*256 * 256 * 256)+ (receiveBytes[6] * 256 * 256)+ (receiveBytes[7] * 256)+ receiveBytes[8]; |
| | | break; |
| | | case 2: |
| | | sensor.values = -1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]); |
| | | break; |
| | | case 3: |
| | | byte[] tempBytes = new byte[] { receiveBytes[5], receiveBytes[6], receiveBytes[7], receiveBytes[8] }; |
| | | sensor.values = Math.Round(BitConverter.ToSingle(tempBytes, 0), 1); |
| | | break; |
| | | } |
| | | EnvironmentalSciencePage.LoadEvent_UpdataStatus(sensor); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | |
| | | break; |
| | | } |
| | | break; |
| | | case FunctionCategory.Sensor: |
| | | var sensor = function as Sensor; |
| | | ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { (byte)5, |
| | | (byte)((int)sensor.functionType % 256), sensor.bus_Data.LoopID }); |
| | | break; |
| | | } |
| | | break; |
| | | } |
| | |
| | | //case Command.Remote3thACK: |
| | | // receiveFlag = string.Format("{0},", (int)command); |
| | | // break; |
| | | //case Command.ReadDeviceLoopInfoACK: |
| | | // if (usefulBytes[0] == 1) |
| | | // { |
| | | // receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[2]); ; |
| | | // } |
| | | // else |
| | | // receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]); |
| | | // break; |
| | | case Command.ReadDeviceLoopInfoACK: |
| | | if (usefulBytes[0] == 1) |
| | | { |
| | | receiveFlag += string.Format("{0},{1}", usefulBytes[0], usefulBytes[2]); ; |
| | | } |
| | | else |
| | | receiveFlag += string.Format("{0},{1},{2}", usefulBytes[0], usefulBytes[1], usefulBytes[2]); |
| | | break; |
| | | //case Command.SetDeviceLoopInfoACK: |
| | | //case Command.InfraredControlACK: |
| | | //case Command.SetSecurityByPassACK: |
| | |
| | | //case Command.Remote3th: |
| | | // this.SendFlag = string.Format("{0},", (int)target.Command + 1); |
| | | // break; |
| | | //case Command.ReadDeviceLoopInfo: |
| | | // if (target.AddData[0] == 1)//特殊处理灯光类,DMX模块每一个回路不固定小类,根据具体设置来回复 |
| | | // this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[2]); |
| | | // else |
| | | // this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); |
| | | // break; |
| | | case Command.ReadDeviceLoopInfo: |
| | | if (target.AddData[0] == 1)//特殊处理灯光类,DMX模块每一个回路不固定小类,根据具体设置来回复 |
| | | this.sendFlag += string.Format("{0},{1}", target.AddData[0], target.AddData[2]); |
| | | else |
| | | this.sendFlag += string.Format("{0},{1},{2}", target.AddData[0], target.AddData[1], target.AddData[2]); |
| | | break; |
| | | //case Command.SetDeviceLoopInfo: |
| | | //case Command.InfraredControl: |
| | | //case Command.SetSecurityByPass: |
| | |
| | | }, |
| | | bus_Data = new BusData |
| | | { |
| | | SubnetID = 142, |
| | | DeviceID = 4, |
| | | LoopID = 111, |
| | | SubnetID = 111, |
| | | DeviceID = 15, |
| | | LoopID = 1, |
| | | }, |
| | | });; |
| | | |
| | | instance.functionList.sensorsEnvironmentalScience.Add(new Sensor() |
| | | { |
| | | sid = "1234121234567890123456100B020006ABCD", |
| | | sid = "1234121234567890123456100B060006ABCD", |
| | | name = "PM2.5", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | function = new List<Trait>() { |
| | |
| | | }, |
| | | bus_Data = new BusData |
| | | { |
| | | SubnetID = 142, |
| | | DeviceID = 4, |
| | | LoopID = 111, |
| | | SubnetID = 111, |
| | | DeviceID = 15, |
| | | LoopID = 1, |
| | | }, |
| | | }); |
| | | //instance.functionList.sensorsEnvironmentalScience.Add(new Sensor() |
| | |
| | | //}); |
| | | instance.functionList.sensorsEnvironmentalScience.Add(new Sensor() |
| | | { |
| | | sid = "1234121234567890123456100B050006ABCD", |
| | | sid = "1234121234567890123456100B070006ABCD", |
| | | name = "CO2", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | function = new List<Trait>() { |
| | |
| | | }, |
| | | bus_Data = new BusData |
| | | { |
| | | SubnetID = 142, |
| | | DeviceID = 4, |
| | | LoopID = 111, |
| | | SubnetID = 111, |
| | | DeviceID = 15, |
| | | LoopID = 1, |
| | | }, |
| | | }); |
| | | instance.functionList.sensorsEnvironmentalScience.Add(new Sensor() |
| | | { |
| | | sid = "1234121234567890123456100B060006ABCD", |
| | | sid = "1234121234567890123456100B020006ABCD", |
| | | name = "温度", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | function = new List<Trait>() { |
| | |
| | | }, |
| | | bus_Data = new BusData |
| | | { |
| | | SubnetID = 142, |
| | | DeviceID = 4, |
| | | LoopID = 111, |
| | | SubnetID = 111, |
| | | DeviceID = 15, |
| | | LoopID = 1, |
| | | }, |
| | | }); |
| | | instance.functionList.sensorsEnvironmentalScience.Add(new Sensor() |
| | | { |
| | | sid = "1234121234567890123456100B070006ABCD", |
| | | sid = "1234121234567890123456100B050006ABCD", |
| | | name = "TVOC", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | function = new List<Trait>() { |
| | |
| | | }, |
| | | bus_Data = new BusData |
| | | { |
| | | SubnetID = 142, |
| | | DeviceID = 4, |
| | | LoopID = 111, |
| | | SubnetID = 111, |
| | | DeviceID = 15, |
| | | LoopID = 1, |
| | | }, |
| | | }); |
| | | instance.functionList.sensorsEnvironmentalScience.Add(new Sensor() |
| | | { |
| | | sid = "1234121234567890123456100B080006ABCD", |
| | | sid = "1234121234567890123456100B030006ABCD", |
| | | name = "湿度", |
| | | roomIdList = new List<string>() { "0001" }, |
| | | function = new List<Trait>() { |
| | |
| | | }, |
| | | bus_Data = new BusData |
| | | { |
| | | SubnetID = 142, |
| | | DeviceID = 4, |
| | | LoopID = 111, |
| | | SubnetID = 111, |
| | | DeviceID = 15, |
| | | LoopID = 1, |
| | | }, |
| | | }); |
| | | |
| | |
| | | /// 具体参数见下表(其中回路或者通道数,备注为重复部分,无需重复返回,当前状态不用修改) |
| | | /// </summary> |
| | | ReadDeviceLoopInfoACK = 0xE44B, |
| | | // 传感器广播模拟量 |
| | | //[0] 大类别 传感器 5(固定) |
| | | //[1] 小类别 详见新模拟量协议 |
| | | //[2] 通道号 1-N |
| | | //[3] 类型 0保留 1无符号4Byte整形 2有符号4Byte整形 3Float形(代±) |
| | | // 注:小数点的用浮点表示,整数不表示小数点 |
| | | // |
| | | //[4] 单位 每个小类定义不同的单位,单位相同小类不同的单位数值相同 |
| | | //[5] data |
| | | //[6] data 数据值高位在前,低位在后 |
| | | //[7] data |
| | | // ....... |
| | | New_Analog_Quantity_BROADCAST = 0x353A, |
| | | |
| | | /// <summary> |
| | | /// 设置简易编程设备基本信息 |
| | | /// 操作码: 0xE44C |
| | |
| | | Socket =0x0102, |
| | | |
| | | PM10 = 0x0b01, |
| | | PM25 = 0x0b02, |
| | | Noise = 0x0b03, |
| | | PM25 = 0x0b06, |
| | | //Noise = 0x0b03, |
| | | WindPower = 0x0b04, |
| | | CO2 = 0x0b05, |
| | | Temp = 0x0b06, |
| | | TVOC = 0x0b07, |
| | | Humidity = 0x0b08, |
| | | CO2 = 0x0b07, |
| | | Temp = 0x0b02, |
| | | TVOC = 0x0b05, |
| | | Humidity = 0x0b03, |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | case FunctionType.PM25: |
| | | nameId = StringId.PM25; |
| | | break; |
| | | case FunctionType.Noise: |
| | | nameId = StringId.Noise; |
| | | //case FunctionType.Noise: |
| | | // nameId = StringId.Noise; |
| | | |
| | | break; |
| | | case FunctionType.WindPower: |
| | |
| | | case FunctionType.PM25: |
| | | level = Math.Round(random.NextDouble() * 130, 0); |
| | | break; |
| | | case FunctionType.Noise: |
| | | break; |
| | | //case FunctionType.Noise: |
| | | // break; |
| | | case FunctionType.WindPower: |
| | | break; |
| | | case FunctionType.CO2: |
| | |
| | | _intervalValue.Add("76 ~ 115"); |
| | | _intervalValue.Add("115 ~"); |
| | | break; |
| | | case FunctionType.Noise: |
| | | break; |
| | | //case FunctionType.Noise: |
| | | // break; |
| | | case FunctionType.WindPower: |
| | | break; |
| | | case FunctionType.CO2: |
| | |
| | | _levelColorList.Add(0xFFFF9D54); |
| | | _levelColorList.Add(0xFFFF3D3D); |
| | | break; |
| | | case FunctionType.Noise: |
| | | //case FunctionType.Noise: |
| | | |
| | | break; |
| | | // break; |
| | | case FunctionType.WindPower: |
| | | |
| | | break; |
| | |
| | | _levelTextList.Add(StringId.MildPollution); |
| | | _levelTextList.Add(StringId.HeavyPollution); |
| | | break; |
| | | case FunctionType.Noise: |
| | | //case FunctionType.Noise: |
| | | |
| | | break; |
| | | // break; |
| | | case FunctionType.WindPower: |
| | | |
| | | break; |
| | |
| | | else if (values > 115) |
| | | level = 4; |
| | | break; |
| | | case FunctionType.Noise: |
| | | //case FunctionType.Noise: |
| | | |
| | | break; |
| | | // break; |
| | | case FunctionType.WindPower: |
| | | |
| | | break; |
| | |
| | | case FunctionType.CO2: |
| | | case FunctionType.PM25: |
| | | case FunctionType.Humidity: |
| | | case FunctionType.Noise: |
| | | //case FunctionType.Noise: |
| | | sensorsEnvironmentalScience.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(obj.ToString())); |
| | | break; |
| | | } |
| | |
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\AddMemberScanPage.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\AddMemberScanPageBLL.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\MemberFunctionPermissionPageBLL.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\MusicMain.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31Radio.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31RadioList.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MusicModel.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MusicSourcePage.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31PlayMusicPage.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LoveRadioList.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LoveList.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31USBMusicList.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31PlayStatus.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MyList.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\SendMethod.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LocalMusicList.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LoveMusicList.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MyListMusic.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\DialogView.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\TopView.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MusicView.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\PlayView.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\SizeClass.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\TipView.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MusicSourceView.cs" />
|
| | | <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\SongView.cs" />
|
| | | </ItemGroup>
|
| | | <ItemGroup>
|
| | | <Folder Include="$(MSBuildThisFileDirectory)UI\" />
|
| | |
| | | <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\EnvironmentalScience\" />
|
| | | <Folder Include="$(MSBuildThisFileDirectory)UI\UI2\4-PersonalCenter\MemberManagement\" />
|
| | | </ItemGroup>
|
| | | <ItemGroup>
|
| | | <None Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\.DS_Store" />
|
| | | </ItemGroup>
|
| | | </Project> |
| | |
| | | public static class AppUnlockPage |
| | | { |
| | | static DateTime unlockTime = DateTime.MinValue; |
| | | static Dialog Dialog; |
| | | static void LoadOption() |
| | | { |
| | | |
| | |
| | | //1:验证指纹 |
| | | if (MainPage.LoginUser.appUnlockType.Contains("3")) |
| | | { |
| | | LoadGesturePage(); |
| | | TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); |
| | | TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | public static void LoadPage() |
| | | { |
| | | LoadOption(); |
| | | } |
| | | static void LoadGesturePage() |
| | | { |
| | | if (unlockTime.AddSeconds(60) > DateTime.Now || MainPage.LoginUser.appUnlockPasswrod == "" || MainPage.LoginUser.appUnlockPage.Count == 0) |
| | | { |
| | |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | }; |
| | | LoadOption(); |
| | | |
| | | } |
| | | } |
| | |
| | | Width = Application.GetRealWidth(182), |
| | | Text = editParater, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS.CSS_FontSize.TextFontSize, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | }; |
| | | editView.AddChidren(etParater); |
| | | |
| | |
| | | { |
| | | Y = Application.GetRealHeight(128), |
| | | Height = Application.GetRealHeight(1), |
| | | BackgroundColor = CSS.CSS_Color.DividingLineColor, |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | }; |
| | | contentView.AddChidren(btnLine); |
| | | |
| | |
| | | /// </summary> |
| | | /// <param name="msg"></param> |
| | | /// <param name="isWhite"></param> |
| | | public void TipMsgAutoClose(string msg,bool isWhite) |
| | | public void TipMsgAutoClose(string msg,bool isWhite,int closeTime = 1500) |
| | | { |
| | | Dialog dialog = new Dialog() |
| | | { |
| | |
| | | dialog.Show(); |
| | | |
| | | new Thread(() => { |
| | | Thread.Sleep(1500); |
| | | Thread.Sleep(closeTime); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | dialog.Close(); |
| | |
| | | Gravity = Gravity.CenterVertical, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = MainPage.cityInfo.temperature, |
| | | Text = MainPage.cityInfo.temperature + "°", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | environmentalView.AddChidren(btnTempValues); |
| | |
| | | /// </summary> |
| | | public static void LoadEvent_RefreshAir() |
| | | { |
| | | bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature + "°C"; |
| | | bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature + "°"; |
| | | bodyView.btnHumidityValues.Text = MainPage.cityInfo.humidity == null ? "--" : MainPage.cityInfo.humidity + "%"; |
| | | bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25; |
| | | } |
| | |
| | | break; |
| | | case ShowFunction.Music: |
| | | btnName.TextID = StringId.Music; |
| | | btnFunctionViewBg.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var musicMain = new HDL_ON.UI.Music.MusicMain(); |
| | | MainPage.BasePageView.AddChidren(musicMain); |
| | | musicMain.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | |
| | | break; |
| | | case ShowFunction.Panel: |
| | | btnName.TextID = StringId.Panel; |
| | |
| | | |
| | | if (function.functionType != FunctionType.PM10 || |
| | | function.functionType != FunctionType.PM25 || |
| | | function.functionType != FunctionType.Noise || |
| | | //function.functionType != FunctionType.Noise || |
| | | function.functionType != FunctionType.WindPower || |
| | | function.functionType != FunctionType.CO2 || |
| | | function.functionType != FunctionType.Temp || |
| | |
| | | Height = Application.GetRealHeight(100), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | AnimateSpeed = 0.3f, |
| | | Animate = Animate.DownToUp, |
| | | }; |
| | | pictureOptionView.AddChidren(optionView); |
| | |
| | | /// </summary> |
| | | void LoadEvent_ChangeHeadImageView() |
| | | { |
| | | userHeadImageView.MouseUpEventHandler = (sender, e) => { |
| | | userHeadImageView.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadPictureOptionView(); |
| | | }; |
| | | } |
| | |
| | | /// </summary> |
| | | void LoadEvent_Logout() |
| | | { |
| | | btnLogout.MouseUpEventHandler += (sender, e) => { |
| | | btnLogout.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | MainPage.LoginUser.lastTime = DateTime.MinValue; |
| | | MainPage.LoginUser.SaveUserInfo(); |
| | | MainPage.GoLoginPage(MainPage.LoginUser.accountString); |
| | |
| | | |
| | | btnTakePicture.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnTakePicture.IsSelected = true; |
| | | }; |
| | | btnTakePicture.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnTakePicture.IsSelected = false; |
| | | var pid = Guid.NewGuid(); |
| | | CropImage.TakePicture((Action<string>)((imagePath) => |
| | | { |
| | |
| | | |
| | | btnAlbum.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnAlbum.IsSelected = true; |
| | | }; |
| | | |
| | | btnAlbum.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnAlbum.IsSelected = false; |
| | | var pid = Guid.NewGuid(); |
| | | CropImage.SelectPicture((imagePath) => |
| | | { |
| | |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //提示原因 |
| | | var tip = new Tip() |
| | | //提示原因 |
| | | var tip = new Tip() |
| | | { |
| | | Text = tipStr, |
| | | CloseTime = 3, |
| | |
| | | tip.Show(bodyView); |
| | | }); |
| | | } |
| | | }catch (Exception ex) |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"update user name error : {ex.Message}"); |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage.Hide(); |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | }; |
| | | new PublicAssmebly().LoadDialog_EditParater(StringId.UesrName, MainPage.LoginUser.userName, callBack,StringId.UesrNameCannotBeEmpty,0,new System.Collections.Generic.List<string>()); |
| | | new PublicAssmebly().LoadDialog_EditParater(StringId.UesrName, MainPage.LoginUser.userName, callBack, StringId.UesrNameCannotBeEmpty, 0, new System.Collections.Generic.List<string>()); |
| | | }; |
| | | btnUserName.MouseUpEventHandler = eventHandler; |
| | | btnEditUserNameIcon.MouseUpEventHandler = eventHandler; |
| | |
| | | #endregion |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | Height = Application.GetRealHeight(150), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | AnimateSpeed = 0.3f, |
| | | Animate = Animate.DownToUp, |
| | | }; |
| | | pictureOptionView.AddChidren(optionView); |
| | |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(215), |
| | | Height = Application.GetRealWidth(215), |
| | | //LockViewCorrectColor = 0xFF00FF00,//默认和正确 时显示的颜色 |
| | | //LockViewErrorColor = 0xFFFF0000, //错误时 显示的颜色 |
| | | LockViewCorrectColor = CSS_Color.MainColor,//0xFF00FF00,//默认和正确 时显示的颜色 |
| | | LockViewErrorColor = 0xFFFF0000, //错误时 显示的颜色 |
| | | BackgroundColor = CSS_Color.BackgroundColor, |
| | | }; |
| | | bodyView.AddChidren(mGestureLockView); |
| | |
| | | var etPassword = new EditText() |
| | | { |
| | | Y = Application.GetRealWidth(100), |
| | | Height = Application.GetRealWidth(10), |
| | | Height = Application.GetRealWidth(0), |
| | | Foucs = true, |
| | | //Visible = false, |
| | | IsNumberKeyboardType = true, |
| | |
| | | { |
| | | this.RemoveFromParent(); |
| | | backAction(); |
| | | return; |
| | | } |
| | | else |
| | | { |
| | |
| | | Height = Application.GetRealHeight(287), |
| | | BackgroundImagePath = "FunctionIcon/AC/DivBg1.png", |
| | | Animate = Animate.DownToUp, |
| | | AnimateSpeed = 0.3f |
| | | }; |
| | | dialogView.AddChidren(modeChangeView); |
| | | |
| | |
| | | Y = Application.GetRealHeight(172), |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(243), |
| | | AnimateSpeed = 0.3f, |
| | | BackgroundImagePath = "FunctionIcon/AC/DivBg2.png", |
| | | Animate = Animate.DownToUp, |
| | | }; |
| | |
| | | |
| | | FrameLayout dialogView = new FrameLayout() |
| | | { |
| | | AnimateSpeed = 0.3f, |
| | | Animate = Animate.DownToUp, |
| | | }; |
| | | dialog.AddChidren(dialogView); |
| | |
| | | /// 房间选择下拉图标 |
| | | /// </summary> |
| | | Button btnFoorDownIcon; |
| | | /// <summary> |
| | | /// 传感器列表区域 |
| | | /// </summary> |
| | | FrameLayout sensorListView; |
| | | |
| | | /// <summary> |
| | | /// 天气名称文本 |
| | |
| | | |
| | | #endregion |
| | | #region 区域变量 |
| | | List<System.Threading.Thread> threads = new List<System.Threading.Thread>(); |
| | | |
| | | |
| | | uint level1Color = 0xFF2172FF; |
| | | uint level2Color = 0xCC4484F4; |
| | | uint level3Color = 0x664484F4; |
| | | uint level4Color = 0xFFADE764; |
| | | uint level5Color = 0xFFFFDD55; |
| | | uint level6Color = 0xFFFF9D54; |
| | | uint level7Color = 0xFFFF3D3D; |
| | | |
| | | Room room; |
| | | |
| | | #endregion |
| | |
| | | public EnvironmentalSciencePage() |
| | | { |
| | | bodyView = this; |
| | | } |
| | | |
| | | public override void RemoveFromParent() |
| | | { |
| | | foreach(var thread in threads) |
| | | { |
| | | thread.Abort(); |
| | | } |
| | | threads.Clear(); |
| | | base.RemoveFromParent(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | X = Application.GetRealWidth(24), |
| | | Y = Application.GetRealHeight(16), |
| | | Width = Application.GetRealWidth(55), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(48), |
| | | TextSize = 42, |
| | | IsBold = true, |
| | |
| | | Text = "10°C", |
| | | }; |
| | | topWeatherView.AddChidren(btnTempUpperLimitText); |
| | | |
| | | |
| | | var btnTempLowerLimit = new Button() |
| | | { |
| | |
| | | contentView.AddChidren(btnRoom); |
| | | #endregion |
| | | |
| | | FrameLayout sensorListView = new FrameLayout() |
| | | sensorListView = new FrameLayout() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Y = Application.GetRealHeight(50), |
| | |
| | | contentView.AddChidren(sensorListView); |
| | | |
| | | int index = 0; |
| | | foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) |
| | | foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) |
| | | { |
| | | if(sensor.functionType == FunctionType.Noise|| sensor.functionType == FunctionType.WindPower) |
| | | if ( sensor.functionType == FunctionType.WindPower) |
| | | { |
| | | continue; |
| | | } |
| | | if(sensor.roomIdList.Contains(room.sid)) |
| | | { |
| | | FrameLayout sensorView = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(148), |
| | | Height = Application.GetRealWidth(80), |
| | | Radius = (uint)Application.GetRealWidth(8), |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 0, |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Y = Application.GetRealWidth(92 * (index / 2)) |
| | | }; |
| | | if (index % 2 != 0) |
| | | { |
| | | sensorView.X = Application.GetRealWidth(160); |
| | | } |
| | | sensorListView.AddChidren(sensorView); |
| | | |
| | | var arcBar = new ArcSeekBar() |
| | | { |
| | | ProgressBarUnitSring = "°C", |
| | | X = Application.GetRealWidth(7), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetRealWidth(48), |
| | | Height = Application.GetRealWidth(48), |
| | | OpenAngle = 1, |
| | | ThumbColor = 0x00000000, |
| | | ThumbModeFill = true, |
| | | ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1], |
| | | ThumbRadius = 1, |
| | | ArcWidthWithDefaultStyle = Application.GetRealWidth(3), |
| | | MinValue = 0, |
| | | MaxValue = 96, |
| | | Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel, |
| | | //ProgressBarUnitSring = "", |
| | | IsClickable = false, |
| | | ProgressTextColor = 0x00000000, |
| | | ArcColor = CSS_Color.BackgroundColor, |
| | | //BackgroundColor = 0x33FF0000, |
| | | }; |
| | | sensorView.AddChidren(arcBar); |
| | | |
| | | var btnSensorTitle = new Button() |
| | | { |
| | | X = Application.GetRealWidth(7), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetRealWidth(48), |
| | | Height = Application.GetRealWidth(48), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextID = sensor.functionTypeNameId |
| | | }; |
| | | sensorView.AddChidren(btnSensorTitle); |
| | | btnSensorTitle.MouseUpEventHandler = (sender, e) => { |
| | | var esp = new EnvironmentalSensorPage(sensor); |
| | | MainPage.BasePageView.AddChidren(esp); |
| | | esp.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | |
| | | if (sensor.functionType != FunctionType.Noise && sensor.functionType != FunctionType.WindPower) |
| | | { |
| | | var btnInfoIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(120), |
| | | Width = Application.GetRealWidth(28), |
| | | Height = Application.GetRealWidth(28), |
| | | UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png", |
| | | }; |
| | | sensorView.AddChidren(btnInfoIcon); |
| | | btnInfoIcon.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadInfo( sensor); |
| | | }; |
| | | } |
| | | |
| | | var btnSensorValues = new Button() |
| | | { |
| | | X = Application.GetRealWidth(72), |
| | | Y = Application.GetRealWidth(17), |
| | | Width = Application.GetRealWidth(70), |
| | | Height = Application.GetRealWidth(30), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.EmphasisFontSize_Secondary, |
| | | IsBold = true, |
| | | Text = sensor.values.ToString(), |
| | | }; |
| | | sensorView.AddChidren(btnSensorValues); |
| | | |
| | | var btnLevel = new Button() |
| | | { |
| | | X = Application.GetRealWidth(70), |
| | | Y = btnSensorValues.Bottom, |
| | | Width = Application.GetRealWidth(50), |
| | | Height = Application.GetRealWidth(18), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = sensor.levelColorList[sensor.curLevel - 1], |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | | TextID = sensor.levelTextList[sensor.curLevel - 1] |
| | | }; |
| | | sensorView.AddChidren(btnLevel); |
| | | |
| | | |
| | | |
| | | |
| | | index++; |
| | | } |
| | | LoadSensorDiv(sensor, index); |
| | | index++; |
| | | } |
| | | |
| | | #endregion |
| | |
| | | new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView(); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 加载传感器列表 |
| | | /// </summary> |
| | | void LoadSensorDiv(Sensor sensor,int index) |
| | | { |
| | | if (sensor.roomIdList.Contains(room.sid)) |
| | | { |
| | | var sensorTag = sensor.sid; |
| | | if (sensor.bus_Data != null) |
| | | { |
| | | sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.LoopID; |
| | | } |
| | | FrameLayout sensorView = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(148), |
| | | Height = Application.GetRealWidth(80), |
| | | Radius = (uint)Application.GetRealWidth(8), |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 0, |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Y = Application.GetRealWidth(92 * (index / 2)), |
| | | Tag = sensorTag |
| | | }; |
| | | if (index % 2 != 0) |
| | | { |
| | | sensorView.X = Application.GetRealWidth(160); |
| | | } |
| | | sensorListView.AddChidren(sensorView); |
| | | |
| | | var arcBar = new ArcSeekBar() |
| | | { |
| | | ProgressBarUnitSring = "°C", |
| | | X = Application.GetRealWidth(7), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetRealWidth(48), |
| | | Height = Application.GetRealWidth(48), |
| | | OpenAngle = 1, |
| | | ThumbColor = 0x00000000, |
| | | ThumbModeFill = true, |
| | | ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1], |
| | | ThumbRadius = 1, |
| | | ArcWidthWithDefaultStyle = Application.GetRealWidth(3), |
| | | MinValue = 0, |
| | | MaxValue = 96, |
| | | Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel, |
| | | //ProgressBarUnitSring = "", |
| | | IsClickable = false, |
| | | ProgressTextColor = 0x00000000, |
| | | ArcColor = CSS_Color.BackgroundColor, |
| | | //BackgroundColor = 0x33FF0000, |
| | | }; |
| | | sensorView.AddChidren(arcBar); |
| | | |
| | | var btnSensorTitle = new Button() |
| | | { |
| | | X = Application.GetRealWidth(7), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetRealWidth(48), |
| | | Height = Application.GetRealWidth(48), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextID = sensor.functionTypeNameId, |
| | | Tag = "SensorTitle" |
| | | }; |
| | | sensorView.AddChidren(btnSensorTitle); |
| | | btnSensorTitle.MouseUpEventHandler = (sender, e) => { |
| | | var esp = new EnvironmentalSensorPage(sensor); |
| | | MainPage.BasePageView.AddChidren(esp); |
| | | esp.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | |
| | | if ( sensor.functionType != FunctionType.WindPower) |
| | | { |
| | | var btnInfoIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(120), |
| | | Width = Application.GetRealWidth(28), |
| | | Height = Application.GetRealWidth(28), |
| | | UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png", |
| | | }; |
| | | sensorView.AddChidren(btnInfoIcon); |
| | | btnInfoIcon.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | LoadInfo(sensor); |
| | | }; |
| | | } |
| | | |
| | | var btnSensorValues = new Button() |
| | | { |
| | | X = Application.GetRealWidth(72), |
| | | Y = Application.GetRealWidth(17), |
| | | Width = Application.GetRealWidth(70), |
| | | Height = Application.GetRealWidth(30), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.EmphasisFontSize_Secondary, |
| | | IsBold = true, |
| | | Text = sensor.values.ToString(), |
| | | Tag = "SensorValues" |
| | | }; |
| | | sensorView.AddChidren(btnSensorValues); |
| | | |
| | | var btnLevel = new Button() |
| | | { |
| | | X = Application.GetRealWidth(70), |
| | | Y = btnSensorValues.Bottom, |
| | | Width = Application.GetRealWidth(50), |
| | | Height = Application.GetRealWidth(18), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = sensor.levelColorList[sensor.curLevel - 1], |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | | TextID = sensor.levelTextList[sensor.curLevel - 1], |
| | | Tag = "SensorLevel" |
| | | }; |
| | | sensorView.AddChidren(btnLevel); |
| | | |
| | | Control.Send(CommandType_A.read, sensor); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载传感器等级相关信息 |
| | | /// </summary> |
| | | /// <param name="btnInfo"></param> |
| | | /// <param name="sensor"></param> |
| | | void LoadInfo(Sensor sensor) |
| | | { |
| | | Dialog dialog = new Dialog(); |
| | | |
| | | FrameLayout dialogBodyView = new FrameLayout(); |
| | | dialog.AddChidren(dialogBodyView); |
| | | dialogBodyView.MouseUpEventHandler = (sender, e) => { |
| | | dialogBodyView.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | |
| | |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Animate = Animate.DownToUp, |
| | | ScrollEnabled = false |
| | | ScrollEnabled = false, |
| | | AnimateSpeed = 0.3f, |
| | | }; |
| | | dialogBodyView.AddChidren(infoView); |
| | | |
| | |
| | | }; |
| | | infoView.AddChidren(btnTitle); |
| | | |
| | | switch(sensor.functionType) |
| | | switch (sensor.functionType) |
| | | { |
| | | case FunctionType.PM10: |
| | | btnTitle.Text = "PM1.0(ug/m²)"; |
| | |
| | | case FunctionType.WindPower: |
| | | |
| | | break; |
| | | case FunctionType.Noise: |
| | | |
| | | break; |
| | | //case FunctionType.Noise: |
| | | // break; |
| | | case FunctionType.Temp: |
| | | btnTitle.Text = Language.StringByID(StringId.Temp )+ "(°C)"; |
| | | btnTitle.Text = Language.StringByID(StringId.Temp) + "(°C)"; |
| | | break; |
| | | case FunctionType.TVOC: |
| | | btnTitle.Text = "TVOC(PPM)"; |
| | |
| | | case FunctionType.Humidity: |
| | | btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)"; |
| | | break; |
| | | |
| | | |
| | | } |
| | | |
| | | FrameLayout subTitleView = new FrameLayout() |
| | |
| | | IsBold = true, |
| | | TextID = StringId.IntervalValue, |
| | | }); |
| | | |
| | | |
| | | subTitleView.AddChidren(new Button() |
| | | { |
| | |
| | | IsBold = true, |
| | | TextID = StringId.ColorValue, |
| | | }); |
| | | for (int index = 0; index < sensor.levelTextList.Count;index++) |
| | | for (int index = 0; index < sensor.levelTextList.Count; index++) |
| | | { |
| | | infoView.AddChidren(new Button() |
| | | { |
| | |
| | | Height = Application.GetRealWidth(1), |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | }); |
| | | |
| | | |
| | | FrameLayout subInfoView = new FrameLayout() |
| | | { |
| | |
| | | Text = sensor.intervalValue[index] |
| | | }); |
| | | |
| | | |
| | | subInfoView.AddChidren(new Button() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | IsBold = true, |
| | | TextID =sensor.levelTextList[index] |
| | | TextID = sensor.levelTextList[index] |
| | | }); |
| | | |
| | | subInfoView.AddChidren(new Button() |
| | |
| | | Radius = (uint)Application.GetRealWidth(4), |
| | | BackgroundColor = sensor.levelColorList[index] |
| | | }); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | dialog.Show(); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 房间列表点击事件 |
| | |
| | | using System; |
| | | using HDL_ON.Entity; |
| | | using Shared; |
| | | namespace HDL_ON.UI |
| | | { |
| | | public partial class EnvironmentalSciencePage |
| | |
| | | |
| | | } |
| | | |
| | | void LoadEvent_ChangeWeatherIcon(Shared.Button btnWeatherIcon) |
| | | public static void LoadEvent_UpdataStatus(Sensor sensor) |
| | | { |
| | | Application.RunOnMainThread(() =>{ |
| | | if (bodyView != null) |
| | | { |
| | | for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++) |
| | | { |
| | | var sensorTag = sensor.sid; |
| | | if (sensor.bus_Data != null) |
| | | { |
| | | sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.LoopID; |
| | | } |
| | | var view = bodyView.sensorListView.GetChildren(i); |
| | | if (view.GetType() == typeof(FrameLayout)) |
| | | { |
| | | if(view.Tag.ToString() != sensorTag) |
| | | { |
| | | continue; |
| | | } |
| | | for (int j = 0; j < (view as FrameLayout).ChildrenCount; j++) |
| | | { |
| | | var btn = (view as FrameLayout).GetChildren(j); |
| | | if (btn.GetType() == typeof(Button)) |
| | | { |
| | | if (btn.Tag!=null) |
| | | { |
| | | var tag = btn.Tag.ToString(); |
| | | if (tag == "SensorValues") |
| | | { |
| | | (btn as Button).Text = sensor.values.ToString(); |
| | | } |
| | | else if (tag == "SensorLevel") |
| | | { |
| | | (btn as Button).TextID = sensor.levelTextList[sensor.curLevel - 1]; |
| | | } |
| | | } |
| | | } |
| | | else if (btn.GetType() == typeof(ArcSeekBar)) |
| | | { |
| | | (btn as ArcSeekBar).ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1]; |
| | | (btn as ArcSeekBar).Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | void LoadEvent_ChangeWeatherIcon(Button btnWeatherIcon) |
| | | { |
| | | |
| | | switch (MainPage.cityInfo.weather) |
| | |
| | | case FunctionType.PM25: |
| | | yStrings.Add( Math.Round(random.NextDouble() * 130, 0).ToString()); |
| | | break; |
| | | case FunctionType.Noise: |
| | | break; |
| | | //case FunctionType.Noise: |
| | | // break; |
| | | case FunctionType.WindPower: |
| | | break; |
| | | case FunctionType.CO2: |
| | |
| | | //_levelTextList.Add(StringId.MildPollution); |
| | | //_levelTextList.Add(StringId.HeavyPollution); |
| | | //break; |
| | | case FunctionType.Noise: |
| | | break; |
| | | //case FunctionType.Noise: |
| | | // break; |
| | | case FunctionType.WindPower: |
| | | break; |
| | | case FunctionType.CO2: |
| | |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(287), |
| | | BackgroundImagePath = "FunctionIcon/AC/DivBg1.png", |
| | | AnimateSpeed = 0.3f, |
| | | Animate = Animate.DownToUp, |
| | | }; |
| | | dialogView.AddChidren(modeChangeView); |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31LocalMusicList : FrameLayout |
| | | { |
| | | public A31LocalMusicList() |
| | | { |
| | | Tag = "Music"; |
| | | } |
| | | VerticalRefreshLayout middViewLayout; |
| | | /// <summary> |
| | | /// 先加载界面出来 |
| | | /// </summary> |
| | | public void Show() |
| | | { |
| | | #region 界面布局------ |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.TextID = StringId.localMusic; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | this.RemoveFromParent(); |
| | | }; |
| | | middViewLayout = new VerticalRefreshLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | middViewLayout.BeginHeaderRefreshingAction += () => |
| | | { |
| | | middViewLayout.EndHeaderRefreshing(); |
| | | }; |
| | | #endregion |
| | | MusicView(); |
| | | } |
| | | /// <summary> |
| | | /// 加载数据的方法 |
| | | /// </summary> |
| | | public void MusicView() |
| | | { |
| | | middViewLayout.RemoveAll(); |
| | | for (int i = 0; i < MusicInfo.MusicInfoList.Count; i++) |
| | | { |
| | | var songs = MusicInfo.MusicInfoList[i]; |
| | | |
| | | if (songs == null) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | songs.URL = "http://" + new Shared.Net.NetWiFi().IpAddress + ":" + com.hdl.on.Server.Port + "/" + songs.ID; |
| | | |
| | | |
| | | if (string.IsNullOrEmpty(songs.Title)) |
| | | { |
| | | //防止歌曲名字为空抛异常 |
| | | songs.Title = " "; |
| | | } |
| | | if (string.IsNullOrEmpty(songs.Artist)) |
| | | { |
| | | //防止歌手名字为空抛异常 |
| | | songs.Artist = " "; |
| | | } |
| | | FrameLayout musicViewFl = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | middViewLayout.AddChidren(musicViewFl); |
| | | //列表当前播放音乐图标 |
| | | Button playIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/playStatus.png", |
| | | Visible = false, |
| | | Name = "playStatus", |
| | | Tag = songs.URL, |
| | | }; |
| | | musicViewFl.AddChidren(playIconBtn); |
| | | //歌曲控件 |
| | | Button songBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Name = "song", |
| | | Tag = songs.URL, |
| | | Text = songs.Title.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(songBtn); |
| | | var wText = songBtn.GetTextWidth();//获取文本宽度 |
| | | ///(歌曲+歌手)宽度最大值时280 |
| | | if (wText > 280) |
| | | { |
| | | |
| | | songBtn.Width = Application.GetRealWidth(280); |
| | | } |
| | | else |
| | | { |
| | | songBtn.Width = wText + 5; |
| | | } |
| | | //歌手控件 |
| | | Button singerBtn = new Button |
| | | { |
| | | X = songBtn.Right, |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(280 - songBtn.Width), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | //Text =("-" +songs.Artist).Trim(), |
| | | Name = "singer", |
| | | Tag = songs.URL, |
| | | Text = "-" + songs.Artist.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(singerBtn); |
| | | if (wText > 280) |
| | | { |
| | | ///歌名长度小于250才可以显示歌手出来 |
| | | singerBtn.Width = Application.GetRealWidth(0); |
| | | } |
| | | //添加喜爱音乐控件 |
| | | Button loveIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(291), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/love.png", |
| | | SelectedImagePath = "MusicIcon/loveSelected.png", |
| | | }; |
| | | musicViewFl.AddChidren(loveIcon); |
| | | loveIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | loveIcon.IsSelected = !loveIcon.IsSelected; |
| | | if (loveIcon.IsSelected) |
| | | { |
| | | ///查找音乐是否存在在列表 |
| | | var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music1 == null) |
| | | { |
| | | ///没有存在就添加 |
| | | A31MusicModel.Current.LoveMusicInfoList.Add(songs); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ///查找音乐是否存在在列表 |
| | | var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music1 != null) |
| | | { |
| | | ///存在就删除 |
| | | A31MusicModel.Current.LoveMusicInfoList.Remove(songs); |
| | | } |
| | | |
| | | } |
| | | A31MusicModel.Save(); |
| | | }; |
| | | var music = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music != null) |
| | | { |
| | | loveIcon.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | loveIcon.IsSelected = false; |
| | | } |
| | | |
| | | //添加到我的列表 |
| | | Button addIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(335), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/addMusic1.png", |
| | | }; |
| | | musicViewFl.AddChidren(addIcon); |
| | | addIcon.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | new View.DialogView { }.FieListView(songs); |
| | | }; |
| | | |
| | | //点击控件 |
| | | Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealHeight(44), |
| | | Tag = songs,//标记播放哪一首歌曲 |
| | | }; |
| | | musicViewFl.AddChidren(clickBtn); |
| | | ///点击播放事件 |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | A31MusicModel.Current.A31PlayStatus.Title = songBtn.Text; |
| | | MainPage.BasePageView.RemoveViewByTag("Music"); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | PushList(songs, Language.StringByID(StringId.localMusic), MusicInfo.MusicInfoList); |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 定时更新当前播放音乐 |
| | | /// </summary> |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | public void UpdateSelectedMusic() |
| | | { |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < middViewLayout.ChildrenCount; i++) |
| | | { |
| | | FrameLayout view = (FrameLayout)middViewLayout.GetChildren(i); |
| | | var volIconBtn = (Button)view.GetChildren(0);//直接FrameLayout父控件找到该控件Button |
| | | var songNameBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button |
| | | var artistNameBtn = (Button)view.GetChildren(2);//直接FrameLayout父控件找到该控件Button |
| | | if (A31MusicModel.Current.A31PlayStatus.TrackURL == songNameBtn.Tag.ToString()) |
| | | { |
| | | volIconBtn.Visible = true; |
| | | songNameBtn.TextColor = Color.SelectedColor; |
| | | songNameBtn.X = Application.GetRealWidth(48); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.SelectedColor; |
| | | } |
| | | else |
| | | { |
| | | volIconBtn.Visible = false; |
| | | songNameBtn.TextColor = Color.MusicTxet14Color; |
| | | songNameBtn.X = Application.GetRealWidth(16); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.MusicNoTxetColor; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | }); |
| | | updateSelectedMusicThread.Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 推送播放命令 |
| | | /// </summary> |
| | | /// <param name="musicInfo">播放音乐</param> |
| | | /// <param name="listName">列表名称</param> |
| | | /// <param name="musicList">推送列表(默认推50首)</param> |
| | | public void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList) |
| | | { |
| | | |
| | | //最大发送的条数 |
| | | int maxCount = 50; |
| | | //找出当前点击音乐的索引 |
| | | int statIndex = musicList.FindIndex((obj) => { return obj == musicInfo; }); |
| | | //点击后面还有多少条音乐 |
| | | int count = musicList.Count - statIndex; |
| | | int endIndex = 0; |
| | | if (maxCount < count) |
| | | { |
| | | //如果后面的音乐大于最大数,设置后面数据的最大索引 |
| | | endIndex = statIndex + maxCount - 1; |
| | | } |
| | | else |
| | | { |
| | | //如果后面数据不多,就用总数减去最大条数,得到开始索引 |
| | | statIndex = musicList.Count - maxCount - 1; |
| | | endIndex = musicList.Count - 1; |
| | | } |
| | | //如果开始索引小于0,那就设置为第一条音乐 |
| | | if (statIndex < 0) |
| | | { |
| | | statIndex = 0; |
| | | } |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:CreateQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | sb.AppendLine("<QueueContext><?xml version=\"1.0\"?>"); |
| | | sb.AppendLine("<PlayList>"); |
| | | sb.AppendLine("<ListName>DLNA" + listName + "</ListName>"); |
| | | sb.AppendLine("<ListInfo>"); |
| | | sb.AppendLine("<Radio>0</Radio>");// |
| | | sb.AppendLine("<SourceName>UPnPServer</SourceName>");// |
| | | sb.AppendLine("<MarkSearch>0</MarkSearch>"); |
| | | sb.AppendLine("<TrackNumber>" + (endIndex - statIndex + 1) + "</TrackNumber>"); |
| | | sb.AppendLine("<Quality>0</Quality>"); |
| | | sb.AppendLine("<UpdateTime>5367</UpdateTime>"); |
| | | sb.AppendLine("<LastPlayIndex>2</LastPlayIndex>"); |
| | | sb.AppendLine("<SwitchPageMode>0</SwitchPageMode>"); |
| | | sb.AppendLine("<CurrentPage>0</CurrentPage>"); |
| | | sb.AppendLine("<TotalPages>0</TotalPages>"); |
| | | sb.AppendLine("</ListInfo>"); |
| | | sb.AppendLine("<Tracks>"); |
| | | |
| | | int number = 1; |
| | | |
| | | for (int i = statIndex, Tracknumber = 1; i <= endIndex; i++, Tracknumber++) |
| | | { |
| | | var tempMusicInfo = musicList[i]; |
| | | |
| | | if (musicInfo == tempMusicInfo) |
| | | { |
| | | number = Tracknumber; |
| | | } |
| | | |
| | | if (tempMusicInfo.SourceType == "Local") |
| | | { |
| | | tempMusicInfo.URL = "http://" + new Shared.Net.NetWiFi().IpAddress + ":" + com.hdl.on.Server.Port + "/" + tempMusicInfo.ID; |
| | | } |
| | | |
| | | |
| | | sb.AppendLine("<Track" + Tracknumber + ">"); |
| | | sb.AppendLine("<URL>" + tempMusicInfo.URL + "</URL>"); |
| | | sb.AppendLine("<Metadata>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;"); |
| | | sb.AppendLine("&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:song=&quot;www.wiimu.com/song/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;"); |
| | | sb.AppendLine("&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;"); |
| | | sb.AppendLine("&lt;item id=&quot;0&quot;&gt;"); |
| | | sb.AppendLine("&lt;song:subid&gt;&lt;/song:subid&gt;"); |
| | | sb.AppendLine("&lt;song:description&gt;unknown&lt;/song:description&gt;"); |
| | | sb.AppendLine("&lt;song:skiplimit&gt;6&lt;/song:skiplimit&gt;"); |
| | | sb.AppendLine("&lt;song:id&gt;" + tempMusicInfo.ID + "&lt;/song:id&gt;"); |
| | | sb.AppendLine("&lt;song:like&gt;0&lt;/song:like&gt;"); |
| | | sb.AppendLine("&lt;song:singerid&gt;0&lt;/song:singerid&gt;"); |
| | | sb.AppendLine("&lt;song:albumid&gt;" + tempMusicInfo.AlbumId + "&lt;/song:albumid&gt;"); |
| | | |
| | | sb.AppendLine("&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&quot; duration=&quot;" + "0:0:0.0" + "&quot;&gt;" + tempMusicInfo.URL + "&lt;/res&gt;"); |
| | | |
| | | sb.AppendLine("&lt;dc:title&gt;" + tempMusicInfo.Title + "&lt;/dc:title&gt;"); |
| | | sb.AppendLine("&lt;dc:creator&gt;DJ Sanny J&lt;/dc:creator&gt;"); |
| | | sb.AppendLine("&lt;upnp:artist&gt;" + tempMusicInfo.Artist + "&lt;/upnp:artist&gt;"); |
| | | sb.AppendLine("&lt;upnp:album&gt;" + tempMusicInfo.Album + "&lt;/upnp:album&gt;"); |
| | | sb.AppendLine("&lt;upnp:albumArtURI&gt;unknown&lt;/upnp:albumArtURI&gt;"); |
| | | sb.AppendLine("&lt;/item&gt;"); |
| | | sb.AppendLine("&lt;/DIDL-Lite&gt;"); |
| | | sb.AppendLine("</Metadata>"); |
| | | sb.AppendLine("<Id>" + tempMusicInfo.ID + "</Id>"); |
| | | sb.AppendLine("<Source>STATION-NETWORK</Source>");//UPnPServer |
| | | sb.AppendLine("<Key>" + tempMusicInfo.URL + "</Key>"); |
| | | sb.AppendLine("</Track" + Tracknumber + ">"); |
| | | } |
| | | sb.AppendLine("</Tracks>"); |
| | | sb.AppendLine("</PlayList>"); |
| | | sb.AppendLine("</QueueContext>"); |
| | | sb.AppendLine("</u:CreateQueue>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | SendMusicLists(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, "CreateQueue", sb.ToString()); |
| | | |
| | | StringBuilder playString = new StringBuilder(); |
| | | playString.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | playString.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | playString.AppendLine("<s:Body>"); |
| | | playString.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | playString.AppendLine("<QueueName>DLNA" + listName + "</QueueName>"); |
| | | playString.AppendLine("<Index>" + number + "</Index>"); |
| | | playString.AppendLine("</u:PlayQueueWithIndex>"); |
| | | playString.AppendLine("</s:Body>"); |
| | | playString.AppendLine("</s:Envelope>"); |
| | | |
| | | Play(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, playString.ToString()); |
| | | } |
| | | |
| | | void SendMusicLists(string ip, int port, string soapAction, string listInfo) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#" + soapAction + "\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(listInfo)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | void Play(string ip, int port, string info) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(info)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31LoveList : FrameLayout |
| | | { |
| | | public A31LoveList() |
| | | { |
| | | Tag = "Music"; |
| | | } |
| | | |
| | | VerticalScrolViewLayout middViewLayout; |
| | | public void Show() |
| | | { |
| | | #region 界面布局------ |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.TextID = StringId.myLove; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | this.RemoveFromParent(); |
| | | }; |
| | | |
| | | |
| | | middViewLayout = new VerticalScrolViewLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | FileView(); |
| | | #endregion |
| | | } |
| | | /// <summary> |
| | | /// 加载文件夹View的方法 |
| | | /// </summary> |
| | | void FileView() |
| | | { |
| | | for (int i = 0; i < 2; i++) |
| | | { |
| | | RowLayout addFlieRow = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(104), |
| | | LineColor = Color.WhiteColor, |
| | | SubViewWidth = Application.GetRealWidth(90),//改变编辑控件宽度多少; |
| | | }; |
| | | middViewLayout.AddChidren(addFlieRow); |
| | | //文件图标 |
| | | Button fileIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(88), |
| | | Height = Application.GetMinRealAverage(88), |
| | | |
| | | }; |
| | | addFlieRow.AddChidren(fileIconBtn); |
| | | //播放/暂停图标 |
| | | Button playIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(78), |
| | | Y = Application.GetRealHeight(70), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/filePause.png", |
| | | SelectedImagePath = "MusicIcon/filePlay.png", |
| | | }; |
| | | addFlieRow.AddChidren(playIconBtn); |
| | | |
| | | |
| | | //文件名控件 |
| | | Button fileNameBtn = new Button |
| | | { |
| | | X = fileIconBtn.Right + Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(42), |
| | | Width = Application.GetRealWidth(217), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | addFlieRow.AddChidren(fileNameBtn); |
| | | if (i == 0) |
| | | { |
| | | fileIconBtn.UnSelectedImagePath = "MusicIcon/loveMusic.png"; |
| | | fileNameBtn.TextID = StringId.a31Music; |
| | | playIconBtn.Tag = Language.StringByID(StringId.a31Music);//记录列表名 |
| | | } |
| | | else |
| | | { |
| | | fileIconBtn.UnSelectedImagePath = "MusicIcon/loveRadio.png"; |
| | | fileNameBtn.TextID = StringId.radioLove; |
| | | playIconBtn.Tag = Language.StringByID(StringId.radioLove);//记录列表名 |
| | | } |
| | | //点击按钮随机播放音乐 |
| | | playIconBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | //点击按钮随机播放音乐 |
| | | if (fileNameBtn.Text == Language.StringByID(StringId.a31Music)) |
| | | { |
| | | ///喜爱音乐列表 |
| | | SelectedPaly(fileNameBtn.Text, A31MusicModel.Current.LoveMusicInfoList, playIconBtn); |
| | | } |
| | | else |
| | | { |
| | | ///喜爱电台列表 |
| | | SelectedPaly(fileNameBtn.Text, A31MusicModel.Current.LoveRadioInfoList, playIconBtn); |
| | | } |
| | | |
| | | }; |
| | | Button clickBtn = new Button |
| | | { |
| | | X = fileIconBtn.Right + Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(375 - 138), |
| | | Height = Application.GetRealHeight(104), |
| | | }; |
| | | addFlieRow.AddChidren(clickBtn); |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (fileNameBtn.Text == Language.StringByID(StringId.a31Music)) |
| | | { |
| | | ///喜爱音乐列表 |
| | | A31LoveMusicList a31LoveMusicList = new A31LoveMusicList(); |
| | | MainPage.BasePageView.AddChidren(a31LoveMusicList); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | a31LoveMusicList.Show(); |
| | | a31LoveMusicList.UpdateSelectedMusic(); |
| | | } |
| | | else |
| | | { |
| | | ///喜爱电台列表 |
| | | A31LoveRadioList a31LoveRadioList = new A31LoveRadioList(); |
| | | MainPage.BasePageView.AddChidren(a31LoveRadioList); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | a31LoveRadioList.Show(); |
| | | a31LoveRadioList.UpdateSelectedMusic(); |
| | | } |
| | | |
| | | }; |
| | | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 暂停/播放图标点击播放 |
| | | /// </summary> |
| | | /// <param name="listName"></param> |
| | | /// <param name="listMusic"></param> |
| | | /// <param name="playIconBtn"></param> |
| | | void SelectedPaly(string listName, List<MusicInfo> listMusic, Button playIconBtn) |
| | | { |
| | | |
| | | ///查找当前播放音乐是否这个列表 |
| | | if (playIconBtn.IsSelected) |
| | | { |
| | | if (listName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status == "play") |
| | | { |
| | | |
| | | SendMethod.Pause(A31MusicModel.Current); |
| | | A31MusicModel.Current.A31PlayStatus.status = "pause"; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (listMusic.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | if (listName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status != "play") |
| | | { |
| | | SendMethod.Play(A31MusicModel.Current); |
| | | A31MusicModel.Current.A31PlayStatus.status = "play"; |
| | | } |
| | | else |
| | | { |
| | | ///取随机数; |
| | | var ra = new Random { }.Next(0, listMusic.Count); |
| | | ///查找当前的音乐; |
| | | var songs = listMusic[ra]; |
| | | //点击按钮随机播放音乐 |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | PushList(songs, listName, listMusic); |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | } |
| | | } |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | /// <summary> |
| | | /// 定时更新文件夹播放状态 |
| | | /// </summary> |
| | | public void UpdateSelectedFile() |
| | | { |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < middViewLayout.ChildrenCount; i++) |
| | | { |
| | | RowLayout view = (RowLayout)middViewLayout.GetChildren(i); |
| | | var playBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button |
| | | ///查找当前播放音乐是否这个列表 |
| | | if (A31MusicModel.Current.A31PlayStatus.Artist == playBtn.Tag.ToString() && A31MusicModel.Current.A31PlayStatus.status == "play") |
| | | { |
| | | playBtn.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | playBtn.IsSelected = false; |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }; |
| | | updateSelectedMusicThread.Start(); |
| | | } |
| | | /// <summary> |
| | | /// 推送播放命令 |
| | | /// </summary> |
| | | /// <param name="musicInfo">播放音乐</param> |
| | | /// <param name="listName">列表名称</param> |
| | | /// <param name="musicList">推送列表(默认推50首)</param> |
| | | public void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList) |
| | | { |
| | | |
| | | //最大发送的条数 |
| | | int maxCount = 50; |
| | | //找出当前点击音乐的索引 |
| | | int statIndex = musicList.FindIndex((obj) => { return obj == musicInfo; }); |
| | | //点击后面还有多少条音乐 |
| | | int count = musicList.Count - statIndex; |
| | | int endIndex = 0; |
| | | if (maxCount < count) |
| | | { |
| | | //如果后面的音乐大于最大数,设置后面数据的最大索引 |
| | | endIndex = statIndex + maxCount - 1; |
| | | } |
| | | else |
| | | { |
| | | //如果后面数据不多,就用总数减去最大条数,得到开始索引 |
| | | statIndex = musicList.Count - maxCount - 1; |
| | | endIndex = musicList.Count - 1; |
| | | } |
| | | //如果开始索引小于0,那就设置为第一条音乐 |
| | | if (statIndex < 0) |
| | | { |
| | | statIndex = 0; |
| | | } |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:CreateQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | sb.AppendLine("<QueueContext><?xml version=\"1.0\"?>"); |
| | | sb.AppendLine("<PlayList>"); |
| | | sb.AppendLine("<ListName>DLNA" + listName + "</ListName>"); |
| | | sb.AppendLine("<ListInfo>"); |
| | | sb.AppendLine("<Radio>0</Radio>");// |
| | | sb.AppendLine("<SourceName>UPnPServer</SourceName>");// |
| | | sb.AppendLine("<MarkSearch>0</MarkSearch>"); |
| | | sb.AppendLine("<TrackNumber>" + (endIndex - statIndex + 1) + "</TrackNumber>"); |
| | | sb.AppendLine("<Quality>0</Quality>"); |
| | | sb.AppendLine("<UpdateTime>5367</UpdateTime>"); |
| | | sb.AppendLine("<LastPlayIndex>2</LastPlayIndex>"); |
| | | sb.AppendLine("<SwitchPageMode>0</SwitchPageMode>"); |
| | | sb.AppendLine("<CurrentPage>0</CurrentPage>"); |
| | | sb.AppendLine("<TotalPages>0</TotalPages>"); |
| | | sb.AppendLine("</ListInfo>"); |
| | | sb.AppendLine("<Tracks>"); |
| | | |
| | | int number = 1; |
| | | |
| | | for (int i = statIndex, Tracknumber = 1; i <= endIndex; i++, Tracknumber++) |
| | | { |
| | | var tempMusicInfo = musicList[i]; |
| | | |
| | | if (musicInfo == tempMusicInfo) |
| | | { |
| | | number = Tracknumber; |
| | | } |
| | | |
| | | if (tempMusicInfo.SourceType == "Local") |
| | | { |
| | | tempMusicInfo.URL = "http://" + new Shared.Net.NetWiFi().IpAddress + ":" + com.hdl.on.Server.Port + "/" + tempMusicInfo.ID; |
| | | } |
| | | |
| | | |
| | | sb.AppendLine("<Track" + Tracknumber + ">"); |
| | | sb.AppendLine("<URL>" + tempMusicInfo.URL + "</URL>"); |
| | | sb.AppendLine("<Metadata>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;"); |
| | | sb.AppendLine("&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:song=&quot;www.wiimu.com/song/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;"); |
| | | sb.AppendLine("&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;"); |
| | | sb.AppendLine("&lt;item id=&quot;0&quot;&gt;"); |
| | | sb.AppendLine("&lt;song:subid&gt;&lt;/song:subid&gt;"); |
| | | sb.AppendLine("&lt;song:description&gt;unknown&lt;/song:description&gt;"); |
| | | sb.AppendLine("&lt;song:skiplimit&gt;6&lt;/song:skiplimit&gt;"); |
| | | sb.AppendLine("&lt;song:id&gt;" + tempMusicInfo.ID + "&lt;/song:id&gt;"); |
| | | sb.AppendLine("&lt;song:like&gt;0&lt;/song:like&gt;"); |
| | | sb.AppendLine("&lt;song:singerid&gt;0&lt;/song:singerid&gt;"); |
| | | sb.AppendLine("&lt;song:albumid&gt;" + tempMusicInfo.AlbumId + "&lt;/song:albumid&gt;"); |
| | | |
| | | sb.AppendLine("&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&quot; duration=&quot;" + "0:0:0.0" + "&quot;&gt;" + tempMusicInfo.URL + "&lt;/res&gt;"); |
| | | |
| | | sb.AppendLine("&lt;dc:title&gt;" + tempMusicInfo.Title + "&lt;/dc:title&gt;"); |
| | | sb.AppendLine("&lt;dc:creator&gt;DJ Sanny J&lt;/dc:creator&gt;"); |
| | | sb.AppendLine("&lt;upnp:artist&gt;" + listName + "&lt;/upnp:artist&gt;"); |
| | | sb.AppendLine("&lt;upnp:album&gt;" + tempMusicInfo.Album + "&lt;/upnp:album&gt;"); |
| | | sb.AppendLine("&lt;upnp:albumArtURI&gt;unknown&lt;/upnp:albumArtURI&gt;"); |
| | | sb.AppendLine("&lt;/item&gt;"); |
| | | sb.AppendLine("&lt;/DIDL-Lite&gt;"); |
| | | sb.AppendLine("</Metadata>"); |
| | | sb.AppendLine("<Id>" + tempMusicInfo.ID + "</Id>"); |
| | | sb.AppendLine("<Source>STATION-NETWORK</Source>");//UPnPServer |
| | | sb.AppendLine("<Key>" + tempMusicInfo.URL + "</Key>"); |
| | | sb.AppendLine("</Track" + Tracknumber + ">"); |
| | | } |
| | | sb.AppendLine("</Tracks>"); |
| | | sb.AppendLine("</PlayList>"); |
| | | sb.AppendLine("</QueueContext>"); |
| | | sb.AppendLine("</u:CreateQueue>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | SendMusicLists(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, "CreateQueue", sb.ToString()); |
| | | |
| | | StringBuilder playString = new StringBuilder(); |
| | | playString.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | playString.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | playString.AppendLine("<s:Body>"); |
| | | playString.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | playString.AppendLine("<QueueName>DLNA" + listName + "</QueueName>"); |
| | | playString.AppendLine("<Index>" + number + "</Index>"); |
| | | playString.AppendLine("</u:PlayQueueWithIndex>"); |
| | | playString.AppendLine("</s:Body>"); |
| | | playString.AppendLine("</s:Envelope>"); |
| | | |
| | | Play(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, playString.ToString()); |
| | | } |
| | | |
| | | void SendMusicLists(string ip, int port, string soapAction, string listInfo) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#" + soapAction + "\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(listInfo)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | void Play(string ip, int port, string info) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(info)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using Shared; |
| | | using Shared.Net; |
| | | |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31LoveMusicList : FrameLayout |
| | | { |
| | | public A31LoveMusicList() |
| | | { |
| | | Tag = "Music"; |
| | | } |
| | | |
| | | VerticalRefreshLayout middViewLayout; |
| | | /// <summary> |
| | | /// 先加载界面出来 |
| | | /// </summary> |
| | | public void Show() |
| | | { |
| | | #region 界面布局------ |
| | | |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.TextID = StringId.a31Music; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | this.RemoveFromParent(); |
| | | }; |
| | | middViewLayout = new VerticalRefreshLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | middViewLayout.BeginHeaderRefreshingAction += () => |
| | | { |
| | | middViewLayout.EndHeaderRefreshing(); |
| | | }; |
| | | #endregion |
| | | MusicView(Language.StringByID(StringId.a31Music)); |
| | | } |
| | | /// <summary> |
| | | /// 加载数据的方法 |
| | | /// </summary> |
| | | public void MusicView(string listName) |
| | | { |
| | | middViewLayout.RemoveAll(); |
| | | for (int i = 0; i < A31MusicModel.Current.LoveMusicInfoList.Count; i++) |
| | | { |
| | | var songs = A31MusicModel.Current.LoveMusicInfoList[i]; |
| | | if (string.IsNullOrEmpty(songs.Title)) |
| | | { |
| | | //防止歌曲名字为空抛异常 |
| | | songs.Title = " "; |
| | | } |
| | | if (string.IsNullOrEmpty(songs.Artist)) |
| | | { |
| | | //防止歌手名字为空抛异常 |
| | | songs.Artist = " "; |
| | | } |
| | | FrameLayout musicViewFl = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | middViewLayout.AddChidren(musicViewFl); |
| | | //列表当前播放音乐图标 |
| | | Button playIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/playStatus.png", |
| | | Visible = false, |
| | | Name = "playStatus", |
| | | Tag = songs.URL, |
| | | }; |
| | | musicViewFl.AddChidren(playIconBtn); |
| | | //歌曲控件 |
| | | Button songBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Name = "song", |
| | | Tag = songs.URL, |
| | | Text = songs.Title.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(songBtn); |
| | | var wText = songBtn.GetTextWidth();//获取文本宽度 |
| | | ///(歌曲+歌手)宽度最大值时280 |
| | | if (wText > 280) |
| | | { |
| | | |
| | | songBtn.Width = Application.GetRealWidth(280); |
| | | } |
| | | else |
| | | { |
| | | songBtn.Width = wText + 5; |
| | | } |
| | | //歌手控件 |
| | | Button singerBtn = new Button |
| | | { |
| | | X = songBtn.Right, |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(280 - songBtn.Width), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | //Text =("-" +songs.Artist).Trim(), |
| | | Name = "singer", |
| | | Tag = songs.URL, |
| | | Text = "-" + songs.Artist.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(singerBtn); |
| | | if (wText > 280) |
| | | { |
| | | ///歌名长度小于250才可以显示歌手出来 |
| | | singerBtn.Width = Application.GetRealWidth(0); |
| | | } |
| | | //添加喜爱音乐控件 |
| | | Button loveIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(291), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/loveSelected.png", |
| | | }; |
| | | musicViewFl.AddChidren(loveIcon); |
| | | loveIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var music= A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music!= null) |
| | | { |
| | | ///存在就删除 |
| | | A31MusicModel.Current.LoveMusicInfoList.Remove(music); |
| | | } |
| | | A31MusicModel.Save(); |
| | | musicViewFl.RemoveFromParent(); |
| | | }; |
| | | |
| | | //添加到我的列表 |
| | | Button addIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(335), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/addMusic1.png", |
| | | }; |
| | | musicViewFl.AddChidren(addIcon); |
| | | addIcon.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | new View.DialogView { }.FieListView(songs); |
| | | }; |
| | | |
| | | //点击控件 |
| | | Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealHeight(44), |
| | | Tag = songs,//标记播放哪一首歌曲 |
| | | }; |
| | | musicViewFl.AddChidren(clickBtn); |
| | | ///点击播放事件 |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | A31MusicModel.Current.A31PlayStatus.Title = songBtn.Text; |
| | | MainPage.BasePageView.RemoveViewByTag("Music"); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | PushList(songs, listName, A31MusicModel.Current.LoveMusicInfoList); |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 定时更新当前播放音乐 |
| | | /// </summary> |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | public void UpdateSelectedMusic() |
| | | { |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < middViewLayout.ChildrenCount; i++) |
| | | { |
| | | FrameLayout view = (FrameLayout)middViewLayout.GetChildren(i); |
| | | var volIconBtn = (Button)view.GetChildren(0);//直接FrameLayout父控件找到该控件Button |
| | | var songNameBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button |
| | | var artistNameBtn = (Button)view.GetChildren(2);//直接FrameLayout父控件找到该控件Button |
| | | if (A31MusicModel.Current.A31PlayStatus.TrackURL == songNameBtn.Tag.ToString()) |
| | | { |
| | | volIconBtn.Visible = true; |
| | | songNameBtn.TextColor = Color.SelectedColor; |
| | | songNameBtn.X = Application.GetRealWidth(48); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.SelectedColor; |
| | | } |
| | | else |
| | | { |
| | | volIconBtn.Visible = false; |
| | | songNameBtn.TextColor = Color.MusicTxet14Color; |
| | | songNameBtn.X = Application.GetRealWidth(16); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.MusicNoTxetColor; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | }); |
| | | updateSelectedMusicThread.Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 推送播放命令 |
| | | /// </summary> |
| | | /// <param name="musicInfo">播放音乐</param> |
| | | /// <param name="listName">列表名称</param> |
| | | /// <param name="musicList">推送列表(默认推50首)</param> |
| | | public void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList) |
| | | { |
| | | |
| | | //最大发送的条数 |
| | | int maxCount = 50; |
| | | //找出当前点击音乐的索引 |
| | | int statIndex = musicList.FindIndex((obj) => { return obj == musicInfo; }); |
| | | //点击后面还有多少条音乐 |
| | | int count = musicList.Count - statIndex; |
| | | int endIndex = 0; |
| | | if (maxCount < count) |
| | | { |
| | | //如果后面的音乐大于最大数,设置后面数据的最大索引 |
| | | endIndex = statIndex + maxCount - 1; |
| | | } |
| | | else |
| | | { |
| | | //如果后面数据不多,就用总数减去最大条数,得到开始索引 |
| | | statIndex = musicList.Count - maxCount - 1; |
| | | endIndex = musicList.Count - 1; |
| | | } |
| | | //如果开始索引小于0,那就设置为第一条音乐 |
| | | if (statIndex < 0) |
| | | { |
| | | statIndex = 0; |
| | | } |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:CreateQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | sb.AppendLine("<QueueContext><?xml version=\"1.0\"?>"); |
| | | sb.AppendLine("<PlayList>"); |
| | | sb.AppendLine("<ListName>DLNA" + listName + "</ListName>"); |
| | | sb.AppendLine("<ListInfo>"); |
| | | sb.AppendLine("<Radio>0</Radio>");// |
| | | sb.AppendLine("<SourceName>UPnPServer</SourceName>");// |
| | | sb.AppendLine("<MarkSearch>0</MarkSearch>"); |
| | | sb.AppendLine("<TrackNumber>" + (endIndex - statIndex + 1) + "</TrackNumber>"); |
| | | sb.AppendLine("<Quality>0</Quality>"); |
| | | sb.AppendLine("<UpdateTime>5367</UpdateTime>"); |
| | | sb.AppendLine("<LastPlayIndex>2</LastPlayIndex>"); |
| | | sb.AppendLine("<SwitchPageMode>0</SwitchPageMode>"); |
| | | sb.AppendLine("<CurrentPage>0</CurrentPage>"); |
| | | sb.AppendLine("<TotalPages>0</TotalPages>"); |
| | | sb.AppendLine("</ListInfo>"); |
| | | sb.AppendLine("<Tracks>"); |
| | | |
| | | int number = 1; |
| | | |
| | | for (int i = statIndex, Tracknumber = 1; i <= endIndex; i++, Tracknumber++) |
| | | { |
| | | var tempMusicInfo = musicList[i]; |
| | | |
| | | if (musicInfo == tempMusicInfo) |
| | | { |
| | | number = Tracknumber; |
| | | } |
| | | |
| | | if (tempMusicInfo.SourceType == "Local") |
| | | { |
| | | tempMusicInfo.URL = "http://" + new NetWiFi().IpAddress + ":" + com.hdl.on.Server.Port + "/" + tempMusicInfo.ID; |
| | | } |
| | | |
| | | |
| | | sb.AppendLine("<Track" + Tracknumber + ">"); |
| | | sb.AppendLine("<URL>" + tempMusicInfo.URL + "</URL>"); |
| | | sb.AppendLine("<Metadata>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;"); |
| | | sb.AppendLine("&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:song=&quot;www.wiimu.com/song/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;"); |
| | | sb.AppendLine("&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;"); |
| | | sb.AppendLine("&lt;item id=&quot;0&quot;&gt;"); |
| | | sb.AppendLine("&lt;song:subid&gt;&lt;/song:subid&gt;"); |
| | | sb.AppendLine("&lt;song:description&gt;unknown&lt;/song:description&gt;"); |
| | | sb.AppendLine("&lt;song:skiplimit&gt;6&lt;/song:skiplimit&gt;"); |
| | | sb.AppendLine("&lt;song:id&gt;" + tempMusicInfo.ID + "&lt;/song:id&gt;"); |
| | | sb.AppendLine("&lt;song:like&gt;0&lt;/song:like&gt;"); |
| | | sb.AppendLine("&lt;song:singerid&gt;0&lt;/song:singerid&gt;"); |
| | | sb.AppendLine("&lt;song:albumid&gt;" + tempMusicInfo.AlbumId + "&lt;/song:albumid&gt;"); |
| | | |
| | | sb.AppendLine("&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&quot; duration=&quot;" + "0:0:0.0" + "&quot;&gt;" + tempMusicInfo.URL + "&lt;/res&gt;"); |
| | | |
| | | sb.AppendLine("&lt;dc:title&gt;" + tempMusicInfo.Title + "&lt;/dc:title&gt;"); |
| | | sb.AppendLine("&lt;dc:creator&gt;DJ Sanny J&lt;/dc:creator&gt;"); |
| | | sb.AppendLine("&lt;upnp:artist&gt;" + listName + "&lt;/upnp:artist&gt;"); |
| | | sb.AppendLine("&lt;upnp:album&gt;" + tempMusicInfo.Album + "&lt;/upnp:album&gt;"); |
| | | sb.AppendLine("&lt;upnp:albumArtURI&gt;unknown&lt;/upnp:albumArtURI&gt;"); |
| | | sb.AppendLine("&lt;/item&gt;"); |
| | | sb.AppendLine("&lt;/DIDL-Lite&gt;"); |
| | | sb.AppendLine("</Metadata>"); |
| | | sb.AppendLine("<Id>" + tempMusicInfo.ID + "</Id>"); |
| | | sb.AppendLine("<Source>STATION-NETWORK</Source>");//UPnPServer |
| | | sb.AppendLine("<Key>" + tempMusicInfo.URL + "</Key>"); |
| | | sb.AppendLine("</Track" + Tracknumber + ">"); |
| | | } |
| | | sb.AppendLine("</Tracks>"); |
| | | sb.AppendLine("</PlayList>"); |
| | | sb.AppendLine("</QueueContext>"); |
| | | sb.AppendLine("</u:CreateQueue>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | SendMusicLists(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, "CreateQueue", sb.ToString()); |
| | | |
| | | StringBuilder playString = new StringBuilder(); |
| | | playString.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | playString.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | playString.AppendLine("<s:Body>"); |
| | | playString.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | playString.AppendLine("<QueueName>DLNA" + listName + "</QueueName>"); |
| | | playString.AppendLine("<Index>" + number + "</Index>"); |
| | | playString.AppendLine("</u:PlayQueueWithIndex>"); |
| | | playString.AppendLine("</s:Body>"); |
| | | playString.AppendLine("</s:Envelope>"); |
| | | |
| | | Play(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, playString.ToString()); |
| | | } |
| | | |
| | | void SendMusicLists(string ip, int port, string soapAction, string listInfo) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#" + soapAction + "\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(listInfo)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | void Play(string ip, int port, string info) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(info)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Net; |
| | | using System.Text; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31LoveRadioList : FrameLayout |
| | | { |
| | | public A31LoveRadioList() |
| | | { |
| | | Tag = "Music"; |
| | | } |
| | | |
| | | VerticalRefreshLayout middViewLayout; |
| | | /// <summary> |
| | | /// 先加载界面出来 |
| | | /// </summary> |
| | | public void Show() |
| | | { |
| | | #region 界面布局------ |
| | | |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.TextID = StringId.radioLove; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | this.RemoveFromParent(); |
| | | }; |
| | | middViewLayout = new VerticalRefreshLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | middViewLayout.BeginHeaderRefreshingAction += () => |
| | | { |
| | | middViewLayout.EndHeaderRefreshing(); |
| | | }; |
| | | #endregion |
| | | MusicView(Language.StringByID(StringId.radioLove)); |
| | | } |
| | | /// <summary> |
| | | /// 加载数据的方法 |
| | | /// </summary> |
| | | public void MusicView(string listName) |
| | | { |
| | | middViewLayout.RemoveAll(); |
| | | for (int i = 0; i < A31MusicModel.Current.LoveRadioInfoList.Count; i++) |
| | | { |
| | | var radioInfo = A31MusicModel.Current.LoveRadioInfoList[i]; |
| | | if (string.IsNullOrEmpty(radioInfo.Title)) |
| | | { |
| | | //防止歌曲名字为空抛异常 |
| | | radioInfo.Title = " "; |
| | | } |
| | | FrameLayout radioViewFl = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(67), |
| | | }; |
| | | middViewLayout.AddChidren(radioViewFl); |
| | | //默认电台图标 |
| | | Button radioIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(18), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "MusicIcon/radioIcon.png", |
| | | }; |
| | | radioViewFl.AddChidren(radioIconBtn); |
| | | //电台名称 |
| | | Button radioNameBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(60), |
| | | Y = Application.GetRealHeight(23), |
| | | Width = Application.GetRealWidth(250), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = radioInfo.URL, |
| | | Text = radioInfo.Title.Trim() |
| | | }; |
| | | radioViewFl.AddChidren(radioNameBtn); |
| | | //添加喜爱电台 |
| | | Button loveIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(335), |
| | | Y = Application.GetRealHeight(20), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/loveSelected.png", |
| | | }; |
| | | radioViewFl.AddChidren(loveIcon); |
| | | loveIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var radioselected = A31MusicModel.Current.LoveRadioInfoList.Find((m) => m.URL == radioInfo.URL); |
| | | if (radioselected != null) |
| | | { |
| | | ///存在就删除 |
| | | A31MusicModel.Current.LoveRadioInfoList.Remove(radioInfo); |
| | | } |
| | | A31MusicModel.Save(); |
| | | radioViewFl.RemoveFromParent(); |
| | | }; |
| | | |
| | | //点击控件 |
| | | Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealHeight(44), |
| | | Tag = radioInfo,//标记播放哪一首歌曲 |
| | | }; |
| | | radioViewFl.AddChidren(clickBtn); |
| | | ///点击播放事件 |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | A31MusicModel.Current.A31PlayStatus.Title = radioNameBtn.Text; |
| | | MainPage.BasePageView.RemoveViewByTag("Music"); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | CnpushList(clickBtn.Tag as MusicInfo, listName); |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 定时更新当前播放音乐 |
| | | /// </summary> |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | public void UpdateSelectedMusic() |
| | | { |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < middViewLayout.ChildrenCount; i++) |
| | | { |
| | | FrameLayout view = (FrameLayout)middViewLayout.GetChildren(i); |
| | | var songNameBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button |
| | | if (A31MusicModel.Current.A31PlayStatus.Title == songNameBtn.Text.ToString()) |
| | | { |
| | | songNameBtn.TextColor = Color.SelectedColor; |
| | | } |
| | | else |
| | | { |
| | | songNameBtn.TextColor = Color.MusicTxet14Color; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | }); |
| | | updateSelectedMusicThread.Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | ///收藏列表电台播放 |
| | | /// </summary> |
| | | /// <param name="listName"></param> |
| | | public void CnpushList(MusicInfo musicInfo, string listName) |
| | | { |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>"); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:CreateQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | sb.AppendLine("<QueueContext>"); |
| | | sb.AppendLine("<?xml version="1.0" ?>"); |
| | | sb.AppendLine("<PlayList>"); |
| | | sb.AppendLine("<ListName>" + listName + "</ListName>"); |
| | | sb.AppendLine("<ListInfo>"); |
| | | sb.AppendLine("<Radio>1</Radio>"); |
| | | sb.AppendLine("<SourceName>TuneIn</SourceName>"); |
| | | sb.AppendLine("<TrackNumber>1</TrackNumber>"); |
| | | sb.AppendLine("<SearchUrl>http://opml.radiotime.com/Tune.ashx?id=s112201&amp;partnerId=yvcOjvJP</SearchUrl>"); |
| | | sb.AppendLine("<Quality>3</Quality>"); |
| | | sb.AppendLine("<RealIndex>0</RealIndex>"); |
| | | sb.AppendLine("<SrcParent></SrcParent>"); |
| | | sb.AppendLine("<PicUrl></PicUrl>"); |
| | | sb.AppendLine("</ListInfo>"); |
| | | sb.AppendLine("<Tracks>"); |
| | | |
| | | var url = musicInfo.URL; |
| | | |
| | | if (url != null) |
| | | { |
| | | url = url.TrimEnd('\n').Replace("&", "&amp;"); |
| | | } |
| | | else |
| | | { |
| | | return; |
| | | } |
| | | sb.AppendLine("<Track" + 1 + ">"); |
| | | sb.AppendLine("<Source>TuneIn</Source>"); |
| | | sb.AppendLine("<URL>" + url + "</URL>"); |
| | | sb.AppendLine("<Source>TuneIn</Source>"); |
| | | sb.AppendLine("<Id>0</Id>"); |
| | | sb.AppendLine("<Key>http://so.ard.iyyin.com/s/song_with_out?q=%E8%8A%B1%E9%83%BD%E7%94%B5%E5%8F%B0+100.5+%28%E6%B5%81%E8%A1%8C%E9%9F%B3%E4%B9%90%E5%89%8D40%29%20TuneIn&amp;size=50&amp;page=1</Key>"); |
| | | sb.AppendLine("<Metadata>"); |
| | | sb.AppendLine("&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:song=&quot;www.wiimu.com/song/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;"); |
| | | sb.AppendLine("&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;"); |
| | | sb.AppendLine("&lt;item&gt;"); |
| | | sb.AppendLine("&lt;song:bitrate&gt;0&lt;/song:bitrate&gt;"); |
| | | sb.AppendLine("&lt;song:id&gt;0&lt;/song:id&gt;"); |
| | | sb.AppendLine("&lt;song:singerid&gt;0&lt;/song:singerid&gt;"); |
| | | sb.AppendLine("&lt;song:albumid&gt;0&lt;/song:albumid&gt;"); |
| | | sb.AppendLine("&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&quot; duration=&quot;1000&quot;&gt;" + url + "&lt;/res&gt;"); |
| | | sb.AppendLine("&lt;dc:title&gt;" + musicInfo.Title + "&lt;/dc:title&gt;"); |
| | | sb.AppendLine("&lt;upnp:artist&gt;TuneIn&lt;/upnp:artist&gt;"); |
| | | sb.AppendLine("&lt;upnp:album&gt;&lt;/upnp:album&gt;"); |
| | | sb.AppendLine("&lt;upnp:albumArtURI&gt;" + musicInfo.Image + "&lt;/upnp:albumArtURI&gt;"); |
| | | sb.AppendLine("&lt;/item&gt;"); |
| | | sb.AppendLine("&lt;/DIDL-Lite&gt;"); |
| | | sb.AppendLine("</Metadata>"); |
| | | sb.AppendLine("</Track" + 1 + ">"); |
| | | |
| | | sb.AppendLine("</Tracks>"); |
| | | sb.AppendLine("</PlayList>"); |
| | | sb.AppendLine("</QueueContext>"); |
| | | sb.AppendLine("</u:CreateQueue>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | //sendMusicLists(a31.IPAddress, a31.Port, "CreateQueue", sb.ToString()); |
| | | sendMusicLists(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, "CreateQueue", sb.ToString()); |
| | | |
| | | StringBuilder playString = new StringBuilder(); |
| | | playString.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>"); |
| | | playString.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | playString.AppendLine("<s:Body>"); |
| | | playString.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | playString.AppendLine("<QueueName>" + listName + "</QueueName>"); |
| | | playString.AppendLine("<Index>" + 1 + "</Index>"); |
| | | playString.AppendLine("</u:PlayQueueWithIndex>"); |
| | | playString.AppendLine("</s:Body>"); |
| | | playString.AppendLine("</s:Envelope>"); |
| | | |
| | | play(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, playString.ToString()); |
| | | |
| | | } |
| | | |
| | | void sendMusicLists(string ip, int port, string soapAction, string listInfo) |
| | | { |
| | | WebClient webClient = new WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#" + soapAction + "\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(listInfo)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | void play(string ip, int port, string info) |
| | | { |
| | | WebClient webClient = new WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(info)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | |
| | | [System.Serializable] |
| | | public class A31MusicModel |
| | | { |
| | | public static List<A31MusicModel> A31MusicModelList = new List<A31MusicModel> { }; |
| | | static readonly string a31MusiceModeListFilePath = "A31MusiceModeListFilePath"; |
| | | static A31MusicModel() |
| | | { |
| | | Refresh(); |
| | | //Type = DeviceType.A31MusicModel; |
| | | } |
| | | /// <summary> |
| | | ///保存当前音乐列表 |
| | | /// </summary> |
| | | public static void Save() |
| | | { |
| | | FileUtils.WriteFileByBytes(a31MusiceModeListFilePath, System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(A31MusicModelList))); |
| | | } |
| | | |
| | | public static void Refresh() |
| | | { |
| | | if (null == Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<A31MusicModel>>(System.Text.Encoding.UTF8.GetString(FileUtils.ReadFile(a31MusiceModeListFilePath)))) |
| | | { |
| | | A31MusicModelList = new List<A31MusicModel> { }; |
| | | //初始化房间列表 |
| | | Save(); |
| | | } |
| | | else |
| | | { |
| | | A31MusicModelList = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<A31MusicModel>>(System.Text.Encoding.UTF8.GetString(FileUtils.ReadFile(a31MusiceModeListFilePath))); |
| | | } |
| | | if (A31MusicModelList == null) |
| | | { |
| | | A31MusicModelList = new List<A31MusicModel> { }; |
| | | } |
| | | A31MusicModelList.RemoveAll((obj) => obj == null); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 音乐播放器名称 |
| | | /// </summary> |
| | | public string Name=string.Empty; |
| | | /// <summary> |
| | | /// 上一次更新的时间 |
| | | /// 记录数据反馈的时间(因为有时间网络差数据不回复,导致刷新当前播放音乐时间不正确) |
| | | /// ((当前时间)DateTime.Now - (记录时间)LastDateTimeLastDateTime).TotalSeconds=误差时间(秒) |
| | | /// </summary> |
| | | public DateTime LastDateTime; |
| | | /// <summary> |
| | | /// IP地址 |
| | | /// </summary> |
| | | public string IPAddress = "192.168.1.100"; |
| | | |
| | | /// <summary> |
| | | /// 端口 |
| | | /// </summary> |
| | | public int Port = 49153; |
| | | |
| | | /// <summary> |
| | | /// 是否是播放器列表最后一个(true) |
| | | /// </summary> |
| | | public bool IsEnd=false; |
| | | |
| | | public int A31DeviceType; |
| | | |
| | | //public string a31Source = "wifi"; |
| | | //public string a31Source = string.Empty; |
| | | public string UniqueDeviceName = string.Empty; |
| | | |
| | | /// <summary> |
| | | /// 当前播放状态 |
| | | /// </summary> |
| | | public A31PlayStatus A31PlayStatus = new A31PlayStatus(); |
| | | |
| | | public MusicInfo CurrentMusic = new MusicInfo(); |
| | | |
| | | /// <summary> |
| | | ///当前播放的列表信息 |
| | | /// </summary> |
| | | public List<MusicInfo> CurrentPlayMusicInfoList = new List<MusicInfo>(); |
| | | |
| | | /// <summary> |
| | | /// 是否允许显示 |
| | | /// </summary> |
| | | public bool IsCanShow = true; |
| | | |
| | | /// <summary> |
| | | /// 是否在线,如果在线就允许读取信息 |
| | | /// </summary> |
| | | public bool IsOnLine = true; |
| | | |
| | | /// <summary> |
| | | /// 喜爱音乐列表 |
| | | /// </summary> |
| | | public List<MusicInfo> LoveMusicInfoList = new List<MusicInfo>(); |
| | | |
| | | /// <summary> |
| | | /// DLNA所有列表 |
| | | /// </summary> |
| | | public List<MusicInfo> dlnaMusicInfoLists = new List<MusicInfo>(); |
| | | |
| | | /// <summary> |
| | | /// 电台所有列表 |
| | | /// </summary> |
| | | public List<MusicInfo> CnRadioInfoList = new List<MusicInfo>(); |
| | | |
| | | /// <summary> |
| | | /// vTuner电台所有列表 |
| | | /// </summary> |
| | | public List<MusicInfo> vTunerList = new List<MusicInfo>(); |
| | | |
| | | /// <summary> |
| | | /// 喜爱电台列表 |
| | | /// </summary> |
| | | public List<MusicInfo> LoveRadioInfoList = new List<MusicInfo>(); |
| | | |
| | | /// <summary> |
| | | /// Pandora电台所有列表 |
| | | /// </summary> |
| | | public List<MusicInfo> PanRadioInfoList = new List<MusicInfo>(); |
| | | /// <summary> |
| | | /// usb列表 |
| | | /// </summary> |
| | | public List<MusicInfo> USBList= new List<MusicInfo>(); |
| | | /// <summary> |
| | | /// Tidal喜爱列表 |
| | | /// </summary> |
| | | public List<MusicInfo> TidalLikelist = new List<MusicInfo>(); |
| | | /// <summary> |
| | | ///创建音乐文件列表 |
| | | /// </summary> |
| | | public List<FileListInfo> FileLists= new List<FileListInfo>(); |
| | | /// <summary> |
| | | /// 当前的A31音乐播放器 |
| | | /// </summary> |
| | | public static A31MusicModel Current; |
| | | |
| | | /// <summary> |
| | | /// -1表示从的0表示默认1表示主的 |
| | | /// </summary> |
| | | public int ServerClientType; |
| | | /// <summary> |
| | | /// 记录主播放器IP |
| | | /// </summary> |
| | | public string MainPlayIP = string.Empty; |
| | | /// <summary> |
| | | /// 记录主播放器名称 |
| | | /// </summary> |
| | | public string MainPlayName = string.Empty; |
| | | |
| | | public Slaves Slave = new Slaves(); |
| | | |
| | | public static DateTime ProgressDateTime = DateTime.Now; |
| | | //static System.Threading.Tasks.Task task; |
| | | //音量列表 |
| | | //static List<int> volumeCommandList = new List<int> (); |
| | | |
| | | public static bool IsJson(string json) |
| | | { |
| | | try |
| | | { |
| | | if (null == Newtonsoft.Json.Linq.JObject.Parse(json)) |
| | | { |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | catch |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | [System.Serializable] |
| | | /// <summary> |
| | | /// 自己创建的列表信息 |
| | | /// </summary> |
| | | public class FileListInfo |
| | | { |
| | | /// <summary> |
| | | /// 列表名 |
| | | /// </summary> |
| | | public string ListName = string.Empty; |
| | | /// <summary> |
| | | /// 列表歌曲信息 |
| | | /// </summary> |
| | | public List<MusicInfo> MusicInfoList = new List<MusicInfo>(); |
| | | } |
| | | [System.Serializable] |
| | | public class TidalMusicInfo : MusicInfo |
| | | { |
| | | public MusicInfo MusicInfo; |
| | | public bool playurl = true; |
| | | } |
| | | [System.Serializable] |
| | | public class Slaves |
| | | { |
| | | /// <summary> |
| | | /// 从播放器值为0 |
| | | /// </summary> |
| | | public string slaves = "0"; |
| | | public List<Slave> slave_list = new List<Slave>(); |
| | | } |
| | | [System.Serializable] |
| | | public class Slave |
| | | { |
| | | public string name = string.Empty; |
| | | public string mask = string.Empty; |
| | | public string volume = string.Empty; |
| | | public string mute = string.Empty; |
| | | public string channel = string.Empty; |
| | | public string ip = string.Empty; |
| | | public string version = string.Empty; |
| | | public string uuid = string.Empty; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Security; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31MusicSourcePage:FrameLayout |
| | | { |
| | | public A31MusicSourcePage() |
| | | { |
| | | Tag = "Music"; |
| | | } |
| | | |
| | | |
| | | public void Show() |
| | | { |
| | | #region 界面布局------ |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.TextID = StringId.set; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | this.RemoveFromParent(); |
| | | }; |
| | | var middViewLayout = new VerticalScrolViewLayout |
| | | { |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | |
| | | #region 基础信息( 播放器 蓝牙 区域) |
| | | FrameLayout fL1 = new FrameLayout |
| | | { |
| | | Height = Application.GetRealHeight(202), |
| | | Width = Application.GetRealWidth(375), |
| | | }; |
| | | middViewLayout.AddChidren(fL1); |
| | | |
| | | View.MusicSourceView musicIfonView = new View.MusicSourceView(); |
| | | musicIfonView.fLayout.Height = Application.GetRealHeight(44); |
| | | musicIfonView.textBtn.TextID = StringId.information; |
| | | musicIfonView.textBtn.TextColor = Color.SelectedColor; |
| | | musicIfonView.textBtn.TextSize = TextSize.Text16; |
| | | musicIfonView.inputTextBtn.Visible = false; |
| | | musicIfonView.nextLevelBtn.Visible = false; |
| | | musicIfonView.FrameLayoutView(fL1, false); |
| | | |
| | | View.MusicSourceView playNameView = new View.MusicSourceView(); |
| | | playNameView.fLayout.Y = musicIfonView.fLayout.Bottom; |
| | | playNameView.textBtn.TextID = StringId.playerName; |
| | | playNameView.inputTextBtn.Text = A31MusicModel.Current.Name; |
| | | playNameView.FrameLayoutView(fL1, false); |
| | | |
| | | View.MusicSourceView bluetoothNameView = new View.MusicSourceView(); |
| | | bluetoothNameView.fLayout.Y = playNameView.fLayout.Bottom; |
| | | bluetoothNameView.textBtn.TextID = StringId.bluetoothName; |
| | | bluetoothNameView.inputTextBtn.Text = A31MusicModel.Current.Name; |
| | | bluetoothNameView.FrameLayoutView(fL1, false); |
| | | |
| | | View.MusicSourceView areaText = new View.MusicSourceView(); |
| | | areaText.fLayout.Y = bluetoothNameView.fLayout.Bottom; |
| | | areaText.FrameLayoutView(fL1, false); |
| | | areaText.nextLevelBtn.X = Application.GetRealWidth(339); |
| | | areaText.nextLevelBtn.Y = Application.GetRealHeight(17); |
| | | areaText.nextLevelBtn.Width = Application.GetMinRealAverage(16); |
| | | areaText.nextLevelBtn.Height = Application.GetMinRealAverage(16); |
| | | areaText.nextLevelBtn.UnSelectedImagePath = "MusicIcon/sourceNetx.png"; |
| | | areaText.lineBtn.BackgroundColor = Color.WhiteColor; |
| | | areaText.textBtn.X = Application.GetRealWidth(16); |
| | | areaText.textBtn.TextID = StringId.region; |
| | | areaText.inputTextBtn.TextID = StringId.region; |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #region 歌单(我的最爱 我的列表) |
| | | FrameLayout fL2 = new FrameLayout |
| | | { |
| | | Height = Application.GetRealHeight(152), |
| | | Width = Application.GetRealWidth(375), |
| | | }; |
| | | middViewLayout.AddChidren(fL2); |
| | | |
| | | View.MusicSourceView playListView = new View.MusicSourceView(); |
| | | playListView.fLayout.Height = Application.GetRealHeight(44); |
| | | playListView.textBtn.TextID = StringId.playList; |
| | | playListView.textBtn.TextColor = Color.SelectedColor; |
| | | playListView.textBtn.TextSize = TextSize.Text16; |
| | | playListView.inputTextBtn.Visible = false; |
| | | playListView.nextLevelBtn.Visible = false; |
| | | playListView.FrameLayoutView(fL2, false); |
| | | |
| | | View.MusicSourceView myLoveView = new View.MusicSourceView(); |
| | | myLoveView.fLayout.Y = playListView.fLayout.Bottom; |
| | | myLoveView.iconBtn.UnSelectedImagePath = "MusicIcon/myLove.png"; |
| | | myLoveView.textBtn.TextID = StringId.myLove; |
| | | myLoveView.FrameLayoutView(fL2); |
| | | |
| | | View.MusicSourceView myListView = new View.MusicSourceView(); |
| | | myListView.fLayout.Y = myLoveView.fLayout.Bottom; |
| | | myListView.iconBtn.UnSelectedImagePath = "MusicIcon/myList.png"; |
| | | myListView.textBtn.TextID = StringId.myList; |
| | | myListView.FrameLayoutView(fL2); |
| | | |
| | | #endregion |
| | | |
| | | #region 选择音源( 本地音乐,USB,在线电台,QQ音乐,蓝牙,线路输入) |
| | | FrameLayout fL3 = new FrameLayout |
| | | { |
| | | Height = Application.GetRealHeight(352), |
| | | Width = Application.GetRealWidth(375), |
| | | }; |
| | | middViewLayout.AddChidren(fL3); |
| | | |
| | | View.MusicSourceView selectedSourceView = new View.MusicSourceView(); |
| | | selectedSourceView.fLayout.Height = Application.GetRealHeight(44); |
| | | selectedSourceView.textBtn.TextID = StringId.selectedSource; |
| | | selectedSourceView.textBtn.TextColor = Color.SelectedColor; |
| | | selectedSourceView.textBtn.TextSize = TextSize.Text16; |
| | | selectedSourceView.inputTextBtn.Visible = false; |
| | | selectedSourceView.nextLevelBtn.Visible = false; |
| | | selectedSourceView.FrameLayoutView(fL3, false); |
| | | |
| | | View.MusicSourceView localMusicSourceView = new View.MusicSourceView(); |
| | | localMusicSourceView.fLayout.Y = selectedSourceView.fLayout.Bottom; |
| | | localMusicSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/localMusic.png"; |
| | | localMusicSourceView.textBtn.TextID = StringId.localMusic; |
| | | localMusicSourceView.FrameLayoutView(fL3); |
| | | |
| | | View.MusicSourceView usbSourceView = new View.MusicSourceView(); |
| | | usbSourceView.fLayout.Y = localMusicSourceView.fLayout.Bottom; |
| | | usbSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/usb.png"; |
| | | usbSourceView.textBtn.TextID = StringId.usb; |
| | | usbSourceView.FrameLayoutView(fL3); |
| | | |
| | | View.MusicSourceView radioSourceView = new View.MusicSourceView(); |
| | | radioSourceView.fLayout.Y = usbSourceView.fLayout.Bottom; |
| | | radioSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/radio.png"; |
| | | radioSourceView.textBtn.TextID = StringId.radio; |
| | | radioSourceView.FrameLayoutView(fL3); |
| | | |
| | | View.MusicSourceView qqMusicSourceView = new View.MusicSourceView(); |
| | | qqMusicSourceView.fLayout.Y = radioSourceView.fLayout.Bottom; |
| | | qqMusicSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/qqMusic.png"; |
| | | qqMusicSourceView.textBtn.TextID = StringId.qqMusic; |
| | | qqMusicSourceView.FrameLayoutView(fL3); |
| | | |
| | | View.MusicSourceView bluetoothSourceView = new View.MusicSourceView(); |
| | | bluetoothSourceView.fLayout.Y = qqMusicSourceView.fLayout.Bottom; |
| | | bluetoothSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/bluetooth.png"; |
| | | bluetoothSourceView.textBtn.TextID = StringId.bluetooth; |
| | | bluetoothSourceView.FrameLayoutView(fL3); |
| | | |
| | | View.MusicSourceView lineSourceView = new View.MusicSourceView(); |
| | | lineSourceView.fLayout.Y = bluetoothSourceView.fLayout.Bottom; |
| | | lineSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/line.png"; |
| | | lineSourceView.textBtn.TextID = StringId.line; |
| | | lineSourceView.FrameLayoutView(fL3); |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #endregion |
| | | |
| | | #region 所有点击事件 |
| | | ///播放器修改名称事件 |
| | | playNameView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | new View.TipView().InputBox(StringId.modifyName, A31MusicModel.Current.Name, StringId.nameNull, (playerName) => |
| | | { |
| | | |
| | | playNameView.inputTextBtn.Text = playerName; |
| | | A31MusicModel.Current.Name = playerName; |
| | | string url = "http://" + A31MusicModel.Current.IPAddress + "/httpapi.asp?command=setDeviceName:" + A31MusicModel.Current.Name; |
| | | SendMethod.SendCommand(url); |
| | | }); |
| | | |
| | | }; |
| | | ///蓝牙修改名称事件 |
| | | bluetoothNameView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | new View.TipView().InputBox(StringId.modifyName, A31MusicModel.Current.Name, StringId.nameNull, (bluetoothName) => |
| | | { |
| | | bluetoothNameView.inputTextBtn.Text = bluetoothName; |
| | | SendMethod.ModifyBluetoothName("MCU+PAS+BT" + bluetoothName.Trim() + "*&"); |
| | | }); |
| | | |
| | | }; |
| | | ///我的喜爱事件 |
| | | myLoveView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | A31LoveList a31LoveList = new A31LoveList(); |
| | | MainPage.BasePageView.AddChidren(a31LoveList); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | a31LoveList.Show(); |
| | | a31LoveList.UpdateSelectedFile(); |
| | | }; |
| | | ///我的列表事件 |
| | | myListView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | A31MyList a31MyList = new A31MyList(); |
| | | MainPage.BasePageView.AddChidren(a31MyList); |
| | | a31MyList.Show(); |
| | | a31MyList.UpdateSelectedFile(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | ///本地音乐事件 |
| | | localMusicSourceView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | A31LocalMusicList a31LocalMusicList = new A31LocalMusicList(); |
| | | MainPage.BasePageView.AddChidren(a31LocalMusicList); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | a31LocalMusicList.Show(); |
| | | a31LocalMusicList.UpdateSelectedMusic(); |
| | | }; |
| | | ///USB事件 |
| | | usbSourceView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | A31USBMusicList usbMusic = new A31USBMusicList(); |
| | | MainPage.BasePageView.AddChidren(usbMusic); |
| | | usbMusic.UIView(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | Loading loading = new Loading(); |
| | | usbMusic.AddChidren(loading); |
| | | loading.Start(); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | try |
| | | { |
| | | if (A31MusicModel.Current.USBList.Count == 0) |
| | | { |
| | | //进来读一次(注意:播放地址可能会改变,导致播放不了音乐;解决:进来都去去读取最新数据) |
| | | var list = SendMethod.GetUsbList(A31MusicModel.Current); |
| | | A31MusicModel.Current.USBList.AddRange(list); |
| | | } |
| | | } |
| | | catch |
| | | { |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | usbMusic.Show(); |
| | | usbMusic.UpdateSelectedMusic(); |
| | | }); |
| | | } |
| | | }); |
| | | }; |
| | | ///在线电台事件 |
| | | radioSourceView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Loading loading = new Loading(); |
| | | this.AddChidren(loading); |
| | | loading.Start(); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | var radioList = SendMethod.ReadRadioList("http://opml.radiotime.com/Browse.ashx?partnerId=yvcOjvJP"); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | A31Radio a31Radio = new A31Radio(); |
| | | MainPage.BasePageView.AddChidren(a31Radio); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | a31Radio.Show(radioList); |
| | | }); |
| | | }); |
| | | }; |
| | | ///QQ音乐事件 |
| | | qqMusicSourceView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | string str = "com.tencent.qqmusic"; |
| | | if (Application.DeviceType == Device.Ios) |
| | | { |
| | | str = "qqmusic:"; |
| | | } |
| | | CommonClass.OpenApp(str); |
| | | }; |
| | | ///蓝牙事件 |
| | | bluetoothSourceView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | this.RemoveFromParent(); |
| | | string url = "http://" + A31MusicModel.Current.IPAddress + "/httpapi.asp?command=setPlayerCmd:switchmode:bluetooth"; |
| | | SendMethod.SendCommand(url); |
| | | }; |
| | | ///线路输入事件 |
| | | lineSourceView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | this.RemoveFromParent(); |
| | | string url = "http://" + A31MusicModel.Current.IPAddress + "/httpapi.asp?command=setPlayerCmd:switchmode:line-in"; |
| | | SendMethod.SendCommand(url); |
| | | }; |
| | | #endregion |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31MyList : FrameLayout |
| | | { |
| | | public A31MyList() |
| | | { |
| | | Tag = "Music"; |
| | | } |
| | | VerticalScrolViewLayout middViewLayout; |
| | | public void Show() |
| | | { |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.TextID = StringId.myList; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | this.RemoveFromParent(); |
| | | }; |
| | | |
| | | |
| | | Button addIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(336), |
| | | Y = Application.GetRealHeight(30), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/addMusic.png", |
| | | }; |
| | | topView.TopFLayoutView().AddChidren(addIconBtn); |
| | | addIconBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var fileNameList = new List<string>(); |
| | | fileNameList.Clear(); |
| | | foreach (var stringName in A31MusicModel.Current.FileLists) |
| | | { |
| | | fileNameList.Add(stringName.ListName); |
| | | |
| | | } |
| | | new View.TipView().InputBox(StringId.addNewList, "", StringId.listNameNull, StringId.listNamesSame, fileNameList, (name) => |
| | | { |
| | | |
| | | A31MusicModel.Current.FileLists.Add(new FileListInfo { ListName = name, }); |
| | | A31MusicModel.Save(); |
| | | FileView(); |
| | | }); |
| | | }; |
| | | |
| | | middViewLayout = new VerticalScrolViewLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | FileView(); |
| | | |
| | | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 加载文件夹View的方法 |
| | | /// </summary> |
| | | void FileView() |
| | | { |
| | | middViewLayout.RemoveAll(); |
| | | for (int i = 0; i < A31MusicModel.Current.FileLists.Count; i++) |
| | | { |
| | | var list = A31MusicModel.Current.FileLists[i]; |
| | | RowLayout addFlieRow = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(104), |
| | | LineColor = Color.WhiteColor, |
| | | SubViewWidth = Application.GetRealWidth(90),//改变编辑控件宽度多少; |
| | | }; |
| | | middViewLayout.AddChidren(addFlieRow); |
| | | //文件图标 |
| | | Button fileIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(88), |
| | | Height = Application.GetMinRealAverage(88), |
| | | UnSelectedImagePath = "MusicIcon/fileList.png", |
| | | }; |
| | | addFlieRow.AddChidren(fileIconBtn); |
| | | //播放/暂停图标 |
| | | Button playIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(78), |
| | | Y = Application.GetRealHeight(70), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/filePause.png", |
| | | SelectedImagePath = "MusicIcon/filePlay.png", |
| | | Tag= list, |
| | | }; |
| | | addFlieRow.AddChidren(playIconBtn); |
| | | |
| | | playIconBtn.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | |
| | | |
| | | |
| | | ///查找当前播放音乐是否这个列表 |
| | | if (playIconBtn.IsSelected) |
| | | { |
| | | if (list.ListName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status == "play") |
| | | { |
| | | |
| | | SendMethod.Pause(A31MusicModel.Current); |
| | | A31MusicModel.Current.A31PlayStatus.status = "pause"; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (list.MusicInfoList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | if (list.ListName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status != "play") |
| | | { |
| | | SendMethod.Play(A31MusicModel.Current); |
| | | A31MusicModel.Current.A31PlayStatus.status = "play"; |
| | | } |
| | | else |
| | | { |
| | | ///取随机数; |
| | | var ra = new Random { }.Next(0, list.MusicInfoList.Count); |
| | | ///查找当前的音乐; |
| | | var songs = list.MusicInfoList[ra]; |
| | | //点击按钮随机播放音乐 |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | PushList(songs, list.ListName, list.MusicInfoList); |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | } |
| | | |
| | | }; |
| | | //文件名控件 |
| | | Button fileNameBtn = new Button |
| | | { |
| | | X = fileIconBtn.Right + Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(42), |
| | | Width = Application.GetRealWidth(217), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text= list.ListName, |
| | | }; |
| | | addFlieRow.AddChidren(fileNameBtn); |
| | | ///编辑控件 |
| | | var editBtn = new Button |
| | | { |
| | | BackgroundColor = Color.MusicEditColor, |
| | | Text = Language.StringByID(StringId.editMusic), |
| | | TextColor = Color.WhiteColor, |
| | | TextSize = TextSize.Text16, |
| | | }; |
| | | addFlieRow.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | var fileNameList = new List<string>(); |
| | | fileNameList.Clear(); |
| | | foreach (var stringName in A31MusicModel.Current.FileLists) |
| | | { |
| | | fileNameList.Add(stringName.ListName); |
| | | |
| | | } |
| | | new View.TipView().InputBox(StringId.modifyName, list.ListName, StringId.listNameNull, StringId.listNamesSame, fileNameList, (name) => |
| | | { |
| | | if (list.ListName != name) |
| | | { ///修改名称不一样更新保存 |
| | | list.ListName = name; |
| | | fileNameBtn.Text = name; |
| | | A31MusicModel.Save(); |
| | | } |
| | | }); |
| | | |
| | | }; |
| | | ///删除控件 |
| | | var delBtn = new Button |
| | | { |
| | | BackgroundColor = Color.MusicDelColor, |
| | | Text = Language.StringByID(StringId.delMusic), |
| | | TextColor = Color.WhiteColor, |
| | | TextSize = TextSize.Text16, |
| | | }; |
| | | addFlieRow.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | new View.TipView().TipBox(StringId.tip, StringId.delMusicFile, () => |
| | | { |
| | | A31MusicModel.Current.FileLists.Remove(list); |
| | | A31MusicModel.Save(); |
| | | addFlieRow.RemoveFromParent(); |
| | | |
| | | }); |
| | | }; |
| | | |
| | | Button clickBtn = new Button |
| | | { |
| | | X = fileIconBtn.Right + Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(375 - 138), |
| | | Height = Application.GetRealHeight(104), |
| | | }; |
| | | addFlieRow.AddChidren(clickBtn); |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | A31MyListMusic a31MyListMusic = new A31MyListMusic(); |
| | | MainPage.BasePageView.AddChidren(a31MyListMusic); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | a31MyListMusic.Show(list); |
| | | a31MyListMusic.UpdateSelectedMusic(); |
| | | }; |
| | | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 定时更新文件夹播放状态 |
| | | /// </summary> |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | public void UpdateSelectedFile() |
| | | { |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < middViewLayout.ChildrenCount; i++) |
| | | { |
| | | RowLayout view = (RowLayout)middViewLayout.GetChildren(i); |
| | | var playBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button |
| | | var listIfon = playBtn.Tag as FileListInfo;//强制转换为FileListInfo类型; |
| | | ///查找当前播放音乐是否这个列表 |
| | | if (A31MusicModel.Current.A31PlayStatus.Artist == listIfon.ListName && A31MusicModel.Current.A31PlayStatus.status == "play") |
| | | { |
| | | playBtn.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | playBtn.IsSelected = false; |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }; |
| | | updateSelectedMusicThread.Start(); |
| | | } |
| | | /// <summary> |
| | | /// 推送播放命令 |
| | | /// </summary> |
| | | /// <param name="musicInfo">播放音乐</param> |
| | | /// <param name="listName">列表名称</param> |
| | | /// <param name="musicList">推送列表(默认推50首)</param> |
| | | public void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList) |
| | | { |
| | | |
| | | //最大发送的条数 |
| | | int maxCount = 50; |
| | | //找出当前点击音乐的索引 |
| | | int statIndex = musicList.FindIndex((obj) => { return obj == musicInfo; }); |
| | | //点击后面还有多少条音乐 |
| | | int count = musicList.Count - statIndex; |
| | | int endIndex = 0; |
| | | if (maxCount < count) |
| | | { |
| | | //如果后面的音乐大于最大数,设置后面数据的最大索引 |
| | | endIndex = statIndex + maxCount - 1; |
| | | } |
| | | else |
| | | { |
| | | //如果后面数据不多,就用总数减去最大条数,得到开始索引 |
| | | statIndex = musicList.Count - maxCount - 1; |
| | | endIndex = musicList.Count - 1; |
| | | } |
| | | //如果开始索引小于0,那就设置为第一条音乐 |
| | | if (statIndex < 0) |
| | | { |
| | | statIndex = 0; |
| | | } |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:CreateQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | sb.AppendLine("<QueueContext><?xml version=\"1.0\"?>"); |
| | | sb.AppendLine("<PlayList>"); |
| | | sb.AppendLine("<ListName>DLNA" + listName + "</ListName>"); |
| | | sb.AppendLine("<ListInfo>"); |
| | | sb.AppendLine("<Radio>0</Radio>");// |
| | | sb.AppendLine("<SourceName>UPnPServer</SourceName>");// |
| | | sb.AppendLine("<MarkSearch>0</MarkSearch>"); |
| | | sb.AppendLine("<TrackNumber>" + (endIndex - statIndex + 1) + "</TrackNumber>"); |
| | | sb.AppendLine("<Quality>0</Quality>"); |
| | | sb.AppendLine("<UpdateTime>5367</UpdateTime>"); |
| | | sb.AppendLine("<LastPlayIndex>2</LastPlayIndex>"); |
| | | sb.AppendLine("<SwitchPageMode>0</SwitchPageMode>"); |
| | | sb.AppendLine("<CurrentPage>0</CurrentPage>"); |
| | | sb.AppendLine("<TotalPages>0</TotalPages>"); |
| | | sb.AppendLine("</ListInfo>"); |
| | | sb.AppendLine("<Tracks>"); |
| | | |
| | | int number = 1; |
| | | |
| | | for (int i = statIndex, Tracknumber = 1; i <= endIndex; i++, Tracknumber++) |
| | | { |
| | | var tempMusicInfo = musicList[i]; |
| | | |
| | | if (musicInfo == tempMusicInfo) |
| | | { |
| | | number = Tracknumber; |
| | | } |
| | | |
| | | if (tempMusicInfo.SourceType == "Local") |
| | | { |
| | | tempMusicInfo.URL = "http://" + new Shared.Net.NetWiFi().IpAddress + ":" + com.hdl.on.Server.Port + "/" + tempMusicInfo.ID; |
| | | } |
| | | |
| | | |
| | | sb.AppendLine("<Track" + Tracknumber + ">"); |
| | | sb.AppendLine("<URL>" + tempMusicInfo.URL + "</URL>"); |
| | | sb.AppendLine("<Metadata>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;"); |
| | | sb.AppendLine("&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:song=&quot;www.wiimu.com/song/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;"); |
| | | sb.AppendLine("&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;"); |
| | | sb.AppendLine("&lt;item id=&quot;0&quot;&gt;"); |
| | | sb.AppendLine("&lt;song:subid&gt;&lt;/song:subid&gt;"); |
| | | sb.AppendLine("&lt;song:description&gt;unknown&lt;/song:description&gt;"); |
| | | sb.AppendLine("&lt;song:skiplimit&gt;6&lt;/song:skiplimit&gt;"); |
| | | sb.AppendLine("&lt;song:id&gt;" + tempMusicInfo.ID + "&lt;/song:id&gt;"); |
| | | sb.AppendLine("&lt;song:like&gt;0&lt;/song:like&gt;"); |
| | | sb.AppendLine("&lt;song:singerid&gt;0&lt;/song:singerid&gt;"); |
| | | sb.AppendLine("&lt;song:albumid&gt;" + tempMusicInfo.AlbumId + "&lt;/song:albumid&gt;"); |
| | | |
| | | sb.AppendLine("&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&quot; duration=&quot;" + "0:0:0.0" + "&quot;&gt;" + tempMusicInfo.URL + "&lt;/res&gt;"); |
| | | |
| | | sb.AppendLine("&lt;dc:title&gt;" + tempMusicInfo.Title + "&lt;/dc:title&gt;"); |
| | | sb.AppendLine("&lt;dc:creator&gt;DJ Sanny J&lt;/dc:creator&gt;"); |
| | | sb.AppendLine("&lt;upnp:artist&gt;" + listName + "&lt;/upnp:artist&gt;"); |
| | | sb.AppendLine("&lt;upnp:album&gt;" + tempMusicInfo.Album + "&lt;/upnp:album&gt;"); |
| | | sb.AppendLine("&lt;upnp:albumArtURI&gt;unknown&lt;/upnp:albumArtURI&gt;"); |
| | | sb.AppendLine("&lt;/item&gt;"); |
| | | sb.AppendLine("&lt;/DIDL-Lite&gt;"); |
| | | sb.AppendLine("</Metadata>"); |
| | | sb.AppendLine("<Id>" + tempMusicInfo.ID + "</Id>"); |
| | | sb.AppendLine("<Source>STATION-NETWORK</Source>");//UPnPServer |
| | | sb.AppendLine("<Key>" + tempMusicInfo.URL + "</Key>"); |
| | | sb.AppendLine("</Track" + Tracknumber + ">"); |
| | | } |
| | | sb.AppendLine("</Tracks>"); |
| | | sb.AppendLine("</PlayList>"); |
| | | sb.AppendLine("</QueueContext>"); |
| | | sb.AppendLine("</u:CreateQueue>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | SendMusicLists(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, "CreateQueue", sb.ToString()); |
| | | |
| | | StringBuilder playString = new StringBuilder(); |
| | | playString.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | playString.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | playString.AppendLine("<s:Body>"); |
| | | playString.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | playString.AppendLine("<QueueName>DLNA" + listName + "</QueueName>"); |
| | | playString.AppendLine("<Index>" + number + "</Index>"); |
| | | playString.AppendLine("</u:PlayQueueWithIndex>"); |
| | | playString.AppendLine("</s:Body>"); |
| | | playString.AppendLine("</s:Envelope>"); |
| | | |
| | | Play(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, playString.ToString()); |
| | | } |
| | | |
| | | void SendMusicLists(string ip, int port, string soapAction, string listInfo) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#" + soapAction + "\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(listInfo)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | void Play(string ip, int port, string info) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(info)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using Shared; |
| | | using Shared.Net; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31MyListMusic : FrameLayout |
| | | { |
| | | public A31MyListMusic() |
| | | { |
| | | Tag = "Music"; |
| | | } |
| | | VerticalRefreshLayout middViewLayout; |
| | | /// <summary> |
| | | /// 先加载界面出来 |
| | | /// </summary> |
| | | public void Show(FileListInfo fileListInfo) |
| | | { |
| | | #region 界面布局------ |
| | | |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.Text = fileListInfo.ListName; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | this.RemoveFromParent(); |
| | | }; |
| | | middViewLayout = new VerticalRefreshLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | middViewLayout.BeginHeaderRefreshingAction += () => |
| | | { |
| | | middViewLayout.EndHeaderRefreshing(); |
| | | }; |
| | | #endregion |
| | | MusicView(fileListInfo); |
| | | } |
| | | /// <summary> |
| | | /// 加载数据的方法 |
| | | /// </summary> |
| | | public void MusicView(FileListInfo fileListInfo) |
| | | { |
| | | middViewLayout.RemoveAll(); |
| | | for (int i = 0; i < fileListInfo.MusicInfoList.Count; i++) |
| | | { |
| | | var songs = fileListInfo.MusicInfoList[i]; |
| | | if (string.IsNullOrEmpty(songs.Title)) |
| | | { |
| | | //防止歌曲名字为空抛异常 |
| | | songs.Title = " "; |
| | | } |
| | | if (string.IsNullOrEmpty(songs.Artist)) |
| | | { |
| | | //防止歌手名字为空抛异常 |
| | | songs.Artist = " "; |
| | | } |
| | | RowLayout musicViewFl = new RowLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(44), |
| | | LineColor = Color.WhiteColor, |
| | | SubViewWidth = Application.GetRealWidth(90),//改变编辑控件宽度多少; |
| | | }; |
| | | middViewLayout.AddChidren(musicViewFl); |
| | | //列表当前播放音乐图标 |
| | | Button playIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/playStatus.png", |
| | | Visible = false, |
| | | Name = "playStatus", |
| | | Tag = songs.URL, |
| | | }; |
| | | musicViewFl.AddChidren(playIconBtn); |
| | | //歌曲控件 |
| | | Button songBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Name = "song", |
| | | Tag = songs.URL, |
| | | Text = songs.Title.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(songBtn); |
| | | var wText = songBtn.GetTextWidth();//获取文本宽度 |
| | | ///(歌曲+歌手)宽度最大值时280 |
| | | if (wText > 280) |
| | | { |
| | | |
| | | songBtn.Width = Application.GetRealWidth(280); |
| | | } |
| | | else |
| | | { |
| | | songBtn.Width = wText + 5; |
| | | } |
| | | //歌手控件 |
| | | Button singerBtn = new Button |
| | | { |
| | | X = songBtn.Right, |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(280 - songBtn.Width), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | //Text =("-" +songs.Artist).Trim(), |
| | | Name = "singer", |
| | | Tag = songs.URL, |
| | | Text = "-" + songs.Artist.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(singerBtn); |
| | | if (wText > 280) |
| | | { |
| | | ///歌名长度小于250才可以显示歌手出来 |
| | | singerBtn.Width = Application.GetRealWidth(0); |
| | | } |
| | | //添加喜爱音乐控件 |
| | | Button loveIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(291), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/love.png", |
| | | SelectedImagePath = "MusicIcon/loveSelected.png", |
| | | }; |
| | | musicViewFl.AddChidren(loveIcon); |
| | | loveIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | loveIcon.IsSelected = !loveIcon.IsSelected; |
| | | if (loveIcon.IsSelected) |
| | | { |
| | | ///查找音乐是否存在在列表 |
| | | var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music1 == null) |
| | | { |
| | | ///没有存在就添加 |
| | | A31MusicModel.Current.LoveMusicInfoList.Add(songs); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ///查找音乐是否存在在列表 |
| | | var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music1 != null) |
| | | { |
| | | ///存在就删除 |
| | | A31MusicModel.Current.LoveMusicInfoList.Remove(songs); |
| | | } |
| | | |
| | | } |
| | | A31MusicModel.Save(); |
| | | }; |
| | | var music = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music != null) |
| | | { |
| | | loveIcon.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | loveIcon.IsSelected = false; |
| | | } |
| | | ///删除控件 |
| | | var delBtn = new Button |
| | | { |
| | | BackgroundColor = Color.MusicDelColor, |
| | | Text = Language.StringByID(StringId.delMusic), |
| | | TextColor = Color.WhiteColor, |
| | | TextSize = TextSize.Text16, |
| | | }; |
| | | musicViewFl.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | fileListInfo.MusicInfoList.Remove(songs); |
| | | A31MusicModel.Save(); |
| | | musicViewFl.RemoveFromParent(); |
| | | }; |
| | | //添加到我的列表 |
| | | Button addIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(335), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/addMusic1.png", |
| | | }; |
| | | musicViewFl.AddChidren(addIcon); |
| | | addIcon.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | new View.DialogView { }.FieListView(songs); |
| | | }; |
| | | |
| | | //点击控件 |
| | | Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealHeight(44), |
| | | Tag = songs,//标记播放哪一首歌曲 |
| | | }; |
| | | musicViewFl.AddChidren(clickBtn); |
| | | ///点击播放事件 |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | A31MusicModel.Current.A31PlayStatus.Title = songBtn.Text; |
| | | MainPage.BasePageView.RemoveViewByTag("Music"); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | PushList(songs, fileListInfo.ListName, fileListInfo.MusicInfoList); |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 定时更新当前播放音乐 |
| | | /// </summary> |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | public void UpdateSelectedMusic() |
| | | { |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < middViewLayout.ChildrenCount; i++) |
| | | { |
| | | RowLayout view = (RowLayout)middViewLayout.GetChildren(i); |
| | | var volIconBtn = (Button)view.GetChildren(0);//直接RowLayout父控件找到该控件Button |
| | | var songNameBtn = (Button)view.GetChildren(1);//直接RowLayout父控件找到该控件Button |
| | | var artistNameBtn = (Button)view.GetChildren(2);//直接RowLayout父控件找到该控件Button |
| | | if (A31MusicModel.Current.A31PlayStatus.TrackURL == songNameBtn.Tag.ToString()) |
| | | { |
| | | volIconBtn.Visible = true; |
| | | songNameBtn.TextColor = Color.SelectedColor; |
| | | songNameBtn.X = Application.GetRealWidth(48); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.SelectedColor; |
| | | } |
| | | else |
| | | { |
| | | volIconBtn.Visible = false; |
| | | songNameBtn.TextColor = Color.MusicTxet14Color; |
| | | songNameBtn.X = Application.GetRealWidth(16); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.MusicNoTxetColor; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | }); |
| | | updateSelectedMusicThread.Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 推送播放命令 |
| | | /// </summary> |
| | | /// <param name="musicInfo">播放音乐</param> |
| | | /// <param name="listName">列表名称</param> |
| | | /// <param name="musicList">推送列表(默认推50首)</param> |
| | | public void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList) |
| | | { |
| | | |
| | | //最大发送的条数 |
| | | int maxCount = 50; |
| | | //找出当前点击音乐的索引 |
| | | int statIndex = musicList.FindIndex((obj) => { return obj == musicInfo; }); |
| | | //点击后面还有多少条音乐 |
| | | int count = musicList.Count - statIndex; |
| | | int endIndex = 0; |
| | | if (maxCount < count) |
| | | { |
| | | //如果后面的音乐大于最大数,设置后面数据的最大索引 |
| | | endIndex = statIndex + maxCount - 1; |
| | | } |
| | | else |
| | | { |
| | | //如果后面数据不多,就用总数减去最大条数,得到开始索引 |
| | | statIndex = musicList.Count - maxCount - 1; |
| | | endIndex = musicList.Count - 1; |
| | | } |
| | | //如果开始索引小于0,那就设置为第一条音乐 |
| | | if (statIndex < 0) |
| | | { |
| | | statIndex = 0; |
| | | } |
| | | |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:CreateQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | sb.AppendLine("<QueueContext><?xml version=\"1.0\"?>"); |
| | | sb.AppendLine("<PlayList>"); |
| | | sb.AppendLine("<ListName>DLNA" + listName + "</ListName>"); |
| | | sb.AppendLine("<ListInfo>"); |
| | | sb.AppendLine("<Radio>0</Radio>");// |
| | | sb.AppendLine("<SourceName>UPnPServer</SourceName>");// |
| | | sb.AppendLine("<MarkSearch>0</MarkSearch>"); |
| | | sb.AppendLine("<TrackNumber>" + (endIndex - statIndex + 1) + "</TrackNumber>"); |
| | | sb.AppendLine("<Quality>0</Quality>"); |
| | | sb.AppendLine("<UpdateTime>5367</UpdateTime>"); |
| | | sb.AppendLine("<LastPlayIndex>2</LastPlayIndex>"); |
| | | sb.AppendLine("<SwitchPageMode>0</SwitchPageMode>"); |
| | | sb.AppendLine("<CurrentPage>0</CurrentPage>"); |
| | | sb.AppendLine("<TotalPages>0</TotalPages>"); |
| | | sb.AppendLine("</ListInfo>"); |
| | | sb.AppendLine("<Tracks>"); |
| | | |
| | | int number = 1; |
| | | |
| | | for (int i = statIndex, Tracknumber = 1; i <= endIndex; i++, Tracknumber++) |
| | | { |
| | | var tempMusicInfo = musicList[i]; |
| | | |
| | | if (musicInfo == tempMusicInfo) |
| | | { |
| | | number = Tracknumber; |
| | | } |
| | | |
| | | if (tempMusicInfo.SourceType == "Local") |
| | | { |
| | | tempMusicInfo.URL = "http://" + new NetWiFi().IpAddress + ":" + com.hdl.on.Server.Port + "/" + tempMusicInfo.ID; |
| | | } |
| | | |
| | | |
| | | sb.AppendLine("<Track" + Tracknumber + ">"); |
| | | sb.AppendLine("<URL>" + tempMusicInfo.URL + "</URL>"); |
| | | sb.AppendLine("<Metadata>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;"); |
| | | sb.AppendLine("&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:song=&quot;www.wiimu.com/song/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;"); |
| | | sb.AppendLine("&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;"); |
| | | sb.AppendLine("&lt;item id=&quot;0&quot;&gt;"); |
| | | sb.AppendLine("&lt;song:subid&gt;&lt;/song:subid&gt;"); |
| | | sb.AppendLine("&lt;song:description&gt;unknown&lt;/song:description&gt;"); |
| | | sb.AppendLine("&lt;song:skiplimit&gt;6&lt;/song:skiplimit&gt;"); |
| | | sb.AppendLine("&lt;song:id&gt;" + tempMusicInfo.ID + "&lt;/song:id&gt;"); |
| | | sb.AppendLine("&lt;song:like&gt;0&lt;/song:like&gt;"); |
| | | sb.AppendLine("&lt;song:singerid&gt;0&lt;/song:singerid&gt;"); |
| | | sb.AppendLine("&lt;song:albumid&gt;" + tempMusicInfo.AlbumId + "&lt;/song:albumid&gt;"); |
| | | |
| | | sb.AppendLine("&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&quot; duration=&quot;" + "0:0:0.0" + "&quot;&gt;" + tempMusicInfo.URL + "&lt;/res&gt;"); |
| | | |
| | | sb.AppendLine("&lt;dc:title&gt;" + tempMusicInfo.Title + "&lt;/dc:title&gt;"); |
| | | sb.AppendLine("&lt;dc:creator&gt;DJ Sanny J&lt;/dc:creator&gt;"); |
| | | sb.AppendLine("&lt;upnp:artist&gt;" + listName + "&lt;/upnp:artist&gt;"); |
| | | sb.AppendLine("&lt;upnp:album&gt;" + tempMusicInfo.Album + "&lt;/upnp:album&gt;"); |
| | | sb.AppendLine("&lt;upnp:albumArtURI&gt;unknown&lt;/upnp:albumArtURI&gt;"); |
| | | sb.AppendLine("&lt;/item&gt;"); |
| | | sb.AppendLine("&lt;/DIDL-Lite&gt;"); |
| | | sb.AppendLine("</Metadata>"); |
| | | sb.AppendLine("<Id>" + tempMusicInfo.ID + "</Id>"); |
| | | sb.AppendLine("<Source>STATION-NETWORK</Source>");//UPnPServer |
| | | sb.AppendLine("<Key>" + tempMusicInfo.URL + "</Key>"); |
| | | sb.AppendLine("</Track" + Tracknumber + ">"); |
| | | } |
| | | sb.AppendLine("</Tracks>"); |
| | | sb.AppendLine("</PlayList>"); |
| | | sb.AppendLine("</QueueContext>"); |
| | | sb.AppendLine("</u:CreateQueue>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | SendMusicLists(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, "CreateQueue", sb.ToString()); |
| | | |
| | | StringBuilder playString = new StringBuilder(); |
| | | playString.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); |
| | | playString.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | playString.AppendLine("<s:Body>"); |
| | | playString.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | playString.AppendLine("<QueueName>DLNA" + listName + "</QueueName>"); |
| | | playString.AppendLine("<Index>" + number + "</Index>"); |
| | | playString.AppendLine("</u:PlayQueueWithIndex>"); |
| | | playString.AppendLine("</s:Body>"); |
| | | playString.AppendLine("</s:Envelope>"); |
| | | |
| | | Play(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, playString.ToString()); |
| | | } |
| | | |
| | | void SendMusicLists(string ip, int port, string soapAction, string listInfo) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#" + soapAction + "\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(listInfo)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | void Play(string ip, int port, string info) |
| | | { |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(info)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using Shared; |
| | | using com.hdl.on; |
| | | using System.Collections.Generic; |
| | | using System.Security; |
| | | |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31PlayMusicPage : FrameLayout |
| | | { |
| | | public A31PlayMusicPage() |
| | | { |
| | | } |
| | | public override void RemoveFromParent() |
| | | { |
| | | base.RemoveFromParent(); |
| | | Volume.VolumeChange = null; |
| | | if (timerThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (timerThread.IsAlive) |
| | | { |
| | | timerThread.Abort(); |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | } |
| | | View.PlayView playView = new View.PlayView(); |
| | | |
| | | public void Show() |
| | | { |
| | | ///1秒定时更新状态 |
| | | timerUpdateStatus(); |
| | | #region ---界面布局--- |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | topView.setBtn.Visible = true; |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.Text = A31MusicModel.Current.Name; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | RemoveFromParent(); |
| | | }; |
| | | topView.setBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | A31MusicSourcePage a31MusicSourcePage = new A31MusicSourcePage(); |
| | | MainPage.BasePageView.AddChidren(a31MusicSourcePage); |
| | | a31MusicSourcePage.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | |
| | | |
| | | var middLayout = new FrameLayout |
| | | { |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middLayout); |
| | | ///加载播放音乐界面的控件方法 |
| | | playView.viewFrameLayout(middLayout); |
| | | #endregion |
| | | |
| | | |
| | | ///切换播放模式点击事件; |
| | | playView.playOrderBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | string msg = Language.StringByID(StringId.switchTo); |
| | | switch (A31MusicModel.Current.A31PlayStatus.loop) |
| | | { |
| | | //0列表循环,1单曲循环,2随机播放; |
| | | case "0": |
| | | A31MusicModel.Current.A31PlayStatus.loop = "1"; |
| | | playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/single.png"; |
| | | msg += Language.StringByID(StringId.singleMode); |
| | | break; |
| | | |
| | | case "1": |
| | | A31MusicModel.Current.A31PlayStatus.loop = "2"; |
| | | playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/random.png"; |
| | | msg += Language.StringByID(StringId.randomMode); |
| | | break; |
| | | case "2": |
| | | A31MusicModel.Current.A31PlayStatus.loop = "0"; |
| | | playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/list.png"; |
| | | msg += Language.StringByID(StringId.listMode); |
| | | break; |
| | | } |
| | | new PublicAssmebly().TipMsgAutoClose(msg, false,1000); |
| | | string url = "http://" + A31MusicModel.Current.IPAddress + "/httpapi.asp?command=setPlayerCmd:" + "loopmode:" + A31MusicModel.Current.A31PlayStatus.loop; |
| | | SendMethod.SendCommand(url); |
| | | }; |
| | | ///添加喜爱点击事件; |
| | | playView.loveBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | var url = A31MusicModel.Current.A31PlayStatus.TrackURL; |
| | | var album = A31MusicModel.Current.A31PlayStatus.Album; |
| | | var artist = A31MusicModel.Current.A31PlayStatus.Artist; |
| | | var song = A31MusicModel.Current.A31PlayStatus.Title; |
| | | if (A31MusicModel.Current.A31PlayStatus.Source == "RADIO-NETWORK") |
| | | { |
| | | playView.loveBtn.IsSelected = !playView.loveBtn.IsSelected; |
| | | if (playView.loveBtn.IsSelected) |
| | | { |
| | | if (null == A31MusicModel.Current.LoveRadioInfoList.Find((musicInfo) => |
| | | { |
| | | return url == musicInfo.URL; |
| | | })) |
| | | { |
| | | A31MusicModel.Current.LoveRadioInfoList.Add(new MusicInfo { Title = song, URL = url, }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | A31MusicModel.Current.LoveRadioInfoList.RemoveAll((musicInfo) => |
| | | { |
| | | return url == musicInfo.URL; |
| | | }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | playView.loveBtn.IsSelected = !playView.loveBtn.IsSelected; |
| | | if (playView.loveBtn.IsSelected) |
| | | { |
| | | if (null == A31MusicModel.Current.LoveMusicInfoList.Find((musicInfo) => |
| | | { |
| | | return url == musicInfo.URL; |
| | | })) |
| | | { |
| | | A31MusicModel.Current.LoveMusicInfoList.Add(new MusicInfo { Title = song, URL = url, Artist = artist, Album = album }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | A31MusicModel.Current.LoveMusicInfoList.RemoveAll((musicInfo) => |
| | | { |
| | | //也要加歌手名判断 |
| | | return musicInfo.URL == url; |
| | | }); |
| | | } |
| | | |
| | | } |
| | | A31MusicModel.Save(); |
| | | }; |
| | | ///我的列表点击事件 |
| | | playView.playlistBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | #region 布局界面--- |
| | | Loading loading = new Loading(); |
| | | FrameLayout popFra = new FrameLayout() |
| | | { |
| | | BackgroundColor = Color.PopupBackgroundColor, |
| | | }; |
| | | this.AddChidren(popFra); |
| | | |
| | | FrameLayout dialogFra = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(187), |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(460), |
| | | BackgroundColor = Color.WhiteColor, |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | }; |
| | | popFra.AddChidren(dialogFra); |
| | | dialogFra.AddChidren(loading);//dialogFra刷新图标父控件 |
| | | |
| | | FrameLayout topFra = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(50), |
| | | }; |
| | | dialogFra.AddChidren(topFra); |
| | | Button orderIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | }; |
| | | topFra.AddChidren(orderIconBtn); |
| | | Button orderTxetBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(60), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | topFra.AddChidren(orderTxetBtn); |
| | | switch (A31MusicModel.Current.A31PlayStatus.loop) |
| | | { |
| | | //0列表循环,1单曲循环,2随机播放; |
| | | case "0": |
| | | orderIconBtn.UnSelectedImagePath = "MusicIcon/list.png"; |
| | | orderTxetBtn.Text = Language.StringByID(StringId.listMode); |
| | | break; |
| | | |
| | | case "1": |
| | | orderIconBtn.UnSelectedImagePath = "MusicIcon/single.png"; |
| | | orderTxetBtn.Text = Language.StringByID(StringId.singleMode); |
| | | |
| | | break; |
| | | case "2": |
| | | orderIconBtn.UnSelectedImagePath = "MusicIcon/random.png"; |
| | | orderTxetBtn.Text = Language.StringByID(StringId.randomMode); |
| | | break; |
| | | } |
| | | Button backIextBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(288),//300 |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(28 + 12),//28 |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.cancelMusic, |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | topFra.AddChidren(backIextBtn); |
| | | Button lineBtn = new Button |
| | | { |
| | | Y = topFra.Height - 1, |
| | | Width = Application.GetRealWidth(344), |
| | | Height = H_W.Line, |
| | | BackgroundColor = Color.LineColor, |
| | | }; |
| | | topFra.AddChidren(lineBtn); |
| | | VerticalScrolViewLayout verticalScrolViewLayout = new VerticalScrolViewLayout |
| | | { |
| | | Y = Application.GetRealHeight(50), |
| | | Height = Application.GetRealHeight(410), |
| | | Width = Application.GetRealWidth(344), |
| | | }; |
| | | dialogFra.AddChidren(verticalScrolViewLayout); |
| | | ///移除界面 |
| | | EventHandler<MouseEventArgs> removeFromParentView = (sen, e1) => |
| | | { |
| | | |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | popFra.RemoveFromParent(); |
| | | }; |
| | | backIextBtn.MouseUpEventHandler += removeFromParentView; |
| | | popFra.MouseUpEventHandler += removeFromParentView; |
| | | #endregion |
| | | loading.Start(); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | string playListName = "List"; |
| | | string sourceName = "SourceName"; |
| | | try |
| | | { |
| | | if (A31MusicModel.Current.A31PlayStatus.Source == "STATION-NETWORK") |
| | | { |
| | | A31MusicModel.Current.CurrentPlayMusicInfoList = new List<MusicInfo>(); |
| | | return; |
| | | } |
| | | if (A31MusicModel.Current.A31PlayStatus.Source == "AIRPLAY") |
| | | { |
| | | A31MusicModel.Current.CurrentPlayMusicInfoList = new List<MusicInfo>(); |
| | | return; |
| | | } |
| | | var playString = SendMethod.GetCurrentPlayList(A31MusicModel.Current); |
| | | A31MusicModel.Current.CurrentPlayMusicInfoList = new List<MusicInfo>(); |
| | | var se = System.Security.SecurityElement.FromString(playString); |
| | | while (se.Children != null) |
| | | { |
| | | se = se.Children[0] as System.Security.SecurityElement; |
| | | } |
| | | playListName = SecurityElement.FromString(se.Text).SearchForChildByTag("ListName").Text; |
| | | sourceName = SecurityElement.FromString(se.Text).SearchForChildByTag("ListInfo").SearchForTextOfTag("SourceName"); |
| | | foreach (SecurityElement track in SecurityElement.FromString(se.Text).SearchForChildByTag("Tracks").Children) |
| | | { |
| | | MusicInfo musicInfo = new MusicInfo(); |
| | | musicInfo.URL = track.SearchForTextOfTag("URL").Replace("&", "&amp;"); |
| | | var metadata = track.SearchForTextOfTag("Metadata"); |
| | | musicInfo.SourceName = track.SearchForTextOfTag("Source"); |
| | | if (string.IsNullOrEmpty(metadata)) |
| | | { |
| | | continue; |
| | | } |
| | | if (A31MusicModel.IsJson(metadata)) |
| | | { |
| | | var qqSong = Newtonsoft.Json.JsonConvert.DeserializeObject<SendMethod.A31QQSong>(metadata); |
| | | musicInfo.Album = qqSong.album; |
| | | musicInfo.Title = qqSong.title; |
| | | musicInfo.Artist = qqSong.creator; |
| | | } |
| | | else |
| | | { |
| | | metadata = metadata.Replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "").Replace("&", "&amp;"); |
| | | var item = SecurityElement.FromString(metadata).SearchForChildByTag("item"); |
| | | musicInfo.Title = item.SearchForTextOfTag("dc:title"); |
| | | musicInfo.Artist = item.SearchForTextOfTag("upnp:artist"); |
| | | musicInfo.Album = item.SearchForTextOfTag("upnp:album"); |
| | | musicInfo.Duration = item.SearchForTextOfTag("res"); |
| | | musicInfo.AlbumId = item.SearchForTextOfTag("song:albumid"); |
| | | } |
| | | A31MusicModel.Current.CurrentPlayMusicInfoList.Add(musicInfo); |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | PlayListView(popFra, verticalScrolViewLayout, playListName); |
| | | UpdateSelectedMusic(verticalScrolViewLayout); |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | }; |
| | | ///音量图标点击事件 |
| | | playView.volIconBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (A31MusicModel.Current.ServerClientType == 1 && A31MusicModel.Current.Slave.slave_list.Count != 0) |
| | | { ///主播放器 |
| | | //new View.DialogView { }.PlayerVolumeView(A31MusicModel.Current); |
| | | |
| | | var volumeView = new View.DialogView { }; |
| | | volumeView.PlayerVolumeView(A31MusicModel.Current); |
| | | volumeView.UpdateVolume(); |
| | | |
| | | } |
| | | }; |
| | | ///音量进度条点击事件 |
| | | int startVolume =0;//之前的音量 |
| | | //int endVolume = 0;//现在的音量 |
| | | EventHandler<int> progressClick = (sender, e) => |
| | | { |
| | | playView.volValueBtn.Text = playView.volSeekBar.Progress + "%"; |
| | | if (startVolume != e) |
| | | { |
| | | startVolume = e; |
| | | SendMethod.ControlVolume(e, A31MusicModel.Current); |
| | | A31MusicModel.Current.A31PlayStatus.vol = e.ToString(); |
| | | } |
| | | }; |
| | | playView.volSeekBar.OnProgressChangedEvent += progressClick; |
| | | playView.volSeekBar.OnStopTrackingTouchEvent += progressClick; |
| | | ///上一曲点击事件 |
| | | playView.prevBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | playView.prevBtn.IsSelected = true; |
| | | SendMethod.Previous(A31MusicModel.Current); |
| | | }; |
| | | playView.prevBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | playView.prevBtn.IsSelected = false; |
| | | }; |
| | | ///暂停/播放点击事件 |
| | | playView.playBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | if (playView.playBtn.IsSelected) |
| | | { |
| | | playView.playBtn.IsSelected = false; |
| | | SendMethod.Pause(A31MusicModel.Current); |
| | | A31MusicModel.Current.A31PlayStatus.status = "pause"; |
| | | } |
| | | else |
| | | { |
| | | playView.playBtn.IsSelected = true; |
| | | SendMethod.Play(A31MusicModel.Current); |
| | | A31MusicModel.Current.A31PlayStatus.status = "play"; |
| | | } |
| | | }; |
| | | ///下一曲点击事件 |
| | | playView.nextBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | playView.nextBtn.IsSelected = true; |
| | | SendMethod.Next(A31MusicModel.Current); |
| | | }; |
| | | playView.nextBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | playView.nextBtn.IsSelected = false; |
| | | }; |
| | | ///物理按键的点击事件 |
| | | Volume.VolumeChange = (volume) => |
| | | { |
| | | if (Application.DeviceType == Device.Ios && A31MusicModel.Current.A31PlayStatus.Source == "BLUETOOTH") |
| | | { |
| | | return; |
| | | } |
| | | playView.volSeekBar.Progress = volume; |
| | | |
| | | if (startVolume != volume) |
| | | { |
| | | startVolume = volume; |
| | | SendMethod.ControlVolume(volume, A31MusicModel.Current); |
| | | A31MusicModel.Current.A31PlayStatus.vol = volume.ToString(); |
| | | } |
| | | |
| | | }; |
| | | |
| | | } |
| | | |
| | | System.Threading.Thread timerThread; |
| | | /// <summary> |
| | | /// 定时更新状态 |
| | | /// </summary> |
| | | void timerUpdateStatus() |
| | | { |
| | | timerThread = new System.Threading.Thread((obj) => |
| | | { |
| | | while (true) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | |
| | | //更新总时间 |
| | | //总共有多少秒 |
| | | int totalSecond = int.Parse(A31MusicModel.Current.A31PlayStatus.totlen) / 1000; |
| | | //分钟 |
| | | int totalMusicMinute = totalSecond / 60; |
| | | //秒钟 |
| | | int totalMusicSecond = totalSecond % 60; |
| | | |
| | | string totalTime = (totalMusicMinute.ToString().Length < 2 ? "0" + totalMusicMinute.ToString() : totalMusicMinute.ToString()) + ":" + (totalMusicSecond.ToString().Length < 2 ? "0" + totalMusicSecond.ToString() : totalMusicSecond.ToString()); |
| | | playView.endTimeBtn.Text = totalTime; |
| | | |
| | | //topView.topNameBtn.Text = A31MusicModel.Current.Name; |
| | | |
| | | switch (A31MusicModel.Current.A31PlayStatus.loop) |
| | | { |
| | | case "0"://列表循环 |
| | | playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/list.png"; |
| | | break; |
| | | case "1"://单曲顺环 |
| | | playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/single.png"; |
| | | break; |
| | | case "2"://随机播放 |
| | | playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/random.png"; |
| | | break; |
| | | } |
| | | |
| | | |
| | | if (A31MusicModel.Current.A31PlayStatus.Source == "RADIO-NETWORK") |
| | | { |
| | | var v = A31MusicModel.Current.LoveRadioInfoList.Find((like) => |
| | | { |
| | | return like.URL == A31MusicModel.Current.A31PlayStatus.TrackURL; |
| | | }); |
| | | if (v != null) |
| | | { |
| | | playView.loveBtn.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | playView.loveBtn.IsSelected = false; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var v = A31MusicModel.Current.LoveMusicInfoList.Find((like) => |
| | | { |
| | | return like.URL == A31MusicModel.Current.A31PlayStatus.TrackURL; |
| | | }); |
| | | if (v != null) |
| | | { |
| | | playView.loveBtn.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | playView.loveBtn.IsSelected = false; |
| | | } |
| | | } |
| | | |
| | | |
| | | //if (A31MusicModel.Current.A31PlayStatus.IsMute) |
| | | //{ |
| | | // btnMute.IsSelected = true;//静音图标 |
| | | // playView.volSeekBar.Progress = 0; |
| | | //} |
| | | //else |
| | | //{ |
| | | // btnMute.IsSelected = false;//静音图标 |
| | | // if (1000 < (DateTime.Now - A31MusicModel.ProgressDateTime).TotalMilliseconds) |
| | | // { |
| | | // //声音进度条; |
| | | // playView.volSeekBar.Progress = int.Parse(A31MusicModel.Current.A31PlayStatus.vol); |
| | | // //显示当前音量值; |
| | | // playView.volValueBtn.Text = A31MusicModel.Current.A31PlayStatus.vol + "%"; |
| | | // } |
| | | //} |
| | | |
| | | if (1000 < (DateTime.Now - A31MusicModel.ProgressDateTime).TotalMilliseconds) |
| | | { |
| | | //音量进度条; |
| | | playView.volSeekBar.Progress = int.Parse(A31MusicModel.Current.A31PlayStatus.vol); |
| | | //显示当前音量值; |
| | | playView.volValueBtn.Text = A31MusicModel.Current.A31PlayStatus.vol + "%"; |
| | | } |
| | | //更新播放器音量给系统音量 |
| | | Volume.MusicVolume = playView.volSeekBar.Progress; |
| | | //当前播放音乐时间 |
| | | int playSecond = int.Parse(A31MusicModel.Current.A31PlayStatus.curpos) / 1000 + (int)(DateTime.Now - A31MusicModel.Current.LastDateTime).TotalSeconds; |
| | | |
| | | int playMusicMinute = playSecond / 60; |
| | | //秒钟 |
| | | int playMusicSecond = playSecond % 60; |
| | | |
| | | string playTime = (playMusicMinute.ToString().Length < 2 ? "0" + playMusicMinute.ToString() : playMusicMinute.ToString()) + ":" + (playMusicSecond.ToString().Length < 2 ? "0" + playMusicSecond.ToString() : playMusicSecond.ToString()); |
| | | |
| | | if (A31MusicModel.Current.A31PlayStatus.status == "play") |
| | | { |
| | | playView.playBtn.IsSelected = true; |
| | | //如果在播放,时间就不断变化 |
| | | playView.startTimeBtn.Text = playTime; |
| | | if (totalSecond == 0) |
| | | { |
| | | //歌曲进度条 |
| | | //playView.volSeekBar.Progress = 0; |
| | | } |
| | | else |
| | | { |
| | | //歌曲进度条 |
| | | //playView.volSeekBar.Progress = (int)(playSecond * 100.0 / totalSecond);//+1 |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | playView.playBtn.IsSelected = false; |
| | | //停止播放 |
| | | playView.startTimeBtn.Text = "00:00"; |
| | | } |
| | | playView.songNameTextView.Text = (A31MusicModel.Current.A31PlayStatus.Title == null ? "Unkown" : A31MusicModel.Current.A31PlayStatus.Title); |
| | | playView.singerBtn.Text = (A31MusicModel.Current.A31PlayStatus.Artist == null ? "Unkown" : A31MusicModel.Current.A31PlayStatus.Artist.Trim()); |
| | | //更新源的界面 |
| | | showSourcePage(); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | var ee = e.Message; |
| | | } |
| | | }); |
| | | System.Threading.Thread.Sleep(1000 * 1); |
| | | } |
| | | }) |
| | | { IsBackground = true }; |
| | | timerThread.Start(); |
| | | } |
| | | /// <summary> |
| | | /// 更新不同音乐源界面图标状态 |
| | | /// </summary> |
| | | void showSourcePage() |
| | | { |
| | | playView.loveBtn.Alpha = 1; |
| | | playView.loveBtn.Enable = true; |
| | | |
| | | playView.playlistBtn.Alpha = 1; |
| | | playView.playlistBtn.Enable = true; |
| | | |
| | | playView.prevBtn.Alpha = 1; |
| | | playView.prevBtn.Enable = true; |
| | | |
| | | playView.nextBtn.Alpha = 1; |
| | | playView.nextBtn.Enable = true; |
| | | |
| | | playView.playOrderBtn.Alpha = 1; |
| | | playView.playOrderBtn.Enable = true; |
| | | |
| | | //btnPlay.Alpha = 1; |
| | | //btnPlay.Enable = true; |
| | | |
| | | playView.volSeekBar.IsClickable = true; |
| | | |
| | | switch (A31MusicModel.Current.A31PlayStatus.Source) |
| | | { |
| | | |
| | | case "QPLAY"://QQ音乐 |
| | | //currentsource.UnSelectedImagePath = "MusicIcon/qqmusic1.png"; |
| | | playView.loveBtn.Alpha = 0.5f; |
| | | playView.loveBtn.Enable = false; |
| | | break; |
| | | case "AIRPLAY"://酷狗音乐 |
| | | //currentsource.UnSelectedImagePath = "MusicIcon/kumusic.png"; |
| | | playView.loveBtn.Alpha = 0.5f; |
| | | playView.loveBtn.Enable = false; |
| | | playView.volSeekBar.IsClickable = false; |
| | | break; |
| | | case "SONGLIST-NETWORK"://本地音乐 |
| | | //currentsource.UnSelectedImagePath = "MusicIcon/musicMusic1.png"; |
| | | break; |
| | | case "SONGLIST-LOCAL"://USB |
| | | //currentsource.UnSelectedImagePath = "MusicIcon/USB1.png"; |
| | | break; |
| | | case "RADIO-NETWORK"://在线电台 |
| | | //currentsource.UnSelectedImagePath = "MusicIcon/local1.png"; |
| | | playView.playlistBtn.Alpha = 1; |
| | | playView.playlistBtn.Enable = true; |
| | | |
| | | playView.prevBtn.Alpha = 0.5f; |
| | | playView.prevBtn.Enable = false; |
| | | |
| | | playView.nextBtn.Alpha = 0.5f; |
| | | playView.nextBtn.Enable = false; |
| | | |
| | | playView.playOrderBtn.Alpha = 0.5f; |
| | | playView.playOrderBtn.Enable = false; |
| | | break; |
| | | |
| | | case "STATION-NETWORK"://Pandora电台 |
| | | playView.volSeekBar.IsClickable = false; |
| | | //currentsource.UnSelectedImagePath = "MusicIcon/pandora1.png"; |
| | | playView.loveBtn.Alpha = 0.5f; |
| | | playView.loveBtn.Enable = false; |
| | | |
| | | playView.prevBtn.Alpha = 0.5f; |
| | | playView.prevBtn.Enable = false; |
| | | |
| | | playView.playOrderBtn.Alpha = 0.5f; |
| | | playView.playOrderBtn.Enable = false; |
| | | break; |
| | | |
| | | case "BLUETOOTH"://蓝牙 |
| | | // currentsource.UnSelectedImagePath = "MusicIcon/bluetooth1.png"; |
| | | playView.loveBtn.Alpha = 0.5f; |
| | | playView.loveBtn.Enable = false; |
| | | |
| | | playView.playlistBtn.Alpha = 0.5f; |
| | | playView.playlistBtn.Enable = false; |
| | | |
| | | playView.prevBtn.Alpha = 0.5f; |
| | | playView.prevBtn.Enable = false; |
| | | |
| | | playView.nextBtn.Alpha = 0.5f; |
| | | playView.nextBtn.Enable = false; |
| | | |
| | | playView.playOrderBtn.Alpha = 0.5f; |
| | | playView.playOrderBtn.Enable = false; |
| | | |
| | | //btnPlay.Alpha = 0.5f; |
| | | //btnPlay.Enable = false; |
| | | break; |
| | | |
| | | |
| | | case "LINE-IN"://线路输入 |
| | | // currentsource.UnSelectedImagePath = "MusicIcon/muiscline1.png"; |
| | | playView.loveBtn.Alpha = 0.5f; |
| | | playView.loveBtn.Enable = false; |
| | | |
| | | playView.playlistBtn.Alpha = 0.5f; |
| | | playView.playlistBtn.Enable = false; |
| | | |
| | | playView.prevBtn.Alpha = 0.5f; |
| | | playView.prevBtn.Enable = false; |
| | | |
| | | playView.nextBtn.Alpha = 0.5f; |
| | | playView.nextBtn.Enable = false; |
| | | |
| | | playView.playOrderBtn.Alpha = 0.5f; |
| | | playView.playOrderBtn.Enable = false; |
| | | |
| | | //btnPlay.Alpha = 0.5f; |
| | | //btnPlay.Enable = false; |
| | | break; |
| | | |
| | | default: |
| | | //currentsource.UnSelectedImagePath = "MusicIcon/dlna.png"; |
| | | playView.volSeekBar.IsClickable = false; |
| | | playView.loveBtn.Alpha = 0.5f; |
| | | playView.loveBtn.Enable = false; |
| | | |
| | | playView.playlistBtn.Alpha = 0.5f; |
| | | playView.playlistBtn.Enable = false; |
| | | |
| | | playView.prevBtn.Alpha = 0.5f; |
| | | playView.prevBtn.Enable = false; |
| | | |
| | | playView.nextBtn.Alpha = 0.5f; |
| | | playView.nextBtn.Enable = false; |
| | | |
| | | playView.playOrderBtn.Alpha = 0.5f; |
| | | playView.playOrderBtn.Enable = false; |
| | | break; |
| | | } |
| | | //if (A31MusicModel.Current.A31PlayStatus.playSource == "UPnPServer") |
| | | //{ |
| | | // currentsource.UnSelectedImagePath = "MusicIcon/dlna.png"; |
| | | //} |
| | | //else if (A31MusicModel.Current.A31PlayStatus.playSource == "Tidal") |
| | | //{ |
| | | // currentsource.UnSelectedImagePath = "MusicIcon/Tidal1.png"; |
| | | //} |
| | | } |
| | | /// <summary> |
| | | /// 显示当前播放音乐View |
| | | /// </summary> |
| | | /// <param name="verticalScrolViewLayout"></param> |
| | | void PlayListView(FrameLayout frameLayout, VerticalScrolViewLayout verticalScrolViewLayout, string playListName) |
| | | { |
| | | verticalScrolViewLayout.RemoveAll(); |
| | | int number = 0; |
| | | for (int i = 0; i < A31MusicModel.Current.CurrentPlayMusicInfoList.Count; i++) |
| | | { |
| | | number++; |
| | | var songs = A31MusicModel.Current.CurrentPlayMusicInfoList[i]; |
| | | if (string.IsNullOrEmpty(songs.Title)) |
| | | { |
| | | //防止歌曲名字为空抛异常 |
| | | songs.Title = " "; |
| | | } |
| | | if (string.IsNullOrEmpty(songs.Artist)) |
| | | { |
| | | //防止歌手名字为空抛异常 |
| | | songs.Artist = " "; |
| | | } |
| | | FrameLayout musicViewFl = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | verticalScrolViewLayout.AddChidren(musicViewFl); |
| | | //列表当前播放音乐图标 |
| | | Button playIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/playStatus.png", |
| | | Visible = false, |
| | | Name = "playStatus", |
| | | Tag = songs.URL, |
| | | }; |
| | | musicViewFl.AddChidren(playIconBtn); |
| | | //歌曲控件 |
| | | Button songBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Name = "song", |
| | | Tag = songs.URL, |
| | | Text = songs.Title.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(songBtn); |
| | | var wText = songBtn.GetTextWidth();//获取文本宽度 |
| | | ///(歌曲+歌手)宽度最大值时280 |
| | | if (wText > 280) |
| | | { |
| | | |
| | | songBtn.Width = Application.GetRealWidth(280); |
| | | } |
| | | else |
| | | { |
| | | songBtn.Width = wText + 5; |
| | | } |
| | | //歌手控件 |
| | | Button singerBtn = new Button |
| | | { |
| | | X = songBtn.Right, |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(280 - songBtn.Width), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | //Text =("-" +songs.Artist).Trim(), |
| | | Name = "singer", |
| | | Tag = songs.URL, |
| | | Text = "-" + songs.Artist.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(singerBtn); |
| | | if (wText > 280) |
| | | { |
| | | ///歌名长度小于250才可以显示歌手出来 |
| | | singerBtn.Width = Application.GetRealWidth(0); |
| | | } |
| | | |
| | | //点击控件 |
| | | Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealHeight(44), |
| | | Tag = number,//标记播放哪一首歌曲 |
| | | }; |
| | | musicViewFl.AddChidren(clickBtn); |
| | | ///点击播放事件 |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | frameLayout.RemoveFromParent(); |
| | | A31MusicModel.Current.A31PlayStatus.Title = songBtn.Text; |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | SendMethod.ListMusicPlay(playListName, clickBtn.Tag, A31MusicModel.Current); |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 定时更新当前播放音乐 |
| | | /// </summary> |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | void UpdateSelectedMusic(VerticalScrolViewLayout middViewLayout) |
| | | { |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < middViewLayout.ChildrenCount; i++) |
| | | { |
| | | FrameLayout view = (FrameLayout)middViewLayout.GetChildren(i); |
| | | var volIconBtn = (Button)view.GetChildren(0);//直接FrameLayout父控件找到该控件Button |
| | | var songNameBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button |
| | | var artistNameBtn = (Button)view.GetChildren(2);//直接FrameLayout父控件找到该控件Button |
| | | if (A31MusicModel.Current.A31PlayStatus.TrackURL == songNameBtn.Tag.ToString()) |
| | | { |
| | | volIconBtn.Visible = true; |
| | | songNameBtn.TextColor = Color.SelectedColor; |
| | | songNameBtn.X = Application.GetRealWidth(48); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.SelectedColor; |
| | | } |
| | | else |
| | | { |
| | | volIconBtn.Visible = false; |
| | | songNameBtn.TextColor = Color.MusicTxet14Color; |
| | | songNameBtn.X = Application.GetRealWidth(16); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.MusicNoTxetColor; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }; |
| | | updateSelectedMusicThread.Start(); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | /// <summary> |
| | | /// A3音乐播放状态 |
| | | /// </summary> |
| | | [System.Serializable] |
| | | public class A31PlayStatus |
| | | { |
| | | public string type = "0"; |
| | | public string ch = "0"; |
| | | public string mode = "0"; |
| | | public string loop = "0"; |
| | | public string status = "stop"; |
| | | public string curpos = "0"; |
| | | public string totlen = "0"; |
| | | public string Title = "Unkonw"; |
| | | public string Artist = "Unkonw"; |
| | | public string Album = "Unkonw"; |
| | | public string plicount = "0"; |
| | | public string plicurr = "0"; |
| | | public string vol = "0"; |
| | | public string Source = "0"; |
| | | public string TrackURL = ""; |
| | | public string playSource = ""; |
| | | public bool IsMute |
| | | { |
| | | get |
| | | { |
| | | return vol == "0"; |
| | | } |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Xml; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31Radio : FrameLayout |
| | | { |
| | | public A31Radio() |
| | | { |
| | | Tag = "Music"; |
| | | |
| | | } |
| | | |
| | | VerticalRefreshLayout middViewLayout; |
| | | /// <summary> |
| | | /// 先加载界面出来 |
| | | /// </summary> |
| | | public void Show(string date) |
| | | { |
| | | InitList(date); |
| | | #region 界面布局------ |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.TextID = StringId.radio; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | this.RemoveFromParent(); |
| | | }; |
| | | middViewLayout = new VerticalRefreshLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | middViewLayout.BeginHeaderRefreshingAction += () => |
| | | { |
| | | middViewLayout.EndHeaderRefreshing(); |
| | | }; |
| | | #endregion |
| | | RadioListView(); |
| | | } |
| | | /// <summary> |
| | | /// 加载数据的方法 |
| | | /// </summary> |
| | | public void RadioListView() |
| | | { |
| | | |
| | | middViewLayout.RemoveAll(); |
| | | for (int i = 0; i < A31MusicModel.Current.CnRadioInfoList.Count; i++) |
| | | { |
| | | var radioInfo = A31MusicModel.Current.CnRadioInfoList[i]; |
| | | RowLayout addFlieRow = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(78), |
| | | LineColor = Color.WhiteColor, |
| | | SubViewWidth = Application.GetRealWidth(90),//改变编辑控件宽度多少; |
| | | }; |
| | | middViewLayout.AddChidren(addFlieRow); |
| | | //文件图标 |
| | | Button fileIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(62), |
| | | Height = Application.GetMinRealAverage(62), |
| | | UnSelectedImagePath = "MusicIcon/file.png", |
| | | }; |
| | | addFlieRow.AddChidren(fileIconBtn); |
| | | //文件名控件 |
| | | Button fileNameBtn = new Button |
| | | { |
| | | X = fileIconBtn.Right + Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(29), |
| | | Width = Application.GetRealWidth(220), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = radioInfo.Title, |
| | | }; |
| | | addFlieRow.AddChidren(fileNameBtn); |
| | | |
| | | |
| | | Button clickBtn = new Button |
| | | { |
| | | X = fileIconBtn.Right + Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(375 - 94), |
| | | Height = Application.GetRealHeight(78), |
| | | Tag = radioInfo.URL, |
| | | }; |
| | | addFlieRow.AddChidren(clickBtn); |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | Loading loading = new Loading(); |
| | | this.AddChidren(loading); |
| | | loading.Start(); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | try |
| | | { |
| | | var dataString = SendMethod.ReadRadioList(clickBtn.Tag.ToString()); |
| | | if (dataString == null) |
| | | { |
| | | return; |
| | | } |
| | | int startIndex1 = dataString.IndexOf("<body>"); |
| | | int endIndex1 = dataString.IndexOf("</body>") + "</body>".Length; |
| | | if (endIndex1 <= startIndex1) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | XmlDocument xml1 = new XmlDocument(); |
| | | xml1.LoadXml(dataString.Substring(startIndex1, endIndex1 - startIndex1)); |
| | | var dataList = xml1.SelectSingleNode("body"); |
| | | if (dataList == null) |
| | | { |
| | | return; |
| | | } |
| | | A31MusicModel.Current.CnRadioInfoList.Clear(); |
| | | foreach (XmlNode childNodes in dataList.ChildNodes) |
| | | { |
| | | if (childNodes.Name == "outline" && childNodes.Attributes["URL"] != null) |
| | | { |
| | | MusicInfo musicInfoCN = new MusicInfo(); |
| | | musicInfoCN.URL = childNodes.Attributes["URL"] == null ? "" : childNodes.Attributes["URL"].Value; |
| | | musicInfoCN.Title = childNodes.Attributes["text"] == null ? "" : childNodes.Attributes["text"].Value; |
| | | musicInfoCN.Image = childNodes.Attributes["image"] == null ? "" : childNodes.Attributes["image"].Value; |
| | | if (childNodes.Attributes["image"] != null) |
| | | { |
| | | string path = ""; |
| | | if (Shared.Application.IsPad) |
| | | { |
| | | path = ""; |
| | | } |
| | | else |
| | | { |
| | | path = "Phone/" + "MusicImage/"; |
| | | } |
| | | } |
| | | musicInfoCN.Cntype = childNodes.Attributes["type"] == null ? "" : childNodes.Attributes["type"].Value; |
| | | A31MusicModel.Current.CnRadioInfoList.Add(musicInfoCN); |
| | | } |
| | | foreach (XmlNode a in childNodes.ChildNodes) |
| | | { |
| | | if (a.Name == "outline") |
| | | { |
| | | MusicInfo musicInfoCN = new MusicInfo(); |
| | | musicInfoCN.URL = a.Attributes["URL"] == null ? "" : a.Attributes["URL"].Value; |
| | | musicInfoCN.Title = a.Attributes["text"] == null ? "" : a.Attributes["text"].Value; |
| | | |
| | | if (a.Attributes["image"] != null) |
| | | { |
| | | #region 初始化网络图片路径 |
| | | string path = ""; |
| | | if (Shared.Application.IsPad) |
| | | { |
| | | path = "Pad/" + "MusicImage/"; |
| | | } |
| | | else |
| | | { |
| | | path = "Phone/" + "MusicImage/"; |
| | | } |
| | | path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, path + a.Attributes["image"].Value.Replace('/', '_').Replace('\\', '_').Replace(':', '_').Replace('*', '_').Replace('?', '_').Replace('"', '_').Replace('<', '_').Replace('>', '_').Replace('|', '_')); |
| | | musicInfoCN.Image = path; |
| | | #endregion |
| | | //Shared.IO.FileUtils.DownLoadImage(musicInfoCN.Image, a.Attributes["image"].Value); |
| | | } |
| | | musicInfoCN.Cntype = a.Attributes["type"] == null ? "" : a.Attributes["type"].Value; |
| | | A31MusicModel.Current.CnRadioInfoList.Add(musicInfoCN); |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | A31RadioList a31RadioList = new A31RadioList(); |
| | | MainPage.BasePageView.AddChidren(a31RadioList); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | a31RadioList.Show(fileNameBtn.Text); |
| | | }); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | } |
| | | } |
| | | |
| | | void InitList(string data) |
| | | { |
| | | try |
| | | { |
| | | var readString = data; |
| | | if (readString == null) |
| | | { |
| | | return; |
| | | } |
| | | int startIndex1 = readString.IndexOf("<body>"); |
| | | int endIndex = readString.IndexOf("</body>") + "</body>".Length; |
| | | if (endIndex <= startIndex1) |
| | | { |
| | | return; |
| | | } |
| | | var aa = readString.Substring(startIndex1, endIndex - startIndex1); |
| | | XmlDocument xml = new XmlDocument(); |
| | | xml.LoadXml(aa); |
| | | var CNList = xml.SelectSingleNode("body"); |
| | | if (CNList == null) |
| | | { |
| | | return; |
| | | } |
| | | A31MusicModel.Current.CnRadioInfoList.Clear(); |
| | | foreach (XmlNode v in CNList.ChildNodes) |
| | | { |
| | | switch (v.Name) |
| | | { |
| | | case "outline": |
| | | MusicInfo musicInfo = new MusicInfo(); |
| | | musicInfo.Title = v.Attributes["text"].Value; |
| | | musicInfo.URL = v.Attributes["URL"].Value; |
| | | musicInfo.Cnkey = v.Attributes["key"].Value; |
| | | |
| | | A31MusicModel.Current.CnRadioInfoList.Add(musicInfo); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Net; |
| | | using System.Text; |
| | | using System.Xml; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31RadioList : FrameLayout |
| | | { |
| | | public A31RadioList() |
| | | { |
| | | Tag = "Music"; |
| | | } |
| | | |
| | | VerticalRefreshLayout middViewLayout; |
| | | /// <summary> |
| | | /// 先加载界面出来 |
| | | /// </summary> |
| | | public void Show(string listName) |
| | | { |
| | | |
| | | #region 界面布局------ |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.Text= listName; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | this.RemoveFromParent(); |
| | | }; |
| | | middViewLayout = new VerticalRefreshLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | middViewLayout.BeginHeaderRefreshingAction += () => |
| | | { |
| | | middViewLayout.EndHeaderRefreshing(); |
| | | }; |
| | | #endregion |
| | | MusicView(listName); |
| | | } |
| | | /// <summary> |
| | | /// 加载数据的方法 |
| | | /// </summary> |
| | | public void MusicView(string listName) |
| | | { |
| | | middViewLayout.RemoveAll(); |
| | | for (int i = 0; i < A31MusicModel.Current.CnRadioInfoList.Count; i++) |
| | | { |
| | | var radioInfo = A31MusicModel.Current.CnRadioInfoList[i]; |
| | | #region Audio (播放列表) |
| | | if (radioInfo.Cntype == "audio") |
| | | { |
| | | |
| | | if (string.IsNullOrEmpty(radioInfo.Title)) |
| | | { |
| | | //防止歌曲名字为空抛异常 |
| | | radioInfo.Title = " "; |
| | | } |
| | | FrameLayout radioViewFl = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(67), |
| | | }; |
| | | middViewLayout.AddChidren(radioViewFl); |
| | | //默认电台图标 |
| | | Button radioIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(18), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "MusicIcon/radioIcon.png", |
| | | }; |
| | | radioViewFl.AddChidren(radioIconBtn); |
| | | //电台名称 |
| | | Button radioNameBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(60), |
| | | Y = Application.GetRealHeight(23), |
| | | Width = Application.GetRealWidth(250), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = radioInfo.URL, |
| | | Text = radioInfo.Title.Trim() |
| | | }; |
| | | radioViewFl.AddChidren(radioNameBtn); |
| | | |
| | | //添加喜爱电台 |
| | | Button loveIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(335), |
| | | Y = Application.GetRealHeight(20), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/love.png", |
| | | SelectedImagePath = "MusicIcon/loveSelected.png", |
| | | }; |
| | | radioViewFl.AddChidren(loveIcon); |
| | | loveIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | loveIcon.IsSelected = !loveIcon.IsSelected; |
| | | if (loveIcon.IsSelected) |
| | | { |
| | | ///查找电台是否存在在列表 |
| | | var radioselected= A31MusicModel.Current.LoveRadioInfoList.Find((m) => m.URL == radioInfo.URL); |
| | | if (radioselected == null) |
| | | { |
| | | ///没有存在就添加 |
| | | A31MusicModel.Current.LoveRadioInfoList.Add(radioInfo); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ///查找音电台是否存在在列表 |
| | | var radioselected = A31MusicModel.Current.LoveRadioInfoList.Find((m) => m.URL == radioInfo.URL); |
| | | if (radioselected != null) |
| | | { |
| | | ///存在就删除 |
| | | A31MusicModel.Current.LoveRadioInfoList.Remove(radioInfo); |
| | | } |
| | | |
| | | } |
| | | A31MusicModel.Save(); |
| | | }; |
| | | var v = A31MusicModel.Current.LoveRadioInfoList.Find((m) => m.URL == radioInfo.URL); |
| | | if (v != null) |
| | | { |
| | | loveIcon.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | loveIcon.IsSelected = false; |
| | | } |
| | | |
| | | //点击控件 |
| | | Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealHeight(44), |
| | | Tag = radioInfo,//标记播放哪一首歌曲 |
| | | }; |
| | | radioViewFl.AddChidren(clickBtn); |
| | | ///点击播放事件 |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | A31MusicModel.Current.A31PlayStatus.Title = radioNameBtn.Text; |
| | | MainPage.BasePageView.RemoveViewByTag("Music"); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | PushList(clickBtn.Tag as MusicInfo, listName); |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | #region Link(列表) |
| | | if (radioInfo.Cntype == "link") |
| | | { |
| | | RowLayout addFlieRow = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(78), |
| | | LineColor = Color.WhiteColor, |
| | | SubViewWidth = Application.GetRealWidth(90),//改变编辑控件宽度多少; |
| | | }; |
| | | middViewLayout.AddChidren(addFlieRow); |
| | | //文件图标 |
| | | Button fileIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(62), |
| | | Height = Application.GetMinRealAverage(62), |
| | | UnSelectedImagePath = "MusicIcon/file.png", |
| | | }; |
| | | addFlieRow.AddChidren(fileIconBtn); |
| | | //文件名控件 |
| | | Button fileNameBtn = new Button |
| | | { |
| | | X = fileIconBtn.Right + Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(29), |
| | | Width = Application.GetRealWidth(220), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = radioInfo.Title, |
| | | }; |
| | | addFlieRow.AddChidren(fileNameBtn); |
| | | |
| | | Button clickBtn = new Button |
| | | { |
| | | X = fileIconBtn.Right + Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(375 - 94), |
| | | Height = Application.GetRealHeight(78), |
| | | Tag = radioInfo.URL, |
| | | }; |
| | | addFlieRow.AddChidren(clickBtn); |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Loading loading = new Loading(); |
| | | this.AddChidren(loading); |
| | | loading.Start(); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | try |
| | | { |
| | | var redString = SendMethod.ReadRadioList(clickBtn.Tag.ToString()); |
| | | if (redString == null) |
| | | { |
| | | return; |
| | | } |
| | | int startIndex2 = redString.IndexOf("<body>"); |
| | | int endIndex = redString.IndexOf("</body>") + "</body>".Length; |
| | | if (endIndex <= startIndex2) |
| | | { |
| | | return; |
| | | } |
| | | var ss = redString.Substring(startIndex2, endIndex - startIndex2); |
| | | XmlDocument xml = new XmlDocument(); |
| | | xml.LoadXml(ss); |
| | | var listString = xml.SelectSingleNode("body"); |
| | | if (listString == null) |
| | | { |
| | | return; |
| | | } |
| | | A31MusicModel.Current.CnRadioInfoList.Clear(); |
| | | foreach (XmlNode childNodes in listString.ChildNodes) |
| | | { |
| | | if (childNodes.Name == "outline" && childNodes.Attributes["URL"] != null) |
| | | { |
| | | MusicInfo musicInfoCN = new MusicInfo(); |
| | | musicInfoCN.URL = childNodes.Attributes["URL"] == null ? "" : childNodes.Attributes["URL"].Value; |
| | | musicInfoCN.Title = childNodes.Attributes["text"] == null ? "" : childNodes.Attributes["text"].Value; |
| | | //musicInfoCN.Image = childNodes.Attributes["image"] == null ? "" : childNodes.Attributes["image"].Value; |
| | | |
| | | if (childNodes.Attributes["image"] != null) |
| | | { |
| | | #region 初始化网络图片路径 |
| | | string path = ""; |
| | | if (Shared.Application.IsPad) |
| | | { |
| | | path = "Pad/" + "MusicImage/"; |
| | | } |
| | | else |
| | | { |
| | | path = "Phone/" + "MusicImage/"; |
| | | } |
| | | path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, path + childNodes.Attributes["image"].Value.Replace('/', '_').Replace('\\', '_').Replace(':', '_').Replace('*', '_').Replace('?', '_').Replace('"', '_').Replace('<', '_').Replace('>', '_').Replace('|', '_')); |
| | | musicInfoCN.Image = path; |
| | | #endregion |
| | | //Shared.IO.FileUtils.DownLoadImage(musicInfoCN.Image, childNodes.Attributes["image"].Value); |
| | | } |
| | | |
| | | musicInfoCN.Cntype = childNodes.Attributes["type"] == null ? "" : childNodes.Attributes["type"].Value; |
| | | A31MusicModel.Current.CnRadioInfoList.Add(musicInfoCN); |
| | | } |
| | | foreach (XmlNode a in childNodes.ChildNodes) |
| | | { |
| | | if (a.Name == "outline") |
| | | { |
| | | MusicInfo musicInfoCN = new MusicInfo(); |
| | | musicInfoCN.URL = a.Attributes["URL"] == null ? "" : a.Attributes["URL"].Value; |
| | | musicInfoCN.Title = a.Attributes["text"] == null ? "" : a.Attributes["text"].Value; |
| | | if (a.Attributes["image"] != null) |
| | | { |
| | | #region 初始化网络图片路径 |
| | | string path = ""; |
| | | if (Shared.Application.IsPad) |
| | | { |
| | | path = "Pad/" + "MusicImage/"; |
| | | } |
| | | else |
| | | { |
| | | path = "Phone/" + "MusicImage/"; |
| | | } |
| | | path = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, path + a.Attributes["image"].Value.Replace('/', '_').Replace('\\', '_').Replace(':', '_').Replace('*', '_').Replace('?', '_').Replace('"', '_').Replace('<', '_').Replace('>', '_').Replace('|', '_')); |
| | | musicInfoCN.Image = path; |
| | | #endregion |
| | | // Shared.IO.FileUtils.DownLoadImage(musicInfoCN.Image, a.Attributes["image"].Value); |
| | | } |
| | | musicInfoCN.Cntype = a.Attributes["type"] == null ? "" : a.Attributes["type"].Value; |
| | | A31MusicModel.Current.CnRadioInfoList.Add(musicInfoCN); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | A31RadioList a31RadioList = new A31RadioList(); |
| | | MainPage.BasePageView.AddChidren(a31RadioList); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | a31RadioList.Show(fileNameBtn.Text); |
| | | }); |
| | | } |
| | | }); |
| | | }; |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | } |
| | | |
| | | public void PushList(MusicInfo musicInfo, string listName) |
| | | { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>"); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:CreateQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | sb.AppendLine("<QueueContext>"); |
| | | sb.AppendLine("<?xml version="1.0" ?>"); |
| | | sb.AppendLine("<PlayList>"); |
| | | sb.AppendLine("<ListName>" + listName + "</ListName>"); |
| | | sb.AppendLine("<ListInfo>"); |
| | | sb.AppendLine("<Radio>1</Radio>"); |
| | | sb.AppendLine("<SourceName>TuneIn</SourceName>"); |
| | | sb.AppendLine("<TrackNumber>1</TrackNumber>"); |
| | | sb.AppendLine("<SearchUrl>http://opml.radiotime.com/Tune.ashx?id=s112201&amp;partnerId=yvcOjvJP</SearchUrl>"); |
| | | sb.AppendLine("<Quality>3</Quality>"); |
| | | sb.AppendLine("<RealIndex>0</RealIndex>"); |
| | | sb.AppendLine("<SrcParent></SrcParent>"); |
| | | sb.AppendLine("<PicUrl></PicUrl>"); |
| | | sb.AppendLine("</ListInfo>"); |
| | | sb.AppendLine("<Tracks>"); |
| | | |
| | | |
| | | var url =SendMethod.ReadRadioList(musicInfo.URL); |
| | | |
| | | if (url != null) |
| | | { |
| | | url = url.TrimEnd('\n').Replace("&", "&amp;"); |
| | | } |
| | | else |
| | | { |
| | | return; |
| | | } |
| | | |
| | | sb.AppendLine("<Track" + 1 + ">"); |
| | | sb.AppendLine("<Source>TuneIn</Source>"); |
| | | sb.AppendLine("<URL>" + url + "</URL>"); |
| | | sb.AppendLine("<Source>TuneIn</Source>"); |
| | | sb.AppendLine("<Id>0</Id>"); |
| | | sb.AppendLine("<Key>http://so.ard.iyyin.com/s/song_with_out?q=%E8%8A%B1%E9%83%BD%E7%94%B5%E5%8F%B0+100.5+%28%E6%B5%81%E8%A1%8C%E9%9F%B3%E4%B9%90%E5%89%8D40%29%20TuneIn&amp;size=50&amp;page=1</Key>"); |
| | | sb.AppendLine("<Metadata>"); |
| | | sb.AppendLine("&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:song=&quot;www.wiimu.com/song/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;"); |
| | | sb.AppendLine("&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;"); |
| | | sb.AppendLine("&lt;item&gt;"); |
| | | sb.AppendLine("&lt;song:bitrate&gt;0&lt;/song:bitrate&gt;"); |
| | | sb.AppendLine("&lt;song:id&gt;0&lt;/song:id&gt;"); |
| | | sb.AppendLine("&lt;song:singerid&gt;0&lt;/song:singerid&gt;"); |
| | | sb.AppendLine("&lt;song:albumid&gt;0&lt;/song:albumid&gt;"); |
| | | sb.AppendLine("&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&quot; duration=&quot;1000&quot;&gt;" + url + "&lt;/res&gt;"); |
| | | sb.AppendLine("&lt;dc:title&gt;" + musicInfo.Title + "&lt;/dc:title&gt;"); |
| | | sb.AppendLine("&lt;upnp:artist&gt;TuneIn&lt;/upnp:artist&gt;"); |
| | | sb.AppendLine("&lt;upnp:album&gt;&lt;/upnp:album&gt;"); |
| | | sb.AppendLine("&lt;upnp:albumArtURI&gt;" + musicInfo.Image + "&lt;/upnp:albumArtURI&gt;"); |
| | | sb.AppendLine("&lt;/item&gt;"); |
| | | sb.AppendLine("&lt;/DIDL-Lite&gt;"); |
| | | sb.AppendLine("</Metadata>"); |
| | | sb.AppendLine("</Track" + 1 + ">"); |
| | | |
| | | |
| | | sb.AppendLine("</Tracks>"); |
| | | sb.AppendLine("</PlayList>"); |
| | | sb.AppendLine("</QueueContext>"); |
| | | sb.AppendLine("</u:CreateQueue>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | //sendMusicLists(a31.IPAddress, a31.Port, "CreateQueue", sb.ToString()); |
| | | SendMusicLists(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, "CreateQueue", sb.ToString()); |
| | | |
| | | StringBuilder playString = new StringBuilder(); |
| | | playString.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>"); |
| | | playString.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | playString.AppendLine("<s:Body>"); |
| | | playString.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | playString.AppendLine("<QueueName>" + listName + "</QueueName>"); |
| | | playString.AppendLine("<Index>" + 1 + "</Index>"); |
| | | playString.AppendLine("</u:PlayQueueWithIndex>"); |
| | | playString.AppendLine("</s:Body>"); |
| | | playString.AppendLine("</s:Envelope>"); |
| | | Play(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, playString.ToString()); |
| | | |
| | | } |
| | | |
| | | void SendMusicLists(string ip, int port, string soapAction, string listInfo) |
| | | { |
| | | WebClient webClient = new WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#" + soapAction + "\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(listInfo)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | void Play(string ip, int port, string info) |
| | | { |
| | | WebClient webClient = new WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(info)); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch { } |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class A31USBMusicList : FrameLayout |
| | | { |
| | | public A31USBMusicList() |
| | | { |
| | | Tag = "Music"; |
| | | } |
| | | |
| | | VerticalRefreshLayout middViewLayout; |
| | | /// <summary> |
| | | /// 先加载界面出来 |
| | | /// </summary> |
| | | public void UIView() |
| | | { |
| | | #region 界面布局------ |
| | | |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.TextID = StringId.usb; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | this.RemoveFromParent(); |
| | | }; |
| | | middViewLayout = new VerticalRefreshLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(middViewLayout); |
| | | |
| | | middViewLayout.BeginHeaderRefreshingAction += () => |
| | | { |
| | | //System.Threading.Tasks.Task.Run(() => |
| | | //{ |
| | | // try |
| | | // { |
| | | // var list = SendMethod.GetUsbList(); |
| | | // A31MusicModel.Current.USBList.Clear(); |
| | | // A31MusicModel.Current.USBList.AddRange(list); |
| | | // } |
| | | // catch { } |
| | | // finally |
| | | // { |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // Show(); |
| | | // middViewLayout.EndHeaderRefreshing(); |
| | | // }); |
| | | // } |
| | | //}); |
| | | var list = SendMethod.GetUsbList(A31MusicModel.Current); |
| | | A31MusicModel.Current.USBList.Clear(); |
| | | A31MusicModel.Current.USBList.AddRange(list); |
| | | Show(); |
| | | middViewLayout.EndHeaderRefreshing(); |
| | | }; |
| | | #endregion |
| | | } |
| | | /// <summary> |
| | | /// 加载数据的方法 |
| | | /// </summary> |
| | | public void Show() |
| | | { |
| | | middViewLayout.RemoveAll(); |
| | | int number = 0; |
| | | for (int i = 0; i < A31MusicModel.Current.USBList.Count; i++) |
| | | { |
| | | number++; |
| | | var songs = A31MusicModel.Current.USBList[i]; |
| | | if (string.IsNullOrEmpty(songs.Title)) |
| | | { |
| | | //防止歌曲名字为空抛异常 |
| | | songs.Title = " "; |
| | | } |
| | | if (string.IsNullOrEmpty(songs.Artist)) |
| | | { |
| | | //防止歌手名字为空抛异常 |
| | | songs.Artist = " "; |
| | | } |
| | | FrameLayout musicViewFl = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | middViewLayout.AddChidren(musicViewFl); |
| | | //列表当前播放音乐图标 |
| | | Button playIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/playStatus.png", |
| | | Visible = false, |
| | | Name = "playStatus", |
| | | Tag = songs.URL, |
| | | }; |
| | | musicViewFl.AddChidren(playIconBtn); |
| | | //歌曲控件 |
| | | Button songBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Name = "song", |
| | | Tag = songs.URL, |
| | | Text = songs.Title.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(songBtn); |
| | | var wText = songBtn.GetTextWidth();//获取文本宽度 |
| | | ///(歌曲+歌手)宽度最大值时280 |
| | | if (wText > 280) |
| | | { |
| | | |
| | | songBtn.Width = Application.GetRealWidth(280); |
| | | } |
| | | else |
| | | { |
| | | songBtn.Width = wText + 5; |
| | | } |
| | | //歌手控件 |
| | | Button singerBtn = new Button |
| | | { |
| | | X = songBtn.Right, |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(280 - songBtn.Width), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | //Text =("-" +songs.Artist).Trim(), |
| | | Name = "singer", |
| | | Tag = songs.URL, |
| | | Text = "-" + songs.Artist.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(singerBtn); |
| | | if (wText > 280) |
| | | { |
| | | ///歌名长度小于250才可以显示歌手出来 |
| | | singerBtn.Width = Application.GetRealWidth(0); |
| | | } |
| | | //添加喜爱音乐控件 |
| | | Button loveIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(291), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/love.png", |
| | | SelectedImagePath = "MusicIcon/loveSelected.png", |
| | | }; |
| | | musicViewFl.AddChidren(loveIcon); |
| | | loveIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | loveIcon.IsSelected = !loveIcon.IsSelected; |
| | | if (loveIcon.IsSelected) |
| | | { |
| | | ///查找音乐是否存在在列表 |
| | | var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music1 == null) |
| | | { |
| | | ///没有存在就添加 |
| | | A31MusicModel.Current.LoveMusicInfoList.Add(songs); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ///查找音乐是否存在在列表 |
| | | var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music1 != null) |
| | | { |
| | | ///存在就删除 |
| | | A31MusicModel.Current.LoveMusicInfoList.Remove(songs); |
| | | } |
| | | |
| | | } |
| | | A31MusicModel.Save(); |
| | | }; |
| | | var music = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music != null) |
| | | { |
| | | loveIcon.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | loveIcon.IsSelected = false; |
| | | } |
| | | |
| | | //添加到我的列表 |
| | | Button addIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(335), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/addMusic1.png", |
| | | }; |
| | | musicViewFl.AddChidren(addIcon); |
| | | addIcon.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | new View.DialogView { }.FieListView(songs); |
| | | }; |
| | | |
| | | //点击控件 |
| | | Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealHeight(44), |
| | | Tag = number,//标记播放哪一首歌曲 |
| | | }; |
| | | musicViewFl.AddChidren(clickBtn); |
| | | ///点击播放事件 |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | A31MusicModel.Current.A31PlayStatus.Title = songBtn.Text; |
| | | MainPage.BasePageView.RemoveViewByTag("Music"); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | SendMethod.ListMusicPlay("USBDiskQueue", clickBtn.Tag,A31MusicModel.Current); |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 定时更新当前播放音乐 |
| | | /// </summary> |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | public void UpdateSelectedMusic() |
| | | { |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < middViewLayout.ChildrenCount; i++) |
| | | { |
| | | FrameLayout view = (FrameLayout)middViewLayout.GetChildren(i); |
| | | var volIconBtn = (Button)view.GetChildren(0);//直接FrameLayout父控件找到该控件Button |
| | | var songNameBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button |
| | | var artistNameBtn = (Button)view.GetChildren(2);//直接FrameLayout父控件找到该控件Button |
| | | if (A31MusicModel.Current.A31PlayStatus.TrackURL == songNameBtn.Tag.ToString()) |
| | | { |
| | | volIconBtn.Visible = true; |
| | | songNameBtn.TextColor = Color.SelectedColor; |
| | | songNameBtn.X = Application.GetRealWidth(48); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.SelectedColor; |
| | | } |
| | | else |
| | | { |
| | | volIconBtn.Visible = false; |
| | | songNameBtn.TextColor = Color.MusicTxet14Color; |
| | | songNameBtn.X = Application.GetRealWidth(16); |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.MusicNoTxetColor; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | }); |
| | | updateSelectedMusicThread.Start(); |
| | | } |
| | | /// <summary> |
| | | /// 数据封装 |
| | | /// </summary> |
| | | /// <param name="tag"></param> |
| | | void PlayStrinfg(object tag) |
| | | { |
| | | System.Text.StringBuilder sb = new System.Text.StringBuilder(); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | sb.AppendLine("<QueueName>USBDiskQueue</QueueName>"); |
| | | sb.AppendLine("<Index>" + tag + "</Index>"); |
| | | sb.AppendLine("</u:PlayQueueWithIndex>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | Paly(sb.ToString()); |
| | | } |
| | | /// <summary> |
| | | /// 播放命令 |
| | | /// </summary> |
| | | /// <param name="s"></param> |
| | | void Paly(string s) |
| | | { |
| | | |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml;charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] bytes = webClient.UploadData(new Uri("http://" + A31MusicModel.Current.IPAddress + ":" + A31MusicModel.Current.Port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(s)); |
| | | var ab = System.Text.Encoding.UTF8.GetString(bytes, 0, bytes.Length); |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Shared; |
| | | using Shared.IO; |
| | | using System.Net; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class MusicMain : FrameLayout |
| | | { |
| | | |
| | | //FrameLayout Frame = null; |
| | | //public MusicListViewMain() { |
| | | // Frame = this; |
| | | //} |
| | | public MusicMain() |
| | | { |
| | | Tag = "MusicMain"; |
| | | } |
| | | public override void RemoveFromParent() |
| | | { |
| | | base.RemoveFromParent(); |
| | | clearA31Threads(); |
| | | } |
| | | static List<System.Threading.Thread> threadLists = new List<System.Threading.Thread>(); |
| | | |
| | | static void clearA31Threads() |
| | | { |
| | | var threads = threadLists.FindAll((obj) => { return obj.Name == "A31"; }); |
| | | foreach (var thread in threads) |
| | | { |
| | | try |
| | | { |
| | | threadLists.Remove(thread); |
| | | if (thread.IsAlive) |
| | | { |
| | | thread.Abort(); |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | System.Console.WriteLine(e.Message); |
| | | } |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 显示加载界面 |
| | | /// </summary> |
| | | public static Loading loading = new Loading(); |
| | | VerticalRefreshLayout verticalRefresh; |
| | | |
| | | public void Show() |
| | | { |
| | | |
| | | |
| | | #region 界面布局 |
| | | this.BackgroundColor = Color.ViewColor; |
| | | var topView = new TopView(); |
| | | this.AddChidren(topView.TopFLayoutView()); |
| | | topView.topNameBtn.TextID =StringId.a31Music; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | RemoveFromParent(); |
| | | }; |
| | | |
| | | verticalRefresh = new VerticalRefreshLayout |
| | | { |
| | | Y = topView.fLayout.Bottom, |
| | | Height = Application.GetRealHeight(H_W.H - H_W.T_Height), |
| | | }; |
| | | this.AddChidren(verticalRefresh); |
| | | #endregion |
| | | |
| | | verticalRefresh.BeginHeaderRefreshingAction += () => |
| | | { |
| | | SeachMusic(false); |
| | | |
| | | }; |
| | | this.AddChidren(loading); |
| | | |
| | | if (A31MusicModel.A31MusicModelList.Count == 0) |
| | | { |
| | | SeachMusic(true); |
| | | } |
| | | else |
| | | { |
| | | clearA31Threads(); |
| | | //verticalRefresh.RemoveAll(); |
| | | for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) |
| | | { |
| | | var a31player = A31MusicModel.A31MusicModelList[i]; |
| | | ///这个状态是之前保存的,加载完成后要标记为不在线,后面再读取正确的状态 |
| | | if (!a31player.IsCanShow) |
| | | { |
| | | continue; |
| | | } |
| | | if (A31MusicModel.A31MusicModelList.Count - 1 == i) |
| | | { |
| | | a31player.IsEnd = true; |
| | | } |
| | | else |
| | | { |
| | | a31player.IsEnd = false; |
| | | } |
| | | ///加载界面时默认不在线 |
| | | ///这里标记是为了不读取不在线播放器状态 |
| | | a31player.IsOnLine = false; |
| | | MusicListView(a31player); |
| | | } |
| | | ///读取正确的信息,包括IP和端口及名称 |
| | | SendMethod.Seach((obj) => |
| | | { |
| | | try |
| | | { |
| | | if (obj == null) |
| | | { |
| | | ///这里要读取主从关系 |
| | | readServerOrClientMode(); |
| | | A31MusicModel.Save(); |
| | | return; |
| | | } |
| | | var a31MusicModel = A31MusicModel.A31MusicModelList.Find((music) => music.UniqueDeviceName == obj.UniqueDeviceName); |
| | | if (a31MusicModel != null) |
| | | { |
| | | a31MusicModel.IPAddress = obj.IPAddress; |
| | | a31MusicModel.Port = obj.Port; |
| | | a31MusicModel.Name = obj.Name; |
| | | a31MusicModel.IsCanShow = true; |
| | | a31MusicModel.IsOnLine = true; |
| | | } |
| | | } |
| | | catch (Exception e) { System.Console.WriteLine(e.Message); } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | void SeachMusic(bool Yes = false) |
| | | { |
| | | for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) |
| | | { |
| | | var a31player = A31MusicModel.A31MusicModelList[i]; |
| | | a31player.IsCanShow = false; |
| | | a31player.IsOnLine = false; |
| | | } |
| | | if (Yes) |
| | | { |
| | | //为了第一次进来log一下; |
| | | loading.Start(); |
| | | } |
| | | SendMethod.Seach((obj) => |
| | | { |
| | | if (obj == null) |
| | | { |
| | | readServerOrClientMode(); |
| | | A31MusicModel.Save(); |
| | | if (!Yes) |
| | | { |
| | | ///等待跑完在关闭 |
| | | verticalRefresh.EndHeaderRefreshing(); |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (Yes) |
| | | { |
| | | //为了第一次进来log一下; |
| | | loading.Hide(); |
| | | } |
| | | verticalRefresh.RemoveAll(); |
| | | for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) |
| | | { |
| | | var a31player = A31MusicModel.A31MusicModelList[i]; |
| | | //这个状态是之前保存的,加载完成后要标记为不在线,后面再读取正确的状态 |
| | | if (!a31player.IsCanShow) |
| | | { |
| | | continue; |
| | | } |
| | | if (A31MusicModel.A31MusicModelList.Count - 1 == i) |
| | | { |
| | | a31player.IsEnd = true; |
| | | } |
| | | else |
| | | { |
| | | a31player.IsEnd = false; |
| | | } |
| | | MusicListView(a31player); |
| | | } |
| | | |
| | | }); |
| | | return; |
| | | } |
| | | var a31MusicModel = A31MusicModel.A31MusicModelList.Find((music) => { return music.UniqueDeviceName == obj.UniqueDeviceName; }); |
| | | if (a31MusicModel == null) |
| | | { |
| | | //不是我们支持的品牌不支持 |
| | | if (obj.Name != null) |
| | | { |
| | | A31MusicModel.A31MusicModelList.Add(obj); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | a31MusicModel.IPAddress = obj.IPAddress; |
| | | a31MusicModel.Port = obj.Port; |
| | | a31MusicModel.Name = obj.Name; |
| | | a31MusicModel.IsCanShow = true; |
| | | a31MusicModel.IsOnLine = true; |
| | | } |
| | | }); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 显示音乐列表的方法 |
| | | /// </summary> |
| | | void MusicListView(A31MusicModel a31player) |
| | | { |
| | | |
| | | |
| | | MusicView musicView = new MusicView(); |
| | | musicView.View(verticalRefresh); |
| | | musicView.singerBtn.Text = a31player.A31PlayStatus.Artist; |
| | | musicView.songNameBtn.Text = a31player.A31PlayStatus.Title; |
| | | musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(a31player); |
| | | musicView.regionBtn.TextID = StringId.region; |
| | | if (a31player.IsEnd) { |
| | | musicView.muiscFl.Height =Application.GetRealHeight(12 + 139 + 12); |
| | | } |
| | | EventHandler<MouseEventArgs> clickMergence = (sender, e) => |
| | | { |
| | | if (a31player.ServerClientType == 0) |
| | | { |
| | | new View.DialogView { }.PlayMergence(); |
| | | } |
| | | else if (a31player.ServerClientType == 1) |
| | | { |
| | | new View.DialogView { }.DetachPlayMergence(a31player); |
| | | |
| | | } |
| | | }; |
| | | musicView.mergeBjBtn.MouseUpEventHandler += clickMergence; |
| | | musicView.mergeBtn.MouseUpEventHandler += clickMergence; |
| | | musicView.mergeIconBtn.MouseUpEventHandler += clickMergence; |
| | | |
| | | |
| | | musicView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | A31MusicModel.Current = a31player;//当前播放器 |
| | | var a31PlayMusicPage = new A31PlayMusicPage(); |
| | | MainPage.BasePageView.AddChidren(a31PlayMusicPage); |
| | | a31PlayMusicPage.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | ///上一曲点击事件 |
| | | musicView.prevBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | musicView.prevBtn.IsSelected = true; |
| | | SendMethod.Previous(a31player); |
| | | }; |
| | | musicView.prevBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | musicView.prevBtn.IsSelected = false; |
| | | }; |
| | | ///暂停/播放点击事件 |
| | | musicView.playBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | if (musicView.playBtn.IsSelected) |
| | | { |
| | | musicView.playBtn.IsSelected = false; |
| | | SendMethod.Pause(a31player); |
| | | a31player.A31PlayStatus.status = "pause"; |
| | | } |
| | | else |
| | | { |
| | | musicView.playBtn.IsSelected = true; |
| | | SendMethod.Play(a31player); |
| | | a31player.A31PlayStatus.status = "play"; |
| | | } |
| | | }; |
| | | ///下一曲点击事件 |
| | | musicView.nextBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | musicView.nextBtn.IsSelected = true; |
| | | SendMethod.Next(a31player); |
| | | }; |
| | | musicView.nextBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | musicView.nextBtn.IsSelected = false; |
| | | }; |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.CurrentThread.Name = "A31"; |
| | | threadLists.Add(System.Threading.Thread.CurrentThread); |
| | | while (true) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | if (!a31player.IsOnLine) |
| | | { |
| | | continue; |
| | | } |
| | | SendMethod.ReadStatus(a31player); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | musicView.singerBtn.Text = a31player.A31PlayStatus.Artist; |
| | | musicView.songNameBtn.Text = a31player.A31PlayStatus.Title; |
| | | musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(a31player); |
| | | if (a31player.A31PlayStatus.status == "play") |
| | | { |
| | | musicView.playBtn.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | musicView.playBtn.IsSelected = false; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读取主从关系 |
| | | /// </summary> |
| | | void readServerOrClientMode() |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) |
| | | { |
| | | var a31player = A31MusicModel.A31MusicModelList[i]; |
| | | if (!a31player.IsOnLine) |
| | | { |
| | | continue; |
| | | } |
| | | try |
| | | { |
| | | a31player.ServerClientType = 0; |
| | | var result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList"); |
| | | if (result == null && result == "Failed") |
| | | { |
| | | result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList"); |
| | | } |
| | | if (result != null && result != "Failed") |
| | | { |
| | | a31player.Slave = Newtonsoft.Json.JsonConvert.DeserializeObject<Slaves>(result); |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | var d = e.Message; |
| | | } |
| | | } |
| | | |
| | | //分析主从关系 |
| | | for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) |
| | | { |
| | | var a31player = A31MusicModel.A31MusicModelList[i]; |
| | | if (!a31player.IsOnLine) |
| | | { |
| | | continue; |
| | | } |
| | | try |
| | | { |
| | | if (a31player.Slave != null && "0" != a31player.Slave.slaves) |
| | | { |
| | | a31player.ServerClientType = 1;//主的 |
| | | string str = a31player.Name; |
| | | for (int j = 0; j < a31player.Slave.slave_list.Count; j++) |
| | | { |
| | | |
| | | var slave = a31player.Slave.slave_list[j]; |
| | | str = str + "+" + slave.name; |
| | | var tempA31Player = A31MusicModel.A31MusicModelList.Find((obj) => slave.uuid.Replace("uuid:", "") == obj.UniqueDeviceName); |
| | | if (tempA31Player == null) |
| | | { |
| | | A31MusicModel.A31MusicModelList.Add(new A31MusicModel |
| | | { |
| | | ServerClientType = -1,//从的 |
| | | IPAddress = slave.ip, |
| | | MainPlayIP = a31player.IPAddress, |
| | | UniqueDeviceName = slave.uuid.Replace("uuid:", ""), |
| | | Name = slave.name, |
| | | IsCanShow = false, |
| | | IsOnLine = false,//true作用为了读取从播放器的音量 |
| | | }); |
| | | } |
| | | //如果找到就更新为从的 |
| | | else |
| | | { |
| | | tempA31Player.ServerClientType = -1;//从的 |
| | | tempA31Player.IPAddress = slave.ip; |
| | | tempA31Player.MainPlayIP = a31player.IPAddress; |
| | | tempA31Player.Name = slave.name; |
| | | tempA31Player.UniqueDeviceName = slave.uuid.Replace("uuid:", ""); |
| | | tempA31Player.IsCanShow = false; |
| | | tempA31Player.IsOnLine = false;//true作用为了读取从播放器的音量 |
| | | |
| | | } |
| | | } |
| | | a31player.MainPlayName = str; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | var ss = e.Message; |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Net; |
| | | using System.Net.Sockets; |
| | | using System.Security; |
| | | using System.Text; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class SendMethod |
| | | { |
| | | /// <summary> |
| | | ///搜索A31音乐播放器 |
| | | /// </summary> |
| | | /// <param name="action"></param> |
| | | /// <param name="time"></param> |
| | | /// <param name="uid"></param> |
| | | public static void Seach(Action<A31MusicModel> action, int time = 5 * 1000, string uid = "AllUniqueDeviceName") |
| | | { |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Net.Sockets.UdpClient udpClient = null; |
| | | int localPort = 65535; |
| | | for (; 1024 < localPort; localPort--) |
| | | { |
| | | try |
| | | { |
| | | udpClient = new System.Net.Sockets.UdpClient(localPort); |
| | | break; |
| | | } |
| | | catch (Exception e) { System.Console.WriteLine(e.Message); } |
| | | } |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | var tempDateTime = DateTime.Now; |
| | | while (udpClient != null) |
| | | { |
| | | try |
| | | { |
| | | if (time < (DateTime.Now - tempDateTime).TotalMilliseconds) |
| | | { |
| | | var tempBytes = System.Text.Encoding.UTF8.GetBytes("完成"); |
| | | udpClient.Send(tempBytes, tempBytes.Length, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("127.0.0.1"), localPort)); |
| | | } |
| | | else |
| | | { |
| | | var stringBuilder = new StringBuilder(); |
| | | stringBuilder.AppendLine("M-SEARCH * HTTP/1.1"); |
| | | stringBuilder.AppendLine("St: ssdp:wiimudevice"); |
| | | stringBuilder.AppendLine("Mx: 3"); |
| | | stringBuilder.AppendLine("Host: 239.255.255.250:1900"); |
| | | stringBuilder.AppendLine("Man: \"ssdp:discover\""); |
| | | stringBuilder.AppendLine(); |
| | | var tempBytes = System.Text.Encoding.ASCII.GetBytes(stringBuilder.ToString()); |
| | | //请求获取A31服务器信息 |
| | | udpClient.Send(tempBytes, tempBytes.Length, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("239.255.255.250"), 1900)); |
| | | udpClient.Send(tempBytes, tempBytes.Length, new System.Net.IPEndPoint(System.Net.IPAddress.Parse("239.255.255.250"), 1900)); |
| | | //如果1000毫秒没有数据回复,就关闭当前Socket,不再等待接收数据 |
| | | } |
| | | System.Threading.Thread.Sleep(500); |
| | | } |
| | | catch (Exception e) { System.Console.WriteLine(e.Message); } |
| | | } |
| | | }); |
| | | while (true) |
| | | { |
| | | try |
| | | { |
| | | //接收回来的数据 |
| | | var remoteIpEndPoint = new System.Net.IPEndPoint(0, 0); |
| | | //开始在这里等待接收数据, |
| | | var receviceBytes = udpClient.Receive(ref remoteIpEndPoint); |
| | | if (receviceBytes == null) |
| | | { |
| | | break; |
| | | } |
| | | if ("完成" == System.Text.Encoding.UTF8.GetString(receviceBytes)) |
| | | { |
| | | if (action != null) |
| | | { |
| | | //表示完成了 |
| | | action(null); |
| | | } |
| | | try |
| | | { |
| | | udpClient.Close(); |
| | | udpClient = null; |
| | | } |
| | | catch (Exception e) { System.Console.WriteLine(e.Message); } |
| | | break; |
| | | } |
| | | |
| | | var sr = new System.IO.StreamReader(new System.IO.MemoryStream(receviceBytes, 0, receviceBytes.Length)); |
| | | string tempLine = null; |
| | | string ipAddress = null; |
| | | int port = 0; |
| | | string uniqueDeviceName = null; |
| | | //一行一行数据判断,找出需要的信息 |
| | | while ((tempLine = sr.ReadLine()) != null) |
| | | { |
| | | //找出Ip地址相关的信息 |
| | | //System.Console.WriteLine (tempLine); |
| | | if (tempLine.StartsWith("LOCATION: http://")) |
| | | { |
| | | tempLine = tempLine.Replace("LOCATION: http://", "").Split('/')[0]; |
| | | string[] ipAndPort = tempLine.Split(':'); |
| | | ipAddress = ipAndPort[0]; |
| | | port = int.Parse(ipAndPort[1]); |
| | | } |
| | | else if (tempLine.StartsWith("USN: uuid:")) |
| | | { |
| | | uniqueDeviceName = tempLine.Replace("USN: uuid:", "").Split(':')[0]; |
| | | } |
| | | } |
| | | //关闭流 |
| | | sr.Close(); |
| | | |
| | | if (action != null) |
| | | { |
| | | if ("AllUniqueDeviceName" == uid) |
| | | { |
| | | action(new A31MusicModel { IPAddress = ipAddress, Port = port, Name = GetDeviceName(ipAddress, port), UniqueDeviceName = uniqueDeviceName }); |
| | | } |
| | | else if (uid == uniqueDeviceName) |
| | | { |
| | | if (action != null) |
| | | { |
| | | //表示完成了 |
| | | action(null); |
| | | } |
| | | try |
| | | { |
| | | udpClient.Close(); |
| | | udpClient = null; |
| | | } |
| | | catch (Exception e) { System.Console.WriteLine(e.Message); } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) { System.Console.WriteLine(e.Message); } |
| | | } |
| | | }); |
| | | } |
| | | /// <summary> |
| | | /// 更新A31播放器的状态 |
| | | /// </summary> |
| | | /// <param name="a31MusicModel"></param> |
| | | public static void ReadStatus(A31MusicModel a31MusicModel) |
| | | { |
| | | try |
| | | { |
| | | |
| | | if (a31MusicModel.ServerClientType == 1) |
| | | { |
| | | var result = OpenWeb("http://" + a31MusicModel.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList"); |
| | | if (result != null && result != "Failed") |
| | | { |
| | | var slaves = Newtonsoft.Json.JsonConvert.DeserializeObject<Slaves>(result); |
| | | if (slaves != null && slaves.slave_list != null && slaves.slave_list.Count != 0) |
| | | { |
| | | a31MusicModel.Slave = slaves; |
| | | } |
| | | } |
| | | } |
| | | |
| | | WebClient webClient = new WebClient(); |
| | | webClient.Headers.Add("Soapaction", "\"urn:schemas-upnp-org:service:AVTransport:1#GetInfoEx\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | |
| | | var recevieBytes = webClient.UploadData(new Uri("http://" + a31MusicModel.IPAddress + ":" + a31MusicModel.Port + "/upnp/control/rendertransport1"), "POST", System.Text.Encoding.UTF8.GetBytes("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?><s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Body><u:GetInfoEx xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID></u:GetInfoEx></s:Body></s:Envelope>")); |
| | | a31MusicModel.LastDateTime = DateTime.Now;//记录数据反馈的时间(因为有时间网络差数据不回复,导致当前播放音乐时间显示不正确) |
| | | |
| | | var se = System.Security.SecurityElement.FromString(System.Text.Encoding.UTF8.GetString(recevieBytes)).SearchForChildByTag("s:Body").SearchForChildByTag("u:GetInfoExResponse"); |
| | | |
| | | if ("PLAYING" == se.SearchForTextOfTag("CurrentTransportState")) |
| | | { |
| | | a31MusicModel.A31PlayStatus.status = "play"; |
| | | } |
| | | else |
| | | { |
| | | a31MusicModel.A31PlayStatus.status = "stop"; |
| | | } |
| | | a31MusicModel.A31PlayStatus.totlen = (DateTime.Parse(se.SearchForTextOfTag("TrackDuration")) - DateTime.Parse("00:00:00")).TotalMilliseconds.ToString(); |
| | | |
| | | var trackMetaData = se.SearchForTextOfTag("TrackMetaData"); |
| | | if (string.IsNullOrEmpty(trackMetaData)) |
| | | { |
| | | return; |
| | | } |
| | | if (A31MusicModel.IsJson(trackMetaData)) |
| | | { |
| | | var a31QQSong = Newtonsoft.Json.JsonConvert.DeserializeObject<A31QQSong>(trackMetaData); |
| | | a31MusicModel.A31PlayStatus.Title = a31QQSong.title; |
| | | a31MusicModel.A31PlayStatus.Album = a31QQSong.album; |
| | | a31MusicModel.A31PlayStatus.Artist = a31QQSong.creator; |
| | | } |
| | | else |
| | | { |
| | | var metadata = trackMetaData.Replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "").Replace("&", "&amp;"); |
| | | var item = SecurityElement.FromString(metadata).SearchForChildByTag("item"); |
| | | a31MusicModel.A31PlayStatus.Title = item.SearchForTextOfTag("dc:title"); |
| | | a31MusicModel.A31PlayStatus.Artist = item.SearchForTextOfTag("upnp:artist"); |
| | | a31MusicModel.A31PlayStatus.Album = item.SearchForTextOfTag("upnp:album"); |
| | | } |
| | | a31MusicModel.A31PlayStatus.curpos = (DateTime.Parse(se.SearchForTextOfTag("RelTime")) - DateTime.Parse("00:00:00")).TotalMilliseconds.ToString(); |
| | | a31MusicModel.A31PlayStatus.vol = se.SearchForTextOfTag("CurrentVolume"); |
| | | a31MusicModel.A31PlayStatus.loop = se.SearchForTextOfTag("LoopMode"); |
| | | a31MusicModel.A31PlayStatus.Source = se.SearchForTextOfTag("PlayMedium"); |
| | | a31MusicModel.A31PlayStatus.playSource = se.SearchForTextOfTag("TrackSource"); |
| | | a31MusicModel.A31PlayStatus.TrackURL = se.SearchForTextOfTag("TrackURI"); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine(ex.Message); |
| | | } |
| | | } |
| | | |
| | | public static string OpenWeb(string url) |
| | | { |
| | | try |
| | | { |
| | | var webClient = new WebClient(); |
| | | return webClient.DownloadString(url); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | System.Console.WriteLine(e.Message); |
| | | return null; |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 获取A31的名称 |
| | | /// </summary> |
| | | /// <param name="ip"></param> |
| | | /// <param name="port"></param> |
| | | /// <returns></returns> |
| | | static string GetDeviceName(string ip, int port) |
| | | { |
| | | string deviceName = null; |
| | | System.IO.StreamReader sr = null; |
| | | WebClient webClient = new WebClient(); |
| | | try |
| | | { |
| | | var receviceBytes = webClient.DownloadData(new Uri("http://" + ip + ":" + port + "/description.xml")); |
| | | sr = new System.IO.StreamReader(new System.IO.MemoryStream(receviceBytes), Encoding.UTF8); |
| | | string line = null; |
| | | string deviceType = null; |
| | | |
| | | while ((line = sr.ReadLine()) != null) |
| | | { |
| | | //System.Console.WriteLine (line); |
| | | if (line.StartsWith("<friendlyName>")) |
| | | { |
| | | deviceName = line.Replace("<friendlyName>", "").Replace("</friendlyName>", ""); |
| | | } |
| | | else if (line.StartsWith("<manufacturer>")) |
| | | { |
| | | deviceType = line.Replace("<manufacturer>", "").Replace("</manufacturer>", ""); |
| | | } |
| | | } |
| | | switch (deviceType) |
| | | { |
| | | case "iEAST": |
| | | case "Linkplay Technology Inc.": |
| | | break; |
| | | //不是A31的音乐数据 |
| | | default: |
| | | deviceName = null; |
| | | break; |
| | | } |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | System.Console.WriteLine(e.Message); |
| | | } |
| | | finally |
| | | { |
| | | if (sr != null) |
| | | { |
| | | sr.Close(); |
| | | } |
| | | } |
| | | return deviceName; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 切换播放器模式,修改音乐名称,切换蓝牙,线路输入 |
| | | /// </summary> |
| | | /// <param name="coutn"></param> |
| | | public static void SendCommand(string url) |
| | | { |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | WebClient webClient = new WebClient(); |
| | | try |
| | | { |
| | | byte[] recevieBytes1 = webClient.DownloadData(new Uri(url)); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | //this.IPAddress = ex.Message; |
| | | } |
| | | }); |
| | | } |
| | | /// <summary> |
| | | /// 播放 |
| | | /// </summary> |
| | | public static void Play(A31MusicModel a31player) |
| | | { |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:Play xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">"); |
| | | sb.AppendLine("<InstanceID>0</InstanceID>"); |
| | | sb.AppendLine("<Speed>1</Speed>"); |
| | | sb.AppendLine("</u:Play>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-upnp-org:service:AVTransport:1#Play\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); |
| | | } |
| | | catch { } |
| | | }); |
| | | } |
| | | /// <summary> |
| | | /// 暂停 |
| | | /// </summary> |
| | | public static void Pause(A31MusicModel a31player) |
| | | { |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:Pause xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">"); |
| | | sb.AppendLine("<InstanceID>0</InstanceID>"); |
| | | sb.AppendLine("</u:Pause>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-upnp-org:service:AVTransport:1#Pause\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); |
| | | } |
| | | catch { } |
| | | }); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 下一曲 |
| | | /// </summary> |
| | | public static void Next(A31MusicModel a31player) |
| | | { |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:Next xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">"); |
| | | sb.AppendLine("<InstanceID>0</InstanceID>"); |
| | | sb.AppendLine("</u:Next>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-upnp-org:service:AVTransport:1#Next\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); |
| | | } |
| | | catch { } |
| | | }); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 上一曲 |
| | | /// </summary> |
| | | public static void Previous(A31MusicModel a31player) |
| | | { |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine(" <u:Previous xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">"); |
| | | sb.AppendLine("<InstanceID>0</InstanceID>"); |
| | | sb.AppendLine("</u:Previous>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-upnp-org:service:AVTransport:1#Previous\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); |
| | | } |
| | | catch { } |
| | | }); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 快进 |
| | | /// </summary> |
| | | public static void Seek(string seekvolume, A31MusicModel a31player) |
| | | { |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine(" <u:Seek xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\">"); |
| | | sb.AppendLine("<InstanceID>0</InstanceID>"); |
| | | sb.AppendLine("<Unit>REL_TIME</Unit>"); |
| | | sb.AppendLine("<Target>" + seekvolume + "</Target>"); |
| | | sb.AppendLine("</u:Seek>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-upnp-org:service:AVTransport:1#Seek\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); |
| | | } |
| | | catch { } |
| | | }); |
| | | } |
| | | /// <summary> |
| | | /// 调节音量 |
| | | /// </summary> |
| | | /// <param name="volume">Volume.</param> |
| | | public static void ControlVolume(int volume, A31MusicModel a31player) |
| | | { |
| | | System.Threading.Tasks.Task.Run(() => { |
| | | A31MusicModel.ProgressDateTime = DateTime.Now; |
| | | try |
| | | { |
| | | if (a31player.ServerClientType == -1) |
| | | { |
| | | new System.Net.WebClient().DownloadData(new Uri("http://" + a31player.MainPlayIP + "/httpapi.asp?command=multiroom:SlaveVolume:" + a31player.IPAddress + ":" + volume)); |
| | | } |
| | | else if (a31player.ServerClientType == 1) |
| | | { |
| | | new System.Net.WebClient().DownloadData(new Uri("http://" + a31player.IPAddress + "/httpapi.asp?command=setPlayerCmd:slave_vol:" + volume)); |
| | | } |
| | | else |
| | | { |
| | | var sb = new StringBuilder(); |
| | | sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | sb.AppendLine("<s:Body>"); |
| | | sb.AppendLine("<u:SetVolume xmlns:u=\"urn:schemas-upnp-org:service:RenderingControl:1\">"); |
| | | sb.AppendLine("<InstanceID>0</InstanceID>"); |
| | | sb.AppendLine("<Channel>Master</Channel>"); |
| | | sb.AppendLine("<DesiredVolume>" + volume + "</DesiredVolume>"); |
| | | sb.AppendLine("</u:SetVolume>"); |
| | | sb.AppendLine("</s:Body>"); |
| | | sb.AppendLine("</s:Envelope>"); |
| | | |
| | | var webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-upnp-org:service:RenderingControl:1#SetVolume\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendercontrol1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); |
| | | } |
| | | } |
| | | catch { } |
| | | }); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 获取USb的列表 |
| | | /// </summary> |
| | | public static List<MusicInfo> GetUsbList(A31MusicModel a31player) |
| | | { |
| | | var musicInfoList = new List<MusicInfo>(); |
| | | musicInfoList.Clear(); |
| | | var usbString = GetUSBPlayList(a31player); |
| | | if (usbString == null) |
| | | { |
| | | return musicInfoList; |
| | | } |
| | | var se = System.Security.SecurityElement.FromString(usbString); |
| | | if (se == null) |
| | | { |
| | | return musicInfoList; |
| | | } |
| | | while (se.Children != null) |
| | | { |
| | | se = se.Children[0] as System.Security.SecurityElement; |
| | | } |
| | | |
| | | foreach (SecurityElement track in SecurityElement.FromString(se.Text).SearchForChildByTag("Tracks").Children) |
| | | { |
| | | MusicInfo musicInfo = new MusicInfo(); |
| | | musicInfo.URL = track.SearchForTextOfTag("URL"); |
| | | var metadata = track.SearchForTextOfTag("Metadata").Replace("&", "&"); |
| | | var item = SecurityElement.FromString(metadata).SearchForChildByTag("item"); |
| | | musicInfo.Title = item.SearchForTextOfTag("dc:title"); |
| | | musicInfo.Artist = item.SearchForTextOfTag("upnp:artist"); |
| | | musicInfo.Album = item.SearchForTextOfTag("upnp:album"); |
| | | musicInfo.Duration = item.SearchForTextOfTag("res"); |
| | | musicInfo.AlbumId = item.SearchForTextOfTag("song:albumid"); |
| | | musicInfoList.Add(musicInfo); |
| | | } |
| | | return musicInfoList; |
| | | } |
| | | /// <summary> |
| | | ///请求USB列表命令 |
| | | /// </summary> |
| | | public static string GetUSBPlayList(A31MusicModel a31player) |
| | | { |
| | | |
| | | StringBuilder getPlayList = new StringBuilder(); |
| | | getPlayList.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | getPlayList.AppendLine("<s:Body>"); |
| | | getPlayList.AppendLine("<u:BrowseQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | getPlayList.AppendLine("<QueueName>USBDiskQueue</QueueName>"); |
| | | getPlayList.AppendLine("</u:BrowseQueue>"); |
| | | getPlayList.AppendLine("</s:Body>"); |
| | | getPlayList.AppendLine("</s:Envelope>"); |
| | | |
| | | WebClient webClient = new WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#BrowseQueue\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(getPlayList.ToString())); |
| | | return System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch { } |
| | | |
| | | return null; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 读取电台组列表 |
| | | /// </summary> |
| | | /// <returns>读取到的电台组列表信息,读取不到反馈为null</returns> |
| | | public static string ReadRadioList(string url) |
| | | { |
| | | |
| | | WebClient webClient = new WebClient(); |
| | | webClient.Proxy = null; |
| | | webClient.Headers.Add("Content-type", "plain/text; charset=UTF-8"); |
| | | if (Language.CurrentLanguage == "Chinese") |
| | | { |
| | | webClient.Headers.Add("Accept-Language", "zh-cn"); |
| | | } |
| | | else |
| | | { |
| | | webClient.Headers.Add("Accept-Language", "en-us"); |
| | | } |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.DownloadData(new Uri(url)); |
| | | return System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取当前播放的列表 |
| | | /// </summary> |
| | | public static string GetCurrentPlayList(A31MusicModel a31player) |
| | | { |
| | | System.Text.StringBuilder getPlayList = new System.Text.StringBuilder(); |
| | | getPlayList.AppendLine("<?xml version=\"1.0\"encoding=\"utf-8\"?>"); |
| | | getPlayList.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | getPlayList.AppendLine("<s:Body>"); |
| | | getPlayList.AppendLine("<u:BrowseQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | getPlayList.AppendLine("<QueueName>CurrentQueue</QueueName>"); |
| | | getPlayList.AppendLine("</u:BrowseQueue>"); |
| | | getPlayList.AppendLine("</s:Body>"); |
| | | getPlayList.AppendLine("</s:Envelope>"); |
| | | |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#BrowseQueue\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(getPlayList.ToString())); |
| | | return System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch { } |
| | | return null; |
| | | } |
| | | /// <summary> |
| | | /// 播放音乐命令 |
| | | /// </summary> |
| | | /// <param name="listName">列表名称</param> |
| | | /// <param name="number">播放索引</param> |
| | | public static void ListMusicPlay(string listName, object number, A31MusicModel a31player) |
| | | { |
| | | System.Text.StringBuilder playstrings = new System.Text.StringBuilder(); |
| | | playstrings.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>"); |
| | | playstrings.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); |
| | | playstrings.AppendLine("<s:Body>"); |
| | | playstrings.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">"); |
| | | playstrings.AppendLine("<QueueName>" + listName + "</QueueName>"); |
| | | playstrings.AppendLine("<Index>" + number + "</Index>"); |
| | | playstrings.AppendLine("</u:PlayQueueWithIndex>"); |
| | | playstrings.AppendLine("</s:Body>"); |
| | | playstrings.AppendLine("</s:Envelope>"); |
| | | System.Net.WebClient webClient = new System.Net.WebClient(); |
| | | webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\""); |
| | | webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); |
| | | try |
| | | { |
| | | byte[] recevieBytes = webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/PlayQueue1"), "POST", Encoding.UTF8.GetBytes(playstrings.ToString())); |
| | | var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | static System.Threading.Thread thread; |
| | | /// <summary> |
| | | /// 修改蓝牙名称 |
| | | /// </summary> |
| | | /// <param name="message"></param> |
| | | public static void ModifyBluetoothName(string message) |
| | | { |
| | | if (thread != null) |
| | | { |
| | | thread.Abort(); |
| | | } |
| | | thread = new System.Threading.Thread(() => |
| | | { |
| | | var tcpClient = new TcpClient() { ReceiveTimeout = 1000 }; |
| | | try |
| | | { |
| | | //进行连接 |
| | | tcpClient.Connect(new IPEndPoint(IPAddress.Parse(A31MusicModel.Current.IPAddress), 8899)); |
| | | var buffter = Encoding.UTF8.GetBytes(message); |
| | | var sendByes = new byte[20 + buffter.Length]; |
| | | sendByes[0] = 0x18; |
| | | sendByes[1] = 0x96; |
| | | sendByes[2] = 0x18; |
| | | sendByes[3] = 0x20; |
| | | |
| | | sendByes[4] = (byte)((buffter.Length & 0x000000FF) >> 0); |
| | | sendByes[5] = (byte)((buffter.Length & 0x0000FF00) >> 8); |
| | | sendByes[6] = (byte)((buffter.Length & 0x00FF0000) >> 16); |
| | | sendByes[7] = (byte)((buffter.Length & 0xFF000000) >> 24); |
| | | |
| | | var checkSum = getCheckSum(buffter); |
| | | sendByes[8] = (byte)((checkSum & 0x000000FF) >> 0); |
| | | sendByes[9] = (byte)((checkSum & 0x0000FF00) >> 8); |
| | | sendByes[10] = (byte)((checkSum & 0x00FF0000) >> 16); |
| | | sendByes[11] = (byte)((checkSum & 0xFF000000) >> 24); |
| | | |
| | | sendByes[16] = 0x08; |
| | | |
| | | Array.Copy(buffter, 0, sendByes, 20, buffter.Length); |
| | | tcpClient.GetStream().Write(sendByes, 0, sendByes.Length); |
| | | tcpClient.GetStream().Flush(); |
| | | |
| | | thread = null; |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | tcpClient.Close(); |
| | | } |
| | | }); |
| | | thread.Start(); |
| | | } |
| | | static uint getCheckSum(byte[] buffer) |
| | | { |
| | | uint check_sum = 0; |
| | | |
| | | for (int i = 0; i < buffer.Length; i++) |
| | | { |
| | | check_sum += buffer[i]; |
| | | } |
| | | |
| | | return check_sum; |
| | | } |
| | | public class A31QQSong |
| | | { |
| | | public string title = string.Empty; |
| | | public string album = string.Empty; |
| | | public string creator = string.Empty; |
| | | } |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music.View |
| | | { |
| | | public class DialogView |
| | | { |
| | | /// <summary> |
| | | ///弹窗文件夹列表界面 |
| | | /// </summary> |
| | | /// <param name="musicInfo"></param> |
| | | public void FieListView(MusicInfo musicInfo) |
| | | { |
| | | #region |
| | | //主控件 |
| | | Dialog dialog = new Dialog() |
| | | { |
| | | BackgroundColor = Color.PopupBackgroundColor, |
| | | }; |
| | | dialog.Show(); |
| | | //父控件 |
| | | FrameLayout frame = new FrameLayout { }; |
| | | dialog.AddChidren(frame); |
| | | frame.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | //白色快父控件 |
| | | FrameLayout dialogFra = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(187), |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(460), |
| | | BackgroundColor = Color.WhiteColor, |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | }; |
| | | frame.AddChidren(dialogFra); |
| | | //显示头部信息父控件 |
| | | FrameLayout topFra = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(70), |
| | | }; |
| | | dialogFra.AddChidren(topFra); |
| | | //取消控件 |
| | | Button cancelnBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(24), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.cancelMusic, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | topFra.AddChidren(cancelnBtn); |
| | | cancelnBtn.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | //标题控件 |
| | | Button txetBtn = new Button |
| | | { |
| | | X = cancelnBtn.Right + Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(23), |
| | | Width = Application.GetRealWidth(152), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = StringId.myList, |
| | | IsBold = true, |
| | | }; |
| | | topFra.AddChidren(txetBtn); |
| | | |
| | | //添加图标控件 |
| | | Button addIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(304), |
| | | Y = Application.GetRealHeight(20), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/addMusic.png", |
| | | }; |
| | | topFra.AddChidren(addIconBtn); |
| | | |
| | | #endregion |
| | | VerticalScrolViewLayout verticalScrolViewLayout = new VerticalScrolViewLayout |
| | | { |
| | | Y = Application.GetRealHeight(70), |
| | | Height = dialogFra.Height - Application.GetRealHeight(70), |
| | | Width = Application.GetRealWidth(344), |
| | | }; |
| | | dialogFra.AddChidren(verticalScrolViewLayout); |
| | | addIconBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var fileNameList = new List<string>(); |
| | | fileNameList.Clear(); |
| | | foreach (var stringName in A31MusicModel.Current.FileLists) |
| | | { |
| | | fileNameList.Add(stringName.ListName); |
| | | |
| | | } |
| | | new TipView().InputBox(StringId.addNewList, "", StringId.listNameNull, StringId.listNamesSame, fileNameList, (name) => |
| | | { |
| | | |
| | | A31MusicModel.Current.FileLists.Add(new FileListInfo { ListName = name, }); |
| | | A31MusicModel.Save(); |
| | | FileView(dialog, verticalScrolViewLayout, musicInfo); |
| | | }); |
| | | }; |
| | | FileView(dialog, verticalScrolViewLayout, musicInfo); |
| | | |
| | | } |
| | | void FileView(Dialog dialog, VerticalScrolViewLayout verticalScrolViewLayout, MusicInfo musicInfo) |
| | | { |
| | | verticalScrolViewLayout.RemoveAll(); |
| | | for (int i = 0; i < A31MusicModel.Current.FileLists.Count; i++) |
| | | { |
| | | var list = A31MusicModel.Current.FileLists[i]; |
| | | RowLayout addFlieRow = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(78), |
| | | LineColor = Color.WhiteColor, |
| | | SubViewWidth = Application.GetRealWidth(80),//改变编辑控件宽度多少; |
| | | }; |
| | | verticalScrolViewLayout.AddChidren(addFlieRow); |
| | | //文件图标 |
| | | Button fileIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(12), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(62), |
| | | Height = Application.GetMinRealAverage(62), |
| | | UnSelectedImagePath = "MusicIcon/file.png", |
| | | }; |
| | | addFlieRow.AddChidren(fileIconBtn); |
| | | |
| | | //文件名控件 |
| | | Button fileNameBtn = new Button |
| | | { |
| | | X = fileIconBtn.Right + Application.GetRealWidth(12), |
| | | Y = Application.GetRealHeight(29), |
| | | Width = Application.GetRealWidth(189), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = list.ListName, |
| | | }; |
| | | addFlieRow.AddChidren(fileNameBtn); |
| | | |
| | | ///编辑控件 |
| | | var editBtn = new Button |
| | | { |
| | | BackgroundColor = Color.MusicEditColor, |
| | | Text = Language.StringByID(StringId.editMusic), |
| | | TextColor = Color.WhiteColor, |
| | | TextSize = TextSize.Text16, |
| | | }; |
| | | addFlieRow.AddRightView(editBtn); |
| | | |
| | | editBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | var fileNameList = new List<string>(); |
| | | fileNameList.Clear(); |
| | | foreach (var stringName in A31MusicModel.Current.FileLists) |
| | | { |
| | | fileNameList.Add(stringName.ListName); |
| | | |
| | | } |
| | | new TipView().InputBox(StringId.modifyName, list.ListName, StringId.listNameNull, StringId.listNamesSame, fileNameList, (name) => |
| | | { |
| | | |
| | | if (list.ListName != name) |
| | | { ///修改名称不一样更新保存 |
| | | list.ListName = name; |
| | | fileNameBtn.Text = name; |
| | | A31MusicModel.Save(); |
| | | } |
| | | }); |
| | | |
| | | }; |
| | | |
| | | ///删除控件 |
| | | var delBtn = new Button |
| | | { |
| | | BackgroundColor = Color.MusicDelColor, |
| | | Text = Language.StringByID(StringId.delMusic), |
| | | TextColor = Color.WhiteColor, |
| | | TextSize = TextSize.Text16, |
| | | }; |
| | | addFlieRow.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | new View.TipView().TipBox(StringId.tip, StringId.delMusicFile, () => |
| | | { |
| | | addFlieRow.RemoveFromParent(); |
| | | A31MusicModel.Current.FileLists.Remove(list); |
| | | A31MusicModel.Save(); |
| | | }); |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> click = (sender, e) => |
| | | { |
| | | |
| | | if (null == list.MusicInfoList.Find((music) => music.URL == musicInfo.URL)) |
| | | { |
| | | list.MusicInfoList.Add(musicInfo); |
| | | A31MusicModel.Save(); |
| | | } |
| | | dialog.Close(); |
| | | string msg = Language.StringByID(StringId.addMusicList) + list.ListName; |
| | | new PublicAssmebly().TipMsgAutoClose(msg, false); |
| | | }; |
| | | fileNameBtn.MouseUpEventHandler += click; |
| | | addFlieRow.MouseUpEventHandler += click; |
| | | } |
| | | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 选中组合的播放器的界面 |
| | | /// </summary> |
| | | public void PlayMergence() |
| | | { |
| | | |
| | | #region |
| | | |
| | | //主控件 |
| | | Dialog dialog = new Dialog() |
| | | { |
| | | BackgroundColor = Color.PopupBackgroundColor, |
| | | }; |
| | | dialog.Show(); |
| | | //父控件 |
| | | FrameLayout frame = new FrameLayout { }; |
| | | dialog.AddChidren(frame); |
| | | frame.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | //白色快父控件 |
| | | FrameLayout dialogFra = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(397), |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(250), |
| | | BackgroundColor = Color.WhiteColor, |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | }; |
| | | frame.AddChidren(dialogFra); |
| | | //显示头部信息父控件 |
| | | FrameLayout topFra = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(50), |
| | | }; |
| | | dialogFra.AddChidren(topFra); |
| | | //取消控件 |
| | | Button cancelnBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.cancelMusic, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | topFra.AddChidren(cancelnBtn); |
| | | cancelnBtn.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | //标题控件 |
| | | Button txetBtn = new Button |
| | | { |
| | | X = cancelnBtn.Right + Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(152), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = StringId.selectedMergence, |
| | | IsBold = true, |
| | | }; |
| | | topFra.AddChidren(txetBtn); |
| | | |
| | | //确认控件 |
| | | Button confirmBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(344 - 60 - 20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.confirmMusic, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextColor = Color.SelectedColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | topFra.AddChidren(confirmBtn); |
| | | |
| | | VerticalScrolViewLayout verticalScrolViewLayout = new VerticalScrolViewLayout |
| | | { |
| | | Y = Application.GetRealHeight(50), |
| | | Height = dialogFra.Height - Application.GetRealHeight(50), |
| | | Width = Application.GetRealWidth(344), |
| | | }; |
| | | dialogFra.AddChidren(verticalScrolViewLayout); |
| | | var playList1 = new List<A31MusicModel>(); |
| | | for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) |
| | | { |
| | | var player = A31MusicModel.A31MusicModelList[i]; |
| | | if (!player.IsOnLine) |
| | | { |
| | | //不在线不显示; |
| | | continue; |
| | | } |
| | | RowLayout PlayRow = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | LineColor = Color.WhiteColor, |
| | | SubViewWidth = Application.GetRealWidth(80),//改变编辑控件宽度多少; |
| | | }; |
| | | verticalScrolViewLayout.AddChidren(PlayRow); |
| | | |
| | | |
| | | //播放器名称控件 |
| | | Button PlayNameBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(150), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = NamePlayer(player), |
| | | }; |
| | | PlayRow.AddChidren(PlayNameBtn); |
| | | |
| | | //选中图标控件 |
| | | Button selectedIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(303), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/noSelectedIcon.png", |
| | | SelectedImagePath = "MusicIcon/selectedIcon.png", |
| | | }; |
| | | PlayRow.AddChidren(selectedIconBtn); |
| | | |
| | | ///加大几点范围 |
| | | Button clickBtn = new Button |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | }; |
| | | PlayRow.AddChidren(clickBtn); |
| | | |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | clickBtn.IsSelected = !clickBtn.IsSelected; |
| | | selectedIconBtn.IsSelected = clickBtn.IsSelected; |
| | | var musicPlayer = playList1.Find((c) => c.UniqueDeviceName == player.UniqueDeviceName); |
| | | if (selectedIconBtn.IsSelected) |
| | | { |
| | | if (musicPlayer == null) |
| | | { |
| | | playList1.Add(player); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (musicPlayer != null) |
| | | { |
| | | playList1.Remove(player); |
| | | } |
| | | } |
| | | }; |
| | | //线 |
| | | Button lineBtn = new Button |
| | | { |
| | | Y = PlayRow.Height - 1, |
| | | X = Application.GetRealWidth(20), |
| | | Width = Application.GetRealWidth(304), |
| | | Height = 1, |
| | | BackgroundColor = Color.LineColor, |
| | | }; |
| | | PlayRow.AddChidren(lineBtn); |
| | | } |
| | | #endregion |
| | | confirmBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | if (playList1.Count <= 1) |
| | | { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.selectAtLeastTwoPlayers), false); |
| | | return; |
| | | } |
| | | int number = 0; |
| | | foreach (var musin in playList1) |
| | | { |
| | | if (musin.ServerClientType == 1) |
| | | { |
| | | number++; |
| | | } |
| | | } |
| | | if (number >= 2) |
| | | { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.cannotSelectTwoOrMoreMainPlayersToCombine), false); |
| | | //如果都是主播放我就不能组合; |
| | | return; |
| | | } |
| | | ///查询是否已经存在主播放; |
| | | var host_Music_If = playList1.Find((c) => c.ServerClientType == 1); |
| | | if (host_Music_If == null) |
| | | { |
| | | |
| | | var playList2 = new List<A31MusicModel>(); |
| | | for (int i = 0; i < playList1.Count; i++) |
| | | { |
| | | var musics = playList1[i]; |
| | | if (musics.A31PlayStatus.status == "play") |
| | | { |
| | | playList2.Add(musics); |
| | | } |
| | | |
| | | } |
| | | |
| | | if (playList2.Count == 0) |
| | | { |
| | | SelectedPlayerView(dialog, playList1, playList1); |
| | | } |
| | | else if (playList2.Count == 1) |
| | | { |
| | | //只有一个播放器在播放,默认为主播发器; |
| | | dialog.Close(); |
| | | var player = playList2[0]; |
| | | MergeThreading(player, playList1); |
| | | } |
| | | else |
| | | { |
| | | SelectedPlayerView(dialog, playList1, playList2); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | dialog.Close(); |
| | | MergeThreading(host_Music_If, playList1); |
| | | } |
| | | }; |
| | | } |
| | | /// <summary> |
| | | /// 选中某个音乐为主播放器的界面 |
| | | /// </summary> |
| | | /// <param name="musicList1">显示将要组合的播放器列表</param> |
| | | /// /// <param name="musicList2">显示在播放音乐播放器列表</param> |
| | | void SelectedPlayerView(Dialog dialogF, List<A31MusicModel> musicList1, List<A31MusicModel> musicList2) |
| | | { |
| | | #region |
| | | //主控件 |
| | | Dialog dialog = new Dialog() |
| | | { |
| | | //BackgroundColor = Color.PopupBackgroundColor, |
| | | }; |
| | | dialog.Show(); |
| | | //父控件 |
| | | FrameLayout frame = new FrameLayout { }; |
| | | dialog.AddChidren(frame); |
| | | frame.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | //白色快父控件 |
| | | FrameLayout dialogFra = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(397), |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(250), |
| | | BackgroundColor = Color.WhiteColor, |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | }; |
| | | frame.AddChidren(dialogFra); |
| | | //显示头部信息父控件 |
| | | FrameLayout topFra = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(50), |
| | | }; |
| | | dialogFra.AddChidren(topFra); |
| | | //取消控件 |
| | | Button cancelnBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.cancelMusic, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | topFra.AddChidren(cancelnBtn); |
| | | cancelnBtn.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | //标题控件 |
| | | Button txetBtn = new Button |
| | | { |
| | | X = cancelnBtn.Right + Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(152), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = StringId.readyPlay, |
| | | IsBold = true, |
| | | }; |
| | | topFra.AddChidren(txetBtn); |
| | | //确认控件 |
| | | Button confirmBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(344 - 60 - 20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.confirmMusic, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextColor = Color.SelectedColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | topFra.AddChidren(confirmBtn); |
| | | |
| | | VerticalScrolViewLayout verticalScrolViewLayout = new VerticalScrolViewLayout |
| | | { |
| | | Y = Application.GetRealHeight(50), |
| | | Height = dialogFra.Height - Application.GetRealHeight(50), |
| | | Width = Application.GetRealWidth(344), |
| | | }; |
| | | dialogFra.AddChidren(verticalScrolViewLayout); |
| | | //记录选中状态 |
| | | Button selectedBtn = new Button() { Name = "No" }; |
| | | for (int i = 0; i < musicList2.Count; i++) |
| | | { |
| | | var player = musicList2[i]; |
| | | RowLayout addFlieRow = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | LineColor = Color.WhiteColor, |
| | | }; |
| | | verticalScrolViewLayout.AddChidren(addFlieRow); |
| | | |
| | | if (player.A31PlayStatus.status == "play") |
| | | { |
| | | Button songNameBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(150), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = player.A31PlayStatus.Title, |
| | | }; |
| | | addFlieRow.AddChidren(songNameBtn); |
| | | |
| | | var wText = songNameBtn.GetTextWidth();//获取文本宽度 |
| | | if (wText > 280) |
| | | { |
| | | songNameBtn.Width = Application.GetRealWidth(280); |
| | | } |
| | | else |
| | | { |
| | | songNameBtn.Width = wText + 5; |
| | | } |
| | | //歌手控件 |
| | | Button singerBtn = new Button |
| | | { |
| | | X = songNameBtn.Right, |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(280 - songNameBtn.Width), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = "-" + player.A31PlayStatus.Artist.Trim(), |
| | | }; |
| | | addFlieRow.AddChidren(singerBtn); |
| | | if (wText > 280) |
| | | { |
| | | ///歌名长度小于250才可以显示歌手出来 |
| | | singerBtn.Width = Application.GetRealWidth(0); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //播放器名称控件 |
| | | Button PlayNameBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(150), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = NamePlayer(player), |
| | | }; |
| | | addFlieRow.AddChidren(PlayNameBtn); |
| | | |
| | | } |
| | | |
| | | //选中图标控件 |
| | | Button selectedIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(303), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/noSelectedIcon.png", |
| | | SelectedImagePath = "MusicIcon/selectedIcon.png", |
| | | Tag = player, |
| | | }; |
| | | addFlieRow.AddChidren(selectedIconBtn); |
| | | ///加大几点范围 |
| | | Button clickBtn = new Button |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | }; |
| | | addFlieRow.AddChidren(clickBtn); |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | selectedBtn.IsSelected = false; |
| | | selectedBtn = selectedIconBtn; |
| | | selectedBtn.Name = "Yes"; |
| | | selectedBtn.IsSelected = true; |
| | | }; |
| | | //线 |
| | | Button lineBtn = new Button |
| | | { |
| | | Y = addFlieRow.Height - 1, |
| | | X = Application.GetRealWidth(20), |
| | | Width = Application.GetRealWidth(304), |
| | | Height = 1, |
| | | BackgroundColor = Color.LineColor, |
| | | }; |
| | | addFlieRow.AddChidren(lineBtn); |
| | | } |
| | | #endregion |
| | | confirmBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (selectedBtn.Name.ToString() == "No") |
| | | { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.noSelectedPlay), false); |
| | | return; |
| | | } |
| | | dialogF.Close(); |
| | | dialog.Close(); |
| | | |
| | | var serverMusic = selectedBtn.Tag as A31MusicModel; |
| | | MergeThreading(serverMusic, musicList1); |
| | | }; |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 选中解除组合的播放器的界面 |
| | | /// </summary> |
| | | public void DetachPlayMergence(A31MusicModel a31player) |
| | | { |
| | | |
| | | #region |
| | | //主控件 |
| | | Dialog dialog = new Dialog() |
| | | { |
| | | BackgroundColor = Color.PopupBackgroundColor, |
| | | }; |
| | | dialog.Show(); |
| | | //父控件 |
| | | FrameLayout frame = new FrameLayout { }; |
| | | dialog.AddChidren(frame); |
| | | frame.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | //白色快父控件 |
| | | FrameLayout dialogFra = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(397), |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(250), |
| | | BackgroundColor = Color.WhiteColor, |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | }; |
| | | frame.AddChidren(dialogFra); |
| | | //显示头部信息父控件 |
| | | FrameLayout topFra = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(50), |
| | | }; |
| | | dialogFra.AddChidren(topFra); |
| | | //取消控件 |
| | | Button cancelnBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.cancelMusic, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | topFra.AddChidren(cancelnBtn); |
| | | cancelnBtn.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | //标题控件 |
| | | Button txetBtn = new Button |
| | | { |
| | | X = cancelnBtn.Right + Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(152), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = StringId.checkTheReleasePlayer, |
| | | //Text = "选中解除播放器", |
| | | IsBold = true, |
| | | }; |
| | | topFra.AddChidren(txetBtn); |
| | | |
| | | //确认控件 |
| | | Button confirmBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(344 - 60 - 20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.confirmMusic, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextColor = Color.SelectedColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | topFra.AddChidren(confirmBtn); |
| | | |
| | | VerticalScrolViewLayout verticalScrolViewLayout = new VerticalScrolViewLayout |
| | | { |
| | | Y = Application.GetRealHeight(50), |
| | | Height = dialogFra.Height - Application.GetRealHeight(50), |
| | | Width = Application.GetRealWidth(344), |
| | | }; |
| | | dialogFra.AddChidren(verticalScrolViewLayout); |
| | | |
| | | var playList1 = new List<A31MusicModel>(); |
| | | playList1.Add(a31player); |
| | | for (int i = 0; i < a31player.Slave.slave_list.Count; i++) |
| | | { |
| | | var slave = a31player.Slave.slave_list[i]; |
| | | var music_If = A31MusicModel.A31MusicModelList.Find((c) => c.UniqueDeviceName == slave.uuid.Replace("uuid:", "")); |
| | | if (music_If != null) |
| | | { |
| | | playList1.Add(music_If); |
| | | } |
| | | } |
| | | |
| | | |
| | | var playList2 = new List<A31MusicModel>(); |
| | | for (int i = 0; i < playList1.Count; i++) |
| | | { |
| | | var player = playList1[i]; |
| | | RowLayout PlayRow = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | LineColor = Color.WhiteColor, |
| | | SubViewWidth = Application.GetRealWidth(80),//改变编辑控件宽度多少; |
| | | }; |
| | | verticalScrolViewLayout.AddChidren(PlayRow); |
| | | |
| | | |
| | | //播放器名称控件 |
| | | Button PlayNameBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(150), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = NamePlayer(player), |
| | | }; |
| | | PlayRow.AddChidren(PlayNameBtn); |
| | | |
| | | |
| | | //选中图标控件 |
| | | Button selectedIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(303), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/noSelectedIcon.png", |
| | | SelectedImagePath = "MusicIcon/selectedIcon.png", |
| | | }; |
| | | PlayRow.AddChidren(selectedIconBtn); |
| | | |
| | | ///加大几点范围 |
| | | Button clickBtn = new Button |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | Tag = player.UniqueDeviceName, |
| | | }; |
| | | PlayRow.AddChidren(clickBtn); |
| | | |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | clickBtn.IsSelected = !clickBtn.IsSelected; |
| | | selectedIconBtn.IsSelected = clickBtn.IsSelected; |
| | | var uuid = playList2.Find((obj) => obj.UniqueDeviceName == clickBtn.Tag.ToString()); |
| | | if (selectedIconBtn.IsSelected) |
| | | { |
| | | if (uuid == null) |
| | | { |
| | | playList2.Add(player); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (uuid != null) |
| | | { |
| | | playList2.Remove(player); |
| | | } |
| | | } |
| | | }; |
| | | //线 |
| | | Button lineBtn = new Button |
| | | { |
| | | Y = PlayRow.Height - 1, |
| | | X = Application.GetRealWidth(20), |
| | | Width = Application.GetRealWidth(304), |
| | | Height = 1, |
| | | BackgroundColor = Color.LineColor, |
| | | }; |
| | | PlayRow.AddChidren(lineBtn); |
| | | } |
| | | #endregion |
| | | confirmBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (playList1.Count == 0) |
| | | { |
| | | new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.noCheckTheReleasePlayer), false); |
| | | return; |
| | | } |
| | | dialog.Close(); |
| | | RemoveThreading(a31player, playList2); |
| | | }; |
| | | } |
| | | /// <summary> |
| | | /// 发送组合命令逻辑处理的方法 |
| | | /// </summary> |
| | | /// <param name="serverMusic">主播放器</param> |
| | | /// <param name="musicList1"></param> |
| | | void MergeThreading(A31MusicModel serverMusic, List<A31MusicModel> musicList1) |
| | | { |
| | | MusicMain.loading.Start(Language.StringByID(StringId.inConfiguration)); |
| | | bool _if = false; |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | try |
| | | { |
| | | var statusEx = SendMethod.OpenWeb("http://" + serverMusic.IPAddress + "/httpapi.asp?command=getStatusEx"); |
| | | if (statusEx == null) |
| | | { |
| | | statusEx = SendMethod.OpenWeb("http://" + serverMusic.IPAddress + "/httpapi.asp?command=getStatusEx"); |
| | | } |
| | | if (statusEx == null) |
| | | { |
| | | return; |
| | | } |
| | | var serverIfon = Newtonsoft.Json.JsonConvert.DeserializeObject<A31Wifi>(statusEx); |
| | | if (serverIfon == null) |
| | | { |
| | | return; |
| | | } |
| | | string ssid = ""; |
| | | foreach (var b in serverIfon.ssid) |
| | | { |
| | | ssid += System.Convert.ToString(b, 16).ToUpper().Length < 2 ? "0" + System.Convert.ToString(b, 16).ToUpper() : System.Convert.ToString(b, 16).ToUpper(); |
| | | } |
| | | System.Threading.Thread.Sleep(1000); |
| | | for (int i = 0; i < musicList1.Count; i++) |
| | | { |
| | | var clientMusic = musicList1[i]; |
| | | if (clientMusic.UniqueDeviceName == serverMusic.UniqueDeviceName) |
| | | { |
| | | //过滤掉主播放器; |
| | | continue; |
| | | } |
| | | var dd = SendMethod.OpenWeb("http://" + clientMusic.IPAddress + "/httpapi.asp?command=ConnectMasterAp:ssid=" + ssid + ":ch=" + serverIfon.WifiChannel + ":auth=OPEN:encry=NONE:pwd=:chext=0:JoinGroupMaster:eth" + serverIfon.eth2 + ":wifi" + serverIfon.ra0 + ":uuid" + serverIfon.uuid); |
| | | if (null == SendMethod.OpenWeb("http://" + clientMusic.IPAddress + "/httpapi.asp?command=ConnectMasterAp:ssid=" + ssid + ":ch=" + serverIfon.WifiChannel + ":auth=OPEN:encry=NONE:pwd=:chext=0:JoinGroupMaster:eth" + serverIfon.eth2 + ":wifi" + serverIfon.ra0 + ":uuid" + serverIfon.uuid)) |
| | | { |
| | | if (null == SendMethod.OpenWeb("http://" + clientMusic.IPAddress + "/httpapi.asp?command=ConnectMasterAp:ssid=" + ssid + ":ch=" + serverIfon.WifiChannel + ":auth=OPEN:encry=NONE:pwd=:chext=0:JoinGroupMaster:eth" + serverIfon.eth2 + ":wifi" + serverIfon.ra0 + ":uuid" + serverIfon.uuid)) |
| | | { |
| | | |
| | | } |
| | | } |
| | | System.Threading.Thread.Sleep(1000);//等待1秒再发数据 |
| | | } |
| | | DateTime dateTime = DateTime.Now; |
| | | while ((DateTime.Now - dateTime).TotalMilliseconds < 15 * 1000) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | try |
| | | { |
| | | var result = SendMethod.OpenWeb("http://" + serverMusic.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList"); |
| | | if (result != null && result != "Failed") |
| | | { |
| | | var tmepSlaves = Newtonsoft.Json.JsonConvert.DeserializeObject<Slaves>(result); |
| | | if (tmepSlaves != null && tmepSlaves.slave_list != null && tmepSlaves.slave_list.Count != 0) |
| | | { |
| | | string str = serverMusic.Name; |
| | | for (int j = 0; j < A31MusicModel.A31MusicModelList.Count; j++) |
| | | { |
| | | var music = A31MusicModel.A31MusicModelList[j]; |
| | | if (music.UniqueDeviceName == serverMusic.UniqueDeviceName) |
| | | { |
| | | |
| | | music.ServerClientType = 1; |
| | | music.Slave = tmepSlaves; |
| | | //过滤掉主播放器; |
| | | continue; |
| | | } |
| | | var slave_Ifon = tmepSlaves.slave_list.Find((obj) => obj.uuid.Replace("uuid:", "") == music.UniqueDeviceName); |
| | | if (null != slave_Ifon) |
| | | { |
| | | str = str + "+" + slave_Ifon.name; |
| | | //已经添加成功 |
| | | music.ServerClientType = -1; |
| | | music.IsCanShow = false; |
| | | music.IsOnLine = false; |
| | | music.IPAddress = slave_Ifon.ip; |
| | | music.MainPlayIP = serverMusic.IPAddress; |
| | | _if = true; |
| | | } |
| | | } |
| | | serverMusic.MainPlayName = str; |
| | | A31MusicModel.Save(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | catch { } |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | MusicMain.loading.Hide(); |
| | | ///可以提示配置失败; |
| | | if (_if) |
| | | { |
| | | //配置成功才可以刷新界面 |
| | | MainPage.BasePageView.RemoveViewByTag("MusicMain"); |
| | | var musicMain = new MusicMain(); |
| | | MainPage.BasePageView.AddChidren(musicMain); |
| | | musicMain.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 解除组合命令逻辑处理的方法 |
| | | /// </summary> |
| | | /// <param name="a31player">主播放器</param> |
| | | /// <param name="playList1"></param> |
| | | void RemoveThreading(A31MusicModel a31player, List<A31MusicModel> playList1) |
| | | { |
| | | MusicMain.loading.Start(Language.StringByID(StringId.lifting)); |
| | | var slaveList = new List<Slave>(); |
| | | slaveList.AddRange(a31player.Slave.slave_list); |
| | | // bool host_If = false; //表示是否显示解除的播放 |
| | | bool _if = false; |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | try |
| | | { |
| | | var play_If = playList1.Find((obj) => obj.UniqueDeviceName == a31player.UniqueDeviceName); |
| | | if (play_If == null) |
| | | { |
| | | //子音箱与主音箱断开的命令 |
| | | for (int i = 0; i < playList1.Count; i++) |
| | | { |
| | | var clientMusic = playList1[i]; |
| | | if (null == SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:SlaveKickout:" + clientMusic.IPAddress)) |
| | | { |
| | | if (null == SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:SlaveKickout:" + clientMusic.IPAddress)) |
| | | { |
| | | |
| | | } |
| | | } |
| | | ///每解除一个播放器需要等待3秒 |
| | | System.Threading.Thread.Sleep(3000);//等待3秒再发数据 |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //解散组的命令 |
| | | if (null == SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:Ungroup")) |
| | | { |
| | | if (null == SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:Ungroup")) |
| | | { |
| | | |
| | | } |
| | | } |
| | | } |
| | | DateTime dateTime = DateTime.Now; |
| | | while ((DateTime.Now - dateTime).TotalMilliseconds < 12 * 1000) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | try |
| | | { |
| | | var result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList"); |
| | | if (result != null && result != "Failed") |
| | | { |
| | | var tmepSlaves = Newtonsoft.Json.JsonConvert.DeserializeObject<Slaves>(result); |
| | | if (tmepSlaves != null) |
| | | { |
| | | if (tmepSlaves.slave_list.Count == 0) |
| | | { |
| | | |
| | | var host_music = A31MusicModel.A31MusicModelList.Find((c) => c.UniqueDeviceName == a31player.UniqueDeviceName); |
| | | if (host_music != null) |
| | | { |
| | | host_music.ServerClientType = 0;//解除主从关系 |
| | | host_music.MainPlayName = ""; |
| | | } |
| | | for (int a = 0; a < slaveList.Count; a++) |
| | | { |
| | | var uuid = slaveList[a].uuid.Replace("uuid:", ""); |
| | | var music = A31MusicModel.A31MusicModelList.Find((c) => c.UniqueDeviceName == uuid); |
| | | if (music != null) |
| | | { |
| | | music.ServerClientType = 0;//解除主从关系 |
| | | music.IsCanShow = true;//允许显示 |
| | | music.IsOnLine = false;//先不允许读取 |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | for (int b = 0; b < tmepSlaves.slave_list.Count; b++) |
| | | { |
| | | var uuid = tmepSlaves.slave_list[b].uuid.Replace("uuid:", ""); |
| | | var music = A31MusicModel.A31MusicModelList.Find((c) => c.UniqueDeviceName == uuid); |
| | | if (music != null) |
| | | { |
| | | music.ServerClientType = 0;//解除主从关系 |
| | | music.IsCanShow = true;//允许显示 |
| | | music.IsOnLine = false;//先不允许读取 |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | var host_a31player = A31MusicModel.A31MusicModelList.Find((c) => c.UniqueDeviceName == a31player.UniqueDeviceName); |
| | | string str = host_a31player.Name; |
| | | for (int b = 0; b < tmepSlaves.slave_list.Count; b++) |
| | | { |
| | | str = str + "+" + tmepSlaves.slave_list[b].name; |
| | | } |
| | | host_a31player.MainPlayName = str;///改变主播放器的显示名称 |
| | | _if = true;//解除成功 |
| | | A31MusicModel.Save(); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | catch { } |
| | | } |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | MusicMain.loading.Hide(); |
| | | ///可以提示解除失败; |
| | | if (_if) |
| | | { |
| | | //解除成功才可以刷新界面 |
| | | MainPage.BasePageView.RemoveViewByTag("MusicMain"); |
| | | var musicMain = new MusicMain(); |
| | | MainPage.BasePageView.AddChidren(musicMain); |
| | | musicMain.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | public string NamePlayer(A31MusicModel a31player) |
| | | { |
| | | if (a31player.ServerClientType == 1) |
| | | { |
| | | return a31player.MainPlayName; |
| | | } |
| | | else |
| | | { |
| | | return a31player.Name; |
| | | } |
| | | } |
| | | |
| | | List<A31MusicModel> volumePlayList = new List<A31MusicModel>(); |
| | | A31MusicModel currVolumePlay = null;//当前的播放器 |
| | | int startVolume = 0;//之前的音量 |
| | | int endVolume = 0;//现在的音量 |
| | | /// <summary> |
| | | /// 播放器音量的界面 |
| | | /// </summary> |
| | | /// <param name="a31player">主播放器</param> |
| | | public void PlayerVolumeView(A31MusicModel a31player) |
| | | { |
| | | #region |
| | | //主控件 |
| | | Dialog volumedialog = new Dialog(); |
| | | volumedialog.Show(); |
| | | //父控件 |
| | | FrameLayout frame = new FrameLayout { }; |
| | | volumedialog.AddChidren(frame); |
| | | frame.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | volumedialog.Close(); |
| | | if (updateVolumeThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateVolumeThread.IsAlive) |
| | | { |
| | | updateVolumeThread.Abort(); |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | }; |
| | | //白色快父控件 |
| | | FrameLayout dialogFra = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(397), |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(250), |
| | | BackgroundColor = Color.WhiteColor, |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | }; |
| | | frame.AddChidren(dialogFra); |
| | | //显示头部信息父控件 |
| | | FrameLayout topFra = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(344), |
| | | Height = Application.GetRealHeight(58), |
| | | }; |
| | | dialogFra.AddChidren(topFra); |
| | | //取消控件 |
| | | Button cancelnBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.cancelMusic, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | topFra.AddChidren(cancelnBtn); |
| | | cancelnBtn.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | volumedialog.Close(); |
| | | if (updateVolumeThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateVolumeThread.IsAlive) |
| | | { |
| | | updateVolumeThread.Abort(); |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | }; |
| | | //标题控件 |
| | | Button txetBtn = new Button |
| | | { |
| | | X = cancelnBtn.Right + Application.GetRealWidth(20), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(152), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = StringId.volumeAdjustment, |
| | | IsBold = true, |
| | | }; |
| | | topFra.AddChidren(txetBtn); |
| | | //确认控件 |
| | | Button confirmBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(344 - 60 - 20), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.confirmMusic, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextColor = Color.SelectedColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | topFra.AddChidren(confirmBtn); |
| | | confirmBtn.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | volumedialog.Close(); |
| | | if (updateVolumeThread != null) |
| | | { |
| | | try |
| | | { |
| | | if (updateVolumeThread.IsAlive) |
| | | { |
| | | updateVolumeThread.Abort(); |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | }; |
| | | |
| | | VerticalScrolViewLayout volumeViewLayout = new VerticalScrolViewLayout |
| | | { |
| | | Y = Application.GetRealHeight(58), |
| | | Height = dialogFra.Height - Application.GetRealHeight(58), |
| | | Width = Application.GetRealWidth(343), |
| | | }; |
| | | dialogFra.AddChidren(volumeViewLayout); |
| | | volumePlayList.Clear(); |
| | | for (int i = 0; i < a31player.Slave.slave_list.Count; i++) |
| | | { |
| | | var slave = a31player.Slave.slave_list[i]; |
| | | var music_If = A31MusicModel.A31MusicModelList.Find((c) => c.UniqueDeviceName == slave.uuid.Replace("uuid:", "")); |
| | | if (music_If != null) |
| | | { |
| | | music_If.ServerClientType = -1; |
| | | music_If.A31PlayStatus.vol = slave.volume; |
| | | volumePlayList.Add(music_If); |
| | | } |
| | | } |
| | | volumePlayList.Add(a31player); |
| | | |
| | | for (int i = 0; i < volumePlayList.Count; i++) |
| | | { |
| | | var player = volumePlayList[i]; |
| | | FrameLayout volumeFra = new FrameLayout |
| | | { |
| | | Height = Application.GetRealHeight(64), |
| | | }; |
| | | volumeViewLayout.AddChidren(volumeFra); |
| | | Button volumeTextBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(28), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetRealWidth(200), |
| | | Height = Application.GetRealHeight(14), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text10, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | |
| | | }; |
| | | volumeFra.AddChidren(volumeTextBtn); |
| | | if (player.ServerClientType == -1) |
| | | { |
| | | volumeTextBtn.Text = player.Name + Language.StringByID(StringId.volumeMusic); |
| | | } |
| | | else if (player.ServerClientType == 1) |
| | | { |
| | | volumeTextBtn.Text = Language.StringByID(StringId.totalVolume); |
| | | } |
| | | |
| | | DiyImageSeekBar volSeekBar = new DiyImageSeekBar |
| | | { |
| | | Y = Application.GetRealHeight(12), |
| | | X = Application.GetRealWidth(28), |
| | | Width = Application.GetRealWidth(240), |
| | | Height = Application.GetRealHeight(54),//进度条父控件背景高度 |
| | | IsProgressTextShow = false,//显示百分比 |
| | | IsClickable = true,//进度条是否滑动 |
| | | ProgressBarColor = Color.SelectedColor,//选中进度条颜色 |
| | | ThumbImagePath = "MusicIcon/progressIcon.png",//进度条按钮图标 |
| | | ThumbImageHeight = Application.GetMinRealAverage(54),//进度条按钮图标的高度(默认正方形:宽和高一样) |
| | | SeekBarViewHeight = Application.GetMinRealAverage(8),//进度条的高度 |
| | | Progress = int.Parse(player.A31PlayStatus.vol), |
| | | //ProgressChangeDelayTime= |
| | | }; |
| | | volumeFra.AddChidren(volSeekBar); |
| | | |
| | | Button valueBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(289), |
| | | Y = Application.GetRealHeight(31), |
| | | Width = Application.GetRealWidth(26), |
| | | Height = Application.GetRealHeight(17), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = player.A31PlayStatus.vol + "%", |
| | | }; |
| | | volumeFra.AddChidren(valueBtn); |
| | | |
| | | |
| | | ///音量进度条点击事件 |
| | | EventHandler<int> progressClick = (sender, e) => |
| | | { |
| | | |
| | | if (currVolumePlay == null || (currVolumePlay != null && currVolumePlay.UniqueDeviceName != player.UniqueDeviceName)) |
| | | { |
| | | currVolumePlay = player; |
| | | } |
| | | endVolume = e; |
| | | if (player.ServerClientType == -1) |
| | | { |
| | | valueBtn.Text = volSeekBar.Progress + "%"; |
| | | //SendMethod.ControlVolume(volSeekBar.Progress, player); |
| | | } |
| | | else if (player.ServerClientType == 1) |
| | | { |
| | | for (int j = 0; j < volumePlayList.Count; j++) |
| | | { |
| | | var music = volumePlayList[j]; |
| | | var frameLayout = (FrameLayout)volumeViewLayout.GetChildren(j); |
| | | var diyImageSeekBar = (DiyImageSeekBar)frameLayout.GetChildren(1); |
| | | var button = (Button)frameLayout.GetChildren(2); |
| | | diyImageSeekBar.Progress = volSeekBar.Progress; |
| | | button.Text = volSeekBar.Progress + "%"; |
| | | //SendMethod.ControlVolume(volSeekBar.Progress, music); |
| | | } |
| | | } |
| | | }; |
| | | volSeekBar.OnProgressChangedEvent += progressClick; |
| | | volSeekBar.OnStopTrackingTouchEvent += progressClick; |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 定时音量并且发送命令 |
| | | /// </summary> |
| | | System.Threading.Thread updateVolumeThread; |
| | | public void UpdateVolume() |
| | | { |
| | | if (updateVolumeThread != null) { |
| | | try |
| | | { |
| | | if (updateVolumeThread.IsAlive) { |
| | | updateVolumeThread.Abort(); |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | updateVolumeThread = new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | while (true) |
| | | { |
| | | System.Threading.Thread.Sleep(500); |
| | | if (startVolume == endVolume || currVolumePlay == null) |
| | | { |
| | | continue; |
| | | } |
| | | startVolume = endVolume; |
| | | |
| | | if (currVolumePlay.ServerClientType == -1) |
| | | { |
| | | SendMethod.ControlVolume(endVolume, currVolumePlay); |
| | | } |
| | | else if (currVolumePlay.ServerClientType == 1) |
| | | { |
| | | for (int j = 0; j < volumePlayList.Count; j++) |
| | | { |
| | | var music = volumePlayList[j]; |
| | | SendMethod.ControlVolume(endVolume, music); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | catch { } |
| | | }) |
| | | { IsBackground = true }; |
| | | updateVolumeThread.Start(); |
| | | } |
| | | |
| | | } |
| | | [System.Serializable] |
| | | public class A31Wifi
{ |
| | | public string ssid;
public string WifiChannel;
public string uuid;
public string eth2;
public string ra0;
public string upnp_uuid; |
| | | public string firmware; |
| | | public string language; |
| | | public string MAC; |
| | | public string Release; |
| | | public string psk; |
| | | public string SSIDStrategy; |
| | | public string netstat; |
| | | public string apcli0; |
| | |
} |
| | | |
| | | |
| | | } |
New file |
| | |
| | | using System; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music.View |
| | | { |
| | | public class MusicSourceView |
| | | { |
| | | /// <summary> |
| | | /// 父控件View |
| | | /// </summary> |
| | | public FrameLayout fLayout = new FrameLayout |
| | | { |
| | | BackgroundColor = Color.WhiteColor, |
| | | Height = Application.GetRealHeight(50), |
| | | Width = Application.GetRealWidth(375), |
| | | }; |
| | | /// <summary> |
| | | ///图标 |
| | | /// </summary> |
| | | public Button iconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(13), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | }; |
| | | /// <summary> |
| | | ///文本 |
| | | /// </summary> |
| | | public Button textBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetRealWidth(140), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | |
| | | /// <summary> |
| | | ///写入文本 |
| | | /// </summary> |
| | | public Button inputTextBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(375-140-52), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(140), |
| | | Height = Application.GetRealHeight(20), |
| | | TextAlignment=TextAlignment.CenterRight, |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text14, |
| | | }; |
| | | |
| | | /// <summary> |
| | | ///下一级菜单图标 |
| | | /// </summary> |
| | | public Button nextLevelBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(339), |
| | | Y = Application.GetRealHeight(17), |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "MusicIcon/sourceNetx.png", |
| | | |
| | | }; |
| | | /// <summary> |
| | | ///线 |
| | | /// </summary> |
| | | public Button lineBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(375-16-16), |
| | | BackgroundColor = Color.LineColor, |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 点击事件 |
| | | /// </summary> |
| | | public Button clickBtn = new Button |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | Width = Application.GetRealWidth(375), |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 音乐源控件的方法 |
| | | /// </summary> |
| | | /// <param name="frameLayout"></param> |
| | | /// <param name="IsView"></param> |
| | | public void FrameLayoutView(FrameLayout frameLayout,bool IsView=true) |
| | | { |
| | | if (IsView) |
| | | { |
| | | fLayout.AddChidren(iconBtn); |
| | | textBtn.X = Application.GetRealWidth(56); |
| | | nextLevelBtn.X = Application.GetRealWidth(339); |
| | | nextLevelBtn.Y = Application.GetRealHeight(17); |
| | | nextLevelBtn.Width = Application.GetMinRealAverage(16); |
| | | nextLevelBtn.Height = Application.GetMinRealAverage(16); |
| | | } |
| | | else |
| | | { |
| | | textBtn.X = Application.GetRealWidth(16); |
| | | fLayout.AddChidren(inputTextBtn); |
| | | nextLevelBtn.X = Application.GetRealWidth(333); |
| | | nextLevelBtn.Y = Application.GetRealHeight(11); |
| | | nextLevelBtn.Width = Application.GetMinRealAverage(28); |
| | | nextLevelBtn.Height = Application.GetMinRealAverage(28); |
| | | nextLevelBtn.UnSelectedImagePath = "MusicIcon/edit.png"; |
| | | } |
| | | fLayout.AddChidren(textBtn); |
| | | fLayout.AddChidren(nextLevelBtn); |
| | | lineBtn.Y = fLayout.Height - 1; |
| | | lineBtn.Height= H_W.Line; |
| | | fLayout.AddChidren(lineBtn); |
| | | fLayout.AddChidren(clickBtn); |
| | | frameLayout.AddChidren(fLayout); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class MusicView |
| | | { |
| | | /// <summary> |
| | | ///父控件 |
| | | /// </summary> |
| | | public FrameLayout muiscFl = new FrameLayout |
| | | { |
| | | Height = Application.GetRealHeight(12 + 139), |
| | | Width = Application.GetRealWidth(375), |
| | | |
| | | }; |
| | | /// <summary> |
| | | ///白色背景的控件 |
| | | /// </summary> |
| | | public FrameLayout musicIfonFl = new FrameLayout |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(12), |
| | | Height = Application.GetRealHeight(139), |
| | | Width = Application.GetRealWidth(375 - 16 * 2), |
| | | BackgroundColor = Color.WhiteColor, |
| | | Radius= (uint)Application.GetRealHeight(12), |
| | | }; |
| | | /// <summary> |
| | | ///显示音乐状态图标 |
| | | /// </summary> |
| | | public Button iconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(10), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "MusicIcon/playStatus.png", |
| | | }; |
| | | /// <summary> |
| | | ///组合背景图 |
| | | /// </summary> |
| | | public Button mergeBjBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(214), |
| | | Y = Application.GetRealHeight(18), |
| | | Width = Application.GetRealWidth(70), |
| | | Height = Application.GetRealHeight(25), |
| | | BackgroundColor = Color.ViewColor, |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | }; |
| | | /// <summary> |
| | | ///组合图标 |
| | | /// </summary> |
| | | public Button mergeIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(214 + 13), |
| | | Y = Application.GetRealHeight(18 + 5), |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "MusicIcon/Merge.png", |
| | | }; |
| | | /// <summary> |
| | | ///组合文本 |
| | | /// </summary> |
| | | public Button mergeBtn = new Button |
| | | { |
| | | TextID=StringId.merge, |
| | | X = Application.GetRealWidth(214 + 33), |
| | | Y = Application.GetRealHeight(18 + 4), |
| | | Width = Application.GetRealWidth(24+3), |
| | | Height = Application.GetRealHeight(17), |
| | | TextColor = Color.TextColor, |
| | | TextSize=TextSize.Text12, |
| | | |
| | | }; |
| | | /// <summary> |
| | | ///收藏图标 |
| | | /// </summary> |
| | | public Button collectIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(299), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetMinRealAverage(40), |
| | | Height = Application.GetMinRealAverage(40), |
| | | UnSelectedImagePath = "MusicIcon/collect.png", |
| | | SelectedImagePath = "MusicIcon/collectSelected.png", |
| | | }; |
| | | /// <summary> |
| | | /// 歌名名称 |
| | | /// </summary> |
| | | public Button songNameBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(54), |
| | | Y = Application.GetRealHeight(12), |
| | | Width = Application.GetRealWidth(140), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | /// <summary> |
| | | /// 歌手名称 |
| | | /// </summary> |
| | | public Button singerBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(54), |
| | | Y = Application.GetRealHeight(36), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(14), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text10, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | |
| | | }; |
| | | /// <summary> |
| | | /// 播放器名称 |
| | | /// </summary> |
| | | public Button musicNameBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(54), |
| | | Y = Application.GetRealHeight(58), |
| | | Width = Application.GetRealWidth(140), |
| | | Height = Application.GetRealHeight(17), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | /// <summary> |
| | | /// 区域名称 |
| | | /// </summary> |
| | | public Button regionBtn = new Button |
| | | { |
| | | //Text = i.ToString(), |
| | | X = Application.GetRealWidth(54), |
| | | Y = Application.GetRealHeight(79), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(14), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text10, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 点击事件 |
| | | /// </summary> |
| | | public Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(130), |
| | | Height = Application.GetRealHeight(139), |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 上一曲 |
| | | /// </summary> |
| | | public Button prevBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(163), |
| | | Y = Application.GetRealHeight(101), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "MusicIcon/prev.png", |
| | | SelectedImagePath = "MusicIcon/prevSeletced.png", |
| | | }; |
| | | /// <summary> |
| | | /// 暂停/播放 |
| | | /// </summary> |
| | | public Button playBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(233), |
| | | Y = Application.GetRealHeight(101), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "MusicIcon/pause.png", |
| | | SelectedImagePath = "MusicIcon/play.png", |
| | | }; |
| | | /// <summary> |
| | | /// 下一曲 |
| | | /// </summary> |
| | | public Button nextBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(303), |
| | | Y = Application.GetRealHeight(101), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "MusicIcon/next.png", |
| | | SelectedImagePath = "MusicIcon/nextSelected.png", |
| | | }; |
| | | /// <summary> |
| | | /// 播放器界面的方法 |
| | | /// </summary> |
| | | /// <param name="verticalRefresh"></param> |
| | | public void View(VerticalRefreshLayout verticalRefresh) |
| | | { |
| | | verticalRefresh.AddChidren(muiscFl); |
| | | muiscFl.AddChidren(musicIfonFl); |
| | | musicIfonFl.AddChidren(iconBtn); |
| | | musicIfonFl.AddChidren(mergeBjBtn); |
| | | musicIfonFl.AddChidren(mergeIconBtn); |
| | | musicIfonFl.AddChidren(mergeBtn); |
| | | musicIfonFl.AddChidren(collectIconBtn); |
| | | musicIfonFl.AddChidren(songNameBtn); |
| | | musicIfonFl.AddChidren(singerBtn); |
| | | musicIfonFl.AddChidren(musicNameBtn); |
| | | musicIfonFl.AddChidren(regionBtn); |
| | | musicIfonFl.AddChidren(clickBtn); |
| | | musicIfonFl.AddChidren(prevBtn); |
| | | musicIfonFl.AddChidren(playBtn); |
| | | musicIfonFl.AddChidren(nextBtn); |
| | | |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music.View |
| | | { |
| | | public class PlayView |
| | | { |
| | | |
| | | |
| | | /// <summary> |
| | | ///白色图片父控件 |
| | | /// </summary> |
| | | public FrameLayout musicBjFl = new FrameLayout |
| | | { |
| | | Y = Application.GetRealHeight(24), |
| | | X = Application.GetRealWidth(24), |
| | | Height = Application.GetRealHeight(526), |
| | | Width = Application.GetRealWidth(327), |
| | | BackgroundImagePath = "MusicIcon/playBj.png", |
| | | |
| | | }; |
| | | /// <summary> |
| | | /// 音乐汉字 |
| | | /// </summary> |
| | | public Button musicNameBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(16), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(33), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text24, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextID=StringId.a31Music, |
| | | }; |
| | | /// <summary> |
| | | /// 区域名称 |
| | | /// </summary> |
| | | public Button regionBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(53), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(17), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextID = StringId.region, |
| | | |
| | | }; |
| | | /// <summary> |
| | | ///收藏图标 |
| | | /// </summary> |
| | | public Button collectIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(273), |
| | | Y = Application.GetRealHeight(14), |
| | | Width = Application.GetMinRealAverage(40), |
| | | Height = Application.GetMinRealAverage(40), |
| | | UnSelectedImagePath = "MusicIcon/collect.png", |
| | | SelectedImagePath = "MusicIcon/collectSelected.png", |
| | | }; |
| | | /// <summary> |
| | | ///显示播放音乐图标 |
| | | /// </summary> |
| | | public Button musicIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(63), |
| | | Y = Application.GetRealHeight(72), |
| | | Width = Application.GetMinRealAverage(202), |
| | | Height = Application.GetMinRealAverage(202), |
| | | UnSelectedImagePath = "MusicIcon/musicIcon.png", |
| | | }; |
| | | /// <summary> |
| | | ///音乐开始时间 |
| | | /// </summary> |
| | | public Button startTimeBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(22), |
| | | Y = Application.GetRealHeight(261), |
| | | Width = Application.GetRealWidth(37), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextTimeColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | /// <summary> |
| | | ///音乐结束时间 |
| | | /// </summary> |
| | | public Button endTimeBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(269), |
| | | Y = Application.GetRealHeight(261), |
| | | Width = Application.GetRealWidth(37), |
| | | Height = Application.GetRealHeight(20), |
| | | TextColor = Color.TextTimeColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | }; |
| | | /// <summary> |
| | | /// 歌名名称(TextView超出长度自己滚动) |
| | | /// </summary> |
| | | public TextView songNameTextView = new TextView |
| | | { |
| | | X = Application.GetRealWidth(62), |
| | | Y = Application.GetRealHeight(290), |
| | | Width = Application.GetRealWidth(203), |
| | | Height = Application.GetRealHeight(30), |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text16, |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 歌手名称 |
| | | /// </summary> |
| | | public Button singerBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(62), |
| | | Y = Application.GetRealHeight(322), |
| | | Width = Application.GetRealWidth(203), |
| | | Height = Application.GetRealHeight(21), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | |
| | | }; |
| | | /// <summary> |
| | | /// 播放顺序 |
| | | /// </summary> |
| | | public Button playOrderBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(70), |
| | | Y = Application.GetRealHeight(355), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/list.png", |
| | | }; |
| | | /// <summary> |
| | | /// 喜爱 |
| | | /// </summary> |
| | | public Button loveBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(150), |
| | | Y = Application.GetRealHeight(355), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/love1.png", |
| | | SelectedImagePath = "MusicIcon/loveSelected1.png", |
| | | }; |
| | | /// <summary> |
| | | /// 播放列表 |
| | | /// </summary> |
| | | public Button playlistBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(230), |
| | | Y = Application.GetRealHeight(355), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/playList.png", |
| | | }; |
| | | /// <summary> |
| | | /// 音量图标 |
| | | /// </summary> |
| | | public Button volIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(24), |
| | | Y = Application.GetRealHeight(414), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/vol.png", |
| | | }; |
| | | /// <summary> |
| | | /// 音量进度条 |
| | | /// </summary> |
| | | public DiyImageSeekBar volSeekBar = new DiyImageSeekBar |
| | | { |
| | | Y = Application.GetRealHeight(399), |
| | | X = Application.GetRealWidth(58), |
| | | Width = Application.GetRealWidth(215), |
| | | Height = Application.GetRealHeight(54),//进度条父控件背景高度 |
| | | IsProgressTextShow = false,//显示百分比 |
| | | IsClickable = true,//进度条是否滑动 |
| | | ProgressBarColor = Color.SelectedColor,//选中进度条颜色 |
| | | ThumbImagePath = "MusicIcon/progressIcon.png",//进度条按钮图标 |
| | | ThumbImageHeight = Application.GetMinRealAverage(54),//进度条按钮图标的高度(默认正方形:宽和高一样) |
| | | SeekBarViewHeight = Application.GetMinRealAverage(8),//进度条的高度 |
| | | ProgressChangeDelayTime=300,//0.3秒发送一次 |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 音量值百分比; |
| | | /// </summary> |
| | | public Button volValueBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(279-4), |
| | | Y = Application.GetRealHeight(418), |
| | | Width = Application.GetRealWidth(26+4), |
| | | Height = Application.GetRealHeight(17), |
| | | Text = "0%", |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | }; |
| | | /// <summary> |
| | | /// 上一曲 |
| | | /// </summary> |
| | | public Button prevBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(64), |
| | | Y = Application.GetRealHeight(466), |
| | | Width = Application.GetMinRealAverage(40), |
| | | Height = Application.GetMinRealAverage(40), |
| | | UnSelectedImagePath = "MusicIcon/prve1.png", |
| | | SelectedImagePath = "MusicIcon/prve1Selected.png", |
| | | }; |
| | | /// <summary> |
| | | /// 暂停/播放 |
| | | /// </summary> |
| | | public Button playBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(144), |
| | | Y = Application.GetRealHeight(466), |
| | | Width = Application.GetMinRealAverage(40), |
| | | Height = Application.GetMinRealAverage(40), |
| | | UnSelectedImagePath = "MusicIcon/pause1.png", |
| | | SelectedImagePath = "MusicIcon/play1.png", |
| | | }; |
| | | /// <summary> |
| | | /// 下一曲 |
| | | /// </summary> |
| | | public Button nextBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(224), |
| | | Y = Application.GetRealHeight(466), |
| | | Width = Application.GetMinRealAverage(40), |
| | | Height = Application.GetMinRealAverage(40), |
| | | UnSelectedImagePath = "MusicIcon/next1.png", |
| | | SelectedImagePath = "MusicIcon/next1Selected.png", |
| | | }; |
| | | /// <summary> |
| | | /// 播放界面的方法 |
| | | /// </summary> |
| | | /// <param name="fL"></param> |
| | | public void viewFrameLayout(FrameLayout fL) |
| | | { |
| | | fL.AddChidren(musicBjFl); |
| | | musicBjFl.AddChidren(musicNameBtn); |
| | | musicBjFl.AddChidren(regionBtn); |
| | | musicBjFl.AddChidren(collectIconBtn); |
| | | musicBjFl.AddChidren(musicIconBtn); |
| | | musicBjFl.AddChidren(startTimeBtn); |
| | | musicBjFl.AddChidren(endTimeBtn); |
| | | musicBjFl.AddChidren(songNameTextView); |
| | | musicBjFl.AddChidren(singerBtn); |
| | | musicBjFl.AddChidren(playOrderBtn); |
| | | musicBjFl.AddChidren(loveBtn); |
| | | musicBjFl.AddChidren(playlistBtn); |
| | | musicBjFl.AddChidren(volIconBtn); |
| | | musicBjFl.AddChidren(volSeekBar); |
| | | musicBjFl.AddChidren(volValueBtn); |
| | | musicBjFl.AddChidren(prevBtn); |
| | | musicBjFl.AddChidren(playBtn); |
| | | musicBjFl.AddChidren(nextBtn); |
| | | |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public static class TextSize |
| | | { |
| | | public static int TopLine = 1; |
| | | public static int MiddleLine =1; |
| | | public static int DownLine = 1; |
| | | |
| | | |
| | | |
| | | public static int Text24 = 24; |
| | | public static int Text20 = 20; |
| | | public static int Text18 = 18; |
| | | public static int Text16 = 16; |
| | | public static int Text14 = 14; |
| | | public static int Text12 = 12; |
| | | public static int Text10 = 10; |
| | | |
| | | } |
| | | public static class Color |
| | | { |
| | | /// <summary> |
| | | /// 顶部背景颜色 |
| | | /// </summary> |
| | | public static uint TopViewColor = 0xFFF7F7F7; |
| | | /// <summary> |
| | | /// 界面背景颜色 |
| | | /// </summary> |
| | | public static uint ViewColor = 0xFFF2F3F7; |
| | | /// <summary> |
| | | /// 白色背景颜色 |
| | | /// </summary> |
| | | public static uint WhiteColor = 0xFFFFFFFF; |
| | | /// <summary> |
| | | /// 红色背景颜色 |
| | | /// </summary> |
| | | public static uint RedColor = 0xFFFF4747; |
| | | |
| | | /// <summary> |
| | | /// 线条颜色 |
| | | /// </summary> |
| | | public static uint LineColor =0xFFECEDEE; |
| | | /// <summary> |
| | | /// 弹窗背景颜色 |
| | | /// </summary> |
| | | public static uint PopupBackgroundColor = 0x90000000; |
| | | |
| | | /// <summary> |
| | | /// 线条颜色 |
| | | /// </summary> |
| | | public static uint MusicEditColor = 0xFFFC9C04; |
| | | /// <summary> |
| | | /// 弹窗背景颜色 |
| | | /// </summary> |
| | | public static uint MusicDelColor = 0xFFFF7474; |
| | | |
| | | public static uint Text18Color = 0xFF1B2D4D; |
| | | public static uint MusicTxet14SelectedColor = 0xFF4484F4; |
| | | public static uint MusicTxet14Color = 0xFF1B2D4D; |
| | | public static uint MusicTxet12SelectedColor = 0xFF4484F4; |
| | | |
| | | public static uint MusicNoTxetColor = 0xFFC0C7D4; |
| | | public static uint TextColor = 0xFF1B2D4D; |
| | | public static uint SelectedColor = 0xFF4484F4; |
| | | |
| | | public static uint TextTimeColor = 0xFF798394; |
| | | |
| | | public static uint TextCancelColor = 0xFF798394; |
| | | |
| | | } |
| | | |
| | | public static class H_W { |
| | | /// <summary> |
| | | /// app高度 |
| | | /// </summary> |
| | | public static int H = 667; |
| | | /// <summary> |
| | | /// app宽度 |
| | | /// </summary> |
| | | public static int W = 375; |
| | | /// <summary> |
| | | /// 顶部高度 |
| | | /// </summary> |
| | | public static int T_Height = 64; |
| | | |
| | | /// <summary> |
| | | /// 线高度 |
| | | /// </summary> |
| | | public static int Line = 1; |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | using System; |
| | | using Shared; |
| | | namespace HDL_ON.UI.Music.View |
| | | { |
| | | public class SongView |
| | | { |
| | | /// <summary> |
| | | /// 父控件 |
| | | /// </summary> |
| | | public FrameLayout musicViewFl = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 列表当前播放音乐图标 |
| | | /// </summary> |
| | | public Button playIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/playStatus.png", |
| | | Visible = false, |
| | | Name = "playStatus", |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 歌曲控件 |
| | | /// </summary> |
| | | public Button songBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Name = "song", |
| | | }; |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 歌手控件 |
| | | /// </summary> |
| | | public Button singerBtn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(11), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | //Text =("-" +songs.Artist).Trim(), |
| | | Name = "singer", |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 添加喜爱音乐控件 |
| | | /// </summary> |
| | | public Button loveIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(291), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/love.png", |
| | | SelectedImagePath = "MusicIcon/loveSelected.png", |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 添加到我的列表 |
| | | /// </summary> |
| | | public Button addIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(335), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/addMusic.png", |
| | | }; |
| | | /// <summary> |
| | | /// 点击控件 |
| | | /// </summary> |
| | | public Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | |
| | | /// <summary> |
| | | /// 布局歌曲信息的View |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public FrameLayout SongFrameLayout() |
| | | { |
| | | musicViewFl.AddChidren(playIconBtn); |
| | | musicViewFl.AddChidren(songBtn); |
| | | singerBtn.X = songBtn.Right; |
| | | musicViewFl.AddChidren(singerBtn); |
| | | musicViewFl.AddChidren(clickBtn); |
| | | musicViewFl.AddChidren(loveIcon); |
| | | musicViewFl.AddChidren(addIcon); |
| | | return musicViewFl; |
| | | /* |
| | | View.SongView songView = new View.SongView(); |
| | | middViewLayout.AddChidren(songView.SongFrameLayout()); |
| | | songView.songBtn.Tag = songs.URL; |
| | | if (string.IsNullOrEmpty(songs.Title)) |
| | | { |
| | | //防止歌曲名字为空抛异常 |
| | | songs.Title = " "; |
| | | } |
| | | songView.songBtn.Text = songs.Title.Trim(); |
| | | var wText = songView.songBtn.GetTextWidth();//获取文本宽度 |
| | | ///(歌曲+歌手)宽度最大值时280 |
| | | if (wText > 280) |
| | | { |
| | | |
| | | songView.songBtn.Width = Application.GetRealWidth(280); |
| | | } |
| | | else |
| | | { |
| | | songView.songBtn.Width = wText + 5; |
| | | } |
| | | songView.singerBtn.X = songView.songBtn.Right; |
| | | if (string.IsNullOrEmpty(songs.Artist)) |
| | | { |
| | | //防止歌手名字为空抛异常 |
| | | songs.Artist = " "; |
| | | } |
| | | songView.singerBtn.Text = "-" + songs.Artist.Trim(); |
| | | |
| | | songView.singerBtn.Width = Application.GetRealWidth(280 - songView.songBtn.Width); |
| | | if (wText > 280) |
| | | { |
| | | ///歌名长度小于280才可以显示歌手出来 |
| | | songView.singerBtn.Width = Application.GetRealWidth(0); |
| | | } |
| | | |
| | | songView.loveIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | songView.loveIcon.IsSelected = !songView.loveIcon.IsSelected; |
| | | if (songView.loveIcon.IsSelected) |
| | | { |
| | | ///查找音乐是否存在在列表 |
| | | var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music1 == null) |
| | | { |
| | | ///没有存在就添加 |
| | | A31MusicModel.Current.LoveMusicInfoList.Add(songs); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | ///查找音乐是否存在在列表 |
| | | var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music1 != null) |
| | | { |
| | | ///存在就删除 |
| | | A31MusicModel.Current.LoveMusicInfoList.Remove(songs); |
| | | } |
| | | |
| | | } |
| | | // A31MusicModel.Save(); |
| | | }; |
| | | var music = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music != null) |
| | | { |
| | | songView.loveIcon.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | songView.loveIcon.IsSelected = false; |
| | | } |
| | | songView.clickBtn.Tag = number;//标记播放哪一首歌曲 |
| | | songView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | A31MusicModel.Current.A31PlayStatus.Title = songView.songBtn.Text; |
| | | MainPage.BasePageView.RemoveViewByTag("Music"); |
| | | //A31PlayMusicPage a31PlayMusicPage = new A31PlayMusicPage(); |
| | | //MainPage.BasePageView.AddChidren(a31PlayMusicPage); |
| | | //a31PlayMusicPage.Show(); |
| | | //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | PlayStrinfg(songView.clickBtn.Tag); |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | */ |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using HDL_ON.UI.CSS; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.UI.Music.View |
| | | { |
| | | public class TipView |
| | | { |
| | | /// <summary> |
| | | /// 大框圆角值 |
| | | /// </summary> |
| | | public int RradiusFrameLayout = 15; |
| | | /// <summary> |
| | | /// 小框圆角值 |
| | | /// </summary> |
| | | public int radiusEditFrameLayout = 4; |
| | | /// <summary> |
| | | /// 输入框 |
| | | /// </summary> |
| | | /// <param name="titleId">标题文本</param> |
| | | /// <param name="tnputEditTxet">输入文本</param> |
| | | /// <param name="errorId_IsNullOrEmpty">输入框文本为空自定义提示错误文本</param> |
| | | /// <param name="errorId_PresenceP">检索已存在名称自定义提示错误文本</param> |
| | | /// <param name="confirmAction">回调函数</param> |
| | | /// <param name="List">被检索列表</param> |
| | | /// <param name="confirmAction">回调函数</param> |
| | | public void InputBox(int titleId, string tnputEditTxet,int errorId_IsNullOrEmpty, int errorId_PresenceP, List<string> List, Action<string> confirmAction) |
| | | { |
| | | Dialog dialog = new Dialog() |
| | | { |
| | | BackgroundColor = Color.PopupBackgroundColor, |
| | | }; |
| | | |
| | | FrameLayout whiteView = new FrameLayout() |
| | | { |
| | | //Gravity = Gravity.Center, |
| | | X=Application.GetRealWidth(53), |
| | | Y = Application.GetRealHeight(264), |
| | | Width = Application.GetRealWidth(270), |
| | | Height = Application.GetRealHeight(172), |
| | | BackgroundColor = Color.WhiteColor, |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 0, |
| | | Radius = (uint)Application.GetRealHeight(RradiusFrameLayout), |
| | | }; |
| | | dialog.AddChidren(whiteView); |
| | | |
| | | Button btnTitle = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(20), |
| | | X=Application.GetRealWidth(35), |
| | | Height = Application.GetRealHeight(22), |
| | | Width=Application.GetRealWidth(200), |
| | | TextColor =Color.SelectedColor, |
| | | TextSize =TextSize.Text16, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = titleId, |
| | | |
| | | }; |
| | | whiteView.AddChidren(btnTitle); |
| | | |
| | | FrameLayout editBjView = new FrameLayout() |
| | | { |
| | | // Gravity = Gravity.CenterHorizontal, |
| | | Y = btnTitle.Bottom + Application.GetRealHeight(16), |
| | | X=Application.GetRealWidth(24), |
| | | Width = Application.GetRealWidth(222), |
| | | Height = Application.GetRealHeight(40), |
| | | BackgroundColor =Color.ViewColor, |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 0, |
| | | Radius = (uint)Application.GetMinRealAverage(radiusEditFrameLayout), |
| | | }; |
| | | whiteView.AddChidren(editBjView); |
| | | |
| | | EditText editText = new EditText() |
| | | { |
| | | X = Application.GetRealWidth(12), |
| | | Y=Application.GetRealHeight(10), |
| | | Width = Application.GetRealWidth(160), |
| | | Height=Application.GetRealHeight(20), |
| | | Text = tnputEditTxet, |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment=TextAlignment.CenterLeft, |
| | | |
| | | }; |
| | | editBjView.AddChidren(editText); |
| | | |
| | | Button clearIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(194), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/clear.png", |
| | | }; |
| | | editBjView.AddChidren(clearIconBtn); |
| | | clearIconBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | editText.Text = ""; |
| | | }; |
| | | |
| | | Button btnLine = new Button() |
| | | { |
| | | Y = whiteView.Height-Application.GetRealHeight(44+1), |
| | | Height = Application.GetRealHeight(1), |
| | | BackgroundColor =Color.LineColor, |
| | | }; |
| | | whiteView.AddChidren(btnLine); |
| | | |
| | | Button btnCancel = new Button() |
| | | { |
| | | Y = btnLine.Bottom, |
| | | Width = Application.GetRealWidth(135), |
| | | Height = Application.GetRealHeight(44), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = Color.TextCancelColor, |
| | | TextSize = TextSize.Text16, |
| | | TextID = StringId.cancelMusic, |
| | | Gravity = Gravity.BottomLeft, |
| | | }; |
| | | whiteView.AddChidren(btnCancel); |
| | | btnCancel.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomLeft); |
| | | Button btnConfirm = new Button() |
| | | { |
| | | X = btnCancel.Right, |
| | | Y = btnLine.Bottom, |
| | | Width = Application.GetRealWidth(135), |
| | | Height = Application.GetRealHeight(44), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = Color.WhiteColor, |
| | | IsBold = true, |
| | | TextSize = TextSize.Text16, |
| | | TextID = StringId.confirmMusic, |
| | | BackgroundColor = Color.SelectedColor, |
| | | Gravity = Gravity.BottomRight, |
| | | }; |
| | | whiteView.AddChidren(btnConfirm); |
| | | btnConfirm.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomRight); |
| | | |
| | | dialog.Show(); |
| | | btnCancel.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | Button btnTip = new Button |
| | | { |
| | | Width = Application.GetRealWidth(0), |
| | | }; |
| | | whiteView.AddChidren(btnTip);//一直错误,一直猛点,一直加控件 |
| | | btnConfirm.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | string listNameText = editText.Text.Trim(); |
| | | if (string.IsNullOrEmpty(listNameText) || List.Contains(listNameText)) |
| | | { |
| | | string tipMsgString = ""; |
| | | if (string.IsNullOrEmpty(editText.Text.Trim())) |
| | | { |
| | | tipMsgString = Language.StringByID(errorId_IsNullOrEmpty); |
| | | } |
| | | else |
| | | { |
| | | tipMsgString = Language.StringByID(errorId_PresenceP); |
| | | } |
| | | |
| | | whiteView.Height = Application.GetRealHeight(183); |
| | | btnLine.Y = whiteView.Height - Application.GetRealHeight(44 + 1); |
| | | btnCancel.Y = btnLine.Bottom; |
| | | btnCancel.Gravity = Gravity.BottomLeft; |
| | | btnConfirm.Y = btnLine.Bottom; |
| | | btnConfirm.Gravity = Gravity.BottomRight; |
| | | |
| | | btnTip.X = Application.GetRealWidth(24); |
| | | btnTip.Y = editBjView.Bottom + Application.GetRealHeight(12); |
| | | btnTip.Width = Application.GetRealWidth(222); |
| | | btnTip.Height = Application.GetRealHeight(17); |
| | | btnTip.Text = tipMsgString; |
| | | btnTip.TextColor = Color.RedColor; |
| | | btnTip.TextSize = TextSize.Text12; |
| | | btnTip.TextAlignment = TextAlignment.CenterLeft; |
| | | |
| | | return; |
| | | } |
| | | |
| | | |
| | | confirmAction(editText.Text.Trim()); |
| | | dialog.Close(); |
| | | }; |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 输入框 |
| | | /// </summary> |
| | | /// <param name="titleId">标题文本</param> |
| | | /// <param name="tnputEditTxet">输入文本</param> |
| | | /// <param name="errorId_IsNullOrEmpty">输入框本文为空自定义提示错误文本</param> |
| | | /// <param name="confirmAction">回调函数</param> |
| | | public void InputBox(int titleId, string tnputEditTxet, int errorId_IsNullOrEmpty, Action<string> confirmAction) |
| | | { |
| | | Dialog dialog = new Dialog() |
| | | { |
| | | BackgroundColor = Color.PopupBackgroundColor, |
| | | }; |
| | | |
| | | FrameLayout whiteView = new FrameLayout() |
| | | { |
| | | //Gravity = Gravity.Center, |
| | | X = Application.GetRealWidth(53), |
| | | Y = Application.GetRealHeight(264), |
| | | Width = Application.GetRealWidth(270), |
| | | Height = Application.GetRealHeight(172), |
| | | BackgroundColor = Color.WhiteColor, |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 0, |
| | | Radius = (uint)Application.GetRealHeight(RradiusFrameLayout), |
| | | }; |
| | | dialog.AddChidren(whiteView); |
| | | |
| | | Button btnTitle = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(20), |
| | | X = Application.GetRealWidth(35), |
| | | Height = Application.GetRealHeight(22), |
| | | Width = Application.GetRealWidth(200), |
| | | TextColor = Color.SelectedColor, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = titleId, |
| | | |
| | | }; |
| | | whiteView.AddChidren(btnTitle); |
| | | |
| | | FrameLayout editBjView = new FrameLayout() |
| | | { |
| | | // Gravity = Gravity.CenterHorizontal, |
| | | Y = btnTitle.Bottom + Application.GetRealHeight(16), |
| | | X = Application.GetRealWidth(24), |
| | | Width = Application.GetRealWidth(222), |
| | | Height = Application.GetRealHeight(40), |
| | | BackgroundColor = Color.ViewColor, |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 0, |
| | | Radius = (uint)Application.GetMinRealAverage(radiusEditFrameLayout), |
| | | }; |
| | | whiteView.AddChidren(editBjView); |
| | | |
| | | EditText editText = new EditText() |
| | | { |
| | | X = Application.GetRealWidth(12), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(20), |
| | | Text = tnputEditTxet, |
| | | TextColor = Color.TextColor, |
| | | TextSize = TextSize.Text14, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | editBjView.AddChidren(editText); |
| | | |
| | | Button clearIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(194), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/clear.png", |
| | | }; |
| | | editBjView.AddChidren(clearIconBtn); |
| | | clearIconBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | editText.Text = ""; |
| | | }; |
| | | |
| | | Button btnLine = new Button() |
| | | { |
| | | Y = whiteView.Height - Application.GetRealHeight(44 + 1), |
| | | Height = Application.GetRealHeight(1), |
| | | BackgroundColor = Color.LineColor, |
| | | }; |
| | | whiteView.AddChidren(btnLine); |
| | | |
| | | Button btnCancel = new Button() |
| | | { |
| | | Y = btnLine.Bottom, |
| | | Width = Application.GetRealWidth(135), |
| | | Height = Application.GetRealHeight(44), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = Color.TextCancelColor, |
| | | TextSize = TextSize.Text16, |
| | | TextID = StringId.cancelMusic, |
| | | Gravity = Gravity.BottomLeft, |
| | | }; |
| | | whiteView.AddChidren(btnCancel); |
| | | btnCancel.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomLeft); |
| | | |
| | | Button btnConfirm = new Button() |
| | | { |
| | | X = btnCancel.Right, |
| | | Y = btnLine.Bottom, |
| | | Width = Application.GetRealWidth(135), |
| | | Height = Application.GetRealHeight(44), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = Color.WhiteColor, |
| | | IsBold = true, |
| | | TextSize = TextSize.Text16, |
| | | TextID = StringId.confirmMusic, |
| | | BackgroundColor = Color.SelectedColor, |
| | | Gravity=Gravity.BottomRight, |
| | | }; |
| | | whiteView.AddChidren(btnConfirm); |
| | | btnConfirm.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomRight); |
| | | dialog.Show(); |
| | | btnCancel.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | |
| | | Button btnTip = new Button |
| | | { |
| | | Width = Application.GetRealWidth(0), |
| | | }; |
| | | whiteView.AddChidren(btnTip);//一直错误,一直猛点,一直加控件 |
| | | |
| | | btnConfirm.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (string.IsNullOrEmpty(editText.Text.Trim())) |
| | | { |
| | | |
| | | whiteView.Height = Application.GetRealHeight(183); |
| | | btnLine.Y = whiteView.Height - Application.GetRealHeight(44 + 1); |
| | | btnCancel.Y = btnLine.Bottom; |
| | | btnCancel.Gravity = Gravity.BottomLeft; |
| | | btnConfirm.Y = btnLine.Bottom; |
| | | btnConfirm.Gravity = Gravity.BottomRight; |
| | | |
| | | btnTip.X = Application.GetRealWidth(24); |
| | | btnTip.Y = editBjView.Bottom + Application.GetRealHeight(12); |
| | | btnTip.Width = Application.GetRealWidth(222); |
| | | btnTip.Height = Application.GetRealHeight(17); |
| | | btnTip.Text = Language.StringByID(errorId_IsNullOrEmpty); |
| | | btnTip.TextColor = Color.RedColor; |
| | | btnTip.TextSize = TextSize.Text12; |
| | | btnTip.TextAlignment = TextAlignment.CenterLeft; |
| | | return; |
| | | } |
| | | |
| | | |
| | | confirmAction(editText.Text.Trim()); |
| | | dialog.Close(); |
| | | }; |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 确定提示框 |
| | | /// </summary> |
| | | /// <param name="titleId">标题文本</param> |
| | | /// <param name="tipTxet">自定义提示文本</param> |
| | | /// <param name="confirmAction">回调函数</param> |
| | | public void TipBox(int titleId, int tipTxet, Action confirmAction) |
| | | { |
| | | Dialog dialog = new Dialog() |
| | | { |
| | | BackgroundColor = Color.PopupBackgroundColor, |
| | | }; |
| | | |
| | | FrameLayout whiteView = new FrameLayout() |
| | | { |
| | | //Gravity = Gravity.Center, |
| | | X = Application.GetRealWidth(53), |
| | | Y = Application.GetRealHeight(264), |
| | | Width = Application.GetRealWidth(270), |
| | | Height = Application.GetRealHeight(140), |
| | | BackgroundColor = Color.WhiteColor, |
| | | BorderColor = 0x00000000, |
| | | BorderWidth = 0, |
| | | Radius = (uint)Application.GetRealHeight(RradiusFrameLayout), |
| | | }; |
| | | dialog.AddChidren(whiteView); |
| | | |
| | | Button titleBtn = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(20), |
| | | X = Application.GetRealWidth(35), |
| | | Height = Application.GetRealHeight(22), |
| | | Width = Application.GetRealWidth(270 - 35 * 2), |
| | | TextColor = Color.SelectedColor, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = titleId, |
| | | }; |
| | | whiteView.AddChidren(titleBtn); |
| | | |
| | | Button tipBtn = new Button() |
| | | { |
| | | Y = titleBtn.Bottom + Application.GetRealHeight(8), |
| | | X = Application.GetRealWidth(20), |
| | | Height = Application.GetRealHeight(22), |
| | | Width = Application.GetRealWidth(270 - 20 * 2), |
| | | TextColor = Color.TextCancelColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = tipTxet, |
| | | }; |
| | | whiteView.AddChidren(tipBtn); |
| | | |
| | | |
| | | Button btnLine = new Button() |
| | | { |
| | | Y = whiteView.Height - Application.GetRealHeight(44 + 1), |
| | | Height = Application.GetRealHeight(1), |
| | | BackgroundColor = Color.LineColor, |
| | | }; |
| | | whiteView.AddChidren(btnLine); |
| | | |
| | | Button btnCancel = new Button() |
| | | { |
| | | Y = btnLine.Bottom, |
| | | Width = Application.GetRealWidth(135), |
| | | Height = Application.GetRealHeight(44), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = Color.TextCancelColor, |
| | | TextSize = TextSize.Text16, |
| | | TextID = StringId.cancelMusic, |
| | | Gravity = Gravity.BottomLeft, |
| | | }; |
| | | whiteView.AddChidren(btnCancel); |
| | | btnCancel.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomLeft); |
| | | Button btnConfirm = new Button() |
| | | { |
| | | X = btnCancel.Right, |
| | | Y = btnLine.Bottom, |
| | | Width = Application.GetRealWidth(135), |
| | | Height = Application.GetRealHeight(44), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = Color.WhiteColor, |
| | | IsBold = true, |
| | | TextSize = TextSize.Text16, |
| | | TextID = StringId.confirmMusic, |
| | | BackgroundColor = Color.SelectedColor, |
| | | Gravity = Gravity.BottomRight, |
| | | }; |
| | | whiteView.AddChidren(btnConfirm); |
| | | btnConfirm.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomRight); |
| | | dialog.Show(); |
| | | btnCancel.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | dialog.Close(); |
| | | }; |
| | | |
| | | btnConfirm.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | confirmAction(); |
| | | dialog.Close(); |
| | | }; |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | using System; |
| | | using HDL_ON.UI.Music; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.UI.Music |
| | | { |
| | | public class TopView |
| | | { |
| | | #region 最上面那块控件 |
| | | /// <summary> |
| | | /// 最上面块View |
| | | /// </summary> |
| | | public FrameLayout fLayout = new FrameLayout |
| | | { |
| | | BackgroundColor = Color.TopViewColor, |
| | | Height = Application.GetRealHeight(64), |
| | | Width=Application.GetRealWidth(375), |
| | | }; |
| | | /// <summary> |
| | | /// 标题Btn |
| | | /// </summary> |
| | | public Button topNameBtn = new Button |
| | | { |
| | | TextSize = TextSize.Text18, |
| | | TextColor = Color.Text18Color, |
| | | Width = Application.GetRealWidth(140), |
| | | Height = Application.GetRealHeight(25), |
| | | Y = Application.GetRealHeight(30), |
| | | X = Application.GetRealWidth(120) |
| | | }; |
| | | /// <summary> |
| | | /// 后退Btn |
| | | /// </summary> |
| | | public Button backBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(12), |
| | | Height = Application.GetRealHeight(20), |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(32), |
| | | UnSelectedImagePath = "MusicIcon/MusicBack.png", |
| | | |
| | | }; |
| | | |
| | | public Button lineBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = 1, |
| | | BackgroundColor = Color.LineColor, |
| | | |
| | | }; |
| | | /// <summary> |
| | | /// 设置图标Btn |
| | | /// </summary> |
| | | public Button setBtn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(29), |
| | | X = Application.GetRealWidth(337), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/set.png", |
| | | Visible=false, |
| | | }; |
| | | /// <summary> |
| | | /// 增加热键大小Btn |
| | | /// </summary> |
| | | public Button clickBackBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(16+12+16), |
| | | Height = Application.GetRealHeight(64), |
| | | }; |
| | | /// <summary> |
| | | /// 最上面的那块方法 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public FrameLayout TopFLayoutView() |
| | | { |
| | | fLayout.AddChidren(topNameBtn); |
| | | fLayout.AddChidren(backBtn); |
| | | lineBtn.Y = fLayout.Height - 1; |
| | | fLayout.AddChidren(lineBtn); |
| | | fLayout.AddChidren(setBtn); |
| | | fLayout.AddChidren(clickBackBtn); |
| | | return fLayout; |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | ~View() |
| | | { |
| | | #if DEBUG |
| | | Shared.HDLUtils.WriteLine("=====" + GetType() + " " + Name); |
| | | #endif |
| | | if (this is ViewGroup) |
| | | { |
| | | var viewGroup = this as ViewGroup; |
| | |
| | | Parent.Remove(this); |
| | | } |
| | | |
| | | |
| | | public float AnimateSpeed = 0.6f; |
| | | |
| | | Animate animate = Animate.None; |
| | | /// <summary> |
| | |
| | | case Animate.DownToUp: |
| | | frame.Y += RealView.Frame.Height; |
| | | RealView.Frame = frame; |
| | | UIView.AnimateNotify(0.6f, 0.001f, UIViewAnimationOptions.CurveLinear, () => |
| | | UIView.AnimateNotify(AnimateSpeed, 0.001f, UIViewAnimationOptions.CurveLinear, () => |
| | | { |
| | | RealView.Frame = frameBefore; |
| | | }, null); |
| | |
| | | case Animate.UpToDown: |
| | | frame.Y -= RealView.Frame.Height; |
| | | RealView.Frame = frame; |
| | | UIView.AnimateNotify(0.6f, 0.001f, UIViewAnimationOptions.CurveLinear, () => |
| | | UIView.AnimateNotify(AnimateSpeed, 0.001f, UIViewAnimationOptions.CurveLinear, () => |
| | | { |
| | | RealView.Frame = frameBefore; |
| | | }, null); |