├── .gitignore
├── .gitmodules
├── LICENSE
├── README.md
└── src
├── .vsconfig
├── BandCenter.Maui
├── App.xaml
├── App.xaml.cs
├── BandCenter.Maui.csproj
├── Controls
│ ├── ActivityTile.xaml
│ ├── ActivityTile.xaml.cs
│ ├── MetricMarkupPresenter.xaml
│ └── MetricMarkupPresenter.xaml.cs
├── MainPage.xaml
├── MainPage.xaml.cs
├── MauiProgram.cs
├── Platforms
│ ├── Android
│ │ ├── AndroidManifest.xml
│ │ ├── MainActivity.cs
│ │ ├── MainApplication.cs
│ │ └── Resources
│ │ │ └── values
│ │ │ └── colors.xml
│ ├── MacCatalyst
│ │ ├── AppDelegate.cs
│ │ ├── Info.plist
│ │ └── Program.cs
│ ├── Windows
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── Package.appxmanifest
│ │ └── app.manifest
│ └── iOS
│ │ ├── AppDelegate.cs
│ │ ├── Info.plist
│ │ ├── Program.cs
│ │ └── Resources
│ │ └── LaunchScreen.xib
├── Properties
│ └── launchSettings.json
└── Resources
│ ├── Fonts
│ ├── OpenSans-Regular.ttf
│ └── ProjectKSymbolRegular.ttf
│ ├── Images
│ └── dotnet_bot.svg
│ ├── appicon.svg
│ └── appiconfg.svg
├── BandCenter.Uno
├── BandCenter.Uno.Droid
│ ├── Assets
│ │ ├── AboutAssets.txt
│ │ └── Fonts
│ │ │ ├── ProjectKSymbolRegular.ttf
│ │ │ └── uno-fluentui-assets.ttf
│ ├── BandCenter.Uno.Droid.csproj
│ ├── Main.cs
│ ├── MainActivity.cs
│ ├── Properties
│ │ ├── AndroidManifest.xml
│ │ └── AssemblyInfo.cs
│ └── Resources
│ │ ├── AboutResources.txt
│ │ ├── mipmap-hdpi
│ │ └── icon.png
│ │ ├── mipmap-ldpi
│ │ └── icon.png
│ │ ├── mipmap-mdpi
│ │ └── icon.png
│ │ ├── mipmap-tvdpi
│ │ └── icon.png
│ │ ├── mipmap-xhdpi
│ │ └── icon.png
│ │ ├── mipmap-xxhdpi
│ │ └── icon.png
│ │ ├── mipmap-xxxhdpi
│ │ └── icon.png
│ │ └── values
│ │ ├── Strings.xml
│ │ └── Styles.xml
├── BandCenter.Uno.Shared
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ │ └── SharedAssets.md
│ ├── BandCenter.Uno.Shared.projitems
│ ├── BandCenter.Uno.Shared.shproj
│ ├── Controls
│ │ ├── ActivityTile.cs
│ │ ├── MetricMarkupPresenter.xaml
│ │ └── MetricMarkupPresenter.xaml.cs
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── Strings
│ │ └── en
│ │ │ └── Resources.resw
│ └── Themes
│ │ ├── ActivityTileStyles.xaml
│ │ └── ActivityTileStyles.xaml.cs
├── BandCenter.Uno.Skia.Gtk
│ ├── Assets
│ │ └── Fonts
│ │ │ └── uno-fluentui-assets.ttf
│ ├── BandCenter.Uno.Skia.Gtk.csproj
│ ├── Program.cs
│ └── app.manifest
├── BandCenter.Uno.Skia.Tizen
│ ├── Assets
│ │ └── Fonts
│ │ │ └── uno-fluentui-assets.ttf
│ ├── BandCenter.Uno.Skia.Tizen.csproj
│ ├── Program.cs
│ ├── shared
│ │ └── res
│ │ │ └── Icon.png
│ └── tizen-manifest.xml
├── BandCenter.Uno.Skia.Wpf.Host
│ ├── App.config
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ │ └── Fonts
│ │ │ └── uno-fluentui-assets.ttf
│ ├── BandCenter.Uno.Skia.Wpf.Host.csproj
│ ├── MainWindow.xaml
│ ├── MainWindow.xaml.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ └── app.manifest
├── BandCenter.Uno.Skia.Wpf
│ ├── BandCenter.Uno.Skia.Wpf.csproj
│ └── Program.cs
├── BandCenter.Uno.UWP
│ ├── Assets
│ │ ├── Fonts
│ │ │ └── ProjectKSymbolRegular.ttf
│ │ ├── LockScreenLogo.scale-200.png
│ │ ├── SplashScreen.scale-200.png
│ │ ├── Square150x150Logo.scale-200.png
│ │ ├── Square44x44Logo.scale-200.png
│ │ ├── StoreLogo.png
│ │ └── Wide310x150Logo.scale-200.png
│ ├── BandCenter.Uno.UWP.csproj
│ ├── Package.appxmanifest
│ └── Properties
│ │ ├── AssemblyInfo.cs
│ │ └── Default.rd.xml
├── BandCenter.Uno.Wasm
│ ├── Assets
│ │ └── SplashScreen.png
│ ├── BandCenter.Uno.Wasm.csproj
│ ├── LinkerConfig.xml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── WasmCSS
│ │ └── Fonts.css
│ ├── WasmScripts
│ │ └── AppManifest.js
│ └── wwwroot
│ │ └── web.config
├── BandCenter.Uno.iOS
│ ├── BandCenter.Uno.iOS.csproj
│ ├── Entitlements.plist
│ ├── Info.plist
│ ├── LaunchScreen.storyboard
│ ├── Main.cs
│ ├── Media.xcassets
│ │ ├── AppIcons.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon1024.png
│ │ │ ├── Icon120.png
│ │ │ ├── Icon152.png
│ │ │ ├── Icon167.png
│ │ │ ├── Icon180.png
│ │ │ ├── Icon20.png
│ │ │ ├── Icon29.png
│ │ │ ├── Icon40.png
│ │ │ ├── Icon58.png
│ │ │ ├── Icon60.png
│ │ │ ├── Icon76.png
│ │ │ ├── Icon80.png
│ │ │ └── Icon87.png
│ │ └── LaunchImages.launchimage
│ │ │ └── Contents.json
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Resources
│ │ ├── Default-568h@2x.png
│ │ ├── Fonts
│ │ └── uno-fluentui-assets.ttf
│ │ ├── SplashScreen@2x.png
│ │ └── SplashScreen@3x.png
└── BandCenter.Uno.macOS
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── AppIcon-128.png
│ │ ├── AppIcon-128@2x.png
│ │ ├── AppIcon-16.png
│ │ ├── AppIcon-16@2x.png
│ │ ├── AppIcon-256.png
│ │ ├── AppIcon-256@2x.png
│ │ ├── AppIcon-32.png
│ │ ├── AppIcon-32@2x.png
│ │ ├── AppIcon-512.png
│ │ ├── AppIcon-512@2x.png
│ │ └── Contents.json
│ ├── Contents.json
│ └── unologo.imageset
│ │ ├── Contents.json
│ │ └── unoplatform.jpg
│ ├── BandCenter.Uno.macOS.csproj
│ ├── Entitlements.plist
│ ├── Info.plist
│ ├── Main.cs
│ ├── Properties
│ └── AssemblyInfo.cs
│ └── Resources
│ └── Fonts
│ └── uno-fluentui-assets.ttf
├── BandCenter.sln
└── NuGet.config
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Mono auto generated files
17 | mono_crash.*
18 |
19 | # Build results
20 | [Dd]ebug/
21 | [Dd]ebugPublic/
22 | [Rr]elease/
23 | [Rr]eleases/
24 | x64/
25 | x86/
26 | [Ww][Ii][Nn]32/
27 | [Aa][Rr][Mm]/
28 | [Aa][Rr][Mm]64/
29 | bld/
30 | [Bb]in/
31 | [Oo]bj/
32 | [Ll]og/
33 | [Ll]ogs/
34 |
35 | # Visual Studio 2015/2017 cache/options directory
36 | .vs/
37 | # Uncomment if you have tasks that create the project's static files in wwwroot
38 | #wwwroot/
39 |
40 | # Visual Studio 2017 auto generated files
41 | Generated\ Files/
42 |
43 | # MSTest test Results
44 | [Tt]est[Rr]esult*/
45 | [Bb]uild[Ll]og.*
46 |
47 | # NUnit
48 | *.VisualState.xml
49 | TestResult.xml
50 | nunit-*.xml
51 |
52 | # Build Results of an ATL Project
53 | [Dd]ebugPS/
54 | [Rr]eleasePS/
55 | dlldata.c
56 |
57 | # Benchmark Results
58 | BenchmarkDotNet.Artifacts/
59 |
60 | # .NET Core
61 | project.lock.json
62 | project.fragment.lock.json
63 | artifacts/
64 |
65 | # ASP.NET Scaffolding
66 | ScaffoldingReadMe.txt
67 |
68 | # StyleCop
69 | StyleCopReport.xml
70 |
71 | # Files built by Visual Studio
72 | *_i.c
73 | *_p.c
74 | *_h.h
75 | *.ilk
76 | *.meta
77 | *.obj
78 | *.iobj
79 | *.pch
80 | *.pdb
81 | *.ipdb
82 | *.pgc
83 | *.pgd
84 | *.rsp
85 | *.sbr
86 | *.tlb
87 | *.tli
88 | *.tlh
89 | *.tmp
90 | *.tmp_proj
91 | *_wpftmp.csproj
92 | *.log
93 | *.tlog
94 | *.vspscc
95 | *.vssscc
96 | .builds
97 | *.pidb
98 | *.svclog
99 | *.scc
100 |
101 | # Chutzpah Test files
102 | _Chutzpah*
103 |
104 | # Visual C++ cache files
105 | ipch/
106 | *.aps
107 | *.ncb
108 | *.opendb
109 | *.opensdf
110 | *.sdf
111 | *.cachefile
112 | *.VC.db
113 | *.VC.VC.opendb
114 |
115 | # Visual Studio profiler
116 | *.psess
117 | *.vsp
118 | *.vspx
119 | *.sap
120 |
121 | # Visual Studio Trace Files
122 | *.e2e
123 |
124 | # TFS 2012 Local Workspace
125 | $tf/
126 |
127 | # Guidance Automation Toolkit
128 | *.gpState
129 |
130 | # ReSharper is a .NET coding add-in
131 | _ReSharper*/
132 | *.[Rr]e[Ss]harper
133 | *.DotSettings.user
134 |
135 | # TeamCity is a build add-in
136 | _TeamCity*
137 |
138 | # DotCover is a Code Coverage Tool
139 | *.dotCover
140 |
141 | # AxoCover is a Code Coverage Tool
142 | .axoCover/*
143 | !.axoCover/settings.json
144 |
145 | # Coverlet is a free, cross platform Code Coverage Tool
146 | coverage*.json
147 | coverage*.xml
148 | coverage*.info
149 |
150 | # Visual Studio code coverage results
151 | *.coverage
152 | *.coveragexml
153 |
154 | # NCrunch
155 | _NCrunch_*
156 | .*crunch*.local.xml
157 | nCrunchTemp_*
158 |
159 | # MightyMoose
160 | *.mm.*
161 | AutoTest.Net/
162 |
163 | # Web workbench (sass)
164 | .sass-cache/
165 |
166 | # Installshield output folder
167 | [Ee]xpress/
168 |
169 | # DocProject is a documentation generator add-in
170 | DocProject/buildhelp/
171 | DocProject/Help/*.HxT
172 | DocProject/Help/*.HxC
173 | DocProject/Help/*.hhc
174 | DocProject/Help/*.hhk
175 | DocProject/Help/*.hhp
176 | DocProject/Help/Html2
177 | DocProject/Help/html
178 |
179 | # Click-Once directory
180 | publish/
181 |
182 | # Publish Web Output
183 | *.[Pp]ublish.xml
184 | *.azurePubxml
185 | # Note: Comment the next line if you want to checkin your web deploy settings,
186 | # but database connection strings (with potential passwords) will be unencrypted
187 | *.pubxml
188 | *.publishproj
189 |
190 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
191 | # checkin your Azure Web App publish settings, but sensitive information contained
192 | # in these scripts will be unencrypted
193 | PublishScripts/
194 |
195 | # NuGet Packages
196 | *.nupkg
197 | # NuGet Symbol Packages
198 | *.snupkg
199 | # The packages folder can be ignored because of Package Restore
200 | **/[Pp]ackages/*
201 | # except build/, which is used as an MSBuild target.
202 | !**/[Pp]ackages/build/
203 | # Uncomment if necessary however generally it will be regenerated when needed
204 | #!**/[Pp]ackages/repositories.config
205 | # NuGet v3's project.json files produces more ignorable files
206 | *.nuget.props
207 | *.nuget.targets
208 |
209 | # Nuget personal access tokens and Credentials
210 | # nuget.config
211 |
212 | # Microsoft Azure Build Output
213 | csx/
214 | *.build.csdef
215 |
216 | # Microsoft Azure Emulator
217 | ecf/
218 | rcf/
219 |
220 | # Windows Store app package directories and files
221 | AppPackages/
222 | BundleArtifacts/
223 | Package.StoreAssociation.xml
224 | _pkginfo.txt
225 | *.appx
226 | *.appxbundle
227 | *.appxupload
228 |
229 | # Visual Studio cache files
230 | # files ending in .cache can be ignored
231 | *.[Cc]ache
232 | # but keep track of directories ending in .cache
233 | !?*.[Cc]ache/
234 |
235 | # Others
236 | ClientBin/
237 | ~$*
238 | *~
239 | *.dbmdl
240 | *.dbproj.schemaview
241 | *.jfm
242 | *.pfx
243 | *.publishsettings
244 | orleans.codegen.cs
245 |
246 | # Including strong name files can present a security risk
247 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
248 | #*.snk
249 |
250 | # Since there are multiple workflows, uncomment next line to ignore bower_components
251 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
252 | #bower_components/
253 |
254 | # RIA/Silverlight projects
255 | Generated_Code/
256 |
257 | # Backup & report files from converting an old project file
258 | # to a newer Visual Studio version. Backup files are not needed,
259 | # because we have git ;-)
260 | _UpgradeReport_Files/
261 | Backup*/
262 | UpgradeLog*.XML
263 | UpgradeLog*.htm
264 | ServiceFabricBackup/
265 | *.rptproj.bak
266 |
267 | # SQL Server files
268 | *.mdf
269 | *.ldf
270 | *.ndf
271 |
272 | # Business Intelligence projects
273 | *.rdl.data
274 | *.bim.layout
275 | *.bim_*.settings
276 | *.rptproj.rsuser
277 | *- [Bb]ackup.rdl
278 | *- [Bb]ackup ([0-9]).rdl
279 | *- [Bb]ackup ([0-9][0-9]).rdl
280 |
281 | # Microsoft Fakes
282 | FakesAssemblies/
283 |
284 | # GhostDoc plugin setting file
285 | *.GhostDoc.xml
286 |
287 | # Node.js Tools for Visual Studio
288 | .ntvs_analysis.dat
289 | node_modules/
290 |
291 | # Visual Studio 6 build log
292 | *.plg
293 |
294 | # Visual Studio 6 workspace options file
295 | *.opt
296 |
297 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
298 | *.vbw
299 |
300 | # Visual Studio LightSwitch build output
301 | **/*.HTMLClient/GeneratedArtifacts
302 | **/*.DesktopClient/GeneratedArtifacts
303 | **/*.DesktopClient/ModelManifest.xml
304 | **/*.Server/GeneratedArtifacts
305 | **/*.Server/ModelManifest.xml
306 | _Pvt_Extensions
307 |
308 | # Paket dependency manager
309 | .paket/paket.exe
310 | paket-files/
311 |
312 | # FAKE - F# Make
313 | .fake/
314 |
315 | # CodeRush personal settings
316 | .cr/personal
317 |
318 | # Python Tools for Visual Studio (PTVS)
319 | __pycache__/
320 | *.pyc
321 |
322 | # Cake - Uncomment if you are using it
323 | # tools/**
324 | # !tools/packages.config
325 |
326 | # Tabs Studio
327 | *.tss
328 |
329 | # Telerik's JustMock configuration file
330 | *.jmconfig
331 |
332 | # BizTalk build output
333 | *.btp.cs
334 | *.btm.cs
335 | *.odx.cs
336 | *.xsd.cs
337 |
338 | # OpenCover UI analysis results
339 | OpenCover/
340 |
341 | # Azure Stream Analytics local run output
342 | ASALocalRun/
343 |
344 | # MSBuild Binary and Structured Log
345 | *.binlog
346 |
347 | # NVidia Nsight GPU debugger configuration file
348 | *.nvuser
349 |
350 | # MFractors (Xamarin productivity tool) working folder
351 | .mfractor/
352 |
353 | # Local History for Visual Studio
354 | .localhistory/
355 |
356 | # BeatPulse healthcheck temp database
357 | healthchecksdb
358 |
359 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
360 | MigrationBackup/
361 |
362 | # Ionide (cross platform F# VS Code tools) working folder
363 | .ionide/
364 |
365 | # Fody - auto-generated XML schema
366 | FodyWeavers.xsd
367 |
368 | # VS Code files for those working on multiple tools
369 | .vscode/*
370 | !.vscode/settings.json
371 | !.vscode/tasks.json
372 | !.vscode/launch.json
373 | !.vscode/extensions.json
374 | *.code-workspace
375 |
376 | # Local History for Visual Studio Code
377 | .history/
378 |
379 | # Windows Installer files from build outputs
380 | *.cab
381 | *.msi
382 | *.msix
383 | *.msm
384 | *.msp
385 |
386 | # JetBrains Rider
387 | .idea/
388 | *.sln.iml
389 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "libs/band-sdk"]
2 | path = libs/band-sdk
3 | url = https://github.com/MicrosoftBandDev/band-sdk.git
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Band Center (companion-app)
2 | A replacement of the Microsoft Health app for Microsoft Band 1/2
3 |
4 | ## Building the project
5 | Band Center uses .NET MAUI, which is still in the preview stages. Please follow the [installation guide in the .NET MAUI documentation](https://docs.microsoft.com/en-us/dotnet/maui/get-started/installation),
6 | and remember that you need Visual Studio 2022 *Preview*.
7 |
8 | Once you have the development environment set up, you're ready to clone the repo.
9 | ```bash
10 | git clone https://github.com/MicrosoftBandDev/companion-app.git
11 | cd ./companion-app
12 | ```
13 |
14 | In the future, you may also need to run the following:
15 | ```bash
16 | git submodule init
17 | git submodule update
18 | ```
19 |
20 | Once the repo has been downloaded, you can get started by opening [the BandCenter solution](https://github.com/MicrosoftBandDev/companion-app/blob/main/BandCenter/BandCenter.sln)
21 | in VS 2022 Preview.
22 |
--------------------------------------------------------------------------------
/src/.vsconfig:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0",
3 | "components": [
4 | "Microsoft.VisualStudio.Component.CoreEditor",
5 | "Microsoft.VisualStudio.Workload.CoreEditor",
6 | "Microsoft.NetCore.Component.Runtime.3.1",
7 | "Microsoft.NetCore.Component.SDK",
8 | "Microsoft.VisualStudio.Component.NuGet",
9 | "Microsoft.VisualStudio.Component.Roslyn.Compiler",
10 | "Microsoft.VisualStudio.Component.Roslyn.LanguageServices",
11 | "Microsoft.NetCore.Component.DevelopmentTools",
12 | "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions",
13 | "Microsoft.VisualStudio.Component.DockerTools",
14 | "Microsoft.NetCore.Component.Web",
15 | "Microsoft.Net.ComponentGroup.DevelopmentPrerequisites",
16 | "Microsoft.VisualStudio.Component.TypeScript.4.0",
17 | "Microsoft.VisualStudio.Component.JavaScript.TypeScript",
18 | "Microsoft.VisualStudio.Component.JavaScript.Diagnostics",
19 | "Microsoft.Component.MSBuild",
20 | "Microsoft.VisualStudio.Component.TextTemplating",
21 | "Component.Microsoft.VisualStudio.RazorExtension",
22 | "Microsoft.VisualStudio.Component.IISExpress",
23 | "Microsoft.VisualStudio.Component.SQL.ADAL",
24 | "Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime",
25 | "Microsoft.VisualStudio.Component.Common.Azure.Tools",
26 | "Microsoft.VisualStudio.Component.SQL.CLR",
27 | "Microsoft.VisualStudio.Component.MSODBC.SQL",
28 | "Microsoft.VisualStudio.Component.MSSQL.CMDLnUtils",
29 | "Microsoft.VisualStudio.Component.ManagedDesktop.Core",
30 | "Microsoft.VisualStudio.Component.SQL.SSDT",
31 | "Microsoft.VisualStudio.Component.SQL.DataSources",
32 | "Component.Microsoft.Web.LibraryManager",
33 | "Microsoft.VisualStudio.ComponentGroup.Web",
34 | "Microsoft.VisualStudio.Component.Web",
35 | "Microsoft.VisualStudio.Component.IntelliCode",
36 | "Component.Microsoft.VisualStudio.LiveShare",
37 | "Microsoft.VisualStudio.ComponentGroup.Web.Client",
38 | "Microsoft.Net.ComponentGroup.TargetingPacks.Common",
39 | "Component.Microsoft.VisualStudio.Web.AzureFunctions",
40 | "Microsoft.VisualStudio.ComponentGroup.AzureFunctions",
41 | "Microsoft.VisualStudio.Component.Azure.Compute.Emulator",
42 | "Microsoft.VisualStudio.Component.Azure.Storage.Emulator",
43 | "Microsoft.VisualStudio.Component.Azure.ClientLibs",
44 | "Microsoft.VisualStudio.Component.Azure.AuthoringTools",
45 | "Microsoft.VisualStudio.Component.CloudExplorer",
46 | "Microsoft.VisualStudio.ComponentGroup.Web.CloudTools",
47 | "Microsoft.VisualStudio.Component.DiagnosticTools",
48 | "Microsoft.VisualStudio.Component.EntityFramework",
49 | "Microsoft.VisualStudio.Component.AspNet45",
50 | "Microsoft.VisualStudio.Component.AppInsights.Tools",
51 | "Microsoft.VisualStudio.Component.WebDeploy",
52 | "Microsoft.VisualStudio.Component.Wcf.Tooling",
53 | "Microsoft.VisualStudio.Workload.NetWeb",
54 | "Microsoft.VisualStudio.ComponentGroup.Azure.Prerequisites",
55 | "Microsoft.VisualStudio.Component.Azure.Waverton.BuildTools",
56 | "Microsoft.VisualStudio.Component.Azure.Waverton",
57 | "Microsoft.Component.Azure.DataLake.Tools",
58 | "Microsoft.VisualStudio.Component.Azure.Kubernetes.Tools",
59 | "Microsoft.VisualStudio.Component.Azure.ResourceManager.Tools",
60 | "Microsoft.VisualStudio.ComponentGroup.Azure.ResourceManager.Tools",
61 | "Microsoft.VisualStudio.ComponentGroup.Azure.CloudServices",
62 | "Microsoft.VisualStudio.Component.Azure.ServiceFabric.Tools",
63 | "Microsoft.VisualStudio.Workload.Azure",
64 | "Microsoft.VisualStudio.Component.VC.CoreIde",
65 | "Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
66 | "Microsoft.VisualStudio.Component.Graphics.Tools",
67 | "Microsoft.VisualStudio.Component.Windows10SDK.19041",
68 | "Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites",
69 | "Microsoft.ComponentGroup.Blend",
70 | "Microsoft.VisualStudio.Component.Debugger.JustInTime",
71 | "Microsoft.VisualStudio.Component.PortableLibrary",
72 | "Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging",
73 | "Microsoft.VisualStudio.Workload.ManagedDesktop",
74 | "Microsoft.VisualStudio.Component.Windows10SDK.18362",
75 | "Microsoft.VisualStudio.Component.Windows10SDK.17763",
76 | "Microsoft.Component.NetFX.Native",
77 | "Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard",
78 | "Microsoft.VisualStudio.Component.Graphics",
79 | "Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin",
80 | "Microsoft.VisualStudio.ComponentGroup.UWP.Support",
81 | "Microsoft.VisualStudio.Component.VC.Tools.ARM64",
82 | "Microsoft.VisualStudio.Component.UWP.VC.ARM64",
83 | "Microsoft.VisualStudio.Component.VC.Tools.ARM",
84 | "Microsoft.VisualStudio.ComponentGroup.UWP.VC",
85 | "Microsoft.VisualStudio.Workload.Universal",
86 | "Component.OpenJDK",
87 | "Microsoft.VisualStudio.Component.MonoDebugger",
88 | "Microsoft.VisualStudio.Component.Merq",
89 | "Component.Xamarin.RemotedSimulator",
90 | "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine",
91 | "Component.Xamarin",
92 | "Component.Android.SDK28",
93 | "Microsoft.VisualStudio.Workload.NetCrossPlat",
94 | "Microsoft.VisualStudio.Workload.NetCoreTools",
95 | "Microsoft.VisualStudio.ComponentGroup.Maui.All",
96 | ]
97 | }
98 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | #005AA1
11 | White
12 |
13 | 84
14 |
15 | ProjectKSymbol
16 |
17 |
18 | OpenSansRegular
19 | Segoe UI
20 | Segoe UI
21 |
22 |
23 |
24 | OpenSansLight
25 | Segoe UI Light
26 | Segoe UI Light
27 |
28 |
29 |
33 |
34 |
35 |
39 |
40 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Maui;
2 | using Microsoft.Maui.Controls;
3 | using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;
4 | using Application = Microsoft.Maui.Controls.Application;
5 |
6 | namespace BandCenter.Maui
7 | {
8 | public partial class App : Application
9 | {
10 | public App()
11 | {
12 | InitializeComponent();
13 |
14 | MainPage = new MainPage();
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/BandCenter.Maui.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0-ios;net6.0-android;net6.0-maccatalyst
5 | $(TargetFrameworks);net6.0-windows10.0.19041
6 | Exe
7 | BandCenter.Maui
8 | true
9 | true
10 | true
11 |
12 |
13 | BandCenter.Maui
14 |
15 |
16 | com.companyname.BandCenter.Maui
17 |
18 |
19 | 1
20 |
21 |
22 | True
23 |
24 | 14.2
25 | 14.0
26 | 21.0
27 | 10.0.18362.0
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 | MSBuild:Compile
57 |
58 |
59 | MSBuild:Compile
60 |
61 |
62 |
63 |
64 | WinExe
65 | win-x64
66 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Controls/ActivityTile.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
10 |
12 |
13 |
14 |
18 |
21 |
25 |
29 |
30 |
31 |
32 |
34 |
35 |
40 |
41 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Controls/ActivityTile.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Input;
3 | using Microsoft.Maui.Controls;
4 |
5 | namespace BandCenter.Maui.Controls
6 | {
7 | public partial class ActivityTile : ContentView
8 | {
9 | public ActivityTile()
10 | {
11 | InitializeComponent();
12 | }
13 |
14 | public static readonly BindableProperty SubtitleProperty = BindableProperty.Create(
15 | nameof(Subtitle), typeof(string), typeof(ActivityTile), string.Empty, propertyChanged: Subtitle_PropertyChanged);
16 | public string Subtitle
17 | {
18 | get => (string)GetValue(SubtitleProperty);
19 | set => SetValue(SubtitleProperty, value);
20 | }
21 |
22 | public static readonly BindableProperty MetricMarkupProperty = BindableProperty.Create(
23 | nameof(MetricMarkup), typeof(string), typeof(ActivityTile), string.Empty, propertyChanged: MetricMarkup_PropertyChanged);
24 | public string MetricMarkup
25 | {
26 | get => (string)GetValue(MetricMarkupProperty);
27 | set => SetValue(MetricMarkupProperty, value);
28 | }
29 |
30 | public static readonly BindableProperty CommandParameterProperty = BindableProperty.Create(
31 | nameof(CommandParameter), typeof(object), typeof(ActivityTile), null);
32 | public object CommandParameter
33 | {
34 | get => GetValue(CommandParameterProperty);
35 | set => SetValue(CommandParameterProperty, value);
36 | }
37 |
38 | public static readonly BindableProperty CommandProperty = BindableProperty.Create(
39 | nameof(Command), typeof(ICommand), typeof(ActivityTile), null);
40 | public ICommand Command
41 | {
42 | get => (ICommand)GetValue(CommandProperty);
43 | set => SetValue(CommandProperty, value);
44 | }
45 |
46 | public static readonly BindableProperty IconSourceProperty = BindableProperty.Create(
47 | nameof(IconSource), typeof(ImageSource), typeof(ActivityTile), null, propertyChanged: IconSource_PropertyChanged);
48 | public ImageSource IconSource
49 | {
50 | get => (ImageSource)GetValue(IconSourceProperty);
51 | set => SetValue(IconSourceProperty, value);
52 | }
53 |
54 | private static void Subtitle_PropertyChanged(BindableObject bindable, object oldValue, object newValue)
55 | {
56 | // For some reason bindings just aren't working properly. ActivityTile gets the prop
57 | // changed event, but the Label never gets the new value.
58 |
59 | if (bindable is not ActivityTile tile)
60 | return;
61 |
62 | tile.SubtitleLabel.Text = newValue?.ToString();
63 | }
64 |
65 | private static void MetricMarkup_PropertyChanged(BindableObject bindable, object oldValue, object newValue)
66 | {
67 | // For some reason bindings just aren't working properly. ActivityTile gets the prop
68 | // changed event, but the MetricMarkupPresenter never gets the new value.
69 |
70 | if (bindable is not ActivityTile tile)
71 | return;
72 |
73 | tile.MarkupPresenter.MetricMarkup = newValue?.ToString();
74 | }
75 |
76 | private static void IconSource_PropertyChanged(BindableObject bindable, object oldValue, object newValue)
77 | {
78 | // For some reason bindings just aren't working properly. ActivityTile gets the prop
79 | // changed event, but the Image never gets the new value.
80 |
81 | if (bindable is not ActivityTile tile || newValue is not ImageSource source)
82 | return;
83 |
84 | tile.ImageElement.Source = source;
85 | }
86 | }
87 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Controls/MetricMarkupPresenter.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Controls/MetricMarkupPresenter.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text.RegularExpressions;
5 | using Microsoft.Maui;
6 | using Microsoft.Maui.Controls;
7 | using Microsoft.Maui.Controls.Xaml;
8 |
9 | namespace BandCenter.Maui.Controls
10 | {
11 | public partial class MetricMarkupPresenter : ContentView
12 | {
13 | public MetricMarkupPresenter()
14 | {
15 | InitializeComponent();
16 | }
17 |
18 | // TODO: Currently, the way markup is converted to TextBlocks requires that the markup
19 | // be completely reparsed when any of the styles change. It also means the markup property
20 | // has to be set after the style properties, otherwise the markup will be parsed once
21 | // without any styles, and an additional four times for each style. This is horribly
22 | // inefficient, and we should probably be using a style selector instead of a C# switch.
23 |
24 | #region Style properties
25 |
26 | public static readonly BindableProperty NoneTextStyleProperty = BindableProperty.Create(
27 | nameof(NoneTextStyle), typeof(Style), typeof(MetricMarkupPresenter), null, propertyChanged: Style_PropertyChanged);
28 | public Style NoneTextStyle
29 | {
30 | get => (Style)GetValue(NoneTextStyleProperty);
31 | set => SetValue(NoneTextStyleProperty, value);
32 | }
33 |
34 | public static readonly BindableProperty SmallTextStyleProperty = BindableProperty.Create(
35 | nameof(SmallTextStyle), typeof(Style), typeof(MetricMarkupPresenter), null, propertyChanged: Style_PropertyChanged);
36 | public Style SmallTextStyle
37 | {
38 | get => (Style)GetValue(SmallTextStyleProperty);
39 | set => SetValue(SmallTextStyleProperty, value);
40 | }
41 |
42 | public static readonly BindableProperty ItalicTextStyleProperty = BindableProperty.Create(
43 | nameof(ItalicTextStyle), typeof(Style), typeof(MetricMarkupPresenter), null, propertyChanged: Style_PropertyChanged);
44 | public Style ItalicTextStyle
45 | {
46 | get => (Style)GetValue(ItalicTextStyleProperty);
47 | set => SetValue(ItalicTextStyleProperty, value);
48 | }
49 |
50 | public static readonly BindableProperty BoldTextStyleProperty = BindableProperty.Create(
51 | nameof(BoldTextStyle), typeof(Style), typeof(MetricMarkupPresenter), null, propertyChanged: Style_PropertyChanged);
52 | public Style BoldTextStyle
53 | {
54 | get => (Style)GetValue(BoldTextStyleProperty);
55 | set => SetValue(BoldTextStyleProperty, value);
56 | }
57 |
58 | #endregion
59 |
60 | public static readonly BindableProperty MetricMarkupProperty = BindableProperty.Create(
61 | nameof(MetricMarkup), typeof(string), typeof(MetricMarkupPresenter), string.Empty, propertyChanged: MetricMarkup_PropertyChanged);
62 | public string MetricMarkup
63 | {
64 | get => (string)GetValue(MetricMarkupProperty);
65 | set => SetValue(MetricMarkupProperty, value);
66 | }
67 |
68 | private static void MetricMarkup_PropertyChanged(BindableObject bindable, object oldValue, object newValue)
69 | {
70 | if (oldValue == newValue || newValue is not string markup || bindable is not MetricMarkupPresenter presenter)
71 | return;
72 |
73 | UpdateMetricMarkup(presenter, markup);
74 | }
75 |
76 | private enum Format
77 | {
78 | None, Small, Italic, Bold
79 | }
80 |
81 | private void CommitMarkupSegment(string segment, Format format)
82 | {
83 | Span label = new()
84 | {
85 | Text = segment,
86 | Style = format switch
87 | {
88 | Format.Small => SmallTextStyle,
89 | Format.Italic => ItalicTextStyle,
90 | Format.Bold => BoldTextStyle,
91 |
92 | Format.None or
93 | _ => NoneTextStyle
94 | }
95 | };
96 | TextContent.FormattedText.Spans.Add(label);
97 | }
98 |
99 | private static void Style_PropertyChanged(BindableObject bindable, object oldValue, object newValue)
100 | {
101 | var presenter = (MetricMarkupPresenter)bindable;
102 | UpdateMetricMarkup(presenter, presenter.MetricMarkup);
103 | }
104 |
105 | private static void UpdateMetricMarkup(MetricMarkupPresenter presenter, string markup)
106 | {
107 | presenter.TextContent.FormattedText.Spans.Clear();
108 |
109 | if (string.IsNullOrEmpty(markup))
110 | return;
111 |
112 | var matches = Regex.Matches(markup, @"<([nsib])>(.*?)<\/(?:\1)>");
113 | if (matches.Count > 0)
114 | {
115 | //IList<(int idx, int len)> specialRanges = matches.OrderBy(m => m.Index).Select(m => (m.Index, m.Length)).ToList();
116 | System.Text.StringBuilder curSegment = new();
117 | int specialRangeIdx = 0;
118 | Match curSpecialRange = matches[specialRangeIdx];
119 | for (int i = 0; i < markup.Length;)
120 | {
121 | if (curSpecialRange.Index == i)
122 | {
123 | // We're now in a marked up segment
124 | // Commit the previous segment
125 | if (curSegment != null)
126 | {
127 | presenter.CommitMarkupSegment(curSegment.ToString(), Format.None);
128 | curSegment.Clear();
129 | }
130 |
131 | // Commit the marked up segment
132 | var format = matches[specialRangeIdx].Groups[1].Value switch
133 | {
134 | "n" => Format.None,
135 | "s" => Format.Small,
136 | "i" => Format.Italic,
137 | "b" => Format.Bold,
138 | _ => throw new FormatException($"Invalid format type.")
139 | };
140 | presenter.CommitMarkupSegment(curSpecialRange.Groups[2].Value, format);
141 | // Jump to end of segment
142 | i += curSpecialRange.Length;
143 |
144 | // Select next markup segment
145 | if (++specialRangeIdx < matches.Count)
146 | curSpecialRange = matches[specialRangeIdx];
147 | }
148 | else
149 | {
150 | // We're in a plain-text segment
151 | // Add character to current segment
152 | curSegment.Append(markup[i++]);
153 | }
154 | }
155 |
156 | // Make sure last segment is committed
157 | if (curSegment.Length > 0)
158 | {
159 | presenter.CommitMarkupSegment(curSegment.ToString(), Format.None);
160 | curSegment.Clear();
161 | }
162 | }
163 | else
164 | {
165 | // No special markup
166 | presenter.CommitMarkupSegment(markup, Format.None);
167 | }
168 |
169 | // Ugly hack to make sure the Label updates
170 | presenter.TextContent.FormattedText = presenter.TextContent.FormattedText;
171 | }
172 | }
173 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
20 |
27 |
28 |
30 |
31 |
33 |
34 |
35 |
36 |
38 |
39 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Microsoft.Band;
3 | using Microsoft.Maui.Controls;
4 | using Microsoft.Maui.Essentials;
5 |
6 | #if DEBUG
7 | using Console = System.Diagnostics.Debug;
8 | #endif
9 |
10 | namespace BandCenter.Maui
11 | {
12 | public partial class MainPage : ContentPage
13 | {
14 | int count = 0;
15 |
16 | public MainPage()
17 | {
18 | InitializeComponent();
19 | }
20 |
21 | private async void OnCounterClicked(object sender, EventArgs e)
22 | {
23 | #if WINDOWS
24 | IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();
25 | if (pairedBands == null || pairedBands.Length == 0)
26 | return;
27 |
28 | IBandInfo band = pairedBands[0];
29 | // TODO: Make sure band is available
30 |
31 | try
32 | {
33 | using IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(band);
34 | var version = await bandClient.GetFirmwareVersionAsync();
35 |
36 | // check current user heart rate consent
37 | if (bandClient.SensorManager.HeartRate.GetCurrentUserConsent() != UserConsent.Granted)
38 | {
39 | // user hasn’t consented, request consent
40 | await bandClient.SensorManager.HeartRate.RequestUserConsentAsync();
41 | }
42 |
43 | // hook up to the Heartrate sensor ReadingChanged event
44 | bandClient.SensorManager.HeartRate.ReadingChanged += (sender, args) =>
45 | {
46 | // do work when the reading changes (i.e., update a UI element)
47 | Dispatcher.Dispatch(() =>
48 | {
49 | CounterLabel.Text = $"Current heart rate: {args.SensorReading.HeartRate}";
50 |
51 | SemanticScreenReader.Announce(CounterLabel.Text);
52 | });
53 | };
54 |
55 | // start the Heartrate sensor
56 | //await bandClient.SensorManager.HeartRate.StartReadingsAsync();
57 | //await System.Threading.Tasks.Task.Delay(new TimeSpan(0, 0, 30));
58 | //await bandClient.SensorManager.HeartRate.StopReadingsAsync();
59 | //return;
60 |
61 | Guid smsTileId = Guid.Parse("b4edbc35-027b-4d10-a797-1099cd2ad98a");
62 | await bandClient.NotificationManager.SendMessageAsync(smsTileId,
63 | "Test Message",
64 | "This isn't a real message",
65 | DateTimeOffset.Now,
66 | Microsoft.Band.Notifications.MessageFlags.ShowDialog,
67 | true);
68 | return;
69 |
70 | Guid tileId = Guid.Parse("870671A2-E128-4EB6-9F42-D75FA9290B40");
71 | Guid tilePageId = Guid.Parse("870671A2-E128-4EB6-9F42-D75FA9290B41");
72 | Microsoft.Band.Tiles.Pages.PageLayout tilePage = new(new Microsoft.Band.Tiles.Pages.FilledPanel(
73 | new Microsoft.Band.Tiles.Pages.TextButton()
74 | {
75 | ElementId = 0x1
76 | }
77 | ));
78 | var tile = new Microsoft.Band.Tiles.BandTile(tileId)
79 | {
80 | Name = "Band Companion",
81 | SmallIcon = new StreamImageSource
82 | {
83 | Stream = async (token) =>
84 | {
85 | return System.IO.File.OpenRead(@"D:\Pictures\24_testB.png");
86 | }
87 | }.BandIconFromMauiImage(),
88 | TileIcon = new StreamImageSource
89 | {
90 | Stream = async (token) =>
91 | {
92 | return System.IO.File.OpenRead(@"D:\Pictures\48_testB.png");
93 | }
94 | }.BandIconFromMauiImage(),
95 | PageLayouts =
96 | {
97 | tilePage
98 | }
99 | };
100 |
101 | var tiles = await bandClient.TileManager.GetTilesAsync();
102 | await bandClient.TileManager.RemoveTileAsync(tileId);
103 | bool tileAdded = await bandClient.TileManager.AddTileAsync(tile);
104 | if (!tileAdded)
105 | {
106 | CounterLabel.Text = "Failed to add tile.";
107 | return;
108 | }
109 | CounterLabel.Text = "Added tile.";
110 |
111 | await bandClient.TileManager.SetPagesAsync(tileId, new Microsoft.Band.Tiles.Pages.PageData[]
112 | {
113 | new Microsoft.Band.Tiles.Pages.PageData(tilePageId, 0, new Microsoft.Band.Tiles.Pages.TextButtonData(0x1, "Howdy from Band Center!"))
114 | });
115 |
116 | tiles = await bandClient.TileManager.GetTilesAsync();
117 | }
118 | catch (BandException ex)
119 | {
120 | // Handle a Band connection exception
121 | Console.WriteLine(ex);
122 | }
123 | #endif
124 | }
125 | }
126 | }
127 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/MauiProgram.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Maui;
2 | using Microsoft.Maui.Hosting;
3 | using Microsoft.Maui.Controls.Compatibility;
4 | using Microsoft.Maui.Controls.Hosting;
5 |
6 | namespace BandCenter.Maui
7 | {
8 | public static class MauiProgram
9 | {
10 | public static MauiApp CreateMauiApp()
11 | {
12 | var builder = MauiApp.CreateBuilder();
13 | builder
14 | .UseMauiApp()
15 | .ConfigureFonts(fonts =>
16 | {
17 | fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
18 | fonts.AddFont("ProjectKSymbolRegular.ttf", "ProjectKSymbol");
19 | });
20 |
21 | return builder.Build();
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/Android/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Microsoft.Maui;
4 |
5 | namespace BandCenter.Maui
6 | {
7 | [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
8 | public class MainActivity : MauiAppCompatActivity
9 | {
10 | }
11 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/Android/MainApplication.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Android.App;
3 | using Android.Runtime;
4 | using Microsoft.Maui;
5 | using Microsoft.Maui.Hosting;
6 |
7 | namespace BandCenter.Maui
8 | {
9 | [Application]
10 | public class MainApplication : MauiApplication
11 | {
12 | public MainApplication(IntPtr handle, JniHandleOwnership ownership)
13 | : base(handle, ownership)
14 | {
15 | }
16 |
17 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
18 | }
19 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/Android/Resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #512BD4
4 | #2B0B98
5 | #2B0B98
6 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/MacCatalyst/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 | using Microsoft.Maui;
3 | using Microsoft.Maui.Hosting;
4 |
5 | namespace BandCenter.Maui
6 | {
7 | [Register("AppDelegate")]
8 | public class AppDelegate : MauiUIApplicationDelegate
9 | {
10 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
11 | }
12 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/MacCatalyst/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIDeviceFamily
6 |
7 | 1
8 | 2
9 |
10 | UIRequiredDeviceCapabilities
11 |
12 | arm64
13 |
14 | UISupportedInterfaceOrientations
15 |
16 | UIInterfaceOrientationPortrait
17 | UIInterfaceOrientationLandscapeLeft
18 | UIInterfaceOrientationLandscapeRight
19 |
20 | UISupportedInterfaceOrientations~ipad
21 |
22 | UIInterfaceOrientationPortrait
23 | UIInterfaceOrientationPortraitUpsideDown
24 | UIInterfaceOrientationLandscapeLeft
25 | UIInterfaceOrientationLandscapeRight
26 |
27 | XSAppIconAssets
28 | Assets.xcassets/appicon.appiconset
29 |
30 |
31 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/MacCatalyst/Program.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace BandCenter.Maui
4 | {
5 | public class Program
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, typeof(AppDelegate));
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/Windows/App.xaml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/Windows/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Maui;
2 | using Microsoft.Maui.Hosting;
3 | using Microsoft.UI.Xaml;
4 | using Windows.ApplicationModel;
5 |
6 | // To learn more about WinUI, the WinUI project structure,
7 | // and more about our project templates, see: http://aka.ms/winui-project-info.
8 |
9 | namespace BandCenter.Maui.WinUI
10 | {
11 | ///
12 | /// Provides application-specific behavior to supplement the default Application class.
13 | ///
14 | public partial class App : MauiWinUIApplication
15 | {
16 | ///
17 | /// Initializes the singleton application object. This is the first line of authored code
18 | /// executed, and as such is the logical equivalent of main() or WinMain().
19 | ///
20 | public App()
21 | {
22 | this.InitializeComponent();
23 | }
24 |
25 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
26 |
27 | protected override void OnLaunched(LaunchActivatedEventArgs args)
28 | {
29 | base.OnLaunched(args);
30 |
31 | Microsoft.Maui.Essentials.Platform.OnLaunched(args);
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/Windows/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
13 |
14 |
15 | BandCenter.Maui
16 | Microsoft
17 | appiconStoreLogo.png
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
33 |
39 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/Windows/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 | true/PM
12 | PerMonitorV2, PerMonitor
13 |
14 |
15 |
16 |
17 |
18 |
19 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/iOS/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 | using Microsoft.Maui;
3 | using Microsoft.Maui.Hosting;
4 |
5 | namespace BandCenter.Maui
6 | {
7 | [Register("AppDelegate")]
8 | public class AppDelegate : MauiUIApplicationDelegate
9 | {
10 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
11 | }
12 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LSRequiresIPhoneOS
6 |
7 | UIDeviceFamily
8 |
9 | 1
10 | 2
11 |
12 | UIRequiredDeviceCapabilities
13 |
14 | arm64
15 |
16 | UISupportedInterfaceOrientations
17 |
18 | UIInterfaceOrientationPortrait
19 | UIInterfaceOrientationLandscapeLeft
20 | UIInterfaceOrientationLandscapeRight
21 |
22 | UISupportedInterfaceOrientations~ipad
23 |
24 | UIInterfaceOrientationPortrait
25 | UIInterfaceOrientationPortraitUpsideDown
26 | UIInterfaceOrientationLandscapeLeft
27 | UIInterfaceOrientationLandscapeRight
28 |
29 | XSAppIconAssets
30 | Assets.xcassets/appicon.appiconset
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/iOS/Program.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace BandCenter.Maui
4 | {
5 | public class Program
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, typeof(AppDelegate));
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Platforms/iOS/Resources/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
21 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Windows Machine": {
4 | "commandName": "MsixPackage",
5 | "nativeDebugging": false
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Resources/Fonts/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Maui/Resources/Fonts/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Resources/Fonts/ProjectKSymbolRegular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Maui/Resources/Fonts/ProjectKSymbolRegular.ttf
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Resources/appicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/BandCenter.Maui/Resources/appiconfg.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | To add cross-platform image assets for your Uno Platform app, use the Assets folder
2 | in the shared project instead. Assets in this folder are Android-only assets.
3 |
4 | Any raw assets you want to be deployed with your application can be placed in
5 | this directory (and child directories) and given a Build Action of "AndroidAsset".
6 |
7 | These files will be deployed with you package and will be accessible using Android's
8 | AssetManager, like this:
9 |
10 | public class ReadAsset : Activity
11 | {
12 | protected override void OnCreate (Bundle bundle)
13 | {
14 | base.OnCreate (bundle);
15 |
16 | InputStream input = Assets.Open ("my_asset.txt");
17 | }
18 | }
19 |
20 | Additionally, some Android functions will automatically load asset files:
21 |
22 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
23 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Assets/Fonts/ProjectKSymbolRegular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Droid/Assets/Fonts/ProjectKSymbolRegular.ttf
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Assets/Fonts/uno-fluentui-assets.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Droid/Assets/Fonts/uno-fluentui-assets.ttf
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/BandCenter.Uno.Droid.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | 8.0.30703
7 | 2.0
8 | {B46C2AD1-6719-4EF3-B07D-8300FAD34C1A}
9 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
10 | Library
11 | Properties
12 | BandCenter.Uno.Droid
13 | BandCenter.Uno.Droid
14 | 512
15 | true
16 | Resources\Resource.Designer.cs
17 | true
18 | Off
19 | False
20 | v12.0
21 | 9
22 | Properties\AndroidManifest.xml
23 | True
24 | ..\BandCenter.Uno.Shared\Strings
25 |
26 |
27 | true
28 | portable
29 | false
30 | bin\Debug\
31 | DEBUG;TRACE
32 | prompt
33 | 4
34 | True
35 | None
36 |
37 |
38 | portable
39 | true
40 | true
41 | true
42 | bin\Release\
43 | TRACE
44 | prompt
45 | 4
46 | False
47 | SdkOnly
48 | true
49 | true
50 | true
51 | true
52 | true
53 |
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 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 | {98977187-0556-4ecd-a867-5fe5dafe508b}
103 | Microsoft.Band.Uno
104 |
105 |
106 | {5b28e28b-03ee-4441-953b-f20126d5071c}
107 | Microsoft.Band.Admin.Uno
108 |
109 |
110 | {2b8cfaae-9dd7-4fcd-9157-82effdc64307}
111 | Microsoft.Band.Admin
112 |
113 |
114 | {7ac5b21c-e909-4d66-a9bc-f92525720e49}
115 | Microsoft.Band
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Main.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using Android.App;
6 | using Android.Content;
7 | using Android.OS;
8 | using Android.Runtime;
9 | using Android.Views;
10 | using Android.Widget;
11 | using Com.Nostra13.Universalimageloader.Core;
12 | using Windows.UI.Xaml.Media;
13 |
14 | namespace BandCenter.Uno.Droid
15 | {
16 | [global::Android.App.ApplicationAttribute(
17 | Label = "@string/ApplicationName",
18 | Icon = "@mipmap/icon",
19 | LargeHeap = true,
20 | HardwareAccelerated = true,
21 | Theme = "@style/AppTheme"
22 | )]
23 | public class Application : Windows.UI.Xaml.NativeApplication
24 | {
25 | public Application(IntPtr javaReference, JniHandleOwnership transfer)
26 | : base(() => new App(), javaReference, transfer)
27 | {
28 | ConfigureUniversalImageLoader();
29 | }
30 |
31 | private void ConfigureUniversalImageLoader()
32 | {
33 | // Create global configuration and initialize ImageLoader with this config
34 | ImageLoaderConfiguration config = new ImageLoaderConfiguration
35 | .Builder(Context)
36 | .Build();
37 |
38 | ImageLoader.Instance.Init(config);
39 |
40 | ImageSource.DefaultImageLoader = ImageLoader.Instance.LoadImageAsync;
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Widget;
3 | using Android.OS;
4 | using Android.Content.PM;
5 | using Android.Views;
6 |
7 | namespace BandCenter.Uno.Droid
8 | {
9 | [Activity(
10 | MainLauncher = true,
11 | ConfigurationChanges = global::Uno.UI.ActivityHelper.AllConfigChanges,
12 | WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden
13 | )]
14 | public class MainActivity : Windows.UI.Xaml.ApplicationActivity
15 | {
16 | }
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/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("BandCenter.Uno.Droid")]
10 | [assembly: AssemblyDescription("")]
11 | [assembly: AssemblyConfiguration("")]
12 | [assembly: AssemblyCompany("")]
13 | [assembly: AssemblyProduct("BandCenter.Uno.Droid")]
14 | [assembly: AssemblyCopyright("Copyright © 2022")]
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 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/AboutResources.txt:
--------------------------------------------------------------------------------
1 | To add cross-platform image assets for your Uno Platform app, use the Assets folder
2 | in the shared project instead. Resources in this folder are Android-only.
3 |
4 | Images, layout descriptions, binary blobs and string dictionaries can be included
5 | in your application as resource files. Various Android APIs are designed to
6 | operate on the resource IDs instead of dealing with images, strings or binary blobs
7 | directly.
8 |
9 | For example, a sample Android app that contains a user interface layout (main.axml),
10 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
11 | would keep its resources in the "Resources" directory of the application:
12 |
13 | Resources/
14 | drawable/
15 | icon.png
16 |
17 | layout/
18 | main.axml
19 |
20 | values/
21 | strings.xml
22 |
23 | In order to get the build system to recognize Android resources, set the build action to
24 | "AndroidResource". The native Android APIs do not operate directly with filenames, but
25 | instead operate on resource IDs. When you compile an Android application that uses resources,
26 | the build system will package the resources for distribution and generate a class called "R"
27 | (this is an Android convention) that contains the tokens for each one of the resources
28 | included. For example, for the above Resources layout, this is what the R class would expose:
29 |
30 | public class R {
31 | public class drawable {
32 | public const int icon = 0x123;
33 | }
34 |
35 | public class layout {
36 | public const int main = 0x456;
37 | }
38 |
39 | public class strings {
40 | public const int first_string = 0xabc;
41 | public const int second_string = 0xbcd;
42 | }
43 | }
44 |
45 | You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main
46 | to reference the layout/main.axml file, or R.strings.first_string to reference the first
47 | string in the dictionary file values/strings.xml.
48 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-hdpi/icon.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-ldpi/icon.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-mdpi/icon.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-tvdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-tvdpi/icon.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-xhdpi/icon.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-xxhdpi/icon.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/mipmap-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/values/Strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World, Click Me!
4 | BandCenter.Uno
5 |
6 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Droid/Resources/values/Styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | /Assets/Fonts/ProjectKSymbolRegular.ttf#ProjectKSymbol
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.Logging;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.IO;
5 | using System.Linq;
6 | using System.Runtime.InteropServices.WindowsRuntime;
7 | using Windows.ApplicationModel;
8 | using Windows.ApplicationModel.Activation;
9 | using Windows.Foundation;
10 | using Windows.Foundation.Collections;
11 | using Windows.UI.Xaml;
12 | using Windows.UI.Xaml.Controls;
13 | using Windows.UI.Xaml.Controls.Primitives;
14 | using Windows.UI.Xaml.Data;
15 | using Windows.UI.Xaml.Input;
16 | using Windows.UI.Xaml.Media;
17 | using Windows.UI.Xaml.Navigation;
18 |
19 | namespace BandCenter.Uno
20 | {
21 | ///
22 | /// Provides application-specific behavior to supplement the default Application class.
23 | ///
24 | public sealed partial class App : Application
25 | {
26 | private Window _window;
27 |
28 | ///
29 | /// Initializes the singleton application object. This is the first line of authored code
30 | /// executed, and as such is the logical equivalent of main() or WinMain().
31 | ///
32 | public App()
33 | {
34 | InitializeLogging();
35 |
36 | this.InitializeComponent();
37 |
38 | #if HAS_UNO || NETFX_CORE
39 | this.Suspending += OnSuspending;
40 | #endif
41 | }
42 |
43 | ///
44 | /// Invoked when the application is launched normally by the end user. Other entry points
45 | /// will be used such as when the application is launched to open a specific file.
46 | ///
47 | /// Details about the launch request and process.
48 | protected override void OnLaunched(LaunchActivatedEventArgs args)
49 | {
50 | #if DEBUG
51 | if (System.Diagnostics.Debugger.IsAttached)
52 | {
53 | // this.DebugSettings.EnableFrameRateCounter = true;
54 | }
55 | #endif
56 |
57 | #if NET5_0 && WINDOWS
58 | _window = new Window();
59 | _window.Activate();
60 | #else
61 | _window = Windows.UI.Xaml.Window.Current;
62 | #endif
63 |
64 | var rootFrame = _window.Content as Frame;
65 |
66 | // Do not repeat app initialization when the Window already has content,
67 | // just ensure that the window is active
68 | if (rootFrame == null)
69 | {
70 | // Create a Frame to act as the navigation context and navigate to the first page
71 | rootFrame = new Frame();
72 |
73 | rootFrame.NavigationFailed += OnNavigationFailed;
74 |
75 | if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
76 | {
77 | // TODO: Load state from previously suspended application
78 | }
79 |
80 | // Place the frame in the current Window
81 | _window.Content = rootFrame;
82 | }
83 |
84 | #if !(NET5_0 && WINDOWS)
85 | if (args.PrelaunchActivated == false)
86 | #endif
87 | {
88 | if (rootFrame.Content == null)
89 | {
90 | // When the navigation stack isn't restored navigate to the first page,
91 | // configuring the new page by passing required information as a navigation
92 | // parameter
93 | rootFrame.Navigate(typeof(MainPage), args.Arguments);
94 | }
95 | // Ensure the current window is active
96 | _window.Activate();
97 | }
98 | }
99 |
100 | ///
101 | /// Invoked when Navigation to a certain page fails
102 | ///
103 | /// The Frame which failed navigation
104 | /// Details about the navigation failure
105 | void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
106 | {
107 | throw new InvalidOperationException($"Failed to load {e.SourcePageType.FullName}: {e.Exception}");
108 | }
109 |
110 | ///
111 | /// Invoked when application execution is being suspended. Application state is saved
112 | /// without knowing whether the application will be terminated or resumed with the contents
113 | /// of memory still intact.
114 | ///
115 | /// The source of the suspend request.
116 | /// Details about the suspend request.
117 | private void OnSuspending(object sender, SuspendingEventArgs e)
118 | {
119 | var deferral = e.SuspendingOperation.GetDeferral();
120 | // TODO: Save application state and stop any background activity
121 | deferral.Complete();
122 | }
123 |
124 | ///
125 | /// Configures global Uno Platform logging
126 | ///
127 | private static void InitializeLogging()
128 | {
129 | var factory = LoggerFactory.Create(builder =>
130 | {
131 | #if __WASM__
132 | builder.AddProvider(new global::Uno.Extensions.Logging.WebAssembly.WebAssemblyConsoleLoggerProvider());
133 | #elif __IOS__
134 | builder.AddProvider(new global::Uno.Extensions.Logging.OSLogLoggerProvider());
135 | #elif NETFX_CORE
136 | builder.AddDebug();
137 | #else
138 | builder.AddConsole();
139 | #endif
140 |
141 | // Exclude logs below this level
142 | builder.SetMinimumLevel(LogLevel.Information);
143 |
144 | // Default filters for Uno Platform namespaces
145 | builder.AddFilter("Uno", LogLevel.Warning);
146 | builder.AddFilter("Windows", LogLevel.Warning);
147 | builder.AddFilter("Microsoft", LogLevel.Warning);
148 |
149 | // Generic Xaml events
150 | // builder.AddFilter("Windows.UI.Xaml", LogLevel.Debug );
151 | // builder.AddFilter("Windows.UI.Xaml.VisualStateGroup", LogLevel.Debug );
152 | // builder.AddFilter("Windows.UI.Xaml.StateTriggerBase", LogLevel.Debug );
153 | // builder.AddFilter("Windows.UI.Xaml.UIElement", LogLevel.Debug );
154 | // builder.AddFilter("Windows.UI.Xaml.FrameworkElement", LogLevel.Trace );
155 |
156 | // Layouter specific messages
157 | // builder.AddFilter("Windows.UI.Xaml.Controls", LogLevel.Debug );
158 | // builder.AddFilter("Windows.UI.Xaml.Controls.Layouter", LogLevel.Debug );
159 | // builder.AddFilter("Windows.UI.Xaml.Controls.Panel", LogLevel.Debug );
160 |
161 | // builder.AddFilter("Windows.Storage", LogLevel.Debug );
162 |
163 | // Binding related messages
164 | // builder.AddFilter("Windows.UI.Xaml.Data", LogLevel.Debug );
165 | // builder.AddFilter("Windows.UI.Xaml.Data", LogLevel.Debug );
166 |
167 | // Binder memory references tracking
168 | // builder.AddFilter("Uno.UI.DataBinding.BinderReferenceHolder", LogLevel.Debug );
169 |
170 | // RemoteControl and HotReload related
171 | // builder.AddFilter("Uno.UI.RemoteControl", LogLevel.Information);
172 |
173 | // Debug JS interop
174 | // builder.AddFilter("Uno.Foundation.WebAssemblyRuntime", LogLevel.Debug );
175 | });
176 |
177 | global::Uno.Extensions.LogExtensionPoint.AmbientLoggerFactory = factory;
178 |
179 | #if HAS_UNO
180 | global::Uno.UI.Adapter.Microsoft.Extensions.Logging.LoggingAdapter.Initialize();
181 | #endif
182 | }
183 | }
184 | }
185 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/Assets/SharedAssets.md:
--------------------------------------------------------------------------------
1 | See documentation about assets here : https://github.com/unoplatform/uno/blob/master/doc/articles/features/working-with-assets.md
2 |
3 | # Here is a cheat sheet:
4 |
5 | 1. Add the image file to the `Assets` directory of a shared project.
6 | 2. Set the build action to `Content`.
7 | 3. (Recommended) Provide an asset for various scales/dpi
8 |
9 | ## Examples
10 |
11 | ```
12 | \Assets\Images\logo.scale-100.png
13 | \Assets\Images\logo.scale-200.png
14 | \Assets\Images\logo.scale-400.png
15 |
16 | \Assets\Images\scale-100\logo.png
17 | \Assets\Images\scale-200\logo.png
18 | \Assets\Images\scale-400\logo.png
19 | ```
20 |
21 | ## Table of scales
22 |
23 | | Scale | UWP | iOS | Android |
24 | |-------|:-----------:|:--------:|:-------:|
25 | | `100` | scale-100 | @1x | mdpi |
26 | | `125` | scale-125 | N/A | N/A |
27 | | `150` | scale-150 | N/A | hdpi |
28 | | `200` | scale-200 | @2x | xhdpi |
29 | | `300` | scale-300 | @3x | xxhdpi |
30 | | `400` | scale-400 | N/A | xxxhdpi |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/BandCenter.Uno.Shared.projitems:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
5 | true
6 | 6279c845-92f8-4333-ab99-3d213163593c
7 |
8 |
9 | BandCenter.Uno
10 |
11 |
12 |
13 | Designer
14 | MSBuild:Compile
15 |
16 |
17 |
18 |
19 | App.xaml
20 |
21 |
22 |
23 | MetricMarkupPresenter.xaml
24 |
25 |
26 | MainPage.xaml
27 |
28 |
29 | ActivityTileStyles.xaml
30 |
31 |
32 |
33 |
34 | Designer
35 | MSBuild:Compile
36 |
37 |
38 | Designer
39 | MSBuild:Compile
40 |
41 |
42 | Designer
43 | MSBuild:Compile
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
58 | <_Globbled_Page Include="$(MSBuildThisFileDirectory)**/*.xaml" Exclude="@(Page);@(ApplicationDefinition)">
59 | Designer
60 | MSBuild:Compile
61 |
62 |
63 | <_Globbed_Compile Include="$(MSBuildThisFileDirectory)**/*.xaml.cs" Exclude="@(Compile)">
64 | %(Filename)
65 |
66 | <_Globbed_Compile Include="$(MSBuildThisFileDirectory)**/*.cs" Exclude="@(Compile);@(_Globbed_Compile)" />
67 |
68 | <_Globbed_PRIResource Include="$(MSBuildThisFileDirectory)**/*.resw" Exclude="@(PRIResource)" />
69 |
70 | <_Globbed_Content Include="$(MSBuildThisFileDirectory)Assets/**/*.*" Exclude="@(Content)" />
71 |
72 |
73 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/BandCenter.Uno.Shared.shproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 6279c845-92f8-4333-ab99-3d213163593c
5 | 14.0
6 | BandCenter.Uno
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | <_Globbed_Compile Remove="Controls\ActivityTile.cs" />
16 | <_Globbed_Compile Remove="Controls\MetricMarkupPresenter.xaml.cs" />
17 | <_Globbed_Compile Remove="Themes\ActivityTileStyles.xaml.cs" />
18 |
19 |
20 | <_Globbled_Page Remove="Controls\ActivityTile.xaml" />
21 | <_Globbled_Page Remove="Controls\MetricMarkupPresenter.xaml" />
22 |
23 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/Controls/ActivityTile.cs:
--------------------------------------------------------------------------------
1 | using Windows.UI.Xaml;
2 | using Windows.UI.Xaml.Controls;
3 |
4 | // To learn more about WinUI, the WinUI project structure,
5 | // and more about our project templates, see: http://aka.ms/winui-project-info.
6 |
7 | namespace BandCenter.Uno.Controls
8 | {
9 | public sealed partial class ActivityTile : Control
10 | {
11 | public ActivityTile()
12 | {
13 | this.DefaultStyleKey = typeof(ActivityTile);
14 | }
15 |
16 | public static readonly DependencyProperty SubtitleProperty = DependencyProperty.Register(
17 | nameof(Subtitle), typeof(string), typeof(ActivityTile), new(string.Empty));
18 | public string Subtitle
19 | {
20 | get => (string)GetValue(SubtitleProperty);
21 | set => SetValue(SubtitleProperty, value);
22 | }
23 |
24 | public static readonly DependencyProperty MetricMarkupProperty = DependencyProperty.Register(
25 | nameof(MetricMarkup), typeof(string), typeof(ActivityTile), new(string.Empty));
26 | public string MetricMarkup
27 | {
28 | get => (string)GetValue(MetricMarkupProperty);
29 | set => SetValue(MetricMarkupProperty, value);
30 | }
31 |
32 | public static readonly DependencyProperty IconProperty = DependencyProperty.Register(
33 | nameof(Icon), typeof(IconSource), typeof(ActivityTile), new(null));
34 | public IconSource Icon
35 | {
36 | get => (IconSource)GetValue(IconProperty);
37 | set => SetValue(IconProperty, value);
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/Controls/MetricMarkupPresenter.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/Controls/MetricMarkupPresenter.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Text.RegularExpressions;
3 | using Windows.UI.Text;
4 | using Windows.UI.Xaml;
5 | using Windows.UI.Xaml.Controls;
6 | using Windows.UI.Xaml.Documents;
7 |
8 | // The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236
9 |
10 | namespace BandCenter.Uno.Controls
11 | {
12 | public sealed partial class MetricMarkupPresenter : UserControl
13 | {
14 | public MetricMarkupPresenter()
15 | {
16 | this.InitializeComponent();
17 | }
18 |
19 | public static readonly DependencyProperty MetricMarkupProperty = DependencyProperty.Register(
20 | nameof(MetricMarkup), typeof(string), typeof(MetricMarkupPresenter), new(string.Empty, MetricMarkup_PropertyChanged));
21 | public string MetricMarkup
22 | {
23 | get => (string)GetValue(MetricMarkupProperty);
24 | set => SetValue(MetricMarkupProperty, value);
25 | }
26 |
27 | private static void MetricMarkup_PropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
28 | {
29 | if (e.OldValue == e.NewValue || e.NewValue is not string markup || d is not MetricMarkupPresenter presenter)
30 | return;
31 |
32 | UpdateMetricMarkup(presenter, markup);
33 | }
34 |
35 | private enum Format
36 | {
37 | None, Small, Italic, Bold
38 | }
39 |
40 | private void CommitMarkupSegment(string segment, Format format)
41 | {
42 | Run label = new()
43 | {
44 | Text = segment,
45 | FontSize = 32,
46 | };
47 |
48 | switch (format)
49 | {
50 | case Format.Small:
51 | label.FontSize = 14;
52 | break;
53 |
54 | case Format.Italic:
55 | label.FontStyle = FontStyle.Italic;
56 | break;
57 |
58 | case Format.Bold:
59 | label.FontWeight = FontWeights.Bold;
60 | break;
61 | }
62 |
63 | TextContent.Inlines.Add(label);
64 | }
65 |
66 | private static void UpdateMetricMarkup(MetricMarkupPresenter presenter, string markup)
67 | {
68 | presenter.TextContent.Inlines.Clear();
69 |
70 | if (string.IsNullOrEmpty(markup))
71 | return;
72 |
73 | var matches = Regex.Matches(markup, @"<([nsib])>(.*?)<\/\1>");
74 | if (matches.Count > 0)
75 | {
76 | System.Text.StringBuilder curSegment = new();
77 | int specialRangeIdx = 0;
78 | Match curSpecialRange = matches[specialRangeIdx];
79 | for (int i = 0; i < markup.Length;)
80 | {
81 | if (curSpecialRange.Index == i)
82 | {
83 | // We're now in a marked up segment
84 | // Commit the previous segment
85 | if (curSegment != null)
86 | {
87 | presenter.CommitMarkupSegment(curSegment.ToString(), Format.None);
88 | curSegment.Clear();
89 | }
90 |
91 | // Commit the marked up segment
92 | var format = matches[specialRangeIdx].Groups[1].Value switch
93 | {
94 | "n" => Format.None,
95 | "s" => Format.Small,
96 | "i" => Format.Italic,
97 | "b" => Format.Bold,
98 | _ => throw new FormatException($"Invalid format type.")
99 | };
100 | presenter.CommitMarkupSegment(curSpecialRange.Groups[2].Value, format);
101 | // Jump to end of segment
102 | i += curSpecialRange.Length;
103 |
104 | // Select next markup segment
105 | if (++specialRangeIdx < matches.Count)
106 | curSpecialRange = matches[specialRangeIdx];
107 | }
108 | else
109 | {
110 | // We're in a plain-text segment
111 | // Add character to current segment
112 | curSegment.Append(markup[i++]);
113 | }
114 | }
115 |
116 | // Make sure last segment is committed
117 | if (curSegment.Length > 0)
118 | {
119 | presenter.CommitMarkupSegment(curSegment.ToString(), Format.None);
120 | curSegment.Clear();
121 | }
122 | }
123 | else
124 | {
125 | // No special markup
126 | presenter.CommitMarkupSegment(markup, Format.None);
127 | }
128 | }
129 | }
130 | }
131 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
16 |
17 |
18 |
19 |
20 |
22 |
23 |
24 |
25 |
26 |
28 |
29 |
30 |
31 |
32 |
34 |
35 |
36 |
37 |
38 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using BandCenter.Uno.Controls;
2 | using Microsoft.Band;
3 | using Microsoft.Band.Admin.Phone;
4 | using System;
5 | using System.Collections.Generic;
6 | using System.IO;
7 | using System.Linq;
8 | using System.Runtime.InteropServices.WindowsRuntime;
9 | using Windows.Foundation;
10 | using Windows.Foundation.Collections;
11 | using Windows.UI.Xaml;
12 | using Windows.UI.Xaml.Controls;
13 | using Windows.UI.Xaml.Controls.Primitives;
14 | using Windows.UI.Xaml.Data;
15 | using Windows.UI.Xaml.Input;
16 | using Windows.UI.Xaml.Media;
17 | using Windows.UI.Xaml.Media.Imaging;
18 | using Windows.UI.Xaml.Navigation;
19 |
20 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
21 |
22 | namespace BandCenter.Uno
23 | {
24 | ///
25 | /// An empty page that can be used on its own or navigated to within a Frame.
26 | ///
27 | public sealed partial class MainPage : Page
28 | {
29 | public MainPage()
30 | {
31 | Loaded += MainPage_Loaded;
32 | this.InitializeComponent();
33 | }
34 |
35 | private async void MainPage_Loaded(object sender, RoutedEventArgs e)
36 | {
37 | IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();
38 | if (pairedBands == null || pairedBands.Length == 0)
39 | return;
40 |
41 | IBandInfo band = pairedBands[0];
42 | // TODO: Make sure band is available
43 |
44 | try
45 | {
46 | using var bandClient = await BandAdminClientManager.Instance.ConnectAsync(band);
47 | var version = await bandClient.GetFirmwareVersionAsync();
48 |
49 | var lastRun = await bandClient.GetLastRunStatisticsAsync();
50 | RunTile.Subtitle = $"{lastRun.EndTime:ddd M/dd}";
51 | RunTile.MetricMarkup = $"{lastRun.Distance / (1609.344*100):##0.0}mi";
52 |
53 | var lastSleep = await bandClient.GetLastSleepStatisticsAsync();
54 | var timeAsleep = TimeSpan.FromMilliseconds(lastSleep.TimeAsleep);
55 | SleepTile.Subtitle = $"{lastSleep.EndTime:ddd M/dd}, Actual sleep";
56 | SleepTile.MetricMarkup = $"{timeAsleep.Hours}h {timeAsleep.Minutes}m";
57 |
58 | var lastWorkout = await bandClient.GetLastWorkoutStatisticsAsync();
59 | WorkoutTile.Subtitle = $"{lastWorkout.EndTime:ddd M/dd}, Calories burned";
60 | WorkoutTile.MetricMarkup = $"{lastWorkout.Calories:N0}cals";
61 |
62 | // check current user heart rate consent
63 | if (bandClient.SensorManager.HeartRate.GetCurrentUserConsent() != UserConsent.Granted)
64 | {
65 | // user hasn’t consented, request consent
66 | await bandClient.SensorManager.HeartRate.RequestUserConsentAsync();
67 | }
68 |
69 | // hook up to the Heartrate sensor ReadingChanged event
70 | bandClient.SensorManager.HeartRate.ReadingChanged += (sender, args) =>
71 | {
72 | // do work when the reading changes (i.e., update a UI element)
73 | _ = Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
74 | {
75 | HeartRateTile.MetricMarkup = $"{args.SensorReading.HeartRate} bpm";
76 | });
77 | };
78 |
79 | // start the Heartrate sensor
80 | await bandClient.SensorManager.HeartRate.StartReadingsAsync();
81 | await System.Threading.Tasks.Task.Delay(new TimeSpan(0, 0, 30));
82 | await bandClient.SensorManager.HeartRate.StopReadingsAsync();
83 | return;
84 |
85 | var strip = await bandClient.GetStartStripAsync();
86 | var defaultTiles = bandClient.GetDefaultTiles();
87 | foreach (var tile in defaultTiles)
88 | {
89 | if (strip.Contains(tile.TileId))
90 | continue;
91 | strip.Add(tile);
92 | }
93 | await bandClient.SetStartStripAsync(strip);
94 | return;
95 |
96 | await bandClient.SendSmsNotificationAsync(10,
97 | "Test Message",
98 | "Howdy from the Admin SDK!",
99 | DateTime.Now);
100 | return;
101 | }
102 | catch (BandAccessDeniedException ex)
103 | {
104 | // Handle a Band connection exception
105 | System.Diagnostics.Debug.WriteLine("Missing Bluetooth access");
106 | }
107 | catch (BandException ex)
108 | {
109 | // Handle a Band connection exception
110 | System.Diagnostics.Debug.WriteLine(ex);
111 | }
112 | }
113 | }
114 | }
115 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/Strings/en/Resources.resw:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
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 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | BandCenter.Uno
122 |
123 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/Themes/ActivityTileStyles.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Shared/Themes/ActivityTileStyles.xaml.cs:
--------------------------------------------------------------------------------
1 | using Windows.UI.Xaml;
2 |
3 | namespace BandCenter.Uno.Themes
4 | {
5 | public partial class ActivityTileStyles : ResourceDictionary
6 | {
7 | public ActivityTileStyles()
8 | {
9 | InitializeComponent();
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Gtk/Assets/Fonts/uno-fluentui-assets.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Skia.Gtk/Assets/Fonts/uno-fluentui-assets.ttf
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Gtk/BandCenter.Uno.Skia.Gtk.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | WinExe
4 | Exe
5 | net5.0
6 | 9
7 | app.manifest
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Gtk/Program.cs:
--------------------------------------------------------------------------------
1 | using GLib;
2 | using System;
3 | using Uno.UI.Runtime.Skia;
4 |
5 | namespace BandCenter.Uno.Skia.Gtk
6 | {
7 | internal class Program
8 | {
9 | static void Main(string[] args)
10 | {
11 | ExceptionManager.UnhandledException += delegate (UnhandledExceptionArgs expArgs)
12 | {
13 | Console.WriteLine("GLIB UNHANDLED EXCEPTION" + expArgs.ExceptionObject.ToString());
14 | expArgs.ExitApplication = true;
15 | };
16 |
17 | var host = new GtkHost(() => new App(), args);
18 |
19 | host.Run();
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Gtk/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
52 |
53 |
54 |
55 | PerMonitor
56 | true
57 |
58 |
59 |
60 |
61 |
62 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Tizen/Assets/Fonts/uno-fluentui-assets.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Skia.Tizen/Assets/Fonts/uno-fluentui-assets.ttf
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Tizen/BandCenter.Uno.Skia.Tizen.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Exe
4 | tizen50
5 | 9
6 | Exe
7 | $(DefineConstants);__TIZEN__;
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Tizen/Program.cs:
--------------------------------------------------------------------------------
1 | using Tizen.Applications;
2 | using Uno.UI.Runtime.Skia;
3 |
4 | namespace BandCenter.Uno.Skia.Tizen
5 | {
6 | internal class Program
7 | {
8 | static void Main(string[] args)
9 | {
10 | var host = new TizenHost(() => new BandCenter.Uno.App(), args);
11 | host.Run();
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Tizen/shared/res/Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Skia.Tizen/shared/res/Icon.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Tizen/tizen-manifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 | Icon.png
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Configuration;
4 | using System.Data;
5 | using System.Linq;
6 | using System.Threading.Tasks;
7 | using System.Windows;
8 |
9 | namespace BandCenter.Uno.WPF.Host
10 | {
11 | ///
12 | /// Interaction logic for App.xaml
13 | ///
14 | public partial class App : Application
15 | {
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/Assets/Fonts/uno-fluentui-assets.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/Assets/Fonts/uno-fluentui-assets.ttf
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/BandCenter.Uno.Skia.Wpf.Host.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | WinExe
4 | Exe
5 | netcoreapp3.1
6 | true
7 | app.manifest
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/MainWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows;
7 | using System.Windows.Controls;
8 | using System.Windows.Data;
9 | using System.Windows.Documents;
10 | using System.Windows.Input;
11 | using System.Windows.Media;
12 | using System.Windows.Media.Imaging;
13 | using System.Windows.Navigation;
14 | using System.Windows.Shapes;
15 |
16 | namespace BandCenter.Uno.WPF.Host
17 | {
18 | ///
19 | /// Interaction logic for MainWindow.xaml
20 | ///
21 | public partial class MainWindow : Window
22 | {
23 | public MainWindow()
24 | {
25 | InitializeComponent();
26 |
27 | root.Content = new global::Uno.UI.Skia.Platform.WpfHost(Dispatcher, () => new BandCenter.Uno.App());
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Resources;
3 | using System.Runtime.CompilerServices;
4 | using System.Runtime.InteropServices;
5 | using System.Windows;
6 |
7 | // Setting ComVisible to false makes the types in this assembly not visible
8 | // to COM components. If you need to access a type in this assembly from
9 | // COM, set the ComVisible attribute to true on that type.
10 | [assembly: ComVisible(false)]
11 |
12 | //In order to begin building localizable applications, set
13 | //CultureYouAreCodingWith in your .csproj file
14 | //inside a . For example, if you are using US english
15 | //in your source files, set the to en-US. Then uncomment
16 | //the NeutralResourceLanguage attribute below. Update the "en-US" in
17 | //the line below to match the UICulture setting in the project file.
18 |
19 | //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
20 |
21 |
22 | [assembly: ThemeInfo(
23 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
24 | //(used if a resource is not found in the page,
25 | // or application resource dictionaries)
26 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
27 | //(used if a resource is not found in the page,
28 | // app, or any theme specific resource dictionaries)
29 | )]
30 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace BandCenter.Uno.WPF.Host.Properties
12 | {
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources
26 | {
27 |
28 | private static global::System.Resources.ResourceManager resourceMan;
29 |
30 | private static global::System.Globalization.CultureInfo resourceCulture;
31 |
32 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
33 | internal Resources()
34 | {
35 | }
36 |
37 | ///
38 | /// Returns the cached ResourceManager instance used by this class.
39 | ///
40 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
41 | internal static global::System.Resources.ResourceManager ResourceManager
42 | {
43 | get
44 | {
45 | if ((resourceMan == null))
46 | {
47 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BandCenter.Uno.WPF.Host.Properties.Resources", typeof(Resources).Assembly);
48 | resourceMan = temp;
49 | }
50 | return resourceMan;
51 | }
52 | }
53 |
54 | ///
55 | /// Overrides the current thread's CurrentUICulture property for all
56 | /// resource lookups using this strongly typed resource class.
57 | ///
58 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
59 | internal static global::System.Globalization.CultureInfo Culture
60 | {
61 | get
62 | {
63 | return resourceCulture;
64 | }
65 | set
66 | {
67 | resourceCulture = value;
68 | }
69 | }
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
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 | text/microsoft-resx
107 |
108 |
109 | 2.0
110 |
111 |
112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
113 |
114 |
115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace BandCenter.Uno.WPF.Host.Properties
12 | {
13 |
14 |
15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
18 | {
19 |
20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21 |
22 | public static Settings Default
23 | {
24 | get
25 | {
26 | return defaultInstance;
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf.Host/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
52 |
53 |
54 |
55 | PerMonitor
56 | true
57 |
58 |
59 |
60 |
61 |
62 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf/BandCenter.Uno.Skia.Wpf.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | netstandard2.0
4 | 9
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Skia.Wpf/Program.cs:
--------------------------------------------------------------------------------
1 | namespace BandCenter.Uno.Skia.Gtk
2 | {
3 | }
4 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/Fonts/ProjectKSymbolRegular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/Fonts/ProjectKSymbolRegular.ttf
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/StoreLogo.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.UWP/Assets/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/BandCenter.Uno.UWP.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 | 6.2.11
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | Debug
21 | x86
22 | {828F151E-E097-4B1D-92EE-AA5D2A231950}
23 | AppContainerExe
24 | Properties
25 | BandCenter.Uno
26 | BandCenter.Uno
27 | en-US
28 | UAP
29 | 10.0.18362.0
30 | 10.0.18362.0
31 | 9
32 | 14
33 | 512
34 | {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
35 | BandCenter.Uno.Uwp_TemporaryKey.pfx
36 |
37 |
38 | true
39 | bin\x86\Debug\
40 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
41 | ;2008
42 | full
43 | x86
44 | false
45 | prompt
46 | true
47 |
48 |
49 | bin\x86\Release\
50 | TRACE;NETFX_CORE;WINDOWS_UWP
51 | true
52 | ;2008
53 | pdbonly
54 | x86
55 | false
56 | prompt
57 | true
58 | true
59 |
60 |
61 | true
62 | bin\ARM\Debug\
63 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
64 | ;2008
65 | full
66 | ARM
67 | false
68 | prompt
69 | true
70 |
71 |
72 | bin\ARM\Release\
73 | TRACE;NETFX_CORE;WINDOWS_UWP
74 | true
75 | ;2008
76 | pdbonly
77 | ARM
78 | false
79 | prompt
80 | true
81 | true
82 |
83 |
84 | true
85 | bin\ARM64\Debug\
86 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
87 | ;2008
88 | full
89 | ARM64
90 | false
91 | prompt
92 | true
93 | true
94 |
95 |
96 | bin\ARM64\Release\
97 | TRACE;NETFX_CORE;WINDOWS_UWP
98 | true
99 | ;2008
100 | pdbonly
101 | ARM64
102 | false
103 | prompt
104 | true
105 | true
106 |
107 |
108 | true
109 | bin\x64\Debug\
110 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
111 | ;2008
112 | full
113 | x64
114 | false
115 | prompt
116 | true
117 |
118 |
119 | bin\x64\Release\
120 | TRACE;NETFX_CORE;WINDOWS_UWP
121 | true
122 | ;2008
123 | pdbonly
124 | x64
125 | false
126 | prompt
127 | true
128 | true
129 |
130 |
131 |
132 |
133 | {98977187-0556-4ecd-a867-5fe5dafe508b}
134 | Microsoft.Band.Uno
135 |
136 |
137 | {5b28e28b-03ee-4441-953b-f20126d5071c}
138 | Microsoft.Band.Admin.Uno
139 |
140 |
141 | {2b8cfaae-9dd7-4fcd-9157-82effdc64307}
142 | Microsoft.Band.Admin
143 |
144 |
145 | {7ac5b21c-e909-4d66-a9bc-f92525720e49}
146 | Microsoft.Band
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 | Designer
155 |
156 |
157 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
169 |
170 | 14.0
171 |
172 |
173 |
180 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
13 |
14 |
15 |
16 |
17 | BandCenter.Uno
18 | BandCenter.Uno
19 | Assets\StoreLogo.png
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.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("BandCenter.Uno.UWP")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("BandCenter.Uno.UWP")]
13 | [assembly: AssemblyCopyright("Copyright © 2022")]
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)]
30 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.UWP/Properties/Default.rd.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Wasm/Assets/SplashScreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.Wasm/Assets/SplashScreen.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Wasm/BandCenter.Uno.Wasm.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | Exe
4 | net5.0
5 | 9
6 | NU1701
7 |
8 |
9 | true
10 | $(DefineConstants);TRACE;DEBUG
11 | portable
12 | true
13 |
17 | false
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Wasm/LinkerConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Wasm/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Windows.UI.Xaml;
3 |
4 | namespace BandCenter.Uno.Wasm
5 | {
6 | public class Program
7 | {
8 | private static App _app;
9 |
10 | static int Main(string[] args)
11 | {
12 | Windows.UI.Xaml.Application.Start(_ => _app = new App());
13 |
14 | return 0;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Wasm/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "iisSettings": {
3 | "windowsAuthentication": false,
4 | "anonymousAuthentication": true,
5 | "iisExpress": {
6 | "applicationUrl": "http://localhost:50775/",
7 | "sslPort": 44372
8 | }
9 | },
10 | "profiles": {
11 | "IIS Express": {
12 | "commandName": "IISExpress",
13 | "launchBrowser": true,
14 | "environmentVariables": {
15 | "ASPNETCORE_ENVIRONMENT": "Development"
16 | }
17 | },
18 | "BandCenter.Uno.Wasm": {
19 | "commandName": "Project",
20 | "launchBrowser": true,
21 | "environmentVariables": {
22 | "ASPNETCORE_ENVIRONMENT": "Development"
23 | },
24 | "applicationUrl": "https://localhost:5001;http://localhost:5000"
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Wasm/WasmScripts/AppManifest.js:
--------------------------------------------------------------------------------
1 | var UnoAppManifest = {
2 |
3 | splashScreenImage: "Assets/SplashScreen.png",
4 | splashScreenColor: "#fff",
5 | displayName: "BandCenter.Uno"
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.Wasm/wwwroot/web.config:
--------------------------------------------------------------------------------
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 |
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 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDisplayName
6 | BandCenter.Uno
7 | CFBundleIdentifier
8 | com.companyname.BandCenter.Uno
9 | CFBundleShortVersionString
10 | 1.0
11 | CFBundleVersion
12 | 1.0
13 | LSRequiresIPhoneOS
14 |
15 | MinimumOSVersion
16 | 8.0
17 | UIDeviceFamily
18 |
19 | 1
20 | 2
21 |
22 | UILaunchStoryboardName
23 | LaunchScreen
24 | UIRequiredDeviceCapabilities
25 |
26 | armv7
27 | arm64
28 |
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UIAppFonts
43 |
44 | Fonts/uno-fluentui-assets.ttf
45 |
46 | UIViewControllerBasedStatusBarAppearance
47 |
48 | UILaunchImageMinimumOSVersion
49 | 9.0
50 | UILaunchImageOrientation
51 | Portrait
52 | UILaunchImageSize
53 | {320, 568}
54 | UIApplicationSupportsIndirectInputEvents
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.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 |
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 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace BandCenter.Uno.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, typeof(App));
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "scale": "2x",
5 | "size": "29x29",
6 | "idiom": "iphone",
7 | "filename": "Icon58.png"
8 | },
9 | {
10 | "scale": "3x",
11 | "size": "29x29",
12 | "idiom": "iphone",
13 | "filename": "Icon87.png"
14 | },
15 | {
16 | "scale": "2x",
17 | "size": "40x40",
18 | "idiom": "iphone",
19 | "filename": "Icon80.png"
20 | },
21 | {
22 | "scale": "3x",
23 | "size": "60x60",
24 | "idiom": "iphone",
25 | "filename": "Icon180.png"
26 | },
27 | {
28 | "scale": "1x",
29 | "size": "20x20",
30 | "idiom": "ipad",
31 | "filename": "Icon20.png"
32 | },
33 | {
34 | "scale": "2x",
35 | "size": "20x20",
36 | "idiom": "ipad",
37 | "filename": "Icon40.png"
38 | },
39 | {
40 | "scale": "1x",
41 | "size": "29x29",
42 | "idiom": "ipad",
43 | "filename": "Icon29.png"
44 | },
45 | {
46 | "scale": "2x",
47 | "size": "29x29",
48 | "idiom": "ipad",
49 | "filename": "Icon58.png"
50 | },
51 | {
52 | "scale": "1x",
53 | "size": "40x40",
54 | "idiom": "ipad",
55 | "filename": "Icon40.png"
56 | },
57 | {
58 | "scale": "2x",
59 | "size": "40x40",
60 | "idiom": "ipad",
61 | "filename": "Icon80.png"
62 | },
63 | {
64 | "scale": "1x",
65 | "size": "76x76",
66 | "idiom": "ipad",
67 | "filename": "Icon76.png"
68 | },
69 | {
70 | "scale": "2x",
71 | "size": "20x20",
72 | "idiom": "iphone",
73 | "filename": "Icon40.png"
74 | },
75 | {
76 | "scale": "3x",
77 | "size": "20x20",
78 | "idiom": "iphone",
79 | "filename": "Icon60.png"
80 | },
81 | {
82 | "scale": "3x",
83 | "size": "40x40",
84 | "idiom": "iphone",
85 | "filename": "Icon120.png"
86 | },
87 | {
88 | "scale": "2x",
89 | "size": "60x60",
90 | "idiom": "iphone",
91 | "filename": "Icon120.png"
92 | },
93 | {
94 | "scale": "2x",
95 | "size": "76x76",
96 | "idiom": "ipad",
97 | "filename": "Icon152.png"
98 | },
99 | {
100 | "scale": "2x",
101 | "size": "83.5x83.5",
102 | "idiom": "ipad",
103 | "filename": "Icon167.png"
104 | },
105 | {
106 | "scale": "1x",
107 | "size": "1024x1024",
108 | "idiom": "ios-marketing",
109 | "filename": "Icon1024.png"
110 | }
111 | ],
112 | "properties": {},
113 | "info": {
114 | "version": 1,
115 | "author": "xcode"
116 | }
117 | }
118 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon1024.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon120.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon152.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon167.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon180.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon20.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon29.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon40.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon58.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon60.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon76.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon80.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/AppIcons.appiconset/Icon87.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Media.xcassets/LaunchImages.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "orientation": "portrait",
5 | "extent": "full-screen",
6 | "minimum-system-version": "7.0",
7 | "scale": "2x",
8 | "size": "640x960",
9 | "idiom": "iphone"
10 | },
11 | {
12 | "orientation": "portrait",
13 | "extent": "full-screen",
14 | "minimum-system-version": "7.0",
15 | "subtype": "retina4",
16 | "scale": "2x",
17 | "size": "640x1136",
18 | "idiom": "iphone"
19 | },
20 | {
21 | "orientation": "portrait",
22 | "extent": "full-screen",
23 | "minimum-system-version": "7.0",
24 | "scale": "1x",
25 | "size": "768x1024",
26 | "idiom": "ipad"
27 | },
28 | {
29 | "orientation": "landscape",
30 | "extent": "full-screen",
31 | "minimum-system-version": "7.0",
32 | "scale": "1x",
33 | "size": "1024x768",
34 | "idiom": "ipad"
35 | },
36 | {
37 | "orientation": "portrait",
38 | "extent": "full-screen",
39 | "minimum-system-version": "7.0",
40 | "scale": "2x",
41 | "size": "1536x2048",
42 | "idiom": "ipad"
43 | },
44 | {
45 | "orientation": "landscape",
46 | "extent": "full-screen",
47 | "minimum-system-version": "7.0",
48 | "scale": "2x",
49 | "size": "2048x1536",
50 | "idiom": "ipad"
51 | }
52 | ],
53 | "properties": {},
54 | "info": {
55 | "version": 1,
56 | "author": ""
57 | }
58 | }
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.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("BandCenter.Uno.iOS")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("BandCenter.Uno.iOS")]
13 | [assembly: AssemblyCopyright("Copyright © 2022")]
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("166de4ca-8f11-4ef9-bcf8-3e7834988e7d")]
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 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Resources/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Resources/Default-568h@2x.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Resources/Fonts/uno-fluentui-assets.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Resources/Fonts/uno-fluentui-assets.ttf
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Resources/SplashScreen@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Resources/SplashScreen@2x.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.iOS/Resources/SplashScreen@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.iOS/Resources/SplashScreen@3x.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "filename": "AppIcon-16.png",
5 | "size": "16x16",
6 | "scale": "1x",
7 | "idiom": "mac"
8 | },
9 | {
10 | "filename": "AppIcon-16@2x.png",
11 | "size": "16x16",
12 | "scale": "2x",
13 | "idiom": "mac"
14 | },
15 | {
16 | "filename": "AppIcon-32.png",
17 | "size": "32x32",
18 | "scale": "1x",
19 | "idiom": "mac"
20 | },
21 | {
22 | "filename": "AppIcon-32@2x.png",
23 | "size": "32x32",
24 | "scale": "2x",
25 | "idiom": "mac"
26 | },
27 | {
28 | "filename": "AppIcon-128.png",
29 | "size": "128x128",
30 | "scale": "1x",
31 | "idiom": "mac"
32 | },
33 | {
34 | "filename": "AppIcon-128@2x.png",
35 | "size": "128x128",
36 | "scale": "2x",
37 | "idiom": "mac"
38 | },
39 | {
40 | "filename": "AppIcon-256.png",
41 | "size": "256x256",
42 | "scale": "1x",
43 | "idiom": "mac"
44 | },
45 | {
46 | "filename": "AppIcon-256@2x.png",
47 | "size": "256x256",
48 | "scale": "2x",
49 | "idiom": "mac"
50 | },
51 | {
52 | "filename": "AppIcon-512.png",
53 | "size": "512x512",
54 | "scale": "1x",
55 | "idiom": "mac"
56 | },
57 | {
58 | "filename": "AppIcon-512@2x.png",
59 | "size": "512x512",
60 | "scale": "2x",
61 | "idiom": "mac"
62 | }
63 | ],
64 | "info": {
65 | "version": 1,
66 | "author": "xcode"
67 | }
68 | }
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/unologo.imageset/unoplatform.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Assets.xcassets/unologo.imageset/unoplatform.jpg
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/BandCenter.Uno.macOS.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | iPhoneSimulator
6 | {8A1AAECC-43BD-4B2E-8BA6-FC824E71BA22}
7 | {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8 | Exe
9 | BandCenter.Uno.macOS
10 | BandCenter.Uno.macOS
11 | v2.0
12 | Xamarin.Mac
13 | 9
14 | Resources
15 |
16 |
17 | true
18 | full
19 | false
20 | bin\Debug
21 | DEBUG
22 | prompt
23 | 4
24 | false
25 | Mac Developer
26 | false
27 | false
28 | false
29 | true
30 | true
31 | true
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | false
43 | pdbonly
44 | true
45 | bin\Release
46 |
47 |
48 | prompt
49 | 4
50 | false
51 | true
52 | false
53 | true
54 | true
55 | true
56 | SdkOnly
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 |
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 | Always
108 |
109 |
110 |
111 |
112 | {98977187-0556-4ecd-a867-5fe5dafe508b}
113 | Microsoft.Band.Uno
114 |
115 |
116 | {5b28e28b-03ee-4441-953b-f20126d5071c}
117 | Microsoft.Band.Admin.Uno
118 |
119 |
120 | {2b8cfaae-9dd7-4fcd-9157-82effdc64307}
121 | Microsoft.Band.Admin
122 |
123 |
124 | {7ac5b21c-e909-4d66-a9bc-f92525720e49}
125 | Microsoft.Band
126 |
127 |
128 |
129 |
130 |
136 |
137 | <_ReferenceToRemove Include="@(Reference)" Condition="'%(Reference.Identity)'=='System.Memory'" />
138 |
139 |
140 |
141 |
142 |
143 |
144 | <_ReferencePathToRemove Include="@(ReferencePath)" Condition="'%(ReferencePath.NuGetPackageId)'=='System.Memory'" />
145 |
146 |
147 |
148 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | BandCenter.Uno.macOS
7 | CFBundleIdentifier
8 | com.companyname.BandCenter.Uno-macOS
9 | CFBundleShortVersionString
10 | 1.0
11 | CFBundleVersion
12 | 1
13 | LSMinimumSystemVersion
14 | 10.11
15 | CFBundleDevelopmentRegion
16 | en
17 | CFBundleInfoDictionaryVersion
18 | 6.0
19 | CFBundlePackageType
20 | APPL
21 | CFBundleSignature
22 | ????
23 | NSHumanReadableCopyright
24 | ${AuthorCopyright:HtmlEncode}
25 | NSPrincipalClass
26 | NSApplication
27 | XSAppIconAssets
28 | Assets.xcassets/AppIcon.appiconset
29 | ATSApplicationFontsPath
30 | Fonts/uno-fluentui-assets.ttf
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Main.cs:
--------------------------------------------------------------------------------
1 | using AppKit;
2 |
3 | namespace BandCenter.Uno.macOS
4 | {
5 | static class MainClass
6 | {
7 | static void Main(string[] args)
8 | {
9 | NSApplication.Init();
10 | NSApplication.SharedApplication.Delegate = new App();
11 | NSApplication.Main(args);
12 | }
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/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("BandCenter.Uno.macOS")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("BandCenter.Uno.macOS")]
13 | [assembly: AssemblyCopyright("Copyright © 2022")]
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("166de4ca-8f11-4ef9-bcf8-3e7834988e7d")]
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 |
--------------------------------------------------------------------------------
/src/BandCenter.Uno/BandCenter.Uno.macOS/Resources/Fonts/uno-fluentui-assets.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MicrosoftBandDev/companion-app/7e976a175343afd2a719eb2f4f5ee763a6f6067a/src/BandCenter.Uno/BandCenter.Uno.macOS/Resources/Fonts/uno-fluentui-assets.ttf
--------------------------------------------------------------------------------
/src/NuGet.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------