From ba6b2899a2251844846261e2291871fc65641cfd Mon Sep 17 00:00:00 2001 From: James Montemagno Date: Tue, 17 Jul 2018 14:16:47 -0700 Subject: [PATCH] Sample Project Tweaks and Optimizations (#353) * Make sure orientation sensor stops on sample. * Fix up all sensors page to start and stop correctly * Only check permission if unknown status * Update to latest sdk.extras * fix back button press on TTS page. Check for null. * Add samples sln for CI/CD * Update readme and samples sln * Don't use code sign key for simbuilds * let's try this gain * Update to projects * Cleanup sample config * bump sdk extras --- .../DeviceTests.Android.csproj | 14 +++ .../DeviceTests.UWP/DeviceTests.UWP.csproj | 36 ++++++ .../DeviceTests.iOS/DeviceTests.iOS.csproj | 34 +++++ README.md | 57 +++++---- .../Samples.Android/Samples.Android.csproj | 12 ++ Samples/Samples.UWP/Samples.UWP.csproj | 36 ++++++ Samples/Samples.iOS/Samples.iOS.csproj | 25 +++- Samples/Samples/Samples.csproj | 7 +- Samples/Samples/View/AllSensorsPage.xaml | 12 +- Samples/Samples/View/AllSensorsPage.xaml.cs | 28 ++++- Samples/Samples/View/BasePage.cs | 20 ++- .../ViewModel/OrientationSensorViewModel.cs | 2 +- .../ViewModel/TextToSpeechViewModel.cs | 2 +- Tests/Tests.csproj | 3 +- Xamarin.Essentials.sln | 118 ++++++++++++++++++ .../Permissions/Permissions.ios.cs | 7 +- Xamarin.Essentials/Xamarin.Essentials.csproj | 8 +- 17 files changed, 372 insertions(+), 49 deletions(-) diff --git a/DeviceTests/DeviceTests.Android/DeviceTests.Android.csproj b/DeviceTests/DeviceTests.Android/DeviceTests.Android.csproj index 71efa7f..07d8b8a 100644 --- a/DeviceTests/DeviceTests.Android/DeviceTests.Android.csproj +++ b/DeviceTests/DeviceTests.Android/DeviceTests.Android.csproj @@ -43,6 +43,20 @@ 1G + + true + pdbonly + true + bin\Samples + prompt + 4 + true + false + armeabi;armeabi-v7a;x86;x86_64;arm64-v8a + true + 1G + + diff --git a/DeviceTests/DeviceTests.UWP/DeviceTests.UWP.csproj b/DeviceTests/DeviceTests.UWP/DeviceTests.UWP.csproj index 6090645..792be1b 100644 --- a/DeviceTests/DeviceTests.UWP/DeviceTests.UWP.csproj +++ b/DeviceTests/DeviceTests.UWP/DeviceTests.UWP.csproj @@ -89,6 +89,42 @@ true true + + bin\ARM\Samples\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008;NU1603 + pdbonly + ARM + false + prompt + true + true + + + bin\x64\Samples\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008;NU1603 + pdbonly + x64 + false + prompt + true + true + + + bin\x86\Samples\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008;NU1603 + pdbonly + x86 + false + prompt + true + true + diff --git a/DeviceTests/DeviceTests.iOS/DeviceTests.iOS.csproj b/DeviceTests/DeviceTests.iOS/DeviceTests.iOS.csproj index fd10680..d23c4b3 100644 --- a/DeviceTests/DeviceTests.iOS/DeviceTests.iOS.csproj +++ b/DeviceTests/DeviceTests.iOS/DeviceTests.iOS.csproj @@ -27,6 +27,10 @@ iPhone Developer Entitlements.plist + + + + true @@ -69,6 +73,36 @@ iPhone Developer Entitlements.plist + + true + pdbonly + true + bin\iPhoneSimulator\Samples + prompt + 4 + SdkOnly + x86_64 + false + iPhone Developer + + Entitlements.plist + --linkskip=Xamarin.Forms.Platform.iOS --linkskip=Xamarin.Forms.Platform --linkskip=Xamarin.Forms.Core --linkskip=Xamarin.Forms.Xaml + + + true + pdbonly + true + bin\iPhone\Samples + prompt + 4 + ARM64 + false + iPhone Developer + Entitlements.plist + + + + diff --git a/README.md b/README.md index 858eb30..188b217 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ iOS, Android, and UWP offer unique operating system and platform APIs that devel | Jenkins | Build | Windows | [![Jenkins Build Status](https://jenkins.mono-project.com/buildStatus/icon?job=Components-Essentials)](https://jenkins.mono-project.com/view/Components/job/Components-Essentials/) | | VSTS | Build | Windows | ![VSTS Build Status](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/8538/badge) | | Jenkins | Device Tests | macOS | [![Build Status](https://jenkins.mono-project.com/buildStatus/icon?job=Components-Essentials-DeviceTests-Mac)](https://jenkins.mono-project.com/job/Components-Essentials-DeviceTests-Mac) | +| App Center | Sample App | Android | [![Build status](https://build.appcenter.ms/v0.1/apps/7a1f46ca-ba2f-477e-aacc-ff013c7d5f7a/branches/master/badge)](https://appcenter.ms) | +| App Center | Sample App | iOS | [![Build status](https://build.appcenter.ms/v0.1/apps/43b39e9e-2b2b-482f-8afa-e9906334c85e/branches/master/badge)](https://appcenter.ms) | ## Installation Xamarin.Essentials is available via: @@ -31,34 +33,35 @@ Xamarin.Essentials is focused on the following platforms: - Android (4.4+) - UWP (Fall Creators Update+) -## Current APIs: +## API Documentation: The following cross-platform APIs are available in Xamarin.Essentials: - - [x] [Accelerometer](https://docs.microsoft.com/xamarin/essentials/accelerometer) - - [X] [App Information](https://docs.microsoft.com/xamarin/essentials/app-information) - - [x] [Battery](https://docs.microsoft.com/xamarin/essentials/battery) - - [x] [Clipboard](https://docs.microsoft.com/xamarin/essentials/clipboard) - - [x] [Compass](https://docs.microsoft.com/xamarin/essentials/compass) - - [x] [Connectivity](https://docs.microsoft.com/xamarin/essentials/connectivity) - - [x] [Data Transfer (Share)](https://docs.microsoft.com/xamarin/essentials/data-transfer) - - [x] [Device Display Information](https://docs.microsoft.com/en-us/xamarin/essentials/device-display) - - [x] [Device Information](https://docs.microsoft.com/xamarin/essentials/device-information) - - [x] [Email](https://docs.microsoft.com/xamarin/essentials/email) - - [x] [File System Helpers](https://docs.microsoft.com/xamarin/essentials/file-system-helpers) - - [x] [Flashlight](https://docs.microsoft.com/xamarin/essentials/flashlight) - - [x] [Geocoding](https://docs.microsoft.com/xamarin/essentials/geocoding) - - [x] [Geolocation](https://docs.microsoft.com/xamarin/essentials/geolocation) - - [x] [Gyroscope](https://docs.microsoft.com/xamarin/essentials/gyroscope) - - [x] [Magnetometer](https://docs.microsoft.com/xamarin/essentials/magnetometer) - - [x] [Open Browser](https://docs.microsoft.com/xamarin/essentials/open-browser) - - [x] [Orientation Sensor](https://docs.microsoft.com/en-us/xamarin/essentials/orientation-sensor) - - [x] [Phone Dialer](https://docs.microsoft.com/xamarin/essentials/phone-dialer) - - [x] [Preferences](https://docs.microsoft.com/xamarin/essentials/preferences) - - [x] [Screen Lock](https://docs.microsoft.com/xamarin/essentials/screen-lock) - - [x] [Secure Storage](https://docs.microsoft.com/xamarin/essentials/secure-storage) - - [x] [SMS](https://docs.microsoft.com/xamarin/essentials/sms) - - [x] [Text-to-Speech](https://docs.microsoft.com/xamarin/essentials/text-to-speech) - - [x] [Version Tracking](https://docs.microsoft.com/xamarin/essentials/version-tracking) - - [x] [Vibrate](https://docs.microsoft.com/xamarin/essentials/vibrate) + - [Accelerometer](https://docs.microsoft.com/xamarin/essentials/accelerometer) + - [App Information](https://docs.microsoft.com/xamarin/essentials/app-information) + - [Battery](https://docs.microsoft.com/xamarin/essentials/battery) + - [Clipboard](https://docs.microsoft.com/xamarin/essentials/clipboard) + - [Compass](https://docs.microsoft.com/xamarin/essentials/compass) + - [Connectivity](https://docs.microsoft.com/xamarin/essentials/connectivity) + - [Data Transfer (Share)](https://docs.microsoft.com/xamarin/essentials/data-transfer) + - [Device Display Information](https://docs.microsoft.com/en-us/xamarin/essentials/device-display) + - [Device Information](https://docs.microsoft.com/xamarin/essentials/device-information) + - [Email](https://docs.microsoft.com/xamarin/essentials/email) + - [File System Helpers](https://docs.microsoft.com/xamarin/essentials/file-system-helpers) + - [Flashlight](https://docs.microsoft.com/xamarin/essentials/flashlight) + - [Geocoding](https://docs.microsoft.com/xamarin/essentials/geocoding) + - [Geolocation](https://docs.microsoft.com/xamarin/essentials/geolocation) + - [Gyroscope](https://docs.microsoft.com/xamarin/essentials/gyroscope) + - [Magnetometer](https://docs.microsoft.com/xamarin/essentials/magnetometer) + - [Open Browser](https://docs.microsoft.com/xamarin/essentials/open-browser) + - [Orientation Sensor](https://docs.microsoft.com/en-us/xamarin/essentials/orientation-sensor) + - [Power](https://docs.microsoft.com/en-us/xamarin/essentials/power) + - [Phone Dialer](https://docs.microsoft.com/xamarin/essentials/phone-dialer) + - [Preferences](https://docs.microsoft.com/xamarin/essentials/preferences) + - [Screen Lock](https://docs.microsoft.com/xamarin/essentials/screen-lock) + - [Secure Storage](https://docs.microsoft.com/xamarin/essentials/secure-storage) + - [SMS](https://docs.microsoft.com/xamarin/essentials/sms) + - [Text-to-Speech](https://docs.microsoft.com/xamarin/essentials/text-to-speech) + - [Version Tracking](https://docs.microsoft.com/xamarin/essentials/version-tracking) + - [Vibrate](https://docs.microsoft.com/xamarin/essentials/vibrate) ## Contributing Please read through our [Contribution Guide](CONTRIBUTING.md). We are not accepting new PRs for full features, however any issue that is marked as `up for grabs` are open for community contributions. We encourage creating new issues for bugs found during usage that the team will triage. Additionally, we are open for code refactoring suggestions in PRs. diff --git a/Samples/Samples.Android/Samples.Android.csproj b/Samples/Samples.Android/Samples.Android.csproj index a9dce9e..c3e8598 100644 --- a/Samples/Samples.Android/Samples.Android.csproj +++ b/Samples/Samples.Android/Samples.Android.csproj @@ -42,6 +42,18 @@ 1G + + true + pdbonly + true + bin\Samples + prompt + 4 + true + false + + 1G + diff --git a/Samples/Samples.UWP/Samples.UWP.csproj b/Samples/Samples.UWP/Samples.UWP.csproj index 5eb3276..def986a 100644 --- a/Samples/Samples.UWP/Samples.UWP.csproj +++ b/Samples/Samples.UWP/Samples.UWP.csproj @@ -89,6 +89,42 @@ true true + + bin\ARM\Samples\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM + false + prompt + true + true + + + bin\x64\Samples\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x64 + false + prompt + true + true + + + bin\x86\Samples\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x86 + false + prompt + true + true + diff --git a/Samples/Samples.iOS/Samples.iOS.csproj b/Samples/Samples.iOS/Samples.iOS.csproj index cdcfd18..26f82e1 100644 --- a/Samples/Samples.iOS/Samples.iOS.csproj +++ b/Samples/Samples.iOS/Samples.iOS.csproj @@ -26,8 +26,8 @@ true --linkskip=Xamarin.Forms.Platform.iOS --linkskip=Xamarin.Forms.Platform --linkskip=Xamarin.Forms.Core --linkskip=Xamarin.Forms.Xaml --linkskip=Samples iPhone Developer - Entitlements.plist + true @@ -68,6 +68,29 @@ iPhone Developer Entitlements.plist + + true + pdbonly + true + bin\iPhoneSimulator\Samples + prompt + 4 + None + x86_64 + false + + + true + pdbonly + true + bin\iPhone\Samples + prompt + 4 + ARM64 + false + iPhone Developer + Entitlements.plist + diff --git a/Samples/Samples/Samples.csproj b/Samples/Samples/Samples.csproj index 121bb84..720c7a3 100644 --- a/Samples/Samples/Samples.csproj +++ b/Samples/Samples/Samples.csproj @@ -1,7 +1,8 @@ - + netstandard2.0 + Debug;Release;Samples @@ -12,6 +13,10 @@ pdbonly true + + pdbonly + true + diff --git a/Samples/Samples/View/AllSensorsPage.xaml b/Samples/Samples/View/AllSensorsPage.xaml index 5064198..c2444f6 100644 --- a/Samples/Samples/View/AllSensorsPage.xaml +++ b/Samples/Samples/View/AllSensorsPage.xaml @@ -1,7 +1,7 @@  @@ -12,7 +12,7 @@