├── .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/ [](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
--------------------------------------------------------------------------------