.gitignore
@@ -1,10 +1,25 @@ # Created by https://www.toptal.com/developers/gitignore/api/visualstudio # Edit at https://www.toptal.com/developers/gitignore?templates=visualstudio ### VisualStudio ### ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # User-specific files *.rsuser *.suo *.user *.userosscache *.sln.docstates # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs # Mono auto generated files mono_crash.* # Build results [Dd]ebug/ @@ -12,35 +27,63 @@ [Rr]elease/ [Rr]eleases/ x64/ build/ x86/ [Ww][Ii][Nn]32/ [Aa][Rr][Mm]/ [Aa][Rr][Mm]64/ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ [Ll]ogs/ # Roslyn cache directories *.ide/ # Visual Studio 2015/2017 cache/options directory .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ # Visual Studio 2017 auto generated files Generated\ Files/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* #NUNIT # NUnit *.VisualState.xml TestResult.xml nunit-*.xml # Build Results of an ATL Project [Dd]ebugPS/ [Rr]eleasePS/ dlldata.c # Benchmark Results BenchmarkDotNet.Artifacts/ # .NET Core project.lock.json project.fragment.lock.json artifacts/ # ASP.NET Scaffolding ScaffoldingReadMe.txt # StyleCop StyleCopReport.xml # Files built by Visual Studio *_i.c *_p.c *_i.h *_h.h *.ilk *.meta *.obj *.iobj *.pch *.pdb *.ipdb *.pgc *.pgd *.rsp @@ -50,7 +93,9 @@ *.tlh *.tmp *.tmp_proj *_wpftmp.csproj *.log *.tlog *.vspscc *.vssscc .builds @@ -65,14 +110,21 @@ ipch/ *.aps *.ncb *.opendb *.opensdf *.sdf *.cachefile *.VC.db *.VC.VC.opendb # Visual Studio profiler *.psess *.vsp *.vspx *.sap # Visual Studio Trace Files *.e2e # TFS 2012 Local Workspace $tf/ @@ -85,18 +137,29 @@ *.[Rr]e[Ss]harper *.DotSettings.user # JustCode is a .NET coding addin-in .JustCode # TeamCity is a build add-in _TeamCity* # DotCover is a Code Coverage Tool *.dotCover # AxoCover is a Code Coverage Tool .axoCover/* !.axoCover/settings.json # Coverlet is a free, cross platform Code Coverage Tool coverage*.json coverage*.xml coverage*.info # Visual Studio code coverage results *.coverage *.coveragexml # NCrunch _NCrunch_* .*crunch*.local.xml nCrunchTemp_* # MightyMoose *.mm.* @@ -124,43 +187,74 @@ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml ## TODO: Comment the next line if you want to checkin your ## web deploy settings but do note that will include unencrypted ## passwords # Note: Comment the next line if you want to checkin your web deploy settings, # but database connection strings (with potential passwords) will be unencrypted *.pubxml *.publishproj # Microsoft Azure Web App publish settings. Comment the next line if you want to # checkin your Azure Web App publish settings, but sensitive information contained # in these scripts will be unencrypted PublishScripts/ # NuGet Packages packages/* *.nupkg ## TODO: If the tool you use requires repositories.config ## uncomment the next line #!packages/repositories.config # NuGet Symbol Packages *.snupkg # The packages folder can be ignored because of Package Restore **/[Pp]ackages/* # except build/, which is used as an MSBuild target. !**/[Pp]ackages/build/ # Uncomment if necessary however generally it will be regenerated when needed #!**/[Pp]ackages/repositories.config # NuGet v3's project.json files produces more ignorable files *.nuget.props *.nuget.targets # Enable "build/" folder in the NuGet Packages folder since # NuGet packages use it for MSBuild targets. # This line needs to be after the ignore of the build folder # (and the packages folder if the line above has been uncommented) !packages/build/ # Nuget personal access tokens and Credentials nuget.config # Windows Azure Build Output # Microsoft Azure Build Output csx/ *.build.csdef # Windows Store app package directory # Microsoft Azure Emulator ecf/ rcf/ # Windows Store app package directories and files AppPackages/ BundleArtifacts/ Package.StoreAssociation.xml _pkginfo.txt *.appx *.appxbundle *.appxupload # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache !?*.[Cc]ache/ # Others sql/ *.Cache ClientBin/ [Ss]tyle[Cc]op.* ~$* *~ *.dbmdl *.dbproj.schemaview *.jfm *.pfx *.publishsettings node_modules/ orleans.codegen.cs # Including strong name files can present a security risk # (https://github.com/github/gitignore/pull/2483#issue-259490424) #*.snk # Since there are multiple workflows, uncomment next line to ignore bower_components # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) #bower_components/ # RIA/Silverlight projects Generated_Code/ @@ -172,15 +266,133 @@ Backup*/ UpgradeLog*.XML UpgradeLog*.htm ServiceFabricBackup/ *.rptproj.bak # SQL Server files *.mdf *.ldf *.ndf # Business Intelligence projects *.rdl.data *.bim.layout *.bim_*.settings *.rptproj.rsuser *- [Bb]ackup.rdl *- [Bb]ackup ([0-9]).rdl *- [Bb]ackup ([0-9][0-9]).rdl # Microsoft Fakes FakesAssemblies/ # GhostDoc plugin setting file *.GhostDoc.xml # Node.js Tools for Visual Studio .ntvs_analysis.dat node_modules/ # Visual Studio 6 build log *.plg # Visual Studio 6 workspace options file *.opt # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) *.vbw # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts **/*.DesktopClient/ModelManifest.xml **/*.Server/GeneratedArtifacts **/*.Server/ModelManifest.xml _Pvt_Extensions # Paket dependency manager .paket/paket.exe paket-files/ # FAKE - F# Make .fake/ # CodeRush personal settings .cr/personal # Python Tools for Visual Studio (PTVS) __pycache__/ *.pyc # Cake - Uncomment if you are using it # tools/** # !tools/packages.config # Tabs Studio *.tss # Telerik's JustMock configuration file *.jmconfig # BizTalk build output *.btp.cs *.btm.cs *.odx.cs *.xsd.cs # OpenCover UI analysis results OpenCover/ # Azure Stream Analytics local run output ASALocalRun/ # MSBuild Binary and Structured Log *.binlog # NVidia Nsight GPU debugger configuration file *.nvuser # MFractors (Xamarin productivity tool) working folder .mfractor/ # Local History for Visual Studio .localhistory/ # BeatPulse healthcheck temp database healthchecksdb # Backup folder for Package Reference Convert tool in Visual Studio 2017 MigrationBackup/ # Ionide (cross platform F# VS Code tools) working folder .ionide/ # Fody - auto-generated XML schema FodyWeavers.xsd # VS Code files for those working on multiple tools .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json *.code-workspace # Local History for Visual Studio Code .history/ # Windows Installer files from build outputs *.cab *.msi *.msix *.msm *.msp # JetBrains Rider .idea/ *.sln.iml ### VisualStudio Patch ### # Additional files built by Visual Studio # End of https://www.toptal.com/developers/gitignore/api/visualstudio Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK.sln
New file @@ -0,0 +1,25 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.810.10 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.Droid.LCVideoSDK", "Shared.Droid.LCVideoSDK\Shared.Droid.LCVideoSDK.csproj", "{6EDBD314-014B-4207-9D43-246BBD3ECB59}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {6EDBD314-014B-4207-9D43-246BBD3ECB59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6EDBD314-014B-4207-9D43-246BBD3ECB59}.Debug|Any CPU.Build.0 = Debug|Any CPU {6EDBD314-014B-4207-9D43-246BBD3ECB59}.Release|Any CPU.ActiveCfg = Release|Any CPU {6EDBD314-014B-4207-9D43-246BBD3ECB59}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {F98B1EA6-A0E7-4C6D-AFB3-3BC1FEFC7B24} EndGlobalSection EndGlobal Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Additions/AboutAdditions.txt
New file @@ -0,0 +1,48 @@ Additions 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; } } Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Jars/AboutJars.txt
New file @@ -0,0 +1,24 @@ This 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". Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Jars/lechangeSDK.jarBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/arm64-v8a/libGMCrypto.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/arm64-v8a/libLCOpenApiClient.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/arm64-v8a/libLechangeSDK.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/arm64-v8a/libSmartConfig.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/arm64-v8a/libSoftAPConfig.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/arm64-v8a/libconfigsdk.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/arm64-v8a/libgnustl_shared.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/arm64-v8a/libjninetsdk.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/arm64-v8a/libnetsdk.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/armeabi-v7a/libGMCrypto.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/armeabi-v7a/libLCOpenApiClient.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/armeabi-v7a/libLechangeSDK.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/armeabi-v7a/libSmartConfig.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/armeabi-v7a/libSoftAPConfig.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/armeabi-v7a/libconfigsdk.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/armeabi-v7a/libgnustl_shared.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/armeabi-v7a/libjninetsdk.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Libs/armeabi-v7a/libnetsdk.soBinary files differ
Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Properties/AssemblyInfo.cs
New file @@ -0,0 +1,26 @@ using 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("Shared.Droid.LCVideoSDK")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Shared.Droid.LCVideoSDK")] [assembly: AssemblyCopyright("Copyright © 2021")] [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.2.0")] [assembly: AssemblyFileVersion("1.0.2.0")] Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK.csproj
New file @@ -0,0 +1,90 @@ <?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>{6EDBD314-014B-4207-9D43-246BBD3ECB59}</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>Shared.Droid.LCVideoSDK</RootNamespace> <AssemblyName>Shared.Droid.LCVideoSDK</AssemblyName> <FileAlignment>512</FileAlignment> <Deterministic>True</Deterministic> <TargetFrameworkVersion>v9.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> <Folder Include="Libs\" /> </ItemGroup> <ItemGroup> <EmbeddedNativeLibrary Include="Libs\arm64-v8a\libLCOpenApiClient.so" /> <EmbeddedNativeLibrary Include="Libs\arm64-v8a\libSoftAPConfig.so" /> <EmbeddedNativeLibrary Include="Libs\arm64-v8a\libnetsdk.so" /> <EmbeddedNativeLibrary Include="Libs\arm64-v8a\libjninetsdk.so" /> <EmbeddedNativeLibrary Include="Libs\arm64-v8a\libgnustl_shared.so" /> <EmbeddedNativeLibrary Include="Libs\arm64-v8a\libSmartConfig.so" /> <EmbeddedNativeLibrary Include="Libs\arm64-v8a\libLechangeSDK.so" /> <EmbeddedNativeLibrary Include="Libs\arm64-v8a\libGMCrypto.so" /> <EmbeddedNativeLibrary Include="Libs\arm64-v8a\libconfigsdk.so" /> <EmbeddedNativeLibrary Include="Libs\armeabi-v7a\libLCOpenApiClient.so" /> <EmbeddedNativeLibrary Include="Libs\armeabi-v7a\libSoftAPConfig.so" /> <EmbeddedNativeLibrary Include="Libs\armeabi-v7a\libnetsdk.so" /> <EmbeddedNativeLibrary Include="Libs\armeabi-v7a\libjninetsdk.so" /> <EmbeddedNativeLibrary Include="Libs\armeabi-v7a\libgnustl_shared.so" /> <EmbeddedNativeLibrary Include="Libs\armeabi-v7a\libSmartConfig.so" /> <EmbeddedNativeLibrary Include="Libs\armeabi-v7a\libLechangeSDK.so" /> <EmbeddedNativeLibrary Include="Libs\armeabi-v7a\libGMCrypto.so" /> <EmbeddedNativeLibrary Include="Libs\armeabi-v7a\libconfigsdk.so" /> </ItemGroup> <ItemGroup> <EmbeddedJar Include="Jars\lechangeSDK.jar" /> </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> Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Transforms/EnumFields.xml
New file @@ -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> Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Transforms/EnumMethods.xml
New file @@ -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> Shared.Droid.LCVideoSDK/Shared.Droid.LCVideoSDK/Transforms/Metadata.xml
New file @@ -0,0 +1,11 @@ <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']" /> --> <remove-node path="/api/package[@name='com.lechange.common.play']/class[@name='PlayWindow']"/> </metadata>