From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/AndroidBluetooth/AndroidBluetooth.csproj      |   67 +++++++++++++
 ZigbeeApp/AndroidBluetooth/Transforms/Metadata.xml      |    9 +
 ZigbeeApp/AndroidBluetooth/Jars/BluetoothLibrary.aar    |    0 
 ZigbeeApp/AndroidBluetooth/Transforms/EnumMethods.xml   |   13 ++
 ZigbeeApp/AndroidBluetooth/Transforms/EnumFields.xml    |   14 ++
 ZigbeeApp/GateWay.sln                                   |   14 ++
 ZigbeeApp/AndroidBluetooth/Jars/AboutJars.txt           |   24 ++++
 ZigbeeApp/AndroidBluetooth/Properties/AssemblyInfo.cs   |   26 +++++
 ZigbeeApp/GateWay.Droid/packages.config                 |    2 
 ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj            |   27 ++---
 ZigbeeApp/AndroidBluetooth/Additions/AboutAdditions.txt |   48 +++++++++
 11 files changed, 227 insertions(+), 17 deletions(-)

diff --git a/ZigbeeApp/AndroidBluetooth/Additions/AboutAdditions.txt b/ZigbeeApp/AndroidBluetooth/Additions/AboutAdditions.txt
new file mode 100644
index 0000000..89cbfbb
--- /dev/null
+++ b/ZigbeeApp/AndroidBluetooth/Additions/AboutAdditions.txt
@@ -0,0 +1,48 @@
+锘緼dditions allow you to add arbitrary C# to the generated classes
+before they are compiled.  This can be helpful for providing convenience
+methods or adding pure C# classes.
+
+== Adding Methods to Generated Classes ==
+
+Let's say the library being bound has a Rectangle class with a constructor
+that takes an x and y position, and a width and length size.  It will look like
+this:
+
+public partial class Rectangle
+{
+    public Rectangle (int x, int y, int width, int height)
+    {
+        // JNI bindings
+    }
+}
+
+Imagine we want to add a constructor to this class that takes a Point and
+Size structure instead of 4 ints.  We can add a new file called Rectangle.cs
+with a partial class containing our new method:
+
+public partial class Rectangle
+{
+    public Rectangle (Point location, Size size) :
+        this (location.X, location.Y, size.Width, size.Height)
+    {
+    }
+}
+
+At compile time, the additions class will be added to the generated class
+and the final assembly will a Rectangle class with both constructors.
+
+
+== Adding C# Classes ==
+
+Another thing that can be done is adding fully C# managed classes to the
+generated library.  In the above example, let's assume that there isn't a
+Point class available in Java or our library.  The one we create doesn't need
+to interact with Java, so we'll create it like a normal class in C#.
+
+By adding a Point.cs file with this class, it will end up in the binding library:
+
+public class Point
+{
+    public int X { get; set; }
+    public int Y { get; set; }
+}
diff --git a/ZigbeeApp/AndroidBluetooth/AndroidBluetooth.csproj b/ZigbeeApp/AndroidBluetooth/AndroidBluetooth.csproj
new file mode 100644
index 0000000..3a65ea7
--- /dev/null
+++ b/ZigbeeApp/AndroidBluetooth/AndroidBluetooth.csproj
@@ -0,0 +1,67 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{ECD67F44-FA96-415A-8BC0-27B14A88C68A}</ProjectGuid>
+    <ProjectTypeGuids>{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <TemplateGuid>{77efb91c-a7e9-4b0e-a7c5-31eeec3c6d46}</TemplateGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>AndroidBluetooth</RootNamespace>
+    <AssemblyName>AndroidBluetooth</AssemblyName>
+    <FileAlignment>512</FileAlignment>
+    <Deterministic>True</Deterministic>
+    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
+    <AndroidClassParser>class-parse</AndroidClassParser>
+    <AndroidCodegenTarget>XAJavaInterop1</AndroidCodegenTarget>
+    <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>portable</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>portable</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Mono.Android" />
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Jars\AboutJars.txt" />
+    <None Include="Additions\AboutAdditions.txt" />
+  </ItemGroup>
+  <ItemGroup>
+    <TransformFile Include="Transforms\Metadata.xml" />
+    <TransformFile Include="Transforms\EnumFields.xml" />
+    <TransformFile Include="Transforms\EnumMethods.xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <LibraryProjectZip Include="Jars\BluetoothLibrary.aar" />
+  </ItemGroup>
+  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.Bindings.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/ZigbeeApp/AndroidBluetooth/Jars/AboutJars.txt b/ZigbeeApp/AndroidBluetooth/Jars/AboutJars.txt
new file mode 100644
index 0000000..404cfd9
--- /dev/null
+++ b/ZigbeeApp/AndroidBluetooth/Jars/AboutJars.txt
@@ -0,0 +1,24 @@
+锘縏his directory is for Android .jars.
+
+There are 2 types of jars that are supported:
+
+== Input Jar ==
+
+This is the jar that bindings should be generated for.
+
+For example, if you were binding the Google Maps library, this would
+be Google's "maps.jar".
+
+Set the build action for these jars in the properties page to "InputJar".
+
+
+== Reference Jars ==
+
+These are jars that are referenced by the input jar.  C# bindings will
+not be created for these jars.  These jars will be used to resolve
+types used by the input jar.
+
+NOTE: Do not add "android.jar" as a reference jar.  It will be added automatically
+based on the Target Framework selected.
+
+Set the build action for these jars in the properties page to "ReferenceJar".
diff --git a/ZigbeeApp/AndroidBluetooth/Jars/BluetoothLibrary.aar b/ZigbeeApp/AndroidBluetooth/Jars/BluetoothLibrary.aar
new file mode 100644
index 0000000..3176604
--- /dev/null
+++ b/ZigbeeApp/AndroidBluetooth/Jars/BluetoothLibrary.aar
Binary files differ
diff --git a/ZigbeeApp/AndroidBluetooth/Properties/AssemblyInfo.cs b/ZigbeeApp/AndroidBluetooth/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..d544fd5
--- /dev/null
+++ b/ZigbeeApp/AndroidBluetooth/Properties/AssemblyInfo.cs
@@ -0,0 +1,26 @@
+锘縰sing System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using Android.App;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("AndroidBluetooth")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("AndroidBluetooth")]
+[assembly: AssemblyCopyright("Copyright 漏  2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: ComVisible(false)]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/ZigbeeApp/AndroidBluetooth/Transforms/EnumFields.xml b/ZigbeeApp/AndroidBluetooth/Transforms/EnumFields.xml
new file mode 100644
index 0000000..f31a96e
--- /dev/null
+++ b/ZigbeeApp/AndroidBluetooth/Transforms/EnumFields.xml
@@ -0,0 +1,14 @@
+锘�<enum-field-mappings>
+  <!--
+  This example converts the constants Fragment_id, Fragment_name,
+  and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
+  to an enum called Android.Support.V4.App.FragmentTagType with values
+  Id, Name, and Tag.
+  
+  <mapping jni-class="android/support/v4/app/FragmentActivity$FragmentTag" clr-enum-type="Android.Support.V4.App.FragmentTagType">
+    <field jni-name="Fragment_name" clr-name="Name" value="0" />
+    <field jni-name="Fragment_id" clr-name="Id" value="1" />
+    <field jni-name="Fragment_tag" clr-name="Tag" value="2" />
+  </mapping>
+  -->
+</enum-field-mappings>
diff --git a/ZigbeeApp/AndroidBluetooth/Transforms/EnumMethods.xml b/ZigbeeApp/AndroidBluetooth/Transforms/EnumMethods.xml
new file mode 100644
index 0000000..f2bca37
--- /dev/null
+++ b/ZigbeeApp/AndroidBluetooth/Transforms/EnumMethods.xml
@@ -0,0 +1,13 @@
+锘�<enum-method-mappings>
+  <!--
+  This example changes the Java method:
+    android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
+  to be:
+    android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
+  when bound in C#.
+  
+  <mapping jni-class="android/support/v4/app/Fragment.SavedState">
+    <method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
+  </mapping>
+  -->
+</enum-method-mappings>
diff --git a/ZigbeeApp/AndroidBluetooth/Transforms/Metadata.xml b/ZigbeeApp/AndroidBluetooth/Transforms/Metadata.xml
new file mode 100644
index 0000000..91493a2
--- /dev/null
+++ b/ZigbeeApp/AndroidBluetooth/Transforms/Metadata.xml
@@ -0,0 +1,9 @@
+锘�<metadata>
+  <!--
+  This sample removes the class: android.support.v4.content.AsyncTaskLoader.LoadTask:
+  <remove-node path="/api/package[@name='android.support.v4.content']/class[@name='AsyncTaskLoader.LoadTask']" />
+  
+  This sample removes the method: android.support.v4.content.CursorLoader.loadInBackground:
+  <remove-node path="/api/package[@name='android.support.v4.content']/class[@name='CursorLoader']/method[@name='loadInBackground']" />
+  -->
+</metadata>
diff --git a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
index 76bbdda..cb88ecb 100644
--- a/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
+++ b/ZigbeeApp/GateWay.Droid/GateWay.Droid.csproj
@@ -68,15 +68,6 @@
     <AndroidSigningKeyStore>/Users/liaoshaosheng/Desktop/璇佷功/Evoyo Home.keystore</AndroidSigningKeyStore>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="LeakCanary, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\LeakCanaryBinding.1.5.1.1\lib\MonoAndroid10\LeakCanary.dll</HintPath>
-    </Reference>
-    <Reference Include="LeakCanary.Analyzer, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\LeakCanaryBinding.1.5.1.1\lib\MonoAndroid10\LeakCanary.Analyzer.dll</HintPath>
-    </Reference>
-    <Reference Include="LeakCanary.Watcher, Version=1.5.1.0, Culture=neutral, processorArchitecture=MSIL">
-      <HintPath>..\packages\LeakCanaryBinding.1.5.1.1\lib\MonoAndroid10\LeakCanary.Watcher.dll</HintPath>
-    </Reference>
     <Reference Include="Shared.Droid">
       <HintPath>..\Shared\DLL\Android\Shared.Droid.dll</HintPath>
     </Reference>
@@ -150,10 +141,7 @@
       <HintPath>..\Shared\DLL\Android\Xamarin.Android.Support.Vector.Drawable.dll</HintPath>
     </Reference>
     <Reference Include="BouncyCastle.Crypto">
-      <HintPath>..\packages\BouncyCastle.1.8.9\lib\BouncyCastle.Crypto.dll</HintPath>
-    </Reference>
-    <Reference Include="FastAndroidCamera">
-      <HintPath>..\packages\FastAndroidCamera.2.0.0\lib\MonoAndroid403\FastAndroidCamera.dll</HintPath>
+      <HintPath>..\packages\BouncyCastle.1.8.1\lib\BouncyCastle.Crypto.dll</HintPath>
     </Reference>
     <Reference Include="Microsoft.AppCenter.Android.Bindings">
       <HintPath>..\packages\Microsoft.AppCenter.1.14.0\lib\MonoAndroid403\Microsoft.AppCenter.Android.Bindings.dll</HintPath>
@@ -173,6 +161,12 @@
     <Reference Include="Microsoft.AppCenter.Analytics">
       <HintPath>..\packages\Microsoft.AppCenter.Analytics.1.14.0\lib\MonoAndroid403\Microsoft.AppCenter.Analytics.dll</HintPath>
     </Reference>
+    <Reference Include="MQTTnet">
+      <HintPath>..\packages\MQTTnet.3.0.8\lib\netstandard2.0\MQTTnet.dll</HintPath>
+    </Reference>
+    <Reference Include="FastAndroidCamera">
+      <HintPath>..\packages\FastAndroidCamera.2.0.0\lib\MonoAndroid403\FastAndroidCamera.dll</HintPath>
+    </Reference>
     <Reference Include="ZXing.Net.Mobile.Core">
       <HintPath>..\packages\ZXing.Net.Mobile.2.4.1\lib\MonoAndroid71\ZXing.Net.Mobile.Core.dll</HintPath>
     </Reference>
@@ -181,9 +175,6 @@
     </Reference>
     <Reference Include="ZXingNetMobile">
       <HintPath>..\packages\ZXing.Net.Mobile.2.4.1\lib\MonoAndroid71\ZXingNetMobile.dll</HintPath>
-    </Reference>
-    <Reference Include="MQTTnet">
-      <HintPath>..\packages\MQTTnet.3.0.8\lib\netstandard2.0\MQTTnet.dll</HintPath>
     </Reference>
   </ItemGroup>
   <ItemGroup>
@@ -2708,6 +2699,10 @@
       <Project>{06B9C874-B9B2-4417-8280-B321F966E46B}</Project>
       <Name>Shared.Droid.JPush</Name>
     </ProjectReference>
+    <ProjectReference Include="..\AndroidBluetooth\AndroidBluetooth.csproj">
+      <Project>{ECD67F44-FA96-415A-8BC0-27B14A88C68A}</Project>
+      <Name>AndroidBluetooth</Name>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <Folder Include="JPush\" />
diff --git a/ZigbeeApp/GateWay.Droid/packages.config b/ZigbeeApp/GateWay.Droid/packages.config
index 3c1da58..5b8d039 100644
--- a/ZigbeeApp/GateWay.Droid/packages.config
+++ b/ZigbeeApp/GateWay.Droid/packages.config
@@ -1,6 +1,6 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="BouncyCastle" version="1.8.9" targetFramework="monoandroid80" />
+  <package id="BouncyCastle" version="1.8.1" targetFramework="monoandroid80" />
   <package id="FastAndroidCamera" version="2.0.0" targetFramework="monoandroid80" />
   <package id="LeakCanaryBinding" version="1.5.1.1" targetFramework="monoandroid80" />
   <package id="Microsoft.AppCenter" version="1.14.0" targetFramework="monoandroid80" />
diff --git a/ZigbeeApp/GateWay.sln b/ZigbeeApp/GateWay.sln
index 153b144..a32f7d6 100644
--- a/ZigbeeApp/GateWay.sln
+++ b/ZigbeeApp/GateWay.sln
@@ -18,6 +18,8 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Home.IOS", "Home.Ios\Home.IOS.csproj", "{F1296E2C-3777-4385-85B2-DA77617E3178}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AndroidBluetooth", "AndroidBluetooth\AndroidBluetooth.csproj", "{ECD67F44-FA96-415A-8BC0-27B14A88C68A}"
+EndProject
 Global
 	GlobalSection(SharedMSBuildProjectFiles) = preSolution
 		Shared\Shared.projitems*{28ede1ff-20ef-476b-8af8-24a3eeb69f45}*SharedItemsImports = 4
@@ -116,6 +118,18 @@
 		{F1296E2C-3777-4385-85B2-DA77617E3178}.Release|iPhone.Build.0 = Release|iPhone
 		{F1296E2C-3777-4385-85B2-DA77617E3178}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
 		{F1296E2C-3777-4385-85B2-DA77617E3178}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Debug|iPhone.ActiveCfg = Debug|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Debug|iPhone.Build.0 = Debug|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Release|iPhone.ActiveCfg = Release|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Release|iPhone.Build.0 = Release|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
+		{ECD67F44-FA96-415A-8BC0-27B14A88C68A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

--
Gitblit v1.8.0