├── .gitignore ├── Badge.sln ├── Badge ├── Plugin.Badge.Abstractions │ ├── IBadge.cs │ └── Plugin.Badge.Abstractions.csproj ├── Plugin.Badge.Android │ ├── BadgeImplementation.cs │ ├── BadgesNotSupportedException.cs │ ├── Plugin.Badge.Android.csproj │ ├── Plugin.Badge.Android.csproj.bak │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Providers │ │ ├── AdwBadgeProvider.cs │ │ ├── ApexBadgeProvider.cs │ │ ├── AsusBadgeProvider.cs │ │ ├── BadgeProvider.cs │ │ ├── BadgeProviderFactory.cs │ │ ├── DefaultBadgeProvider.cs │ │ ├── HtcBadgeProvider.cs │ │ ├── NovaBadgeProvider.cs │ │ ├── OppoBadgeProvider.cs │ │ ├── SamsungBadgeProvider.cs │ │ ├── SonyBadgeProvider.cs │ │ ├── XiaomiBadgeProvider.cs │ │ └── ZukBadgeProvider.cs │ ├── Resources │ │ ├── AboutResources.txt │ │ └── Resource.Designer.cs │ └── packages.config ├── Plugin.Badge.UWP │ ├── BadgeImplementation.cs │ ├── Plugin.Badge.UWP.csproj │ └── Properties │ │ ├── AssemblyInfo.cs │ │ └── Plugin.Badge.UWP.rd.xml ├── Plugin.Badge.iOS │ ├── BadgeImplementation.cs │ ├── Plugin.Badge.iOS.csproj │ └── Properties │ │ └── AssemblyInfo.cs └── Plugin.Badge │ ├── CrossBadge.cs │ └── Plugin.Badge.csproj ├── Demo.Droid ├── Assets │ └── AboutAssets.txt ├── Demo.Droid.csproj ├── MainActivity.cs ├── MainApplication.cs ├── Properties │ ├── AndroidManifest.xml │ └── AssemblyInfo.cs ├── Resources │ ├── AboutResources.txt │ ├── Resource.designer.cs │ ├── layout │ │ ├── Main.axml │ │ └── Toolbar.axml │ └── values │ │ ├── Strings.xml │ │ └── Style.xml └── packages.config ├── Demo.iOS ├── AppDelegate.cs ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Demo.iOS.csproj ├── Entitlements.plist ├── Info.plist ├── LaunchScreen.storyboard ├── Main.cs ├── Main.storyboard ├── ViewController.cs └── ViewController.designer.cs ├── LICENSE.md ├── README.md └── nuget ├── badge.nuspec └── lib ├── Android └── Plugin.Badge.dll ├── Plugin.Badge.Abstractions.deps.json ├── Plugin.Badge.Abstractions.dll ├── Plugin.Badge.deps.json ├── Plugin.Badge.dll ├── UWP ├── Plugin.Badge.XML ├── Plugin.Badge.dll └── Plugin.Badge.pri └── iOS └── Plugin.Badge.dll /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.userosscache 8 | *.sln.docstates 9 | 10 | # User-specific files (MonoDevelop/Xamarin Studio) 11 | *.userprefs 12 | 13 | # Build results 14 | [Dd]ebug/ 15 | [Dd]ebugPublic/ 16 | [Rr]elease/ 17 | [Rr]eleases/ 18 | x64/ 19 | x86/ 20 | bld/ 21 | [Bb]in/ 22 | [Oo]bj/ 23 | [Ll]og/ 24 | 25 | # Visual Studio 2015 cache/options directory 26 | .vs/ 27 | # Uncomment if you have tasks that create the project's static files in wwwroot 28 | #wwwroot/ 29 | 30 | # MSTest test Results 31 | [Tt]est[Rr]esult*/ 32 | [Bb]uild[Ll]og.* 33 | 34 | # NUNIT 35 | *.VisualState.xml 36 | TestResult.xml 37 | 38 | # Build Results of an ATL Project 39 | [Dd]ebugPS/ 40 | [Rr]eleasePS/ 41 | dlldata.c 42 | 43 | # DNX 44 | project.lock.json 45 | project.fragment.lock.json 46 | artifacts/ 47 | 48 | *_i.c 49 | *_p.c 50 | *_i.h 51 | *.ilk 52 | *.meta 53 | *.obj 54 | *.pch 55 | *.pdb 56 | *.pgc 57 | *.pgd 58 | *.rsp 59 | *.sbr 60 | *.tlb 61 | *.tli 62 | *.tlh 63 | *.tmp 64 | *.tmp_proj 65 | *.log 66 | *.vspscc 67 | *.vssscc 68 | .builds 69 | *.pidb 70 | *.svclog 71 | *.scc 72 | 73 | # Chutzpah Test files 74 | _Chutzpah* 75 | 76 | # Visual C++ cache files 77 | ipch/ 78 | *.aps 79 | *.ncb 80 | *.opendb 81 | *.opensdf 82 | *.sdf 83 | *.cachefile 84 | *.VC.db 85 | *.VC.VC.opendb 86 | 87 | # Visual Studio profiler 88 | *.psess 89 | *.vsp 90 | *.vspx 91 | *.sap 92 | 93 | # TFS 2012 Local Workspace 94 | $tf/ 95 | 96 | # Guidance Automation Toolkit 97 | *.gpState 98 | 99 | # ReSharper is a .NET coding add-in 100 | _ReSharper*/ 101 | *.[Rr]e[Ss]harper 102 | *.DotSettings.user 103 | 104 | # JustCode is a .NET coding add-in 105 | .JustCode 106 | 107 | # TeamCity is a build add-in 108 | _TeamCity* 109 | 110 | # DotCover is a Code Coverage Tool 111 | *.dotCover 112 | 113 | # NCrunch 114 | _NCrunch_* 115 | .*crunch*.local.xml 116 | nCrunchTemp_* 117 | 118 | # MightyMoose 119 | *.mm.* 120 | AutoTest.Net/ 121 | 122 | # Web workbench (sass) 123 | .sass-cache/ 124 | 125 | # Installshield output folder 126 | [Ee]xpress/ 127 | 128 | # DocProject is a documentation generator add-in 129 | DocProject/buildhelp/ 130 | DocProject/Help/*.HxT 131 | DocProject/Help/*.HxC 132 | DocProject/Help/*.hhc 133 | DocProject/Help/*.hhk 134 | DocProject/Help/*.hhp 135 | DocProject/Help/Html2 136 | DocProject/Help/html 137 | 138 | # Click-Once directory 139 | publish/ 140 | 141 | # Publish Web Output 142 | *.[Pp]ublish.xml 143 | *.azurePubxml 144 | # TODO: Comment the next line if you want to checkin your web deploy settings 145 | # but database connection strings (with potential passwords) will be unencrypted 146 | *.pubxml 147 | *.publishproj 148 | 149 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 150 | # checkin your Azure Web App publish settings, but sensitive information contained 151 | # in these scripts will be unencrypted 152 | PublishScripts/ 153 | 154 | # NuGet Packages 155 | *.nupkg 156 | # The packages folder can be ignored because of Package Restore 157 | **/packages/* 158 | # except build/, which is used as an MSBuild target. 159 | !**/packages/build/ 160 | # Uncomment if necessary however generally it will be regenerated when needed 161 | #!**/packages/repositories.config 162 | # NuGet v3's project.json files produces more ignoreable files 163 | *.nuget.props 164 | *.nuget.targets 165 | 166 | # Microsoft Azure Build Output 167 | csx/ 168 | *.build.csdef 169 | 170 | # Microsoft Azure Emulator 171 | ecf/ 172 | rcf/ 173 | 174 | # Windows Store app package directories and files 175 | AppPackages/ 176 | BundleArtifacts/ 177 | Package.StoreAssociation.xml 178 | _pkginfo.txt 179 | 180 | # Visual Studio cache files 181 | # files ending in .cache can be ignored 182 | *.[Cc]ache 183 | # but keep track of directories ending in .cache 184 | !*.[Cc]ache/ 185 | 186 | # Others 187 | ClientBin/ 188 | ~$* 189 | *~ 190 | *.dbmdl 191 | *.dbproj.schemaview 192 | *.pfx 193 | *.publishsettings 194 | node_modules/ 195 | orleans.codegen.cs 196 | 197 | # Since there are multiple workflows, uncomment next line to ignore bower_components 198 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 199 | #bower_components/ 200 | 201 | # RIA/Silverlight projects 202 | Generated_Code/ 203 | 204 | # Backup & report files from converting an old project file 205 | # to a newer Visual Studio version. Backup files are not needed, 206 | # because we have git ;-) 207 | _UpgradeReport_Files/ 208 | Backup*/ 209 | UpgradeLog*.XML 210 | UpgradeLog*.htm 211 | 212 | # SQL Server files 213 | *.mdf 214 | *.ldf 215 | 216 | # Business Intelligence projects 217 | *.rdl.data 218 | *.bim.layout 219 | *.bim_*.settings 220 | 221 | # Microsoft Fakes 222 | FakesAssemblies/ 223 | 224 | # GhostDoc plugin setting file 225 | *.GhostDoc.xml 226 | 227 | # Node.js Tools for Visual Studio 228 | .ntvs_analysis.dat 229 | 230 | # Visual Studio 6 build log 231 | *.plg 232 | 233 | # Visual Studio 6 workspace options file 234 | *.opt 235 | 236 | # Visual Studio LightSwitch build output 237 | **/*.HTMLClient/GeneratedArtifacts 238 | **/*.DesktopClient/GeneratedArtifacts 239 | **/*.DesktopClient/ModelManifest.xml 240 | **/*.Server/GeneratedArtifacts 241 | **/*.Server/ModelManifest.xml 242 | _Pvt_Extensions 243 | 244 | # Paket dependency manager 245 | .paket/paket.exe 246 | paket-files/ 247 | 248 | # FAKE - F# Make 249 | .fake/ 250 | 251 | # JetBrains Rider 252 | .idea/ 253 | *.sln.iml -------------------------------------------------------------------------------- /Badge.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plugin.Badge.iOS", "Badge\Plugin.Badge.iOS\Plugin.Badge.iOS.csproj", "{2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plugin.Badge.Android", "Badge\Plugin.Badge.Android\Plugin.Badge.Android.csproj", "{56A56F17-7DE1-4CA1-9617-BF32E971AC84}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plugin.Badge.UWP", "Badge\Plugin.Badge.UWP\Plugin.Badge.UWP.csproj", "{E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}" 11 | EndProject 12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.Droid", "Demo.Droid\Demo.Droid.csproj", "{54652365-DE93-46F9-B750-D320B9288C48}" 13 | EndProject 14 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.iOS", "Demo.iOS\Demo.iOS.csproj", "{418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}" 15 | EndProject 16 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plugin.Badge", "Badge\Plugin.Badge\Plugin.Badge.csproj", "{86A6175D-0FE2-4364-9D98-516E78D7D4E0}" 17 | EndProject 18 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plugin.Badge.Abstractions", "Badge\Plugin.Badge.Abstractions\Plugin.Badge.Abstractions.csproj", "{27F5F614-3609-4847-AA36-9F4CF78B1FAF}" 19 | EndProject 20 | Global 21 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 22 | Debug|Any CPU = Debug|Any CPU 23 | Debug|ARM = Debug|ARM 24 | Debug|x64 = Debug|x64 25 | Debug|x86 = Debug|x86 26 | Release|Any CPU = Release|Any CPU 27 | Release|ARM = Release|ARM 28 | Release|x64 = Release|x64 29 | Release|x86 = Release|x86 30 | Debug|iPhoneSimulator = Debug|iPhoneSimulator 31 | Release|iPhone = Release|iPhone 32 | Release|iPhoneSimulator = Release|iPhoneSimulator 33 | Debug|iPhone = Debug|iPhone 34 | EndGlobalSection 35 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 36 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 37 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|Any CPU.Build.0 = Debug|Any CPU 38 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|ARM.ActiveCfg = Debug|Any CPU 39 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|ARM.Build.0 = Debug|Any CPU 40 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|x64.ActiveCfg = Debug|Any CPU 41 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|x64.Build.0 = Debug|Any CPU 42 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|x86.ActiveCfg = Debug|Any CPU 43 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|x86.Build.0 = Debug|Any CPU 44 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|Any CPU.ActiveCfg = Release|Any CPU 45 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|Any CPU.Build.0 = Release|Any CPU 46 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|ARM.ActiveCfg = Release|Any CPU 47 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|ARM.Build.0 = Release|Any CPU 48 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|x64.ActiveCfg = Release|Any CPU 49 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|x64.Build.0 = Release|Any CPU 50 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|x86.ActiveCfg = Release|Any CPU 51 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|x86.Build.0 = Release|Any CPU 52 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 53 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 54 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|iPhone.ActiveCfg = Release|Any CPU 55 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|iPhone.Build.0 = Release|Any CPU 56 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 57 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 58 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|iPhone.ActiveCfg = Debug|Any CPU 59 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0}.Debug|iPhone.Build.0 = Debug|Any CPU 60 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 61 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|Any CPU.Build.0 = Debug|Any CPU 62 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|ARM.ActiveCfg = Debug|Any CPU 63 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|ARM.Build.0 = Debug|Any CPU 64 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|x64.ActiveCfg = Debug|Any CPU 65 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|x64.Build.0 = Debug|Any CPU 66 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|x86.ActiveCfg = Debug|Any CPU 67 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|x86.Build.0 = Debug|Any CPU 68 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|Any CPU.ActiveCfg = Release|Any CPU 69 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|Any CPU.Build.0 = Release|Any CPU 70 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|ARM.ActiveCfg = Release|Any CPU 71 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|ARM.Build.0 = Release|Any CPU 72 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|x64.ActiveCfg = Release|Any CPU 73 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|x64.Build.0 = Release|Any CPU 74 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|x86.ActiveCfg = Release|Any CPU 75 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|x86.Build.0 = Release|Any CPU 76 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 77 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 78 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|iPhone.ActiveCfg = Release|Any CPU 79 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|iPhone.Build.0 = Release|Any CPU 80 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 81 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 82 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|iPhone.ActiveCfg = Debug|Any CPU 83 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84}.Debug|iPhone.Build.0 = Debug|Any CPU 84 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 85 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|Any CPU.Build.0 = Debug|Any CPU 86 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|ARM.ActiveCfg = Debug|ARM 87 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|ARM.Build.0 = Debug|ARM 88 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|x64.ActiveCfg = Debug|x64 89 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|x64.Build.0 = Debug|x64 90 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|x86.ActiveCfg = Debug|x86 91 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|x86.Build.0 = Debug|x86 92 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|Any CPU.ActiveCfg = Release|Any CPU 93 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|Any CPU.Build.0 = Release|Any CPU 94 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|ARM.ActiveCfg = Release|ARM 95 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|ARM.Build.0 = Release|ARM 96 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|x64.ActiveCfg = Release|x64 97 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|x64.Build.0 = Release|x64 98 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|x86.ActiveCfg = Release|x86 99 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|x86.Build.0 = Release|x86 100 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 101 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 102 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|iPhone.ActiveCfg = Release|Any CPU 103 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|iPhone.Build.0 = Release|Any CPU 104 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 105 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 106 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|iPhone.ActiveCfg = Debug|Any CPU 107 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1}.Debug|iPhone.Build.0 = Debug|Any CPU 108 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 109 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|Any CPU.Build.0 = Debug|Any CPU 110 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|ARM.ActiveCfg = Debug|Any CPU 111 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|ARM.Build.0 = Debug|Any CPU 112 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|x64.ActiveCfg = Debug|Any CPU 113 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|x64.Build.0 = Debug|Any CPU 114 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|x86.ActiveCfg = Debug|Any CPU 115 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|x86.Build.0 = Debug|Any CPU 116 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|Any CPU.ActiveCfg = Release|Any CPU 117 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|Any CPU.Build.0 = Release|Any CPU 118 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|ARM.ActiveCfg = Release|Any CPU 119 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|ARM.Build.0 = Release|Any CPU 120 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|x64.ActiveCfg = Release|Any CPU 121 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|x64.Build.0 = Release|Any CPU 122 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|x86.ActiveCfg = Release|Any CPU 123 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|x86.Build.0 = Release|Any CPU 124 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 125 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 126 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|iPhone.ActiveCfg = Release|Any CPU 127 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|iPhone.Build.0 = Release|Any CPU 128 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 129 | {54652365-DE93-46F9-B750-D320B9288C48}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 130 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|iPhone.ActiveCfg = Debug|Any CPU 131 | {54652365-DE93-46F9-B750-D320B9288C48}.Debug|iPhone.Build.0 = Debug|Any CPU 132 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator 133 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator 134 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator 135 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|ARM.Build.0 = Debug|iPhoneSimulator 136 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator 137 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|x64.Build.0 = Debug|iPhoneSimulator 138 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator 139 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|x86.Build.0 = Debug|iPhoneSimulator 140 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|Any CPU.ActiveCfg = Release|iPhone 141 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|Any CPU.Build.0 = Release|iPhone 142 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|ARM.ActiveCfg = Release|iPhone 143 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|ARM.Build.0 = Release|iPhone 144 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|x64.ActiveCfg = Release|iPhone 145 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|x64.Build.0 = Release|iPhone 146 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|x86.ActiveCfg = Release|iPhone 147 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|x86.Build.0 = Release|iPhone 148 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator 149 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator 150 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|iPhone.ActiveCfg = Release|iPhone 151 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|iPhone.Build.0 = Release|iPhone 152 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator 153 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator 154 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|iPhone.ActiveCfg = Debug|iPhone 155 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56}.Debug|iPhone.Build.0 = Debug|iPhone 156 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 157 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|Any CPU.Build.0 = Debug|Any CPU 158 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|ARM.ActiveCfg = Debug|Any CPU 159 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|ARM.Build.0 = Debug|Any CPU 160 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|x64.ActiveCfg = Debug|Any CPU 161 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|x64.Build.0 = Debug|Any CPU 162 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|x86.ActiveCfg = Debug|Any CPU 163 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|x86.Build.0 = Debug|Any CPU 164 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|Any CPU.ActiveCfg = Release|Any CPU 165 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|Any CPU.Build.0 = Release|Any CPU 166 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|ARM.ActiveCfg = Release|Any CPU 167 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|ARM.Build.0 = Release|Any CPU 168 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|x64.ActiveCfg = Release|Any CPU 169 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|x64.Build.0 = Release|Any CPU 170 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|x86.ActiveCfg = Release|Any CPU 171 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|x86.Build.0 = Release|Any CPU 172 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 173 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 174 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|iPhone.ActiveCfg = Release|Any CPU 175 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|iPhone.Build.0 = Release|Any CPU 176 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 177 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 178 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|iPhone.ActiveCfg = Debug|Any CPU 179 | {86A6175D-0FE2-4364-9D98-516E78D7D4E0}.Debug|iPhone.Build.0 = Debug|Any CPU 180 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 181 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|Any CPU.Build.0 = Debug|Any CPU 182 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|ARM.ActiveCfg = Debug|Any CPU 183 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|ARM.Build.0 = Debug|Any CPU 184 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|x64.ActiveCfg = Debug|Any CPU 185 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|x64.Build.0 = Debug|Any CPU 186 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|x86.ActiveCfg = Debug|Any CPU 187 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|x86.Build.0 = Debug|Any CPU 188 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|Any CPU.ActiveCfg = Release|Any CPU 189 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|Any CPU.Build.0 = Release|Any CPU 190 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|ARM.ActiveCfg = Release|Any CPU 191 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|ARM.Build.0 = Release|Any CPU 192 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|x64.ActiveCfg = Release|Any CPU 193 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|x64.Build.0 = Release|Any CPU 194 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|x86.ActiveCfg = Release|Any CPU 195 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|x86.Build.0 = Release|Any CPU 196 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU 197 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU 198 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|iPhone.ActiveCfg = Release|Any CPU 199 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|iPhone.Build.0 = Release|Any CPU 200 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU 201 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Release|iPhoneSimulator.Build.0 = Release|Any CPU 202 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|iPhone.ActiveCfg = Debug|Any CPU 203 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF}.Debug|iPhone.Build.0 = Debug|Any CPU 204 | EndGlobalSection 205 | GlobalSection(SolutionProperties) = preSolution 206 | HideSolutionNode = FALSE 207 | EndGlobalSection 208 | GlobalSection(MonoDevelopProperties) = preSolution 209 | version = 1.0.0 210 | EndGlobalSection 211 | EndGlobal 212 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Abstractions/IBadge.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.Badge.Abstractions 4 | { 5 | /// 6 | /// Interface for Badge 7 | /// 8 | public interface IBadge 9 | { 10 | /// 11 | /// Clears the badge. 12 | /// 13 | void ClearBadge(); 14 | 15 | /// 16 | /// Sets the badge. 17 | /// 18 | /// The badge number. 19 | void SetBadge(int badgeNumber); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Abstractions/Plugin.Badge.Abstractions.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard1.4 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/BadgeImplementation.cs: -------------------------------------------------------------------------------- 1 | using Plugin.Badge.Abstractions; 2 | using Java.Lang; 3 | using System; 4 | using Plugin.CurrentActivity; 5 | 6 | /* 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | */ 30 | 31 | namespace Plugin.Badge 32 | { 33 | /// 34 | /// Implementation for Feature 35 | /// 36 | public class BadgeImplementation : IBadge 37 | { 38 | BadgeProviderFactory badgeFactory = new BadgeProviderFactory(); 39 | 40 | /// 41 | /// Sets the badge. 42 | /// 43 | /// The badge number. 44 | public void SetBadge(int badgeNumber) 45 | { 46 | var mContext = CrossCurrentActivity.Current.Activity; 47 | 48 | if (mContext == null) 49 | { 50 | return; 51 | } 52 | 53 | //var badgeFactory = new BadgeProviderFactory(); 54 | var badgeProvider = badgeFactory.GetBadgeProvider(); 55 | 56 | try 57 | { 58 | badgeProvider.SetBadge(badgeNumber); 59 | } 60 | catch (UnsupportedOperationException e) 61 | { 62 | Console.WriteLine(string.Format("The home launcher with package {0} may not be supported by Badge plugin: ({1})", badgeProvider.GetPackageName(), e.Message)); 63 | } 64 | } 65 | 66 | /// 67 | /// Clears the badge. 68 | /// 69 | public void ClearBadge() 70 | { 71 | SetBadge(0); 72 | } 73 | } 74 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/BadgesNotSupportedException.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Arturo Gutiérrez Díaz-Guerra. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | using System; 17 | 18 | namespace Plugin.Badge 19 | { 20 | 21 | /** 22 | * Exception to tell the current launcher is not supported by Badges library. 23 | * 24 | * @author Arturo Gutiérrez Díaz-Guerra 25 | * 26 | * ported to C# by Alex Rainman 27 | */ 28 | public class BadgesNotSupportedException : Exception { 29 | 30 | /// 31 | /// Current home launcher is not supported by Badges library 32 | /// 33 | public BadgesNotSupportedException() 34 | : base("Current home launcher is not supported by Badges library") 35 | { 36 | } 37 | 38 | /// 39 | /// The home launcher package is not supported by Badges library 40 | /// 41 | public BadgesNotSupportedException(string homePackage) 42 | : base(string.Format("The home launcher with package {0} is not supported by Badges library", homePackage)) 43 | { 44 | } 45 | } 46 | 47 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Plugin.Badge.Android.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84} 9 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Library 11 | Properties 12 | Plugin.Badge 13 | Plugin.Badge 14 | 512 15 | Resources\Resource.Designer.cs 16 | Off 17 | True 18 | True 19 | v8.0 20 | 21 | 22 | 1.0.0 23 | 24 | 25 | true 26 | full 27 | false 28 | bin\Debug\ 29 | DEBUG;TRACE 30 | prompt 31 | 4 32 | 33 | 34 | pdbonly 35 | true 36 | bin\Release\ 37 | TRACE 38 | prompt 39 | 4 40 | bin\Release\Plugin.Badge.XML 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | ..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll 51 | 52 | 53 | 54 | 55 | CrossBadge.cs 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF} 81 | Plugin.Badge.Abstractions 82 | 83 | 84 | 85 | 92 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Plugin.Badge.Android.csproj.bak: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84} 9 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Library 11 | Properties 12 | Plugin.Badge 13 | Plugin.Badge 14 | 512 15 | Resources\Resource.Designer.cs 16 | Off 17 | True 18 | True 19 | v7.0 20 | 21 | 22 | 23 | true 24 | full 25 | false 26 | bin\Debug\ 27 | DEBUG;TRACE 28 | prompt 29 | 4 30 | 31 | 32 | pdbonly 33 | true 34 | bin\Release\ 35 | TRACE 36 | prompt 37 | 4 38 | bin\Release\Plugin.Badge.XML 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | ..\..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll 49 | 50 | 51 | 52 | 53 | CrossBadge.cs 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | {6edb0588-ffc5-4ef5-8a99-9e241d0f878d} 82 | Plugin.Badge.Abstractions 83 | 84 | 85 | 86 | 87 | 88 | 89 | 96 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("Plugin.Badge.Android")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("Plugin.Badge.Android")] 14 | [assembly: AssemblyCopyright("Copyright © 2016")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/AdwBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.Content; 3 | 4 | namespace Plugin.Badge 5 | { 6 | class AdwBadgeProvider : BadgeProvider { 7 | 8 | public override void SetBadge(int badgeNumber) { 9 | 10 | if (badgeNumber < 0) 11 | { 12 | return; 13 | } 14 | 15 | try 16 | { 17 | var intent = new Intent("org.adw.launcher.counter.SEND"); 18 | intent.PutExtra("PNAME", GetPackageName()); 19 | intent.PutExtra("CNAME", GetClassName()); 20 | intent.PutExtra("COUNT", badgeNumber); 21 | mContext.SendBroadcast(intent); 22 | } 23 | catch (Exception ex) 24 | { 25 | Console.WriteLine("(ADW) unable to set badge: " + ex.Message); 26 | } 27 | } 28 | 29 | public override void ClearBadge() { 30 | SetBadge(0); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/ApexBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.Content; 3 | 4 | namespace Plugin.Badge 5 | { 6 | class ApexBadgeProvider : BadgeProvider { 7 | 8 | public override void SetBadge(int badgeNumber) { 9 | 10 | if (badgeNumber < 0) 11 | { 12 | return; 13 | } 14 | 15 | try 16 | { 17 | var intent = new Intent("com.anddoes.launcher.COUNTER_CHANGED"); 18 | intent.PutExtra("package", GetPackageName()); 19 | intent.PutExtra("class", GetClassName()); 20 | intent.PutExtra("count", badgeNumber); 21 | mContext.SendBroadcast(intent); 22 | } 23 | catch (Exception ex) 24 | { 25 | Console.WriteLine("(APEX) unable to set badge: " + ex.Message); 26 | } 27 | } 28 | 29 | public override void ClearBadge() { 30 | SetBadge(0); 31 | } 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/AsusBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.Content; 3 | 4 | namespace Plugin.Badge 5 | { 6 | class AsusBadgeProvider : BadgeProvider { 7 | 8 | public override void SetBadge(int badgeNumber) { 9 | 10 | if (badgeNumber < 0) 11 | { 12 | return; 13 | } 14 | 15 | try 16 | { 17 | var intent = new Intent("android.intent.action.BADGE_COUNT_UPDATE"); 18 | intent.PutExtra("badge_count_package_name", GetPackageName()); 19 | intent.PutExtra("badge_count_class_name", GetClassName()); 20 | intent.PutExtra("badge_count", badgeNumber); 21 | intent.PutExtra("badge_vip_count", 0); 22 | mContext.SendBroadcast(intent); 23 | } 24 | catch (Exception ex) 25 | { 26 | Console.WriteLine("(ASUS) unable to set badge: " + ex.Message); 27 | } 28 | } 29 | 30 | public override void ClearBadge() { 31 | SetBadge(0); 32 | } 33 | } 34 | } 35 | 36 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/BadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using Android.Content; 2 | using Plugin.CurrentActivity; 3 | 4 | namespace Plugin.Badge 5 | { 6 | public class BadgeProvider { 7 | 8 | /// 9 | /// Badge provider context 10 | /// 11 | protected Context mContext 12 | { 13 | get 14 | { 15 | return CrossCurrentActivity.Current.Activity; 16 | } 17 | } 18 | 19 | /// 20 | /// Virtual set badge 21 | /// 22 | public virtual void SetBadge(int badgeNumber){ 23 | } 24 | 25 | /// 26 | /// Virtual remove badge 27 | /// 28 | public virtual void ClearBadge(){ 29 | } 30 | 31 | /// 32 | /// Get component name 33 | /// 34 | public ComponentName GetComponentName() 35 | { 36 | return mContext.PackageManager.GetLaunchIntentForPackage(GetPackageName()).Component; 37 | } 38 | 39 | /// 40 | /// Get package name 41 | /// 42 | public string GetPackageName() 43 | { 44 | return mContext.PackageName; 45 | } 46 | 47 | /// 48 | /// Get main activity class name 49 | /// 50 | protected string GetClassName() 51 | { 52 | return mContext.PackageManager.GetLaunchIntentForPackage(GetPackageName()).Component.ClassName; 53 | } 54 | } 55 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/BadgeProviderFactory.cs: -------------------------------------------------------------------------------- 1 | using Android.Content; 2 | using System.Collections.Generic; 3 | using Android.Content.PM; 4 | using Plugin.CurrentActivity; 5 | 6 | namespace Plugin.Badge 7 | { 8 | public class BadgeProviderFactory { 9 | 10 | Dictionary providers; 11 | 12 | /// 13 | /// Badge provider factory constructor 14 | /// 15 | public BadgeProviderFactory() { 16 | 17 | providers = new Dictionary(); 18 | 19 | providers.Add("org.adw.launcher", new AdwBadgeProvider()); 20 | providers.Add("org.adwfreak.launcher", new AdwBadgeProvider()); 21 | providers.Add("com.anddoes.launcher", new ApexBadgeProvider()); 22 | providers.Add("com.asus.launcher", new AsusBadgeProvider()); 23 | providers.Add("com.htc.launcher", new HtcBadgeProvider()); 24 | //providers.Add("com.huawei.android.launcher", new HuaweiBadgeProvider()); 25 | providers.Add("com.teslacoilsw.launcher", new NovaBadgeProvider()); 26 | providers.Add("com.oppo.launcher", new OppoBadgeProvider()); 27 | providers.Add("com.sec.android.app.launcher", new SamsungBadgeProvider()); 28 | providers.Add("com.sec.android.app.twlauncher", new SamsungBadgeProvider()); 29 | providers.Add("com.sonyericsson.home", new SonyBadgeProvider()); 30 | providers.Add("com.sonymobile.home", new SonyBadgeProvider()); 31 | providers.Add("com.miui.miuilite", new XiaomiBadgeProvider()); 32 | providers.Add("com.miui.home", new XiaomiBadgeProvider()); 33 | providers.Add("com.miui.miuihome", new XiaomiBadgeProvider()); 34 | providers.Add("com.miui.miuihome2", new XiaomiBadgeProvider()); 35 | providers.Add("com.miui.mihome", new XiaomiBadgeProvider()); 36 | providers.Add("com.miui.mihome2", new XiaomiBadgeProvider()); 37 | providers.Add("com.i.miui.launcher", new XiaomiBadgeProvider()); 38 | providers.Add("com.zui.launcher", new ZukBadgeProvider()); 39 | } 40 | 41 | /// 42 | /// Get badge provider 43 | /// 44 | public BadgeProvider GetBadgeProvider() { 45 | var currentPackage = GetHomePackage(); 46 | return providers.ContainsKey (currentPackage) ? providers [currentPackage] : new DefaultBadgeProvider (); 47 | } 48 | 49 | public string GetHomePackage() 50 | { 51 | var intent = new Intent(Intent.ActionMain); 52 | intent.AddCategory(Intent.CategoryHome); 53 | var mContext = CrossCurrentActivity.Current.Activity; 54 | var resolveInfo = mContext.PackageManager.ResolveActivity(intent, PackageInfoFlags.MatchDefaultOnly); 55 | if (resolveInfo != null && resolveInfo.ActivityInfo != null && resolveInfo.ActivityInfo.PackageName != null) 56 | { 57 | return resolveInfo.ActivityInfo.PackageName; 58 | } 59 | return mContext.PackageName; 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/DefaultBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.Content; 3 | 4 | namespace Plugin.Badge 5 | { 6 | class DefaultBadgeProvider : BadgeProvider { 7 | 8 | string INTENT_ACTION = "android.intent.action.BADGE_COUNT_UPDATE"; 9 | 10 | public override void SetBadge(int badgeNumber) { 11 | 12 | if (badgeNumber < 0) 13 | { 14 | return; 15 | } 16 | 17 | try 18 | { 19 | var intent = new Intent(INTENT_ACTION); 20 | intent.PutExtra("badge_count_package_name", GetPackageName()); 21 | intent.PutExtra("badge_count_class_name", GetClassName()); 22 | intent.PutExtra("badge_count", badgeNumber); 23 | mContext.SendBroadcast(intent); 24 | } 25 | catch (Exception ex) 26 | { 27 | Console.WriteLine("(DEFAULT) unable to set badge: " + ex.Message); 28 | } 29 | } 30 | 31 | public override void ClearBadge() { 32 | SetBadge(0); 33 | } 34 | 35 | public bool IsSupported() 36 | { 37 | var intent = new Intent(INTENT_ACTION); 38 | var packageManager = mContext.PackageManager; 39 | var receivers = packageManager.QueryBroadcastReceivers(intent, 0); 40 | return receivers != null && receivers.Count > 0; 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/HtcBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.Content; 3 | 4 | namespace Plugin.Badge 5 | { 6 | class HtcBadgeProvider : BadgeProvider { 7 | 8 | public override void SetBadge(int badgeNumber) { 9 | 10 | if (badgeNumber < 0) 11 | { 12 | return; 13 | } 14 | 15 | try 16 | { 17 | //var launchIntent = mContext.PackageManager.GetLaunchIntentForPackage(mContext.PackageName); 18 | //var componentName = launchIntent.Component; 19 | 20 | /*var intent2 = new Intent("com.htc.launcher.action.UPDATE_SHORTCUT"); 21 | intent2.PutExtra("packagename", componentName.PackageName); 22 | intent2.PutExtra("count", badgeNumber); 23 | mContext.SendBroadcast(intent2); 24 | 25 | var intent1 = new Intent("com.htc.launcher.action.SET_NOTIFICATION"); 26 | intent1.PutExtra("com.htc.launcher.extra.COMPONENT", componentName.FlattenToShortString()); 27 | intent1.PutExtra("com.htc.launcher.extra.COUNT", badgeNumber); 28 | mContext.SendBroadcast(intent1);*/ 29 | 30 | var intent = new Intent("com.htc.launcher.action.UPDATE_SHORTCUT"); 31 | intent.PutExtra("packagename", GetPackageName()); 32 | intent.PutExtra("count", badgeNumber); 33 | mContext.SendBroadcast(intent); 34 | 35 | var setNotificationIntent = new Intent("com.htc.launcher.action.SET_NOTIFICATION"); 36 | var componentName = new ComponentName(GetPackageName(), GetClassName()); 37 | setNotificationIntent.PutExtra("com.htc.launcher.extra.COMPONENT", componentName.FlattenToShortString()); 38 | setNotificationIntent.PutExtra("com.htc.launcher.extra.COUNT", badgeNumber); 39 | mContext.SendBroadcast(setNotificationIntent); 40 | 41 | } catch (Exception ex) { 42 | Console.WriteLine("(HTC) unable to set badge: " + ex.Message); 43 | } 44 | } 45 | 46 | public override void ClearBadge() { 47 | SetBadge(0); 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/NovaBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.Content; 3 | 4 | namespace Plugin.Badge 5 | { 6 | class NovaBadgeProvider : BadgeProvider { 7 | 8 | public override void SetBadge(int badgeNumber) { 9 | 10 | if (badgeNumber < 0) 11 | { 12 | return; 13 | } 14 | 15 | try { 16 | var contentValues = new ContentValues(); 17 | contentValues.Put("tag", GetPackageName() + "/" + GetClassName()); 18 | contentValues.Put("count", badgeNumber); 19 | mContext.ContentResolver.Insert(Android.Net.Uri.Parse("content://com.teslacoilsw.notifier/unread_count"), contentValues); 20 | } catch (Java.Lang.IllegalArgumentException ex) { 21 | /* Fine, TeslaUnread is not installed. */ 22 | Console.WriteLine("(NOVA) unable to set badge: " + ex.Message); 23 | } catch (Exception ex) { 24 | /* Some other error, possibly because the format of the ContentValues are incorrect. */ 25 | Console.WriteLine("(NOVA) unable to set badge: " + ex.Message); 26 | } 27 | } 28 | 29 | public override void ClearBadge() { 30 | SetBadge(0); 31 | } 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/OppoBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.Content; 3 | using Android.OS; 4 | using Java.IO; 5 | using Java.Lang; 6 | using Java.Lang.Reflect; 7 | 8 | namespace Plugin.Badge 9 | { 10 | public class OppoBadgeProvider : BadgeProvider 11 | { 12 | //@TargetApi(Build.VERSION_CODES.HONEYCOMB) 13 | public override void SetBadge(int badgeNumber) 14 | { 15 | if (badgeNumber < -1) 16 | { 17 | return; 18 | } 19 | 20 | if (badgeNumber == 0) { 21 | badgeNumber = -1; 22 | } 23 | 24 | try 25 | { 26 | var intent = new Intent("com.oppo.unsettledevent"); 27 | intent.PutExtra("packageName", GetPackageName()); 28 | intent.PutExtra("number", badgeNumber); 29 | intent.PutExtra("upgradeNumber", badgeNumber); 30 | mContext.SendBroadcast(intent); 31 | } 32 | catch (System.Exception ex) 33 | { 34 | int version = GetSupportVersion(); 35 | if (version == 6) 36 | { 37 | try 38 | { 39 | var extras = new Bundle(); 40 | extras.PutInt("app_badge_count", badgeNumber); 41 | mContext.ContentResolver.Call(Android.Net.Uri.Parse("content://com.android.badge/badge"), "setAppBadgeCount", null, extras); 42 | } 43 | catch (Throwable th) 44 | { 45 | System.Console.WriteLine("(OPPO) unable to set badge: " + th.Message); 46 | } 47 | } 48 | } 49 | } 50 | 51 | private int GetSupportVersion() 52 | { 53 | int ROMVERSION = -1; 54 | 55 | try 56 | { 57 | ROMVERSION = ((Integer)ExecuteClassLoad(GetClass("com.color.os.ColorBuild"), "getColorOSVERSION", null, null)).IntValue(); 58 | } 59 | catch (System.Exception e) 60 | { 61 | ROMVERSION = 0; 62 | } 63 | 64 | if (ROMVERSION == 0) 65 | { 66 | try 67 | { 68 | var str = GetSystemProperty("ro.build.version.opporom"); 69 | if (str.StartsWith("V1.4", StringComparison.CurrentCulture)) 70 | { 71 | return 3; 72 | } 73 | if (str.StartsWith("V2.0", StringComparison.CurrentCulture)) 74 | { 75 | return 4; 76 | } 77 | if (str.StartsWith("V2.1", StringComparison.CurrentCulture)) 78 | { 79 | return 5; 80 | } 81 | } 82 | catch (System.Exception ignored) 83 | { 84 | System.Console.WriteLine(ignored.Message); 85 | } 86 | } 87 | 88 | return ROMVERSION; 89 | } 90 | 91 | 92 | private object ExecuteClassLoad(Class cls, string str, Class[] clsArr, Java.Lang.Object[] objArr) 93 | { 94 | object obj = null; 95 | if (!(cls == null || CheckObjExists(str))) 96 | { 97 | var method = GetMethod(cls, str, clsArr); 98 | if (method != null) 99 | { 100 | method.Accessible = true; 101 | try 102 | { 103 | obj = method.Invoke(null, objArr); 104 | } 105 | catch (IllegalAccessException e) 106 | { 107 | e.PrintStackTrace(); 108 | } 109 | catch (InvocationTargetException e) 110 | { 111 | e.PrintStackTrace(); 112 | } 113 | } 114 | } 115 | return obj; 116 | } 117 | 118 | private Method GetMethod(Class cls, string str, Class[] clsArr) 119 | { 120 | Method method = null; 121 | if (cls == null || CheckObjExists(str)) 122 | { 123 | return method; 124 | } 125 | try 126 | { 127 | cls.GetMethods(); 128 | cls.GetDeclaredMethods(); 129 | return cls.GetDeclaredMethod(str, clsArr); 130 | } 131 | catch (System.Exception e) 132 | { 133 | System.Console.WriteLine(e.Message); 134 | try 135 | { 136 | return cls.GetMethod(str, clsArr); 137 | } 138 | catch (System.Exception e2) 139 | { 140 | System.Console.WriteLine(e2.Message); 141 | return cls.Superclass != null ? GetMethod(cls.Superclass, str, clsArr) : method; 142 | } 143 | } 144 | } 145 | 146 | private Class GetClass(string str) 147 | { 148 | Class cls = null; 149 | try 150 | { 151 | cls = Class.ForName(str); 152 | } 153 | catch (ClassNotFoundException ignored) 154 | { 155 | System.Console.WriteLine(ignored.Message); 156 | } 157 | return cls; 158 | } 159 | 160 | 161 | private bool CheckObjExists(object obj) 162 | { 163 | return obj == null || obj.ToString().Equals("") || obj.ToString().Trim().Equals("null"); 164 | } 165 | 166 | 167 | private string GetSystemProperty(string propName) 168 | { 169 | string line; 170 | BufferedReader input = null; 171 | try 172 | { 173 | var p = Runtime.GetRuntime().Exec("getprop " + propName); 174 | input = new BufferedReader(new InputStreamReader(p.InputStream), 1024); 175 | line = input.ReadLine(); 176 | input.Close(); 177 | } 178 | catch (IOException ex) 179 | { 180 | System.Console.WriteLine(ex.Message); 181 | return null; 182 | } 183 | finally 184 | { 185 | try 186 | { 187 | if (input != null) 188 | { 189 | input.Close(); 190 | } 191 | } 192 | catch (IOException e) 193 | { 194 | 195 | } 196 | } 197 | return line; 198 | } 199 | } 200 | } 201 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/SamsungBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using Android.Content; 2 | using Android.Database; 3 | using Android.OS; 4 | 5 | namespace Plugin.Badge 6 | { 7 | class SamsungBadgeProvider : BadgeProvider { 8 | 9 | static string CONTENT_URI = "content://com.sec.badge/apps?notify=true"; 10 | static string[] CONTENT_PROJECTION = new string[] { "_id", "class" }; 11 | 12 | DefaultBadgeProvider defaultBadger; 13 | 14 | public SamsungBadgeProvider() 15 | { 16 | if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) 17 | { 18 | defaultBadger = new DefaultBadgeProvider(); 19 | } 20 | } 21 | 22 | public override void SetBadge(int badgeNumber) 23 | { 24 | if (defaultBadger != null && defaultBadger.IsSupported()) 25 | { 26 | defaultBadger.SetBadge(badgeNumber); 27 | } 28 | else 29 | { 30 | var mUri = Android.Net.Uri.Parse(CONTENT_URI); 31 | var contentResolver = mContext.ContentResolver; 32 | ICursor cursor = null; 33 | try 34 | { 35 | cursor = contentResolver.Query(mUri, CONTENT_PROJECTION, "package=?", new string[] { GetPackageName() }, null); 36 | if (cursor != null) 37 | { 38 | var entryActivityName = GetClassName(); 39 | bool entryActivityExist = false; 40 | while (cursor.MoveToNext()) 41 | { 42 | var id = cursor.GetInt(0); 43 | var contentValues = GetContentValues(GetComponentName(), badgeNumber, false); 44 | contentResolver.Update(mUri, contentValues, "_id=?", new string[] { id.ToString() }); 45 | if (entryActivityName.Equals(cursor.GetString(cursor.GetColumnIndex("class")))) 46 | { 47 | entryActivityExist = true; 48 | } 49 | } 50 | 51 | if (!entryActivityExist) 52 | { 53 | var contentValues = GetContentValues(GetComponentName(), badgeNumber, true); 54 | contentResolver.Insert(mUri, contentValues); 55 | } 56 | } 57 | } 58 | finally 59 | { 60 | if (cursor != null && !cursor.IsClosed) 61 | { 62 | cursor.Close(); 63 | } 64 | } 65 | } 66 | } 67 | 68 | public override void ClearBadge() 69 | { 70 | SetBadge(0); 71 | } 72 | 73 | private ContentValues GetContentValues(ComponentName componentName, int badgeCount, bool isInsert) 74 | { 75 | var contentValues = new ContentValues(); 76 | if (isInsert) 77 | { 78 | contentValues.Put("package", componentName.PackageName); 79 | contentValues.Put("class", componentName.ClassName); 80 | } 81 | contentValues.Put("badgecount", badgeCount); 82 | return contentValues; 83 | } 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/SonyBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.Content; 3 | 4 | namespace Plugin.Badge 5 | { 6 | class SonyBadgeProvider : BadgeProvider 7 | { 8 | 9 | 10 | public override void SetBadge(int badgeNumber) 11 | { 12 | if (badgeNumber < 0) 13 | { 14 | return; 15 | } 16 | 17 | if (mContext.PackageManager.ResolveContentProvider("com.sonymobile.home.resourceprovider", 0) != null) 18 | { 19 | try 20 | { 21 | var mQueryHandler = new MyHandler(mContext.ContentResolver); 22 | var contentValues = new ContentValues(); 23 | contentValues.Put("badge_count", badgeNumber); 24 | contentValues.Put("package_name", GetPackageName()); 25 | contentValues.Put("activity_name", GetClassName()); 26 | // The badge must be inserted on a background thread 27 | mQueryHandler.StartInsert(0, null, Android.Net.Uri.Parse("content://com.sonymobile.home.resourceprovider/badge"), contentValues); 28 | } 29 | catch (Exception ex) 30 | { 31 | Console.WriteLine("(SONY) unable to set badge: " + ex.Message); 32 | } 33 | } 34 | else 35 | { 36 | try 37 | { 38 | var intent = new Intent(); 39 | intent.SetAction("com.sonyericsson.home.action.UPDATE_BADGE"); 40 | intent.PutExtra("com.sonyericsson.home.intent.extra.badge.PACKAGE_NAME", GetPackageName()); 41 | intent.PutExtra("com.sonyericsson.home.intent.extra.badge.ACTIVITY_NAME", GetClassName()); 42 | intent.PutExtra("com.sonyericsson.home.intent.extra.badge.SHOW_MESSAGE", badgeNumber > 0); 43 | intent.PutExtra("com.sonyericsson.home.intent.extra.badge.MESSAGE", badgeNumber.ToString()); 44 | mContext.SendBroadcast(intent); 45 | } 46 | catch (Exception ex) 47 | { 48 | Console.WriteLine("(SONY) unable to set badge: " + ex.Message); 49 | } 50 | } 51 | } 52 | 53 | public override void ClearBadge() 54 | { 55 | SetBadge(0); 56 | } 57 | } 58 | 59 | public class MyHandler : AsyncQueryHandler 60 | { 61 | public MyHandler(ContentResolver cr) : base(cr) 62 | { 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/XiaomiBadgeProvider.cs: -------------------------------------------------------------------------------- 1 |  2 | using System; 3 | using Android.Content; 4 | using Java.Lang; 5 | using Java.Lang.Reflect; 6 | 7 | namespace Plugin.Badge 8 | { 9 | /** 10 | * @author leolin 11 | * 12 | * ported to C# by Alex Rainman 13 | */ 14 | class XiaomiBadgeProvider : BadgeProvider { 15 | 16 | public override void SetBadge(int badgeNumber) { 17 | try { 18 | try 19 | { 20 | var miuiNotificationClass = Class.ForName("android.app.MiuiNotification"); 21 | var miuiNotification = miuiNotificationClass.NewInstance(); 22 | var field = miuiNotification.Class.GetDeclaredField("messageCount"); 23 | field.Accessible = true; 24 | field.Set(miuiNotification, badgeNumber == 0 ? "" : badgeNumber.ToString()); 25 | } 26 | catch (System.Exception ex) 27 | { 28 | Console.WriteLine("(XIAOMI) unable to set badge: " + ex.Message); 29 | } 30 | } catch (System.Exception e) { 31 | try 32 | { 33 | var localIntent = new Intent("android.intent.action.APPLICATION_MESSAGE_UPDATE"); 34 | localIntent.PutExtra("android.intent.extra.update_application_component_name", GetPackageName() + "/" + GetClassName()); 35 | localIntent.PutExtra("android.intent.extra.update_application_message_text", badgeNumber == 0 ? "" : badgeNumber.ToString()); 36 | mContext.SendBroadcast(localIntent); 37 | } 38 | catch (System.Exception ex) 39 | { 40 | Console.WriteLine("(XIAOMI) unable to set badge: " + ex.Message); 41 | } 42 | } 43 | } 44 | 45 | public override void ClearBadge() { 46 | SetBadge(0); 47 | } 48 | } 49 | } 50 | 51 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Providers/ZukBadgeProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Android.OS; 3 | 4 | namespace Plugin.Badge 5 | { 6 | public class ZukBadgeProvider : BadgeProvider 7 | { 8 | public override void SetBadge(int badgeNumber) 9 | { 10 | if (badgeNumber < 0) 11 | { 12 | return; 13 | } 14 | 15 | try 16 | { 17 | var extra = new Bundle(); 18 | extra.PutInt("app_badge_count", badgeNumber); 19 | mContext.ContentResolver.Call(Android.Net.Uri.Parse("content://com.android.badge/badge"), "setAppBadgeCount", null, extra); 20 | } catch (Java.Lang.IllegalArgumentException ex) { 21 | Console.WriteLine("(ZUK) unable to set badge: " + ex.Message); 22 | } catch (Exception ex) { 23 | Console.WriteLine("(ZUK) unable to set badge: " + ex.Message); 24 | } 25 | } 26 | 27 | public override void ClearBadge() 28 | { 29 | SetBadge(0); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.xml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable-hdpi/ 12 | icon.png 13 | 14 | drawable-ldpi/ 15 | icon.png 16 | 17 | drawable-mdpi/ 18 | icon.png 19 | 20 | layout/ 21 | main.xml 22 | 23 | values/ 24 | strings.xml 25 | 26 | In order to get the build system to recognize Android resources, set the build action to 27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 28 | instead operate on resource IDs. When you compile an Android application that uses resources, 29 | the build system will package the resources for distribution and generate a class called 30 | "Resource" that contains the tokens for each one of the resources included. For example, 31 | for the above Resources layout, this is what the Resource class would expose: 32 | 33 | public class Resource { 34 | public class drawable { 35 | public const int icon = 0x123; 36 | } 37 | 38 | public class layout { 39 | public const int main = 0x456; 40 | } 41 | 42 | public class strings { 43 | public const int first_string = 0xabc; 44 | public const int second_string = 0xbcd; 45 | } 46 | } 47 | 48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main 49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first 50 | string in the dictionary file values/strings.xml. -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/Resources/Resource.Designer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrainman/Badge/e11e1819c5b433d6a3ed06722219f0565a1a0470/Badge/Plugin.Badge.Android/Resources/Resource.Designer.cs -------------------------------------------------------------------------------- /Badge/Plugin.Badge.Android/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.UWP/BadgeImplementation.cs: -------------------------------------------------------------------------------- 1 | using Plugin.Badge.Abstractions; 2 | #if WINDOWS_PHONE 3 | using System.Linq; 4 | using Microsoft.Phone.Shell; 5 | #else 6 | using Windows.Data.Xml.Dom; 7 | using Windows.UI.Notifications; 8 | #endif 9 | 10 | namespace Plugin.Badge 11 | { 12 | /// 13 | /// Implementation for Feature 14 | /// 15 | public class BadgeImplementation : IBadge 16 | { 17 | /// 18 | /// Sets the badge. 19 | /// 20 | /// The badge number. 21 | /// The title. Used only by Android 22 | public void SetBadge(int badgeNumber) 23 | { 24 | #if WINDOWS_PHONE 25 | SetBadgeWP8(badgeNumber); 26 | #else 27 | //https://docs.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-badges 28 | var badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber); 29 | var badgeElement = (XmlElement)badgeXml.SelectSingleNode("/badge"); 30 | badgeElement.SetAttribute("value", badgeNumber.ToString()); 31 | //XmlDocument badgeXml = new XmlDocument(); 32 | //badgeXml.LoadXml(string.Format("", badgeNumber)); 33 | var badge = new BadgeNotification(badgeXml); 34 | BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge); 35 | BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badge); 36 | #endif 37 | } 38 | 39 | #if WINDOWS_PHONE 40 | private void SetBadgeWP8(int badgeNumber) 41 | { 42 | // Application Tile is always the first Tile, even if it is not pinned to Start. 43 | var TileToFind = ShellTile.ActiveTiles.First(); 44 | // Application should always be found 45 | if (TileToFind != null) 46 | { 47 | // set the properties to update for the Application Tile 48 | // Empty strings for the text values and URIs will result in the property being cleared. 49 | StandardTileData NewTileData = new StandardTileData 50 | { 51 | Count = badgeNumber 52 | }; 53 | // Update the Application Tile 54 | TileToFind.Update(NewTileData); 55 | } 56 | } 57 | #endif 58 | 59 | /// 60 | /// Clears the badge. 61 | /// 62 | public void ClearBadge() 63 | { 64 | #if WINDOWS_PHONE 65 | SetBadgeWP8(0); 66 | #else 67 | BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear(); 68 | #endif 69 | } 70 | } 71 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.UWP/Plugin.Badge.UWP.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {E34B516D-C0D8-450F-9DB0-BB6A5B04AEF1} 8 | Library 9 | Properties 10 | Plugin.Badge 11 | Plugin.Badge 12 | en-US 13 | UAP 14 | 10.0.15063.0 15 | 10.0.10240.0 16 | 14 17 | 512 18 | {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 19 | 1.0.0 20 | win10-arm;win10-arm-aot;win10-x86;win10-x86-aot;win10-x64;win10-x64-aot 21 | 22 | 23 | AnyCPU 24 | true 25 | full 26 | false 27 | bin\Debug\ 28 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP 29 | prompt 30 | 4 31 | 32 | 33 | AnyCPU 34 | pdbonly 35 | true 36 | bin\Release\ 37 | TRACE;NETFX_CORE;WINDOWS_UWP 38 | prompt 39 | 4 40 | bin\Release\Plugin.Badge.XML 41 | 42 | 43 | x86 44 | true 45 | bin\x86\Debug\ 46 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP 47 | ;2008 48 | full 49 | x86 50 | false 51 | prompt 52 | 53 | 54 | x86 55 | bin\Release\ 56 | TRACE;NETFX_CORE;WINDOWS_UWP 57 | true 58 | ;2008 59 | pdbonly 60 | x86 61 | false 62 | prompt 63 | bin\Release\Plugin.Badge.XML 64 | 65 | 66 | ARM 67 | true 68 | bin\ARM\Debug\ 69 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP 70 | ;2008 71 | full 72 | ARM 73 | false 74 | prompt 75 | 76 | 77 | ARM 78 | bin\ARM\Release\ 79 | TRACE;NETFX_CORE;WINDOWS_UWP 80 | true 81 | ;2008 82 | pdbonly 83 | ARM 84 | false 85 | prompt 86 | 87 | 88 | x64 89 | true 90 | bin\x64\Debug\ 91 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP 92 | ;2008 93 | full 94 | x64 95 | false 96 | prompt 97 | 98 | 99 | x64 100 | bin\x64\Release\ 101 | TRACE;NETFX_CORE;WINDOWS_UWP 102 | true 103 | ;2008 104 | pdbonly 105 | x64 106 | false 107 | prompt 108 | 109 | 110 | 111 | CrossBadge.cs 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | {6edb0588-ffc5-4ef5-8a99-9e241d0f878d} 120 | Plugin.Badge.Abstractions 121 | 122 | 123 | 124 | 125 | 6.0.2 126 | 127 | 128 | 129 | 14.0 130 | 131 | 132 | 139 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.UWP/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Plugin.Badge.UWP")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Plugin.Badge.UWP")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Badge/Plugin.Badge.UWP/Properties/Plugin.Badge.UWP.rd.xml: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.iOS/BadgeImplementation.cs: -------------------------------------------------------------------------------- 1 | using Plugin.Badge.Abstractions; 2 | using UIKit; 3 | 4 | namespace Plugin.Badge 5 | { 6 | /// 7 | /// Implementation for Badge 8 | /// 9 | public class BadgeImplementation : IBadge 10 | { 11 | /// 12 | /// Clears the badge. 13 | /// 14 | public void ClearBadge() 15 | { 16 | UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; 17 | } 18 | 19 | /// 20 | /// Sets the badge. 21 | /// 22 | /// The badge number. 23 | public void SetBadge(int badgeNumber) 24 | { 25 | UIApplication.SharedApplication.ApplicationIconBadgeNumber = badgeNumber; 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Badge/Plugin.Badge.iOS/Plugin.Badge.iOS.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0} 9 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Library 11 | Plugin.Badge 12 | Resources 13 | Plugin.Badge 14 | 1.0.0 15 | 16 | 17 | true 18 | full 19 | false 20 | bin\iPhone\Debug 21 | DEBUG 22 | prompt 23 | 4 24 | false 25 | true 26 | iPhone Developer 27 | 28 | 29 | none 30 | true 31 | bin\iPhone\Release 32 | prompt 33 | 4 34 | false 35 | iPhone Developer 36 | bin\iPhone\Release\Plugin.Badge.XML 37 | 38 | 39 | 40 | CrossBadge.cs 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF} 54 | Plugin.Badge.Abstractions 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge.iOS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Plugin.Badge.iOS")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Plugin.Badge.iOS")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("38453772-383c-4ada-845b-100c5b84f50a")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge/CrossBadge.cs: -------------------------------------------------------------------------------- 1 | using Plugin.Badge.Abstractions; 2 | using System; 3 | 4 | namespace Plugin.Badge 5 | { 6 | /// 7 | /// Cross platform Badge implemenations 8 | /// 9 | public class CrossBadge 10 | { 11 | static Lazy Implementation = new Lazy(() => CreateBadge(), System.Threading.LazyThreadSafetyMode.PublicationOnly); 12 | 13 | /// 14 | /// Current settings to use 15 | /// 16 | public static IBadge Current 17 | { 18 | get 19 | { 20 | var ret = Implementation.Value; 21 | if (ret == null) 22 | { 23 | throw NotImplementedInReferenceAssembly(); 24 | } 25 | return ret; 26 | } 27 | } 28 | 29 | static IBadge CreateBadge() 30 | { 31 | #if PORTABLE 32 | return null; 33 | #elif NETSTANDARD1_4 34 | return null; 35 | #else 36 | return new BadgeImplementation(); 37 | #endif 38 | } 39 | 40 | internal static Exception NotImplementedInReferenceAssembly() 41 | { 42 | return new NotImplementedException("This functionality is not implemented in the portable version of this assembly. You should reference the NuGet package from your main application project in order to reference the platform-specific implementation."); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Badge/Plugin.Badge/Plugin.Badge.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard1.4 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Demo.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with your package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /Demo.Droid/Demo.Droid.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | {54652365-DE93-46F9-B750-D320B9288C48} 7 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 8 | Library 9 | Demo.Droid 10 | Demo.Droid 11 | v8.0 12 | True 13 | Resources\Resource.designer.cs 14 | Resource 15 | Properties\AndroidManifest.xml 16 | Resources 17 | Assets 18 | true 19 | 20 | 1.0.0 21 | 22 | 23 | true 24 | full 25 | false 26 | bin\Debug 27 | DEBUG; 28 | prompt 29 | 4 30 | None 31 | arm64-v8a;armeabi;armeabi-v7a;x86 32 | 33 | 34 | true 35 | pdbonly 36 | true 37 | bin\Release 38 | prompt 39 | 4 40 | true 41 | false 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | ..\packages\Plugin.CurrentActivity.1.0.1\lib\MonoAndroid10\Plugin.CurrentActivity.dll 50 | 51 | 52 | ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll 53 | 54 | 55 | ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll 56 | 57 | 58 | ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll 59 | 60 | 61 | ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll 62 | 63 | 64 | ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll 65 | 66 | 67 | ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll 68 | 69 | 70 | ..\packages\Xamarin.Android.Support.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll 71 | 72 | 73 | ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll 74 | 75 | 76 | ..\packages\Xamarin.Android.Support.v7.AppCompat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | {56A56F17-7DE1-4CA1-9617-BF32E971AC84} 108 | Plugin.Badge.Android 109 | 110 | 111 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF} 112 | Plugin.Badge.Abstractions 113 | 114 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /Demo.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.OS; 3 | using Android.Support.V7.App; 4 | using Android.Widget; 5 | using Plugin.Badge; 6 | 7 | namespace Demo.Droid 8 | { 9 | [Activity(Label = "Demo.Droid", MainLauncher = true, Theme = "@style/MyTheme")] 10 | public class MainActivity : AppCompatActivity 11 | { 12 | protected override void OnCreate(Bundle savedInstanceState) 13 | { 14 | base.OnCreate(savedInstanceState); 15 | 16 | // Set our view from the "main" layout resource 17 | SetContentView(Resource.Layout.Main); 18 | 19 | CrossBadge.Current.SetBadge(9); 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /Demo.Droid/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Android.App; 4 | using Android.OS; 5 | using Android.Runtime; 6 | using Android.Widget; 7 | using Plugin.Badge; 8 | using Plugin.CurrentActivity; 9 | 10 | namespace Demo.Droid 11 | { 12 | //You can specify additional application information in this attribute 13 | [Application] 14 | public class MainApplication : Application, Application.IActivityLifecycleCallbacks 15 | { 16 | public MainApplication(IntPtr handle, JniHandleOwnership transer) 17 | :base(handle, transer) 18 | { 19 | } 20 | 21 | public override void OnCreate() 22 | { 23 | base.OnCreate(); 24 | RegisterActivityLifecycleCallbacks(this); 25 | //A great place to initialize Xamarin.Insights and Dependency Services! 26 | } 27 | 28 | public override void OnTerminate() 29 | { 30 | base.OnTerminate(); 31 | UnregisterActivityLifecycleCallbacks(this); 32 | } 33 | 34 | public void OnActivityCreated(Activity activity, Bundle savedInstanceState) 35 | { 36 | CrossCurrentActivity.Current.Activity = activity; 37 | } 38 | 39 | public void OnActivityDestroyed(Activity activity) 40 | { 41 | } 42 | 43 | public void OnActivityPaused(Activity activity) 44 | { 45 | } 46 | 47 | public void OnActivityResumed(Activity activity) 48 | { 49 | CrossCurrentActivity.Current.Activity = activity; 50 | } 51 | 52 | public void OnActivitySaveInstanceState(Activity activity, Bundle outState) 53 | { 54 | } 55 | 56 | public void OnActivityStarted(Activity activity) 57 | { 58 | CrossCurrentActivity.Current.Activity = activity; 59 | } 60 | 61 | public void OnActivityStopped(Activity activity) 62 | { 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Demo.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Demo.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using Android.App; 4 | 5 | // Information about this assembly is defined by the following attributes. 6 | // Change them to the values specific to your project. 7 | 8 | [assembly: AssemblyTitle("Demo.Droid")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("")] 13 | [assembly: AssemblyCopyright("(c) Alex Reyes")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 18 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 19 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 20 | 21 | [assembly: AssemblyVersion("1.0.0")] 22 | 23 | // The following attributes are used to specify the signing key for the assembly, 24 | // if desired. See the Mono documentation for more information about signing. 25 | 26 | //[assembly: AssemblyDelaySign(false)] 27 | //[assembly: AssemblyKeyFile("")] 28 | -------------------------------------------------------------------------------- /Demo.Droid/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.axml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable/ 12 | icon.png 13 | 14 | layout/ 15 | main.axml 16 | 17 | values/ 18 | strings.xml 19 | 20 | In order to get the build system to recognize Android resources, set the build action to 21 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 22 | instead operate on resource IDs. When you compile an Android application that uses resources, 23 | the build system will package the resources for distribution and generate a class called "R" 24 | (this is an Android convention) that contains the tokens for each one of the resources 25 | included. For example, for the above Resources layout, this is what the R class would expose: 26 | 27 | public class R { 28 | public class drawable { 29 | public const int icon = 0x123; 30 | } 31 | 32 | public class layout { 33 | public const int main = 0x456; 34 | } 35 | 36 | public class strings { 37 | public const int first_string = 0xabc; 38 | public const int second_string = 0xbcd; 39 | } 40 | } 41 | 42 | You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 43 | to reference the layout/main.axml file, or R.strings.first_string to reference the first 44 | string in the dictionary file values/strings.xml. 45 | -------------------------------------------------------------------------------- /Demo.Droid/Resources/layout/Main.axml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Demo.Droid/Resources/layout/Toolbar.axml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Demo.Droid/Resources/values/Strings.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | Demo.Droid 4 | 5 | -------------------------------------------------------------------------------- /Demo.Droid/Resources/values/Style.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 5 | 6 | 8 | -------------------------------------------------------------------------------- /Demo.Droid/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /Demo.iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using UIKit; 3 | 4 | namespace Demo.iOS 5 | { 6 | // The UIApplicationDelegate for the application. This class is responsible for launching the 7 | // User Interface of the application, as well as listening (and optionally responding) to application events from iOS. 8 | [Register("AppDelegate")] 9 | public class AppDelegate : UIApplicationDelegate 10 | { 11 | // class-level declarations 12 | 13 | public override UIWindow Window 14 | { 15 | get; 16 | set; 17 | } 18 | 19 | public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) 20 | { 21 | // Override point for customization after application launch. 22 | // If not required for your application you can safely delete this method 23 | 24 | // Register for push Notifications 25 | if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0)) 26 | { 27 | var pushSettings = UIUserNotificationSettings.GetSettingsForTypes( 28 | UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound, 29 | new NSSet()); 30 | 31 | UIApplication.SharedApplication.RegisterUserNotificationSettings(pushSettings); 32 | UIApplication.SharedApplication.RegisterForRemoteNotifications(); 33 | } 34 | else 35 | { 36 | UIRemoteNotificationType notificationTypes = UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound; 37 | UIApplication.SharedApplication.RegisterForRemoteNotificationTypes(notificationTypes); 38 | } 39 | 40 | return true; 41 | } 42 | 43 | public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken) 44 | { 45 | // Connection string from your azure dashboard 46 | } 47 | 48 | public override void FailedToRegisterForRemoteNotifications(UIApplication application, NSError error) 49 | { 50 | //UserDialogs.Instance.Alert(error.LocalizedDescription, "Error registering for push notifications."); 51 | } 52 | 53 | public override void OnResignActivation(UIApplication application) 54 | { 55 | // Invoked when the application is about to move from active to inactive state. 56 | // This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) 57 | // or when the user quits the application and it begins the transition to the background state. 58 | // Games should use this method to pause the game. 59 | } 60 | 61 | public override void DidEnterBackground(UIApplication application) 62 | { 63 | // Use this method to release shared resources, save user data, invalidate timers and store the application state. 64 | // If your application supports background exection this method is called instead of WillTerminate when the user quits. 65 | } 66 | 67 | public override void WillEnterForeground(UIApplication application) 68 | { 69 | // Called as part of the transiton from background to active state. 70 | // Here you can undo many of the changes made on entering the background. 71 | } 72 | 73 | public override void OnActivated(UIApplication application) 74 | { 75 | // Restart any tasks that were paused (or not yet started) while the application was inactive. 76 | // If the application was previously in the background, optionally refresh the user interface. 77 | } 78 | 79 | public override void WillTerminate(UIApplication application) 80 | { 81 | // Called when the application is about to terminate. Save data, if needed. See also DidEnterBackground. 82 | } 83 | } 84 | } 85 | 86 | -------------------------------------------------------------------------------- /Demo.iOS/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "idiom": "iphone", 5 | "size": "29x29", 6 | "scale": "1x" 7 | }, 8 | { 9 | "idiom": "iphone", 10 | "size": "29x29", 11 | "scale": "2x" 12 | }, 13 | { 14 | "idiom": "iphone", 15 | "size": "29x29", 16 | "scale": "3x" 17 | }, 18 | { 19 | "idiom": "iphone", 20 | "size": "40x40", 21 | "scale": "2x" 22 | }, 23 | { 24 | "idiom": "iphone", 25 | "size": "40x40", 26 | "scale": "3x" 27 | }, 28 | { 29 | "idiom": "iphone", 30 | "size": "57x57", 31 | "scale": "1x" 32 | }, 33 | { 34 | "idiom": "iphone", 35 | "size": "57x57", 36 | "scale": "2x" 37 | }, 38 | { 39 | "idiom": "iphone", 40 | "size": "60x60", 41 | "scale": "2x" 42 | }, 43 | { 44 | "idiom": "iphone", 45 | "size": "60x60", 46 | "scale": "3x" 47 | }, 48 | { 49 | "idiom": "ipad", 50 | "size": "29x29", 51 | "scale": "1x" 52 | }, 53 | { 54 | "idiom": "ipad", 55 | "size": "29x29", 56 | "scale": "2x" 57 | }, 58 | { 59 | "idiom": "ipad", 60 | "size": "40x40", 61 | "scale": "1x" 62 | }, 63 | { 64 | "idiom": "ipad", 65 | "size": "40x40", 66 | "scale": "2x" 67 | }, 68 | { 69 | "idiom": "ipad", 70 | "size": "50x50", 71 | "scale": "1x" 72 | }, 73 | { 74 | "idiom": "ipad", 75 | "size": "50x50", 76 | "scale": "2x" 77 | }, 78 | { 79 | "idiom": "ipad", 80 | "size": "72x72", 81 | "scale": "1x" 82 | }, 83 | { 84 | "idiom": "ipad", 85 | "size": "72x72", 86 | "scale": "2x" 87 | }, 88 | { 89 | "idiom": "ipad", 90 | "size": "76x76", 91 | "scale": "1x" 92 | }, 93 | { 94 | "idiom": "ipad", 95 | "size": "76x76", 96 | "scale": "2x" 97 | }, 98 | { 99 | "size": "24x24", 100 | "idiom": "watch", 101 | "scale": "2x", 102 | "role": "notificationCenter", 103 | "subtype": "38mm" 104 | }, 105 | { 106 | "size": "27.5x27.5", 107 | "idiom": "watch", 108 | "scale": "2x", 109 | "role": "notificationCenter", 110 | "subtype": "42mm" 111 | }, 112 | { 113 | "size": "29x29", 114 | "idiom": "watch", 115 | "role": "companionSettings", 116 | "scale": "2x" 117 | }, 118 | { 119 | "size": "29x29", 120 | "idiom": "watch", 121 | "role": "companionSettings", 122 | "scale": "3x" 123 | }, 124 | { 125 | "size": "40x40", 126 | "idiom": "watch", 127 | "scale": "2x", 128 | "role": "appLauncher", 129 | "subtype": "38mm" 130 | }, 131 | { 132 | "size": "44x44", 133 | "idiom": "watch", 134 | "scale": "2x", 135 | "role": "longLook", 136 | "subtype": "42mm" 137 | }, 138 | { 139 | "size": "86x86", 140 | "idiom": "watch", 141 | "scale": "2x", 142 | "role": "quickLook", 143 | "subtype": "38mm" 144 | }, 145 | { 146 | "size": "98x98", 147 | "idiom": "watch", 148 | "scale": "2x", 149 | "role": "quickLook", 150 | "subtype": "42mm" 151 | } 152 | ], 153 | "info": { 154 | "version": 1, 155 | "author": "xcode" 156 | } 157 | } -------------------------------------------------------------------------------- /Demo.iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Demo.iOS/Demo.iOS.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | iPhoneSimulator 6 | {418FC1DA-C7DA-4D67-9DB8-ACE44471BF56} 7 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 8 | Exe 9 | Demo.iOS 10 | Demo.iOS 11 | Resources 12 | 1.0.0 13 | 14 | 15 | true 16 | full 17 | false 18 | bin\iPhoneSimulator\Debug 19 | DEBUG;ENABLE_TEST_CLOUD; 20 | prompt 21 | 4 22 | iPhone Developer 23 | true 24 | true 25 | true 26 | 48542 27 | None 28 | x86_64 29 | HttpClientHandler 30 | Default 31 | false 32 | 33 | 34 | pdbonly 35 | true 36 | bin\iPhone\Release 37 | 38 | prompt 39 | 4 40 | iPhone Developer 41 | true 42 | Entitlements.plist 43 | SdkOnly 44 | ARMv7, ARM64 45 | HttpClientHandler 46 | Default 47 | 48 | 49 | pdbonly 50 | true 51 | bin\iPhoneSimulator\Release 52 | 53 | prompt 54 | 4 55 | iPhone Developer 56 | None 57 | x86_64 58 | HttpClientHandler 59 | Default 60 | 61 | 62 | true 63 | full 64 | false 65 | bin\iPhone\Debug 66 | DEBUG;ENABLE_TEST_CLOUD; 67 | prompt 68 | 4 69 | iPhone Developer 70 | true 71 | true 72 | true 73 | true 74 | true 75 | Entitlements.plist 76 | SdkOnly 77 | ARMv7, ARM64 78 | HttpClientHandler 79 | Default 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | ViewController.cs 108 | 109 | 110 | 111 | 112 | {2882AEEB-D4CD-4EB9-8A6C-6653B33681F0} 113 | Plugin.Badge.iOS 114 | 115 | 116 | {27F5F614-3609-4847-AA36-9F4CF78B1FAF} 117 | Plugin.Badge.Abstractions 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /Demo.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Demo.iOS/Info.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | CFBundleName 6 | Demo.iOS 7 | CFBundleIdentifier 8 | com.slbdev.demo-ios 9 | CFBundleShortVersionString 10 | 1.0 11 | CFBundleVersion 12 | 1.0 13 | LSRequiresIPhoneOS 14 | 15 | MinimumOSVersion 16 | 10.2 17 | UIDeviceFamily 18 | 19 | 1 20 | 2 21 | 22 | UILaunchStoryboardName 23 | LaunchScreen 24 | UIMainStoryboardFile 25 | Main 26 | UIRequiredDeviceCapabilities 27 | 28 | armv7 29 | 30 | UISupportedInterfaceOrientations 31 | 32 | UIInterfaceOrientationPortrait 33 | UIInterfaceOrientationPortraitUpsideDown 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | XSAppIconAssets 38 | Assets.xcassets/AppIcon.appiconset 39 | 40 | 41 | -------------------------------------------------------------------------------- /Demo.iOS/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Demo.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace Demo.iOS 4 | { 5 | public class Application 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, "AppDelegate"); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Demo.iOS/Main.storyboard: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Demo.iOS/ViewController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Plugin.Badge; 3 | using UIKit; 4 | 5 | namespace Demo.iOS 6 | { 7 | public partial class ViewController : UIViewController 8 | { 9 | protected ViewController(IntPtr handle) : base(handle) 10 | { 11 | // Note: this .ctor should not contain any initialization logic. 12 | } 13 | 14 | public override void ViewDidLoad() 15 | { 16 | base.ViewDidLoad(); 17 | // Perform any additional setup after loading the view, typically from a nib. 18 | 19 | CrossBadge.Current.SetBadge(9); 20 | } 21 | 22 | public override void DidReceiveMemoryWarning() 23 | { 24 | base.DidReceiveMemoryWarning(); 25 | // Release any cached data, images, etc that aren't in use. 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Demo.iOS/ViewController.designer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // This file has been generated automatically by MonoDevelop to store outlets and 3 | // actions made in the Xcode designer. If it is removed, they will be lost. 4 | // Manual changes to this file may not be handled correctly. 5 | // 6 | using Foundation; 7 | 8 | namespace Demo.iOS 9 | { 10 | [Register("ViewController")] 11 | partial class ViewController 12 | { 13 | void ReleaseDesignerOutlets() 14 | { 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Saveliy Bondini 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Badge Plugin for Xamarin and Windows 2 | 3 | ### Setup 4 | * Available on NuGet: https://www.nuget.org/packages/Xamarin.Badge.Plugin/ [![NuGet](https://img.shields.io/nuget/v/Xamarin.Badge.Plugin.svg?label=NuGet)](https://www.nuget.org/packages/Xamarin.Badge.Plugin/) 5 | * Install into your PCL project and Client projects. 6 | 7 | **Supports** 8 | 9 | * Xamarin.Android 10 | * Xamarin.iOS 11 | * UWP 12 | * Windows Phone 8.0 13 | * Windows Phone 8.1 RT 14 | * Windows Store 8.0+ 15 | 16 | Android doesn't supports app icon badge by default neither notification badge works, but third party manufacturers launchers do. 17 | 18 | The plugin support these: 19 | 20 | * Adw 21 | * Apex 22 | * Asus 23 | * Default (because some launchers use android.intent.action.BADGE_COUNT_UPDATE to update count) 24 | * HTC 25 | * LG 26 | * Nova 27 | * Oppo 28 | * Samsung 29 | * Sony 30 | * Xiaomi 31 | * Zuk 32 | 33 | **Android permissions** 34 | 35 | ```xml 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | ``` 57 | 58 | ### API Usage 59 | 60 | Call **CrossBadge.Current** from any project or PCL to gain access to APIs. 61 | 62 | **Setting application badge value** 63 | 64 | ``` 65 | CrossBadge.Current.SetBadge(10); 66 | ``` 67 | 68 | **Clearing application badge value** 69 | 70 | ``` 71 | CrossBadge.Current.ClearBadge(); 72 | ``` 73 | 74 | #### Author 75 | * [alexrainman](https://github.com/alexrainman) 76 | -------------------------------------------------------------------------------- /nuget/badge.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Xamarin.Badge.Plugin 5 | 2.0.0 6 | Badge Plugin for Xamarin and Windows 7 | Alex Rainman 8 | Alex Rainman 9 | https://github.com/alexrainman/badge/blob/master/README.md 10 | https://github.com/alexrainman/badge 11 | false 12 | Standard API to set icon badge. 13 | Badge Plugin for Xamarin and Windows 14 | 15 | 2.0.0 16 | [Update] Adding support for Net Standard 1.4 17 | 1.0.0 18 | [Release] Badge plugin for Xamarin and Windows. Includes support for multiple Android OEM. 19 | 20 | xamarin badge plugin ios android uwp wp81 winstore xamarin forms monotouch monodroid 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /nuget/lib/Android/Plugin.Badge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrainman/Badge/e11e1819c5b433d6a3ed06722219f0565a1a0470/nuget/lib/Android/Plugin.Badge.dll -------------------------------------------------------------------------------- /nuget/lib/Plugin.Badge.Abstractions.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETStandard,Version=v1.4/", 4 | "signature": "2b5fbbb70f55dbebd64fed16c302840d9a06c582" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETStandard,Version=v1.4": {}, 9 | ".NETStandard,Version=v1.4/": { 10 | "Plugin.Badge.Abstractions/1.0.0": { 11 | "dependencies": { 12 | "NETStandard.Library": "1.6.1" 13 | }, 14 | "runtime": { 15 | "Plugin.Badge.Abstractions.dll": {} 16 | } 17 | }, 18 | "Microsoft.NETCore.Platforms/1.1.0": {}, 19 | "Microsoft.NETCore.Targets/1.1.0": {}, 20 | "Microsoft.Win32.Primitives/4.3.0": { 21 | "dependencies": { 22 | "Microsoft.NETCore.Platforms": "1.1.0", 23 | "Microsoft.NETCore.Targets": "1.1.0", 24 | "System.Runtime": "4.3.0" 25 | } 26 | }, 27 | "NETStandard.Library/1.6.1": { 28 | "dependencies": { 29 | "Microsoft.NETCore.Platforms": "1.1.0", 30 | "Microsoft.Win32.Primitives": "4.3.0", 31 | "System.AppContext": "4.3.0", 32 | "System.Collections": "4.3.0", 33 | "System.Collections.Concurrent": "4.3.0", 34 | "System.Console": "4.3.0", 35 | "System.Diagnostics.Debug": "4.3.0", 36 | "System.Diagnostics.Tools": "4.3.0", 37 | "System.Diagnostics.Tracing": "4.3.0", 38 | "System.Globalization": "4.3.0", 39 | "System.Globalization.Calendars": "4.3.0", 40 | "System.IO": "4.3.0", 41 | "System.IO.Compression": "4.3.0", 42 | "System.IO.Compression.ZipFile": "4.3.0", 43 | "System.IO.FileSystem": "4.3.0", 44 | "System.IO.FileSystem.Primitives": "4.3.0", 45 | "System.Linq": "4.3.0", 46 | "System.Linq.Expressions": "4.3.0", 47 | "System.Net.Http": "4.3.0", 48 | "System.Net.Primitives": "4.3.0", 49 | "System.Net.Sockets": "4.3.0", 50 | "System.ObjectModel": "4.3.0", 51 | "System.Reflection": "4.3.0", 52 | "System.Reflection.Extensions": "4.3.0", 53 | "System.Reflection.Primitives": "4.3.0", 54 | "System.Resources.ResourceManager": "4.3.0", 55 | "System.Runtime": "4.3.0", 56 | "System.Runtime.Extensions": "4.3.0", 57 | "System.Runtime.Handles": "4.3.0", 58 | "System.Runtime.InteropServices": "4.3.0", 59 | "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", 60 | "System.Runtime.Numerics": "4.3.0", 61 | "System.Security.Cryptography.Algorithms": "4.3.0", 62 | "System.Security.Cryptography.Encoding": "4.3.0", 63 | "System.Security.Cryptography.Primitives": "4.3.0", 64 | "System.Security.Cryptography.X509Certificates": "4.3.0", 65 | "System.Text.Encoding": "4.3.0", 66 | "System.Text.Encoding.Extensions": "4.3.0", 67 | "System.Text.RegularExpressions": "4.3.0", 68 | "System.Threading": "4.3.0", 69 | "System.Threading.Tasks": "4.3.0", 70 | "System.Threading.Timer": "4.3.0", 71 | "System.Xml.ReaderWriter": "4.3.0", 72 | "System.Xml.XDocument": "4.3.0" 73 | } 74 | }, 75 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 76 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 77 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 78 | "runtime.native.System/4.3.0": { 79 | "dependencies": { 80 | "Microsoft.NETCore.Platforms": "1.1.0", 81 | "Microsoft.NETCore.Targets": "1.1.0" 82 | } 83 | }, 84 | "runtime.native.System.IO.Compression/4.3.0": { 85 | "dependencies": { 86 | "Microsoft.NETCore.Platforms": "1.1.0", 87 | "Microsoft.NETCore.Targets": "1.1.0" 88 | } 89 | }, 90 | "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 91 | "dependencies": { 92 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 93 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 94 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 95 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 96 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 97 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 98 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 99 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 100 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 101 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 102 | } 103 | }, 104 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 105 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 106 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 107 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 108 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 109 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 110 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 111 | "System.AppContext/4.3.0": { 112 | "dependencies": { 113 | "System.Runtime": "4.3.0" 114 | } 115 | }, 116 | "System.Buffers/4.3.0": { 117 | "dependencies": { 118 | "System.Diagnostics.Debug": "4.3.0", 119 | "System.Diagnostics.Tracing": "4.3.0", 120 | "System.Resources.ResourceManager": "4.3.0", 121 | "System.Runtime": "4.3.0", 122 | "System.Threading": "4.3.0" 123 | }, 124 | "runtime": { 125 | "lib/netstandard1.1/System.Buffers.dll": {} 126 | } 127 | }, 128 | "System.Collections/4.3.0": { 129 | "dependencies": { 130 | "Microsoft.NETCore.Platforms": "1.1.0", 131 | "Microsoft.NETCore.Targets": "1.1.0", 132 | "System.Runtime": "4.3.0" 133 | } 134 | }, 135 | "System.Collections.Concurrent/4.3.0": { 136 | "dependencies": { 137 | "System.Collections": "4.3.0", 138 | "System.Diagnostics.Debug": "4.3.0", 139 | "System.Diagnostics.Tracing": "4.3.0", 140 | "System.Globalization": "4.3.0", 141 | "System.Reflection": "4.3.0", 142 | "System.Resources.ResourceManager": "4.3.0", 143 | "System.Runtime": "4.3.0", 144 | "System.Runtime.Extensions": "4.3.0", 145 | "System.Threading": "4.3.0", 146 | "System.Threading.Tasks": "4.3.0" 147 | }, 148 | "runtime": { 149 | "lib/netstandard1.3/System.Collections.Concurrent.dll": {} 150 | } 151 | }, 152 | "System.Console/4.3.0": { 153 | "dependencies": { 154 | "Microsoft.NETCore.Platforms": "1.1.0", 155 | "Microsoft.NETCore.Targets": "1.1.0", 156 | "System.IO": "4.3.0", 157 | "System.Runtime": "4.3.0", 158 | "System.Text.Encoding": "4.3.0" 159 | } 160 | }, 161 | "System.Diagnostics.Debug/4.3.0": { 162 | "dependencies": { 163 | "Microsoft.NETCore.Platforms": "1.1.0", 164 | "Microsoft.NETCore.Targets": "1.1.0", 165 | "System.Runtime": "4.3.0" 166 | } 167 | }, 168 | "System.Diagnostics.DiagnosticSource/4.3.0": { 169 | "dependencies": { 170 | "System.Collections": "4.3.0", 171 | "System.Diagnostics.Tracing": "4.3.0", 172 | "System.Reflection": "4.3.0", 173 | "System.Runtime": "4.3.0", 174 | "System.Threading": "4.3.0" 175 | }, 176 | "runtime": { 177 | "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {} 178 | } 179 | }, 180 | "System.Diagnostics.Tools/4.3.0": { 181 | "dependencies": { 182 | "Microsoft.NETCore.Platforms": "1.1.0", 183 | "Microsoft.NETCore.Targets": "1.1.0", 184 | "System.Runtime": "4.3.0" 185 | } 186 | }, 187 | "System.Diagnostics.Tracing/4.3.0": { 188 | "dependencies": { 189 | "Microsoft.NETCore.Platforms": "1.1.0", 190 | "Microsoft.NETCore.Targets": "1.1.0", 191 | "System.Runtime": "4.3.0" 192 | } 193 | }, 194 | "System.Globalization/4.3.0": { 195 | "dependencies": { 196 | "Microsoft.NETCore.Platforms": "1.1.0", 197 | "Microsoft.NETCore.Targets": "1.1.0", 198 | "System.Runtime": "4.3.0" 199 | } 200 | }, 201 | "System.Globalization.Calendars/4.3.0": { 202 | "dependencies": { 203 | "Microsoft.NETCore.Platforms": "1.1.0", 204 | "Microsoft.NETCore.Targets": "1.1.0", 205 | "System.Globalization": "4.3.0", 206 | "System.Runtime": "4.3.0" 207 | } 208 | }, 209 | "System.IO/4.3.0": { 210 | "dependencies": { 211 | "Microsoft.NETCore.Platforms": "1.1.0", 212 | "Microsoft.NETCore.Targets": "1.1.0", 213 | "System.Runtime": "4.3.0", 214 | "System.Text.Encoding": "4.3.0", 215 | "System.Threading.Tasks": "4.3.0" 216 | } 217 | }, 218 | "System.IO.Compression/4.3.0": { 219 | "dependencies": { 220 | "Microsoft.NETCore.Platforms": "1.1.0", 221 | "System.Buffers": "4.3.0", 222 | "System.Collections": "4.3.0", 223 | "System.Diagnostics.Debug": "4.3.0", 224 | "System.IO": "4.3.0", 225 | "System.Resources.ResourceManager": "4.3.0", 226 | "System.Runtime": "4.3.0", 227 | "System.Runtime.Extensions": "4.3.0", 228 | "System.Runtime.Handles": "4.3.0", 229 | "System.Runtime.InteropServices": "4.3.0", 230 | "System.Text.Encoding": "4.3.0", 231 | "System.Threading": "4.3.0", 232 | "System.Threading.Tasks": "4.3.0", 233 | "runtime.native.System": "4.3.0", 234 | "runtime.native.System.IO.Compression": "4.3.0" 235 | } 236 | }, 237 | "System.IO.Compression.ZipFile/4.3.0": { 238 | "dependencies": { 239 | "System.Buffers": "4.3.0", 240 | "System.IO": "4.3.0", 241 | "System.IO.Compression": "4.3.0", 242 | "System.IO.FileSystem": "4.3.0", 243 | "System.IO.FileSystem.Primitives": "4.3.0", 244 | "System.Resources.ResourceManager": "4.3.0", 245 | "System.Runtime": "4.3.0", 246 | "System.Runtime.Extensions": "4.3.0", 247 | "System.Text.Encoding": "4.3.0" 248 | }, 249 | "runtime": { 250 | "lib/netstandard1.3/System.IO.Compression.ZipFile.dll": {} 251 | } 252 | }, 253 | "System.IO.FileSystem/4.3.0": { 254 | "dependencies": { 255 | "Microsoft.NETCore.Platforms": "1.1.0", 256 | "Microsoft.NETCore.Targets": "1.1.0", 257 | "System.IO": "4.3.0", 258 | "System.IO.FileSystem.Primitives": "4.3.0", 259 | "System.Runtime": "4.3.0", 260 | "System.Runtime.Handles": "4.3.0", 261 | "System.Text.Encoding": "4.3.0", 262 | "System.Threading.Tasks": "4.3.0" 263 | } 264 | }, 265 | "System.IO.FileSystem.Primitives/4.3.0": { 266 | "dependencies": { 267 | "System.Runtime": "4.3.0" 268 | }, 269 | "runtime": { 270 | "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} 271 | } 272 | }, 273 | "System.Linq/4.3.0": { 274 | "dependencies": { 275 | "System.Collections": "4.3.0", 276 | "System.Runtime": "4.3.0" 277 | } 278 | }, 279 | "System.Linq.Expressions/4.3.0": { 280 | "dependencies": { 281 | "System.Reflection": "4.3.0", 282 | "System.Runtime": "4.3.0" 283 | } 284 | }, 285 | "System.Net.Http/4.3.0": { 286 | "dependencies": { 287 | "Microsoft.NETCore.Platforms": "1.1.0", 288 | "Microsoft.Win32.Primitives": "4.3.0", 289 | "System.Collections": "4.3.0", 290 | "System.Diagnostics.Debug": "4.3.0", 291 | "System.Diagnostics.DiagnosticSource": "4.3.0", 292 | "System.Diagnostics.Tracing": "4.3.0", 293 | "System.Globalization": "4.3.0", 294 | "System.IO": "4.3.0", 295 | "System.IO.Compression": "4.3.0", 296 | "System.Net.Primitives": "4.3.0", 297 | "System.Resources.ResourceManager": "4.3.0", 298 | "System.Runtime": "4.3.0", 299 | "System.Runtime.Extensions": "4.3.0", 300 | "System.Runtime.Handles": "4.3.0", 301 | "System.Runtime.InteropServices": "4.3.0", 302 | "System.Security.Cryptography.X509Certificates": "4.3.0", 303 | "System.Text.Encoding": "4.3.0", 304 | "System.Threading": "4.3.0", 305 | "System.Threading.Tasks": "4.3.0" 306 | } 307 | }, 308 | "System.Net.Primitives/4.3.0": { 309 | "dependencies": { 310 | "Microsoft.NETCore.Platforms": "1.1.0", 311 | "Microsoft.NETCore.Targets": "1.1.0", 312 | "System.Runtime": "4.3.0", 313 | "System.Runtime.Handles": "4.3.0" 314 | } 315 | }, 316 | "System.Net.Sockets/4.3.0": { 317 | "dependencies": { 318 | "Microsoft.NETCore.Platforms": "1.1.0", 319 | "Microsoft.NETCore.Targets": "1.1.0", 320 | "System.IO": "4.3.0", 321 | "System.Net.Primitives": "4.3.0", 322 | "System.Runtime": "4.3.0", 323 | "System.Threading.Tasks": "4.3.0" 324 | } 325 | }, 326 | "System.ObjectModel/4.3.0": { 327 | "dependencies": { 328 | "System.Collections": "4.3.0", 329 | "System.Diagnostics.Debug": "4.3.0", 330 | "System.Resources.ResourceManager": "4.3.0", 331 | "System.Runtime": "4.3.0", 332 | "System.Threading": "4.3.0" 333 | }, 334 | "runtime": { 335 | "lib/netstandard1.3/System.ObjectModel.dll": {} 336 | } 337 | }, 338 | "System.Reflection/4.3.0": { 339 | "dependencies": { 340 | "Microsoft.NETCore.Platforms": "1.1.0", 341 | "Microsoft.NETCore.Targets": "1.1.0", 342 | "System.IO": "4.3.0", 343 | "System.Reflection.Primitives": "4.3.0", 344 | "System.Runtime": "4.3.0" 345 | } 346 | }, 347 | "System.Reflection.Extensions/4.3.0": { 348 | "dependencies": { 349 | "Microsoft.NETCore.Platforms": "1.1.0", 350 | "Microsoft.NETCore.Targets": "1.1.0", 351 | "System.Reflection": "4.3.0", 352 | "System.Runtime": "4.3.0" 353 | } 354 | }, 355 | "System.Reflection.Primitives/4.3.0": { 356 | "dependencies": { 357 | "Microsoft.NETCore.Platforms": "1.1.0", 358 | "Microsoft.NETCore.Targets": "1.1.0", 359 | "System.Runtime": "4.3.0" 360 | } 361 | }, 362 | "System.Resources.ResourceManager/4.3.0": { 363 | "dependencies": { 364 | "Microsoft.NETCore.Platforms": "1.1.0", 365 | "Microsoft.NETCore.Targets": "1.1.0", 366 | "System.Globalization": "4.3.0", 367 | "System.Reflection": "4.3.0", 368 | "System.Runtime": "4.3.0" 369 | } 370 | }, 371 | "System.Runtime/4.3.0": { 372 | "dependencies": { 373 | "Microsoft.NETCore.Platforms": "1.1.0", 374 | "Microsoft.NETCore.Targets": "1.1.0" 375 | } 376 | }, 377 | "System.Runtime.Extensions/4.3.0": { 378 | "dependencies": { 379 | "Microsoft.NETCore.Platforms": "1.1.0", 380 | "Microsoft.NETCore.Targets": "1.1.0", 381 | "System.Runtime": "4.3.0" 382 | } 383 | }, 384 | "System.Runtime.Handles/4.3.0": { 385 | "dependencies": { 386 | "Microsoft.NETCore.Platforms": "1.1.0", 387 | "Microsoft.NETCore.Targets": "1.1.0", 388 | "System.Runtime": "4.3.0" 389 | } 390 | }, 391 | "System.Runtime.InteropServices/4.3.0": { 392 | "dependencies": { 393 | "Microsoft.NETCore.Platforms": "1.1.0", 394 | "Microsoft.NETCore.Targets": "1.1.0", 395 | "System.Reflection": "4.3.0", 396 | "System.Reflection.Primitives": "4.3.0", 397 | "System.Runtime": "4.3.0", 398 | "System.Runtime.Handles": "4.3.0" 399 | } 400 | }, 401 | "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { 402 | "dependencies": { 403 | "System.Reflection": "4.3.0", 404 | "System.Reflection.Extensions": "4.3.0", 405 | "System.Resources.ResourceManager": "4.3.0", 406 | "System.Runtime": "4.3.0", 407 | "System.Runtime.InteropServices": "4.3.0", 408 | "System.Threading": "4.3.0", 409 | "runtime.native.System": "4.3.0" 410 | }, 411 | "runtime": { 412 | "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {} 413 | } 414 | }, 415 | "System.Runtime.Numerics/4.3.0": { 416 | "dependencies": { 417 | "System.Globalization": "4.3.0", 418 | "System.Resources.ResourceManager": "4.3.0", 419 | "System.Runtime": "4.3.0", 420 | "System.Runtime.Extensions": "4.3.0" 421 | }, 422 | "runtime": { 423 | "lib/netstandard1.3/System.Runtime.Numerics.dll": {} 424 | } 425 | }, 426 | "System.Security.Cryptography.Algorithms/4.3.0": { 427 | "dependencies": { 428 | "System.IO": "4.3.0", 429 | "System.Runtime": "4.3.0", 430 | "System.Security.Cryptography.Primitives": "4.3.0" 431 | } 432 | }, 433 | "System.Security.Cryptography.Encoding/4.3.0": { 434 | "dependencies": { 435 | "Microsoft.NETCore.Platforms": "1.1.0", 436 | "System.Collections": "4.3.0", 437 | "System.Collections.Concurrent": "4.3.0", 438 | "System.Linq": "4.3.0", 439 | "System.Resources.ResourceManager": "4.3.0", 440 | "System.Runtime": "4.3.0", 441 | "System.Runtime.Extensions": "4.3.0", 442 | "System.Runtime.Handles": "4.3.0", 443 | "System.Runtime.InteropServices": "4.3.0", 444 | "System.Security.Cryptography.Primitives": "4.3.0", 445 | "System.Text.Encoding": "4.3.0", 446 | "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 447 | } 448 | }, 449 | "System.Security.Cryptography.Primitives/4.3.0": { 450 | "dependencies": { 451 | "System.Diagnostics.Debug": "4.3.0", 452 | "System.Globalization": "4.3.0", 453 | "System.IO": "4.3.0", 454 | "System.Resources.ResourceManager": "4.3.0", 455 | "System.Runtime": "4.3.0", 456 | "System.Threading": "4.3.0", 457 | "System.Threading.Tasks": "4.3.0" 458 | }, 459 | "runtime": { 460 | "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} 461 | } 462 | }, 463 | "System.Security.Cryptography.X509Certificates/4.3.0": { 464 | "dependencies": { 465 | "System.Runtime": "4.3.0", 466 | "System.Runtime.Handles": "4.3.0", 467 | "System.Security.Cryptography.Algorithms": "4.3.0", 468 | "System.Security.Cryptography.Encoding": "4.3.0" 469 | } 470 | }, 471 | "System.Text.Encoding/4.3.0": { 472 | "dependencies": { 473 | "Microsoft.NETCore.Platforms": "1.1.0", 474 | "Microsoft.NETCore.Targets": "1.1.0", 475 | "System.Runtime": "4.3.0" 476 | } 477 | }, 478 | "System.Text.Encoding.Extensions/4.3.0": { 479 | "dependencies": { 480 | "Microsoft.NETCore.Platforms": "1.1.0", 481 | "Microsoft.NETCore.Targets": "1.1.0", 482 | "System.Runtime": "4.3.0", 483 | "System.Text.Encoding": "4.3.0" 484 | } 485 | }, 486 | "System.Text.RegularExpressions/4.3.0": { 487 | "dependencies": { 488 | "System.Runtime": "4.3.0" 489 | } 490 | }, 491 | "System.Threading/4.3.0": { 492 | "dependencies": { 493 | "System.Runtime": "4.3.0", 494 | "System.Threading.Tasks": "4.3.0" 495 | }, 496 | "runtime": { 497 | "lib/netstandard1.3/System.Threading.dll": {} 498 | } 499 | }, 500 | "System.Threading.Tasks/4.3.0": { 501 | "dependencies": { 502 | "Microsoft.NETCore.Platforms": "1.1.0", 503 | "Microsoft.NETCore.Targets": "1.1.0", 504 | "System.Runtime": "4.3.0" 505 | } 506 | }, 507 | "System.Threading.Tasks.Extensions/4.3.0": { 508 | "dependencies": { 509 | "System.Collections": "4.3.0", 510 | "System.Runtime": "4.3.0", 511 | "System.Threading.Tasks": "4.3.0" 512 | }, 513 | "runtime": { 514 | "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} 515 | } 516 | }, 517 | "System.Threading.Timer/4.3.0": { 518 | "dependencies": { 519 | "Microsoft.NETCore.Platforms": "1.1.0", 520 | "Microsoft.NETCore.Targets": "1.1.0", 521 | "System.Runtime": "4.3.0" 522 | } 523 | }, 524 | "System.Xml.ReaderWriter/4.3.0": { 525 | "dependencies": { 526 | "System.Collections": "4.3.0", 527 | "System.Diagnostics.Debug": "4.3.0", 528 | "System.Globalization": "4.3.0", 529 | "System.IO": "4.3.0", 530 | "System.IO.FileSystem": "4.3.0", 531 | "System.IO.FileSystem.Primitives": "4.3.0", 532 | "System.Resources.ResourceManager": "4.3.0", 533 | "System.Runtime": "4.3.0", 534 | "System.Runtime.Extensions": "4.3.0", 535 | "System.Runtime.InteropServices": "4.3.0", 536 | "System.Text.Encoding": "4.3.0", 537 | "System.Text.Encoding.Extensions": "4.3.0", 538 | "System.Text.RegularExpressions": "4.3.0", 539 | "System.Threading.Tasks": "4.3.0", 540 | "System.Threading.Tasks.Extensions": "4.3.0" 541 | }, 542 | "runtime": { 543 | "lib/netstandard1.3/System.Xml.ReaderWriter.dll": {} 544 | } 545 | }, 546 | "System.Xml.XDocument/4.3.0": { 547 | "dependencies": { 548 | "System.Collections": "4.3.0", 549 | "System.Diagnostics.Debug": "4.3.0", 550 | "System.Diagnostics.Tools": "4.3.0", 551 | "System.Globalization": "4.3.0", 552 | "System.IO": "4.3.0", 553 | "System.Reflection": "4.3.0", 554 | "System.Resources.ResourceManager": "4.3.0", 555 | "System.Runtime": "4.3.0", 556 | "System.Runtime.Extensions": "4.3.0", 557 | "System.Text.Encoding": "4.3.0", 558 | "System.Threading": "4.3.0", 559 | "System.Xml.ReaderWriter": "4.3.0" 560 | }, 561 | "runtime": { 562 | "lib/netstandard1.3/System.Xml.XDocument.dll": {} 563 | } 564 | } 565 | } 566 | }, 567 | "libraries": { 568 | "Plugin.Badge.Abstractions/1.0.0": { 569 | "type": "project", 570 | "serviceable": false, 571 | "sha512": "" 572 | }, 573 | "Microsoft.NETCore.Platforms/1.1.0": { 574 | "type": "package", 575 | "serviceable": true, 576 | "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", 577 | "path": "microsoft.netcore.platforms/1.1.0", 578 | "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" 579 | }, 580 | "Microsoft.NETCore.Targets/1.1.0": { 581 | "type": "package", 582 | "serviceable": true, 583 | "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", 584 | "path": "microsoft.netcore.targets/1.1.0", 585 | "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" 586 | }, 587 | "Microsoft.Win32.Primitives/4.3.0": { 588 | "type": "package", 589 | "serviceable": true, 590 | "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", 591 | "path": "microsoft.win32.primitives/4.3.0", 592 | "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" 593 | }, 594 | "NETStandard.Library/1.6.1": { 595 | "type": "package", 596 | "serviceable": true, 597 | "sha512": "sha512-WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", 598 | "path": "netstandard.library/1.6.1", 599 | "hashPath": "netstandard.library.1.6.1.nupkg.sha512" 600 | }, 601 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 602 | "type": "package", 603 | "serviceable": true, 604 | "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", 605 | "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 606 | "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 607 | }, 608 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 609 | "type": "package", 610 | "serviceable": true, 611 | "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", 612 | "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 613 | "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 614 | }, 615 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 616 | "type": "package", 617 | "serviceable": true, 618 | "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", 619 | "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 620 | "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 621 | }, 622 | "runtime.native.System/4.3.0": { 623 | "type": "package", 624 | "serviceable": true, 625 | "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", 626 | "path": "runtime.native.system/4.3.0", 627 | "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" 628 | }, 629 | "runtime.native.System.IO.Compression/4.3.0": { 630 | "type": "package", 631 | "serviceable": true, 632 | "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", 633 | "path": "runtime.native.system.io.compression/4.3.0", 634 | "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" 635 | }, 636 | "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 637 | "type": "package", 638 | "serviceable": true, 639 | "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", 640 | "path": "runtime.native.system.security.cryptography.openssl/4.3.0", 641 | "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 642 | }, 643 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 644 | "type": "package", 645 | "serviceable": true, 646 | "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", 647 | "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 648 | "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 649 | }, 650 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 651 | "type": "package", 652 | "serviceable": true, 653 | "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", 654 | "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 655 | "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 656 | }, 657 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 658 | "type": "package", 659 | "serviceable": true, 660 | "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", 661 | "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 662 | "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 663 | }, 664 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 665 | "type": "package", 666 | "serviceable": true, 667 | "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", 668 | "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 669 | "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 670 | }, 671 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 672 | "type": "package", 673 | "serviceable": true, 674 | "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", 675 | "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 676 | "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 677 | }, 678 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 679 | "type": "package", 680 | "serviceable": true, 681 | "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", 682 | "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 683 | "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 684 | }, 685 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 686 | "type": "package", 687 | "serviceable": true, 688 | "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", 689 | "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 690 | "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 691 | }, 692 | "System.AppContext/4.3.0": { 693 | "type": "package", 694 | "serviceable": true, 695 | "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", 696 | "path": "system.appcontext/4.3.0", 697 | "hashPath": "system.appcontext.4.3.0.nupkg.sha512" 698 | }, 699 | "System.Buffers/4.3.0": { 700 | "type": "package", 701 | "serviceable": true, 702 | "sha512": "sha512-ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", 703 | "path": "system.buffers/4.3.0", 704 | "hashPath": "system.buffers.4.3.0.nupkg.sha512" 705 | }, 706 | "System.Collections/4.3.0": { 707 | "type": "package", 708 | "serviceable": true, 709 | "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", 710 | "path": "system.collections/4.3.0", 711 | "hashPath": "system.collections.4.3.0.nupkg.sha512" 712 | }, 713 | "System.Collections.Concurrent/4.3.0": { 714 | "type": "package", 715 | "serviceable": true, 716 | "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", 717 | "path": "system.collections.concurrent/4.3.0", 718 | "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" 719 | }, 720 | "System.Console/4.3.0": { 721 | "type": "package", 722 | "serviceable": true, 723 | "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", 724 | "path": "system.console/4.3.0", 725 | "hashPath": "system.console.4.3.0.nupkg.sha512" 726 | }, 727 | "System.Diagnostics.Debug/4.3.0": { 728 | "type": "package", 729 | "serviceable": true, 730 | "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", 731 | "path": "system.diagnostics.debug/4.3.0", 732 | "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" 733 | }, 734 | "System.Diagnostics.DiagnosticSource/4.3.0": { 735 | "type": "package", 736 | "serviceable": true, 737 | "sha512": "sha512-tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", 738 | "path": "system.diagnostics.diagnosticsource/4.3.0", 739 | "hashPath": "system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512" 740 | }, 741 | "System.Diagnostics.Tools/4.3.0": { 742 | "type": "package", 743 | "serviceable": true, 744 | "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", 745 | "path": "system.diagnostics.tools/4.3.0", 746 | "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" 747 | }, 748 | "System.Diagnostics.Tracing/4.3.0": { 749 | "type": "package", 750 | "serviceable": true, 751 | "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", 752 | "path": "system.diagnostics.tracing/4.3.0", 753 | "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" 754 | }, 755 | "System.Globalization/4.3.0": { 756 | "type": "package", 757 | "serviceable": true, 758 | "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", 759 | "path": "system.globalization/4.3.0", 760 | "hashPath": "system.globalization.4.3.0.nupkg.sha512" 761 | }, 762 | "System.Globalization.Calendars/4.3.0": { 763 | "type": "package", 764 | "serviceable": true, 765 | "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", 766 | "path": "system.globalization.calendars/4.3.0", 767 | "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" 768 | }, 769 | "System.IO/4.3.0": { 770 | "type": "package", 771 | "serviceable": true, 772 | "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", 773 | "path": "system.io/4.3.0", 774 | "hashPath": "system.io.4.3.0.nupkg.sha512" 775 | }, 776 | "System.IO.Compression/4.3.0": { 777 | "type": "package", 778 | "serviceable": true, 779 | "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", 780 | "path": "system.io.compression/4.3.0", 781 | "hashPath": "system.io.compression.4.3.0.nupkg.sha512" 782 | }, 783 | "System.IO.Compression.ZipFile/4.3.0": { 784 | "type": "package", 785 | "serviceable": true, 786 | "sha512": "sha512-G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", 787 | "path": "system.io.compression.zipfile/4.3.0", 788 | "hashPath": "system.io.compression.zipfile.4.3.0.nupkg.sha512" 789 | }, 790 | "System.IO.FileSystem/4.3.0": { 791 | "type": "package", 792 | "serviceable": true, 793 | "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", 794 | "path": "system.io.filesystem/4.3.0", 795 | "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" 796 | }, 797 | "System.IO.FileSystem.Primitives/4.3.0": { 798 | "type": "package", 799 | "serviceable": true, 800 | "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", 801 | "path": "system.io.filesystem.primitives/4.3.0", 802 | "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" 803 | }, 804 | "System.Linq/4.3.0": { 805 | "type": "package", 806 | "serviceable": true, 807 | "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", 808 | "path": "system.linq/4.3.0", 809 | "hashPath": "system.linq.4.3.0.nupkg.sha512" 810 | }, 811 | "System.Linq.Expressions/4.3.0": { 812 | "type": "package", 813 | "serviceable": true, 814 | "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", 815 | "path": "system.linq.expressions/4.3.0", 816 | "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" 817 | }, 818 | "System.Net.Http/4.3.0": { 819 | "type": "package", 820 | "serviceable": true, 821 | "sha512": "sha512-sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", 822 | "path": "system.net.http/4.3.0", 823 | "hashPath": "system.net.http.4.3.0.nupkg.sha512" 824 | }, 825 | "System.Net.Primitives/4.3.0": { 826 | "type": "package", 827 | "serviceable": true, 828 | "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", 829 | "path": "system.net.primitives/4.3.0", 830 | "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" 831 | }, 832 | "System.Net.Sockets/4.3.0": { 833 | "type": "package", 834 | "serviceable": true, 835 | "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", 836 | "path": "system.net.sockets/4.3.0", 837 | "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" 838 | }, 839 | "System.ObjectModel/4.3.0": { 840 | "type": "package", 841 | "serviceable": true, 842 | "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", 843 | "path": "system.objectmodel/4.3.0", 844 | "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" 845 | }, 846 | "System.Reflection/4.3.0": { 847 | "type": "package", 848 | "serviceable": true, 849 | "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", 850 | "path": "system.reflection/4.3.0", 851 | "hashPath": "system.reflection.4.3.0.nupkg.sha512" 852 | }, 853 | "System.Reflection.Extensions/4.3.0": { 854 | "type": "package", 855 | "serviceable": true, 856 | "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", 857 | "path": "system.reflection.extensions/4.3.0", 858 | "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" 859 | }, 860 | "System.Reflection.Primitives/4.3.0": { 861 | "type": "package", 862 | "serviceable": true, 863 | "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", 864 | "path": "system.reflection.primitives/4.3.0", 865 | "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" 866 | }, 867 | "System.Resources.ResourceManager/4.3.0": { 868 | "type": "package", 869 | "serviceable": true, 870 | "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", 871 | "path": "system.resources.resourcemanager/4.3.0", 872 | "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" 873 | }, 874 | "System.Runtime/4.3.0": { 875 | "type": "package", 876 | "serviceable": true, 877 | "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", 878 | "path": "system.runtime/4.3.0", 879 | "hashPath": "system.runtime.4.3.0.nupkg.sha512" 880 | }, 881 | "System.Runtime.Extensions/4.3.0": { 882 | "type": "package", 883 | "serviceable": true, 884 | "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", 885 | "path": "system.runtime.extensions/4.3.0", 886 | "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" 887 | }, 888 | "System.Runtime.Handles/4.3.0": { 889 | "type": "package", 890 | "serviceable": true, 891 | "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", 892 | "path": "system.runtime.handles/4.3.0", 893 | "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" 894 | }, 895 | "System.Runtime.InteropServices/4.3.0": { 896 | "type": "package", 897 | "serviceable": true, 898 | "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", 899 | "path": "system.runtime.interopservices/4.3.0", 900 | "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" 901 | }, 902 | "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { 903 | "type": "package", 904 | "serviceable": true, 905 | "sha512": "sha512-cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", 906 | "path": "system.runtime.interopservices.runtimeinformation/4.3.0", 907 | "hashPath": "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512" 908 | }, 909 | "System.Runtime.Numerics/4.3.0": { 910 | "type": "package", 911 | "serviceable": true, 912 | "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", 913 | "path": "system.runtime.numerics/4.3.0", 914 | "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" 915 | }, 916 | "System.Security.Cryptography.Algorithms/4.3.0": { 917 | "type": "package", 918 | "serviceable": true, 919 | "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", 920 | "path": "system.security.cryptography.algorithms/4.3.0", 921 | "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" 922 | }, 923 | "System.Security.Cryptography.Encoding/4.3.0": { 924 | "type": "package", 925 | "serviceable": true, 926 | "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", 927 | "path": "system.security.cryptography.encoding/4.3.0", 928 | "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" 929 | }, 930 | "System.Security.Cryptography.Primitives/4.3.0": { 931 | "type": "package", 932 | "serviceable": true, 933 | "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", 934 | "path": "system.security.cryptography.primitives/4.3.0", 935 | "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" 936 | }, 937 | "System.Security.Cryptography.X509Certificates/4.3.0": { 938 | "type": "package", 939 | "serviceable": true, 940 | "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", 941 | "path": "system.security.cryptography.x509certificates/4.3.0", 942 | "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" 943 | }, 944 | "System.Text.Encoding/4.3.0": { 945 | "type": "package", 946 | "serviceable": true, 947 | "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", 948 | "path": "system.text.encoding/4.3.0", 949 | "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" 950 | }, 951 | "System.Text.Encoding.Extensions/4.3.0": { 952 | "type": "package", 953 | "serviceable": true, 954 | "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", 955 | "path": "system.text.encoding.extensions/4.3.0", 956 | "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" 957 | }, 958 | "System.Text.RegularExpressions/4.3.0": { 959 | "type": "package", 960 | "serviceable": true, 961 | "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", 962 | "path": "system.text.regularexpressions/4.3.0", 963 | "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" 964 | }, 965 | "System.Threading/4.3.0": { 966 | "type": "package", 967 | "serviceable": true, 968 | "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", 969 | "path": "system.threading/4.3.0", 970 | "hashPath": "system.threading.4.3.0.nupkg.sha512" 971 | }, 972 | "System.Threading.Tasks/4.3.0": { 973 | "type": "package", 974 | "serviceable": true, 975 | "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", 976 | "path": "system.threading.tasks/4.3.0", 977 | "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" 978 | }, 979 | "System.Threading.Tasks.Extensions/4.3.0": { 980 | "type": "package", 981 | "serviceable": true, 982 | "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", 983 | "path": "system.threading.tasks.extensions/4.3.0", 984 | "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512" 985 | }, 986 | "System.Threading.Timer/4.3.0": { 987 | "type": "package", 988 | "serviceable": true, 989 | "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", 990 | "path": "system.threading.timer/4.3.0", 991 | "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" 992 | }, 993 | "System.Xml.ReaderWriter/4.3.0": { 994 | "type": "package", 995 | "serviceable": true, 996 | "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", 997 | "path": "system.xml.readerwriter/4.3.0", 998 | "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" 999 | }, 1000 | "System.Xml.XDocument/4.3.0": { 1001 | "type": "package", 1002 | "serviceable": true, 1003 | "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", 1004 | "path": "system.xml.xdocument/4.3.0", 1005 | "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" 1006 | } 1007 | } 1008 | } -------------------------------------------------------------------------------- /nuget/lib/Plugin.Badge.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrainman/Badge/e11e1819c5b433d6a3ed06722219f0565a1a0470/nuget/lib/Plugin.Badge.Abstractions.dll -------------------------------------------------------------------------------- /nuget/lib/Plugin.Badge.deps.json: -------------------------------------------------------------------------------- 1 | { 2 | "runtimeTarget": { 3 | "name": ".NETStandard,Version=v1.4/", 4 | "signature": "2b5fbbb70f55dbebd64fed16c302840d9a06c582" 5 | }, 6 | "compilationOptions": {}, 7 | "targets": { 8 | ".NETStandard,Version=v1.4": {}, 9 | ".NETStandard,Version=v1.4/": { 10 | "Plugin.Badge/1.0.0": { 11 | "dependencies": { 12 | "NETStandard.Library": "1.6.1", 13 | "Plugin.Badge.Abstractions": "1.0.0" 14 | }, 15 | "runtime": { 16 | "Plugin.Badge.dll": {} 17 | } 18 | }, 19 | "Microsoft.NETCore.Platforms/1.1.0": {}, 20 | "Microsoft.NETCore.Targets/1.1.0": {}, 21 | "Microsoft.Win32.Primitives/4.3.0": { 22 | "dependencies": { 23 | "Microsoft.NETCore.Platforms": "1.1.0", 24 | "Microsoft.NETCore.Targets": "1.1.0", 25 | "System.Runtime": "4.3.0" 26 | } 27 | }, 28 | "NETStandard.Library/1.6.1": { 29 | "dependencies": { 30 | "Microsoft.NETCore.Platforms": "1.1.0", 31 | "Microsoft.Win32.Primitives": "4.3.0", 32 | "System.AppContext": "4.3.0", 33 | "System.Collections": "4.3.0", 34 | "System.Collections.Concurrent": "4.3.0", 35 | "System.Console": "4.3.0", 36 | "System.Diagnostics.Debug": "4.3.0", 37 | "System.Diagnostics.Tools": "4.3.0", 38 | "System.Diagnostics.Tracing": "4.3.0", 39 | "System.Globalization": "4.3.0", 40 | "System.Globalization.Calendars": "4.3.0", 41 | "System.IO": "4.3.0", 42 | "System.IO.Compression": "4.3.0", 43 | "System.IO.Compression.ZipFile": "4.3.0", 44 | "System.IO.FileSystem": "4.3.0", 45 | "System.IO.FileSystem.Primitives": "4.3.0", 46 | "System.Linq": "4.3.0", 47 | "System.Linq.Expressions": "4.3.0", 48 | "System.Net.Http": "4.3.0", 49 | "System.Net.Primitives": "4.3.0", 50 | "System.Net.Sockets": "4.3.0", 51 | "System.ObjectModel": "4.3.0", 52 | "System.Reflection": "4.3.0", 53 | "System.Reflection.Extensions": "4.3.0", 54 | "System.Reflection.Primitives": "4.3.0", 55 | "System.Resources.ResourceManager": "4.3.0", 56 | "System.Runtime": "4.3.0", 57 | "System.Runtime.Extensions": "4.3.0", 58 | "System.Runtime.Handles": "4.3.0", 59 | "System.Runtime.InteropServices": "4.3.0", 60 | "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", 61 | "System.Runtime.Numerics": "4.3.0", 62 | "System.Security.Cryptography.Algorithms": "4.3.0", 63 | "System.Security.Cryptography.Encoding": "4.3.0", 64 | "System.Security.Cryptography.Primitives": "4.3.0", 65 | "System.Security.Cryptography.X509Certificates": "4.3.0", 66 | "System.Text.Encoding": "4.3.0", 67 | "System.Text.Encoding.Extensions": "4.3.0", 68 | "System.Text.RegularExpressions": "4.3.0", 69 | "System.Threading": "4.3.0", 70 | "System.Threading.Tasks": "4.3.0", 71 | "System.Threading.Timer": "4.3.0", 72 | "System.Xml.ReaderWriter": "4.3.0", 73 | "System.Xml.XDocument": "4.3.0" 74 | } 75 | }, 76 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 77 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 78 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 79 | "runtime.native.System/4.3.0": { 80 | "dependencies": { 81 | "Microsoft.NETCore.Platforms": "1.1.0", 82 | "Microsoft.NETCore.Targets": "1.1.0" 83 | } 84 | }, 85 | "runtime.native.System.IO.Compression/4.3.0": { 86 | "dependencies": { 87 | "Microsoft.NETCore.Platforms": "1.1.0", 88 | "Microsoft.NETCore.Targets": "1.1.0" 89 | } 90 | }, 91 | "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 92 | "dependencies": { 93 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 94 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 95 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 96 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 97 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 98 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 99 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 100 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 101 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", 102 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 103 | } 104 | }, 105 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 106 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 107 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 108 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 109 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 110 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 111 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, 112 | "System.AppContext/4.3.0": { 113 | "dependencies": { 114 | "System.Runtime": "4.3.0" 115 | } 116 | }, 117 | "System.Buffers/4.3.0": { 118 | "dependencies": { 119 | "System.Diagnostics.Debug": "4.3.0", 120 | "System.Diagnostics.Tracing": "4.3.0", 121 | "System.Resources.ResourceManager": "4.3.0", 122 | "System.Runtime": "4.3.0", 123 | "System.Threading": "4.3.0" 124 | }, 125 | "runtime": { 126 | "lib/netstandard1.1/System.Buffers.dll": {} 127 | } 128 | }, 129 | "System.Collections/4.3.0": { 130 | "dependencies": { 131 | "Microsoft.NETCore.Platforms": "1.1.0", 132 | "Microsoft.NETCore.Targets": "1.1.0", 133 | "System.Runtime": "4.3.0" 134 | } 135 | }, 136 | "System.Collections.Concurrent/4.3.0": { 137 | "dependencies": { 138 | "System.Collections": "4.3.0", 139 | "System.Diagnostics.Debug": "4.3.0", 140 | "System.Diagnostics.Tracing": "4.3.0", 141 | "System.Globalization": "4.3.0", 142 | "System.Reflection": "4.3.0", 143 | "System.Resources.ResourceManager": "4.3.0", 144 | "System.Runtime": "4.3.0", 145 | "System.Runtime.Extensions": "4.3.0", 146 | "System.Threading": "4.3.0", 147 | "System.Threading.Tasks": "4.3.0" 148 | }, 149 | "runtime": { 150 | "lib/netstandard1.3/System.Collections.Concurrent.dll": {} 151 | } 152 | }, 153 | "System.Console/4.3.0": { 154 | "dependencies": { 155 | "Microsoft.NETCore.Platforms": "1.1.0", 156 | "Microsoft.NETCore.Targets": "1.1.0", 157 | "System.IO": "4.3.0", 158 | "System.Runtime": "4.3.0", 159 | "System.Text.Encoding": "4.3.0" 160 | } 161 | }, 162 | "System.Diagnostics.Debug/4.3.0": { 163 | "dependencies": { 164 | "Microsoft.NETCore.Platforms": "1.1.0", 165 | "Microsoft.NETCore.Targets": "1.1.0", 166 | "System.Runtime": "4.3.0" 167 | } 168 | }, 169 | "System.Diagnostics.DiagnosticSource/4.3.0": { 170 | "dependencies": { 171 | "System.Collections": "4.3.0", 172 | "System.Diagnostics.Tracing": "4.3.0", 173 | "System.Reflection": "4.3.0", 174 | "System.Runtime": "4.3.0", 175 | "System.Threading": "4.3.0" 176 | }, 177 | "runtime": { 178 | "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {} 179 | } 180 | }, 181 | "System.Diagnostics.Tools/4.3.0": { 182 | "dependencies": { 183 | "Microsoft.NETCore.Platforms": "1.1.0", 184 | "Microsoft.NETCore.Targets": "1.1.0", 185 | "System.Runtime": "4.3.0" 186 | } 187 | }, 188 | "System.Diagnostics.Tracing/4.3.0": { 189 | "dependencies": { 190 | "Microsoft.NETCore.Platforms": "1.1.0", 191 | "Microsoft.NETCore.Targets": "1.1.0", 192 | "System.Runtime": "4.3.0" 193 | } 194 | }, 195 | "System.Globalization/4.3.0": { 196 | "dependencies": { 197 | "Microsoft.NETCore.Platforms": "1.1.0", 198 | "Microsoft.NETCore.Targets": "1.1.0", 199 | "System.Runtime": "4.3.0" 200 | } 201 | }, 202 | "System.Globalization.Calendars/4.3.0": { 203 | "dependencies": { 204 | "Microsoft.NETCore.Platforms": "1.1.0", 205 | "Microsoft.NETCore.Targets": "1.1.0", 206 | "System.Globalization": "4.3.0", 207 | "System.Runtime": "4.3.0" 208 | } 209 | }, 210 | "System.IO/4.3.0": { 211 | "dependencies": { 212 | "Microsoft.NETCore.Platforms": "1.1.0", 213 | "Microsoft.NETCore.Targets": "1.1.0", 214 | "System.Runtime": "4.3.0", 215 | "System.Text.Encoding": "4.3.0", 216 | "System.Threading.Tasks": "4.3.0" 217 | } 218 | }, 219 | "System.IO.Compression/4.3.0": { 220 | "dependencies": { 221 | "Microsoft.NETCore.Platforms": "1.1.0", 222 | "System.Buffers": "4.3.0", 223 | "System.Collections": "4.3.0", 224 | "System.Diagnostics.Debug": "4.3.0", 225 | "System.IO": "4.3.0", 226 | "System.Resources.ResourceManager": "4.3.0", 227 | "System.Runtime": "4.3.0", 228 | "System.Runtime.Extensions": "4.3.0", 229 | "System.Runtime.Handles": "4.3.0", 230 | "System.Runtime.InteropServices": "4.3.0", 231 | "System.Text.Encoding": "4.3.0", 232 | "System.Threading": "4.3.0", 233 | "System.Threading.Tasks": "4.3.0", 234 | "runtime.native.System": "4.3.0", 235 | "runtime.native.System.IO.Compression": "4.3.0" 236 | } 237 | }, 238 | "System.IO.Compression.ZipFile/4.3.0": { 239 | "dependencies": { 240 | "System.Buffers": "4.3.0", 241 | "System.IO": "4.3.0", 242 | "System.IO.Compression": "4.3.0", 243 | "System.IO.FileSystem": "4.3.0", 244 | "System.IO.FileSystem.Primitives": "4.3.0", 245 | "System.Resources.ResourceManager": "4.3.0", 246 | "System.Runtime": "4.3.0", 247 | "System.Runtime.Extensions": "4.3.0", 248 | "System.Text.Encoding": "4.3.0" 249 | }, 250 | "runtime": { 251 | "lib/netstandard1.3/System.IO.Compression.ZipFile.dll": {} 252 | } 253 | }, 254 | "System.IO.FileSystem/4.3.0": { 255 | "dependencies": { 256 | "Microsoft.NETCore.Platforms": "1.1.0", 257 | "Microsoft.NETCore.Targets": "1.1.0", 258 | "System.IO": "4.3.0", 259 | "System.IO.FileSystem.Primitives": "4.3.0", 260 | "System.Runtime": "4.3.0", 261 | "System.Runtime.Handles": "4.3.0", 262 | "System.Text.Encoding": "4.3.0", 263 | "System.Threading.Tasks": "4.3.0" 264 | } 265 | }, 266 | "System.IO.FileSystem.Primitives/4.3.0": { 267 | "dependencies": { 268 | "System.Runtime": "4.3.0" 269 | }, 270 | "runtime": { 271 | "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} 272 | } 273 | }, 274 | "System.Linq/4.3.0": { 275 | "dependencies": { 276 | "System.Collections": "4.3.0", 277 | "System.Runtime": "4.3.0" 278 | } 279 | }, 280 | "System.Linq.Expressions/4.3.0": { 281 | "dependencies": { 282 | "System.Reflection": "4.3.0", 283 | "System.Runtime": "4.3.0" 284 | } 285 | }, 286 | "System.Net.Http/4.3.0": { 287 | "dependencies": { 288 | "Microsoft.NETCore.Platforms": "1.1.0", 289 | "Microsoft.Win32.Primitives": "4.3.0", 290 | "System.Collections": "4.3.0", 291 | "System.Diagnostics.Debug": "4.3.0", 292 | "System.Diagnostics.DiagnosticSource": "4.3.0", 293 | "System.Diagnostics.Tracing": "4.3.0", 294 | "System.Globalization": "4.3.0", 295 | "System.IO": "4.3.0", 296 | "System.IO.Compression": "4.3.0", 297 | "System.Net.Primitives": "4.3.0", 298 | "System.Resources.ResourceManager": "4.3.0", 299 | "System.Runtime": "4.3.0", 300 | "System.Runtime.Extensions": "4.3.0", 301 | "System.Runtime.Handles": "4.3.0", 302 | "System.Runtime.InteropServices": "4.3.0", 303 | "System.Security.Cryptography.X509Certificates": "4.3.0", 304 | "System.Text.Encoding": "4.3.0", 305 | "System.Threading": "4.3.0", 306 | "System.Threading.Tasks": "4.3.0" 307 | } 308 | }, 309 | "System.Net.Primitives/4.3.0": { 310 | "dependencies": { 311 | "Microsoft.NETCore.Platforms": "1.1.0", 312 | "Microsoft.NETCore.Targets": "1.1.0", 313 | "System.Runtime": "4.3.0", 314 | "System.Runtime.Handles": "4.3.0" 315 | } 316 | }, 317 | "System.Net.Sockets/4.3.0": { 318 | "dependencies": { 319 | "Microsoft.NETCore.Platforms": "1.1.0", 320 | "Microsoft.NETCore.Targets": "1.1.0", 321 | "System.IO": "4.3.0", 322 | "System.Net.Primitives": "4.3.0", 323 | "System.Runtime": "4.3.0", 324 | "System.Threading.Tasks": "4.3.0" 325 | } 326 | }, 327 | "System.ObjectModel/4.3.0": { 328 | "dependencies": { 329 | "System.Collections": "4.3.0", 330 | "System.Diagnostics.Debug": "4.3.0", 331 | "System.Resources.ResourceManager": "4.3.0", 332 | "System.Runtime": "4.3.0", 333 | "System.Threading": "4.3.0" 334 | }, 335 | "runtime": { 336 | "lib/netstandard1.3/System.ObjectModel.dll": {} 337 | } 338 | }, 339 | "System.Reflection/4.3.0": { 340 | "dependencies": { 341 | "Microsoft.NETCore.Platforms": "1.1.0", 342 | "Microsoft.NETCore.Targets": "1.1.0", 343 | "System.IO": "4.3.0", 344 | "System.Reflection.Primitives": "4.3.0", 345 | "System.Runtime": "4.3.0" 346 | } 347 | }, 348 | "System.Reflection.Extensions/4.3.0": { 349 | "dependencies": { 350 | "Microsoft.NETCore.Platforms": "1.1.0", 351 | "Microsoft.NETCore.Targets": "1.1.0", 352 | "System.Reflection": "4.3.0", 353 | "System.Runtime": "4.3.0" 354 | } 355 | }, 356 | "System.Reflection.Primitives/4.3.0": { 357 | "dependencies": { 358 | "Microsoft.NETCore.Platforms": "1.1.0", 359 | "Microsoft.NETCore.Targets": "1.1.0", 360 | "System.Runtime": "4.3.0" 361 | } 362 | }, 363 | "System.Resources.ResourceManager/4.3.0": { 364 | "dependencies": { 365 | "Microsoft.NETCore.Platforms": "1.1.0", 366 | "Microsoft.NETCore.Targets": "1.1.0", 367 | "System.Globalization": "4.3.0", 368 | "System.Reflection": "4.3.0", 369 | "System.Runtime": "4.3.0" 370 | } 371 | }, 372 | "System.Runtime/4.3.0": { 373 | "dependencies": { 374 | "Microsoft.NETCore.Platforms": "1.1.0", 375 | "Microsoft.NETCore.Targets": "1.1.0" 376 | } 377 | }, 378 | "System.Runtime.Extensions/4.3.0": { 379 | "dependencies": { 380 | "Microsoft.NETCore.Platforms": "1.1.0", 381 | "Microsoft.NETCore.Targets": "1.1.0", 382 | "System.Runtime": "4.3.0" 383 | } 384 | }, 385 | "System.Runtime.Handles/4.3.0": { 386 | "dependencies": { 387 | "Microsoft.NETCore.Platforms": "1.1.0", 388 | "Microsoft.NETCore.Targets": "1.1.0", 389 | "System.Runtime": "4.3.0" 390 | } 391 | }, 392 | "System.Runtime.InteropServices/4.3.0": { 393 | "dependencies": { 394 | "Microsoft.NETCore.Platforms": "1.1.0", 395 | "Microsoft.NETCore.Targets": "1.1.0", 396 | "System.Reflection": "4.3.0", 397 | "System.Reflection.Primitives": "4.3.0", 398 | "System.Runtime": "4.3.0", 399 | "System.Runtime.Handles": "4.3.0" 400 | } 401 | }, 402 | "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { 403 | "dependencies": { 404 | "System.Reflection": "4.3.0", 405 | "System.Reflection.Extensions": "4.3.0", 406 | "System.Resources.ResourceManager": "4.3.0", 407 | "System.Runtime": "4.3.0", 408 | "System.Runtime.InteropServices": "4.3.0", 409 | "System.Threading": "4.3.0", 410 | "runtime.native.System": "4.3.0" 411 | }, 412 | "runtime": { 413 | "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {} 414 | } 415 | }, 416 | "System.Runtime.Numerics/4.3.0": { 417 | "dependencies": { 418 | "System.Globalization": "4.3.0", 419 | "System.Resources.ResourceManager": "4.3.0", 420 | "System.Runtime": "4.3.0", 421 | "System.Runtime.Extensions": "4.3.0" 422 | }, 423 | "runtime": { 424 | "lib/netstandard1.3/System.Runtime.Numerics.dll": {} 425 | } 426 | }, 427 | "System.Security.Cryptography.Algorithms/4.3.0": { 428 | "dependencies": { 429 | "System.IO": "4.3.0", 430 | "System.Runtime": "4.3.0", 431 | "System.Security.Cryptography.Primitives": "4.3.0" 432 | } 433 | }, 434 | "System.Security.Cryptography.Encoding/4.3.0": { 435 | "dependencies": { 436 | "Microsoft.NETCore.Platforms": "1.1.0", 437 | "System.Collections": "4.3.0", 438 | "System.Collections.Concurrent": "4.3.0", 439 | "System.Linq": "4.3.0", 440 | "System.Resources.ResourceManager": "4.3.0", 441 | "System.Runtime": "4.3.0", 442 | "System.Runtime.Extensions": "4.3.0", 443 | "System.Runtime.Handles": "4.3.0", 444 | "System.Runtime.InteropServices": "4.3.0", 445 | "System.Security.Cryptography.Primitives": "4.3.0", 446 | "System.Text.Encoding": "4.3.0", 447 | "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" 448 | } 449 | }, 450 | "System.Security.Cryptography.Primitives/4.3.0": { 451 | "dependencies": { 452 | "System.Diagnostics.Debug": "4.3.0", 453 | "System.Globalization": "4.3.0", 454 | "System.IO": "4.3.0", 455 | "System.Resources.ResourceManager": "4.3.0", 456 | "System.Runtime": "4.3.0", 457 | "System.Threading": "4.3.0", 458 | "System.Threading.Tasks": "4.3.0" 459 | }, 460 | "runtime": { 461 | "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} 462 | } 463 | }, 464 | "System.Security.Cryptography.X509Certificates/4.3.0": { 465 | "dependencies": { 466 | "System.Runtime": "4.3.0", 467 | "System.Runtime.Handles": "4.3.0", 468 | "System.Security.Cryptography.Algorithms": "4.3.0", 469 | "System.Security.Cryptography.Encoding": "4.3.0" 470 | } 471 | }, 472 | "System.Text.Encoding/4.3.0": { 473 | "dependencies": { 474 | "Microsoft.NETCore.Platforms": "1.1.0", 475 | "Microsoft.NETCore.Targets": "1.1.0", 476 | "System.Runtime": "4.3.0" 477 | } 478 | }, 479 | "System.Text.Encoding.Extensions/4.3.0": { 480 | "dependencies": { 481 | "Microsoft.NETCore.Platforms": "1.1.0", 482 | "Microsoft.NETCore.Targets": "1.1.0", 483 | "System.Runtime": "4.3.0", 484 | "System.Text.Encoding": "4.3.0" 485 | } 486 | }, 487 | "System.Text.RegularExpressions/4.3.0": { 488 | "dependencies": { 489 | "System.Runtime": "4.3.0" 490 | } 491 | }, 492 | "System.Threading/4.3.0": { 493 | "dependencies": { 494 | "System.Runtime": "4.3.0", 495 | "System.Threading.Tasks": "4.3.0" 496 | }, 497 | "runtime": { 498 | "lib/netstandard1.3/System.Threading.dll": {} 499 | } 500 | }, 501 | "System.Threading.Tasks/4.3.0": { 502 | "dependencies": { 503 | "Microsoft.NETCore.Platforms": "1.1.0", 504 | "Microsoft.NETCore.Targets": "1.1.0", 505 | "System.Runtime": "4.3.0" 506 | } 507 | }, 508 | "System.Threading.Tasks.Extensions/4.3.0": { 509 | "dependencies": { 510 | "System.Collections": "4.3.0", 511 | "System.Runtime": "4.3.0", 512 | "System.Threading.Tasks": "4.3.0" 513 | }, 514 | "runtime": { 515 | "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} 516 | } 517 | }, 518 | "System.Threading.Timer/4.3.0": { 519 | "dependencies": { 520 | "Microsoft.NETCore.Platforms": "1.1.0", 521 | "Microsoft.NETCore.Targets": "1.1.0", 522 | "System.Runtime": "4.3.0" 523 | } 524 | }, 525 | "System.Xml.ReaderWriter/4.3.0": { 526 | "dependencies": { 527 | "System.Collections": "4.3.0", 528 | "System.Diagnostics.Debug": "4.3.0", 529 | "System.Globalization": "4.3.0", 530 | "System.IO": "4.3.0", 531 | "System.IO.FileSystem": "4.3.0", 532 | "System.IO.FileSystem.Primitives": "4.3.0", 533 | "System.Resources.ResourceManager": "4.3.0", 534 | "System.Runtime": "4.3.0", 535 | "System.Runtime.Extensions": "4.3.0", 536 | "System.Runtime.InteropServices": "4.3.0", 537 | "System.Text.Encoding": "4.3.0", 538 | "System.Text.Encoding.Extensions": "4.3.0", 539 | "System.Text.RegularExpressions": "4.3.0", 540 | "System.Threading.Tasks": "4.3.0", 541 | "System.Threading.Tasks.Extensions": "4.3.0" 542 | }, 543 | "runtime": { 544 | "lib/netstandard1.3/System.Xml.ReaderWriter.dll": {} 545 | } 546 | }, 547 | "System.Xml.XDocument/4.3.0": { 548 | "dependencies": { 549 | "System.Collections": "4.3.0", 550 | "System.Diagnostics.Debug": "4.3.0", 551 | "System.Diagnostics.Tools": "4.3.0", 552 | "System.Globalization": "4.3.0", 553 | "System.IO": "4.3.0", 554 | "System.Reflection": "4.3.0", 555 | "System.Resources.ResourceManager": "4.3.0", 556 | "System.Runtime": "4.3.0", 557 | "System.Runtime.Extensions": "4.3.0", 558 | "System.Text.Encoding": "4.3.0", 559 | "System.Threading": "4.3.0", 560 | "System.Xml.ReaderWriter": "4.3.0" 561 | }, 562 | "runtime": { 563 | "lib/netstandard1.3/System.Xml.XDocument.dll": {} 564 | } 565 | }, 566 | "Plugin.Badge.Abstractions/1.0.0": { 567 | "runtime": { 568 | "Plugin.Badge.Abstractions.dll": {} 569 | } 570 | } 571 | } 572 | }, 573 | "libraries": { 574 | "Plugin.Badge/1.0.0": { 575 | "type": "project", 576 | "serviceable": false, 577 | "sha512": "" 578 | }, 579 | "Microsoft.NETCore.Platforms/1.1.0": { 580 | "type": "package", 581 | "serviceable": true, 582 | "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", 583 | "path": "microsoft.netcore.platforms/1.1.0", 584 | "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" 585 | }, 586 | "Microsoft.NETCore.Targets/1.1.0": { 587 | "type": "package", 588 | "serviceable": true, 589 | "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", 590 | "path": "microsoft.netcore.targets/1.1.0", 591 | "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" 592 | }, 593 | "Microsoft.Win32.Primitives/4.3.0": { 594 | "type": "package", 595 | "serviceable": true, 596 | "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", 597 | "path": "microsoft.win32.primitives/4.3.0", 598 | "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" 599 | }, 600 | "NETStandard.Library/1.6.1": { 601 | "type": "package", 602 | "serviceable": true, 603 | "sha512": "sha512-WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", 604 | "path": "netstandard.library/1.6.1", 605 | "hashPath": "netstandard.library.1.6.1.nupkg.sha512" 606 | }, 607 | "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 608 | "type": "package", 609 | "serviceable": true, 610 | "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", 611 | "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 612 | "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 613 | }, 614 | "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 615 | "type": "package", 616 | "serviceable": true, 617 | "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", 618 | "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 619 | "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 620 | }, 621 | "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 622 | "type": "package", 623 | "serviceable": true, 624 | "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", 625 | "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 626 | "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 627 | }, 628 | "runtime.native.System/4.3.0": { 629 | "type": "package", 630 | "serviceable": true, 631 | "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", 632 | "path": "runtime.native.system/4.3.0", 633 | "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" 634 | }, 635 | "runtime.native.System.IO.Compression/4.3.0": { 636 | "type": "package", 637 | "serviceable": true, 638 | "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", 639 | "path": "runtime.native.system.io.compression/4.3.0", 640 | "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" 641 | }, 642 | "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 643 | "type": "package", 644 | "serviceable": true, 645 | "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", 646 | "path": "runtime.native.system.security.cryptography.openssl/4.3.0", 647 | "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 648 | }, 649 | "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 650 | "type": "package", 651 | "serviceable": true, 652 | "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", 653 | "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 654 | "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 655 | }, 656 | "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 657 | "type": "package", 658 | "serviceable": true, 659 | "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", 660 | "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 661 | "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 662 | }, 663 | "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 664 | "type": "package", 665 | "serviceable": true, 666 | "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", 667 | "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 668 | "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 669 | }, 670 | "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 671 | "type": "package", 672 | "serviceable": true, 673 | "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", 674 | "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 675 | "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 676 | }, 677 | "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 678 | "type": "package", 679 | "serviceable": true, 680 | "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", 681 | "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 682 | "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 683 | }, 684 | "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 685 | "type": "package", 686 | "serviceable": true, 687 | "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", 688 | "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 689 | "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 690 | }, 691 | "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { 692 | "type": "package", 693 | "serviceable": true, 694 | "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", 695 | "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", 696 | "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" 697 | }, 698 | "System.AppContext/4.3.0": { 699 | "type": "package", 700 | "serviceable": true, 701 | "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", 702 | "path": "system.appcontext/4.3.0", 703 | "hashPath": "system.appcontext.4.3.0.nupkg.sha512" 704 | }, 705 | "System.Buffers/4.3.0": { 706 | "type": "package", 707 | "serviceable": true, 708 | "sha512": "sha512-ratu44uTIHgeBeI0dE8DWvmXVBSo4u7ozRZZHOMmK/JPpYyo0dAfgSiHlpiObMQ5lEtEyIXA40sKRYg5J6A8uQ==", 709 | "path": "system.buffers/4.3.0", 710 | "hashPath": "system.buffers.4.3.0.nupkg.sha512" 711 | }, 712 | "System.Collections/4.3.0": { 713 | "type": "package", 714 | "serviceable": true, 715 | "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", 716 | "path": "system.collections/4.3.0", 717 | "hashPath": "system.collections.4.3.0.nupkg.sha512" 718 | }, 719 | "System.Collections.Concurrent/4.3.0": { 720 | "type": "package", 721 | "serviceable": true, 722 | "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", 723 | "path": "system.collections.concurrent/4.3.0", 724 | "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" 725 | }, 726 | "System.Console/4.3.0": { 727 | "type": "package", 728 | "serviceable": true, 729 | "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", 730 | "path": "system.console/4.3.0", 731 | "hashPath": "system.console.4.3.0.nupkg.sha512" 732 | }, 733 | "System.Diagnostics.Debug/4.3.0": { 734 | "type": "package", 735 | "serviceable": true, 736 | "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", 737 | "path": "system.diagnostics.debug/4.3.0", 738 | "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" 739 | }, 740 | "System.Diagnostics.DiagnosticSource/4.3.0": { 741 | "type": "package", 742 | "serviceable": true, 743 | "sha512": "sha512-tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", 744 | "path": "system.diagnostics.diagnosticsource/4.3.0", 745 | "hashPath": "system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512" 746 | }, 747 | "System.Diagnostics.Tools/4.3.0": { 748 | "type": "package", 749 | "serviceable": true, 750 | "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", 751 | "path": "system.diagnostics.tools/4.3.0", 752 | "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" 753 | }, 754 | "System.Diagnostics.Tracing/4.3.0": { 755 | "type": "package", 756 | "serviceable": true, 757 | "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", 758 | "path": "system.diagnostics.tracing/4.3.0", 759 | "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" 760 | }, 761 | "System.Globalization/4.3.0": { 762 | "type": "package", 763 | "serviceable": true, 764 | "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", 765 | "path": "system.globalization/4.3.0", 766 | "hashPath": "system.globalization.4.3.0.nupkg.sha512" 767 | }, 768 | "System.Globalization.Calendars/4.3.0": { 769 | "type": "package", 770 | "serviceable": true, 771 | "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", 772 | "path": "system.globalization.calendars/4.3.0", 773 | "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" 774 | }, 775 | "System.IO/4.3.0": { 776 | "type": "package", 777 | "serviceable": true, 778 | "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", 779 | "path": "system.io/4.3.0", 780 | "hashPath": "system.io.4.3.0.nupkg.sha512" 781 | }, 782 | "System.IO.Compression/4.3.0": { 783 | "type": "package", 784 | "serviceable": true, 785 | "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", 786 | "path": "system.io.compression/4.3.0", 787 | "hashPath": "system.io.compression.4.3.0.nupkg.sha512" 788 | }, 789 | "System.IO.Compression.ZipFile/4.3.0": { 790 | "type": "package", 791 | "serviceable": true, 792 | "sha512": "sha512-G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", 793 | "path": "system.io.compression.zipfile/4.3.0", 794 | "hashPath": "system.io.compression.zipfile.4.3.0.nupkg.sha512" 795 | }, 796 | "System.IO.FileSystem/4.3.0": { 797 | "type": "package", 798 | "serviceable": true, 799 | "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", 800 | "path": "system.io.filesystem/4.3.0", 801 | "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" 802 | }, 803 | "System.IO.FileSystem.Primitives/4.3.0": { 804 | "type": "package", 805 | "serviceable": true, 806 | "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", 807 | "path": "system.io.filesystem.primitives/4.3.0", 808 | "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" 809 | }, 810 | "System.Linq/4.3.0": { 811 | "type": "package", 812 | "serviceable": true, 813 | "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", 814 | "path": "system.linq/4.3.0", 815 | "hashPath": "system.linq.4.3.0.nupkg.sha512" 816 | }, 817 | "System.Linq.Expressions/4.3.0": { 818 | "type": "package", 819 | "serviceable": true, 820 | "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", 821 | "path": "system.linq.expressions/4.3.0", 822 | "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" 823 | }, 824 | "System.Net.Http/4.3.0": { 825 | "type": "package", 826 | "serviceable": true, 827 | "sha512": "sha512-sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", 828 | "path": "system.net.http/4.3.0", 829 | "hashPath": "system.net.http.4.3.0.nupkg.sha512" 830 | }, 831 | "System.Net.Primitives/4.3.0": { 832 | "type": "package", 833 | "serviceable": true, 834 | "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", 835 | "path": "system.net.primitives/4.3.0", 836 | "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" 837 | }, 838 | "System.Net.Sockets/4.3.0": { 839 | "type": "package", 840 | "serviceable": true, 841 | "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", 842 | "path": "system.net.sockets/4.3.0", 843 | "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" 844 | }, 845 | "System.ObjectModel/4.3.0": { 846 | "type": "package", 847 | "serviceable": true, 848 | "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", 849 | "path": "system.objectmodel/4.3.0", 850 | "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" 851 | }, 852 | "System.Reflection/4.3.0": { 853 | "type": "package", 854 | "serviceable": true, 855 | "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", 856 | "path": "system.reflection/4.3.0", 857 | "hashPath": "system.reflection.4.3.0.nupkg.sha512" 858 | }, 859 | "System.Reflection.Extensions/4.3.0": { 860 | "type": "package", 861 | "serviceable": true, 862 | "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", 863 | "path": "system.reflection.extensions/4.3.0", 864 | "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" 865 | }, 866 | "System.Reflection.Primitives/4.3.0": { 867 | "type": "package", 868 | "serviceable": true, 869 | "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", 870 | "path": "system.reflection.primitives/4.3.0", 871 | "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" 872 | }, 873 | "System.Resources.ResourceManager/4.3.0": { 874 | "type": "package", 875 | "serviceable": true, 876 | "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", 877 | "path": "system.resources.resourcemanager/4.3.0", 878 | "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" 879 | }, 880 | "System.Runtime/4.3.0": { 881 | "type": "package", 882 | "serviceable": true, 883 | "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", 884 | "path": "system.runtime/4.3.0", 885 | "hashPath": "system.runtime.4.3.0.nupkg.sha512" 886 | }, 887 | "System.Runtime.Extensions/4.3.0": { 888 | "type": "package", 889 | "serviceable": true, 890 | "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", 891 | "path": "system.runtime.extensions/4.3.0", 892 | "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" 893 | }, 894 | "System.Runtime.Handles/4.3.0": { 895 | "type": "package", 896 | "serviceable": true, 897 | "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", 898 | "path": "system.runtime.handles/4.3.0", 899 | "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" 900 | }, 901 | "System.Runtime.InteropServices/4.3.0": { 902 | "type": "package", 903 | "serviceable": true, 904 | "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", 905 | "path": "system.runtime.interopservices/4.3.0", 906 | "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" 907 | }, 908 | "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { 909 | "type": "package", 910 | "serviceable": true, 911 | "sha512": "sha512-cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", 912 | "path": "system.runtime.interopservices.runtimeinformation/4.3.0", 913 | "hashPath": "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512" 914 | }, 915 | "System.Runtime.Numerics/4.3.0": { 916 | "type": "package", 917 | "serviceable": true, 918 | "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", 919 | "path": "system.runtime.numerics/4.3.0", 920 | "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" 921 | }, 922 | "System.Security.Cryptography.Algorithms/4.3.0": { 923 | "type": "package", 924 | "serviceable": true, 925 | "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", 926 | "path": "system.security.cryptography.algorithms/4.3.0", 927 | "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" 928 | }, 929 | "System.Security.Cryptography.Encoding/4.3.0": { 930 | "type": "package", 931 | "serviceable": true, 932 | "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", 933 | "path": "system.security.cryptography.encoding/4.3.0", 934 | "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" 935 | }, 936 | "System.Security.Cryptography.Primitives/4.3.0": { 937 | "type": "package", 938 | "serviceable": true, 939 | "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", 940 | "path": "system.security.cryptography.primitives/4.3.0", 941 | "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" 942 | }, 943 | "System.Security.Cryptography.X509Certificates/4.3.0": { 944 | "type": "package", 945 | "serviceable": true, 946 | "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", 947 | "path": "system.security.cryptography.x509certificates/4.3.0", 948 | "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" 949 | }, 950 | "System.Text.Encoding/4.3.0": { 951 | "type": "package", 952 | "serviceable": true, 953 | "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", 954 | "path": "system.text.encoding/4.3.0", 955 | "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" 956 | }, 957 | "System.Text.Encoding.Extensions/4.3.0": { 958 | "type": "package", 959 | "serviceable": true, 960 | "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", 961 | "path": "system.text.encoding.extensions/4.3.0", 962 | "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" 963 | }, 964 | "System.Text.RegularExpressions/4.3.0": { 965 | "type": "package", 966 | "serviceable": true, 967 | "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", 968 | "path": "system.text.regularexpressions/4.3.0", 969 | "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" 970 | }, 971 | "System.Threading/4.3.0": { 972 | "type": "package", 973 | "serviceable": true, 974 | "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", 975 | "path": "system.threading/4.3.0", 976 | "hashPath": "system.threading.4.3.0.nupkg.sha512" 977 | }, 978 | "System.Threading.Tasks/4.3.0": { 979 | "type": "package", 980 | "serviceable": true, 981 | "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", 982 | "path": "system.threading.tasks/4.3.0", 983 | "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" 984 | }, 985 | "System.Threading.Tasks.Extensions/4.3.0": { 986 | "type": "package", 987 | "serviceable": true, 988 | "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", 989 | "path": "system.threading.tasks.extensions/4.3.0", 990 | "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512" 991 | }, 992 | "System.Threading.Timer/4.3.0": { 993 | "type": "package", 994 | "serviceable": true, 995 | "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", 996 | "path": "system.threading.timer/4.3.0", 997 | "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" 998 | }, 999 | "System.Xml.ReaderWriter/4.3.0": { 1000 | "type": "package", 1001 | "serviceable": true, 1002 | "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", 1003 | "path": "system.xml.readerwriter/4.3.0", 1004 | "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" 1005 | }, 1006 | "System.Xml.XDocument/4.3.0": { 1007 | "type": "package", 1008 | "serviceable": true, 1009 | "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", 1010 | "path": "system.xml.xdocument/4.3.0", 1011 | "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" 1012 | }, 1013 | "Plugin.Badge.Abstractions/1.0.0": { 1014 | "type": "project", 1015 | "serviceable": false, 1016 | "sha512": "" 1017 | } 1018 | } 1019 | } -------------------------------------------------------------------------------- /nuget/lib/Plugin.Badge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrainman/Badge/e11e1819c5b433d6a3ed06722219f0565a1a0470/nuget/lib/Plugin.Badge.dll -------------------------------------------------------------------------------- /nuget/lib/UWP/Plugin.Badge.XML: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Plugin.Badge 5 | 6 | 7 | 8 | 9 | Cross platform Badge implemenations 10 | 11 | 12 | 13 | 14 | Current settings to use 15 | 16 | 17 | 18 | 19 | Implementation for Feature 20 | 21 | 22 | 23 | 24 | Sets the badge. 25 | 26 | The badge number. 27 | The title. Used only by Android 28 | 29 | 30 | 31 | Clears the badge. 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /nuget/lib/UWP/Plugin.Badge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrainman/Badge/e11e1819c5b433d6a3ed06722219f0565a1a0470/nuget/lib/UWP/Plugin.Badge.dll -------------------------------------------------------------------------------- /nuget/lib/UWP/Plugin.Badge.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrainman/Badge/e11e1819c5b433d6a3ed06722219f0565a1a0470/nuget/lib/UWP/Plugin.Badge.pri -------------------------------------------------------------------------------- /nuget/lib/iOS/Plugin.Badge.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexrainman/Badge/e11e1819c5b433d6a3ed06722219f0565a1a0470/nuget/lib/iOS/Plugin.Badge.dll --------------------------------------------------------------------------------