* GH-23: Added Tizen backend (#555)
* Adding the initial work to get Tizen started. #23
* Adding the initial work to get Tizen started. #23
* Use the overloads properly.
* Use the overloads properly.
* Tizen needs to have a background explicitly set
* Added the Vibration API
* Added the Vibration API
* Refactoring a little bit
* Refactoring a little bit
* Added the Browser API and some basic permissions checking
* Added the Browser API and some basic permissions checking
* Added the Battery API
* Added the Battery API
* Added the Acceleromerter API
* Added the Acceleromerter API
* Added the Filesystem API
* Added the Filesystem API
* Update Accelerometer Initialize using GetDefaultSensor
* Update Accelerometer Initialize using GetDefaultSensor
* Added the Gyroscope API
* Added the Gyroscope API
* Added the Magnetometer API
* Added the Magnetometer API
* Added the Compass API
* Added the Compass API
* Added the Connectivity API
* Added the Connectivity API
* Added the Flashlight API
* Added the Flashlight API
* Added the SecureStorage API
* Added the SecureStorage API
* Added the Vibration API
* Added the Vibration API
* Fixed build break
* Fixed build break
* Added the OrientationSensor API
* Fixed build break
* Initialized Maps/Launcher for Tizen
* Added the Permissions API
* Added the Geolocation API
* Added the Geocoding API
* Fixed build break
* Initialize Barometer API
* Added the Barometer API
* Added the TextToSpeech API
* Added the Launcher APIs
* Fixed bugs
* Update Location property name
* Update several modules
- Update AppInfo, Browser, Clipboard, Compass, Connectivity,
DisplayInfo, DeviceInfo, Geocoding, TextToSpeech modules
- Change module name DataTrasfer to Share, Maps to Map
- Integrated module Power to Battery, ScreenLock to DeviceDisplay
* Throw PlatformNotSupportedException for Tizen
* Change the exception for the power saver feature
* Add tizen privileges
* Add FileBase
* Add ShareFileRequest
* Change enum for Browser
* Change parameter for Permissions
* Add SensorSpeedExtensions
* Add Launcher for OpenFileRequest
* Fix .csproj for VS2019
* Fix sample for watch
* Fix Geolocation speed
* Fix TextToSpeech ptich
* Fixed missing using System;
This was needed for the Math calls
* Add Support for ⌚OS and 📺OS (#827)
* Add Support for watchOS and tvOS
* Fix up exception from shared netstandard code to figure out what to send.
* Update Battery.ios.watchos.cs
* Integrate Tizen into the netstandard not supported area.
* [Tizen] Fix reference for avoid duplication (#850)
* Fix reference to avoid version collision
* Remove Vector3 reference on Tizen
* Fix iPad not show share sheet (#873)
Need to specify bottom center of the screen.
* Added the Main Thread helpers from Xamarin.Forms (#849)
* Added Invoke methods from Xamarin.Forms
* Updated to use Essentials approach to calling the MainThread
* Updated the docs with the new MainThread methods
* Make overload more readable
The old code was I think incorrect in that the `funcTask()` was never awaited or returned as a task. This is the same code as the overload with the generic type parameter, but without the type param.
* Updated to use UrlEncode in GetMailToUrl (#848)
* Updated to use UrlEncode in GetMailToUrl
Fixes#843
* Added missing using
* Fixed Using order and spacings
* Use WebUtility.UrlEncode on placemark extensions
* Added volatile to MainThread.Android (#877)
Fixes#838
* Add Launcher.TryOpenAsync (#839)
* Add Launcher.TryOpenAsync
* Added ConfigureAwait(false)
* Removed unnecessary async
* Updated launcher docs
* Updated the docs
* Added Launch Tests
* Add aka.ms for release notes (#883)
* Remove experimental flags & fix launcher teasts (#887)
* Use SharedPreferences.Editor.Apply when editing to force disk write to be asynchronous (#637)
* GH-182 Color/Point/Rect/Size Extension Converters (#651)
* Add extension helpers for iOS and Android
* Add UWP colors and adjsut android colors.
* Add UWP Point/Rect/Size
* Rename and optimize!
* Add tests and color helpers!
* Fix unit test and add WithAlpha
* Cleanup iOS as it stores it from 0-1
* Tests are all green!
* Add generate-docs cmd :)
* Add docs config to all :)
* Additional clenaup for docs
* Added some docs
* Updated the mdoc target and regenerated the docs
* Allow for code reuse on macOS (#665)
Even though macOS is not yet officially supported, it is nice to reuse this code. macOS is exactly the same, except for this single property not supported.
* GH-196 Browser Customization (#646)
* Implemented GH-196
* Apply suggestions from code review: Naming
Renamed incorrectly spelled variables
Co-Authored-By: Mrnikbobjeff <schillinik@yahoo.de>
* Implemented GH-196
* Browser update work as requested. Using System.Drawing.Color now
* Adopted more review changes. Type forwarded.
* Review changes
* Made equals operator null safe, removed constructor
* Add documentation and simplify the API!
* Update viewmodel
* Back to 7.2
* GH-676 Require To Check GPS Location is Fake Or Not In GeoLocation (#677)
* Added bool IsFromMockProvider in Location class
* Checkin
* csproj original
* Revert "csproj original"
This reverts commit 6302b95782006288862f0ce11100c81936baa7fb.
* Revert "Checkin"
This reverts commit 0881e4f12c36caecd08b3b9bb8757d8bd1025502.
* Revert "Added bool IsFromMockProvider in Location class"
This reverts commit e56d9406cf0a92d24b04607afe81aef23aca696c.
* Revert the Xamarin.Essentials.csproj and Samples.Android.csproj to original;
Adjust the property IsFromMockProvider in Location.shared and LocationExetensions.
* Edited sample to show if the location is from moking provider.
* Update docs
* Fixes#694 (#699)
* Update the mdoc to use the new minimum for VS2019
* GH-126: Finish Shake Detector API (#693)
* Update CONTRIBUTING.md (#692)
* GH-126 Detect Shake API (#666)
* Added shaken support
* name vhange
* check-in
* doc update
* Implements the Shake API inside Accelerometer Class;
Change sample to AccelorometerViewModel
* Fix the sample project
* Update the docs
* Added Queue mechanism based off seismic with tests as well. Something is not right yet with calulating isaccelerating.
* Finalize shake detection!!!
* Re-generated the docs.
* Fix the VM after merge
* GH-704 Handle duplicate item in keychain (#705)
* Update CONTRIBUTING.md (#692)
* #704 if we get a duplicate item try to remove and then re-add if possible.
* Add all possible combinations for coords to km or mile (#721)
* Add all possible combinations for coords to km or mile
* Update UnitConverters_Tests.cs
* Use more explicit job definitions
* Update UnitConverters_Tests.cs
* GH-698 Set longer delay on connectivity changes - Android (#700)
* Update CONTRIBUTING.md (#692)
* Fixes#698
* Use original string instead of uri (#716)
* GH-643: Add Android P targeting and support 28 support (#669)
* Update PULL_REQUEST_TEMPLATE.md
* Fixes#643 to add android P targeting and support 28 support
* Add suppresses for Android P
* Cleanup SDKs based on @redth
* Update more nugets
* More optimizations for Retargeting
* Refactor HasApiLevelN and updated support to 28.0.0.1
* Update manifest and key :)
* Update the device tests certificates
* Make sure to run the checks always
* Updating the certs again to see if CI notices this time...
* Change order to reflect enum (#735)
* Lock keystore on Android for cipher (#734)
* Add locks around android keystore.
* move convert out of lock
* GH-130 & GH-129: Android support for safe shareable file URI’s (#416)
* Android: Support for safe shareable file URI’s
On later versions of Android, you have to wrap streams of data you want to share outside your app (between apps) in a stream through a content provider. Android Support providers a general use FileProvider we can use for this. This commit basically adds support for getting all the right AndroidManifest declarations for the custom file provider based on the android support provider, so that we expose an internal method which gets a URI safe for sharing outside of the app.
* Fix absolute type naming
* Add a user interaction test for File Provider
* Fix vibration code
the ifdef meant an empty `else { }` statement with no `if { }` for platforms < 26. This fixes that.
* Reorder using statements
* Fix test attribute
* Get provider authority properly
* Added external storage permission
* Change file provider path
This is md5(“xamarin_essentials”)
* Copy file into temp folder instead of file
We keep the filename the same this way but use a GUID for a temp sub-folder to ensure a unique path.
* Resgen
* Permissions may need to be checked to control functionality
* The Android FileProvider now can detect permissions
- internal / external storage can be controlled
- KitKat+ does not require the permissions
- corrected the FileProvider resource xml
* Added support for email attachments
- support for a string path and native file types
* Added attachments to the sample app
* Updated the docs with the new types
* Some fixes for iOS
* Fix the mdoc target
* regen docs
* remove the obsolete armeabi ABI
* Reworked the file logic to try and use public folders first
- if the file is already exposed, then just use it directly
- if the file is private, copy to an exposed location first
- exposing the internal and external caches and the public/external files
* Be more specific with the external storage permission name
* Added some more depth to the comments here
* Unnecessary else
* Added base file info class
* EmailAttachment now derives from FileBase
* Added File Sharing
* Keep track of IStorageFile internally
* Prefer internal IStorageFile in UWP
* Use attachment name properly in UWP
* Add ctor to create from existing FileBase
This will let us use UWP to create a new instance of something derived from FileBase with another instance of something else derived from FileBase, all while keeping track of the same `IStorageFile` instance.
So we can conceivably do something like:
```csharp
var mediaFile = await MediaPicker.PickPhotoAsync();
var attachment = new EmailAttachment(mediaFile);
```
* Add ctors for FileBase
* Add ctors for ShareFileRequest
* We can't use N on pre-N platforms
* Updated the docs
* Update some docs.
* Bump
* Gate Email/Share files with feature flags
* Add sample for ShareFileRequest
* Added test for share method in netstandard
* [WIP] Adding the Device Tests to the yaml (#737)
* Add the device tests to the yaml
* Select the latest version of xamarin/xcode
* Specify the iPhone simulator in the yaml
* Install the Android emulator
* Fix the shared test
* try to resolve build issue with missing nuget
* Fix docs
* Fix ref
* Trim . off start of extension for getting mimetype
* Don't add empty strings on UWP to email (#738)
* Cleanup UWP a bit
* Rename AppInfo.OpenSettings -> ShowSettingsUI
Fixes#567
* Missed one docs rename
* Added back a missing using.
* Fixed up Clipboard API! Updated everything SetTextAsync.
Update xunit test runners
* Updates Connectivity APIs from the review! got rid of Other made it unknown, removed WiMAX and updated Profiles to ConnectionProfiles
* Change MapKey to Platform.MapServiceToken only for UWP
* Dropping the version of the device runner until we can figure out what is broken on UWP (#596)
* Update docs/en/FrameworksIndex/xamarin-essentials-uwp.xml
Co-Authored-By: jamesmontemagno <james.montemagno@gmail.com>
* Fix spacing
* Updated DOCS!
* Added Default and set it to Medium
* [Platform] Remove the Platform for .net standard since it does nothing (#592)
- closes#579
* GH-583: [api-fix] Power / Battery (#591)
* Move the `Power` members into `Battery` Closes#583
* [Battery] If the charge can be determined, return 1.0
- if the device is on, then it must have some charge
- chances are, the issue is that there is no battery at all (on power)
- closes#583
* Merged the PR
* GH-568: [api-fix] Browser (#589)
* OpenAsync returns Task<bool>
Also on iOS we can take advantage of some async methods like PresentViewControllerAsync now.
* Update API docs
* Update Browser.shared.cs
* re-gen docs
* Generated docs
* Revert this to avoid conflicts
* Add in DeviceIdiom and DevicePlatform
* Updated the docs and added a .gitattributes to control the line endings
* Renamed SpeakSettings to SpeechOptions. Closes#580
* Add docs about HTML emails not supported on UWP. Closes#578
* [Map] Fixed the type names and enum values. Closes#576
* Refactor display info and keep screen on.
* Add device display.
* Change to BatteryInfoChanged and BatteryInfoChangedEventArgs
* Revert back battery intent
* If we can't unwrap the key, then tear down everything and start over again.
* Change back to "DisplayInfoChangedEventArgs"
* Update Battery.android.cs
* change to valid key
* Update Battery.android.cs
* Add docs
* Rename file correctly for docs!
* Cleanup docs
* Catch only specific exceptions. some code cleanup
* Updated the sensors to adhere to guidelines. #582
- enum names
- compas low pass filter is now a param
- updated docs
- public constructors on data and events
- stating an already started sensor will throw
- sensor use the same units on all platforms
Added a unit conversion API. #575
* Catch invalid key exception.
* If there is no main window, then there is no UI thread. Closes 510
* Fixes#612
We shouldn't have a need for telephony as we don't check it on others and restricts VOIP apps.
* Integrate html option into sample for email. (#623)
* Add Unknown to DeviceType. Update .net standard to return unknown for platform/idiom/type (#627)
* Update nugetreadme.txt (#625)
* initial commit
* merge with master
* Tests and missing method copied from the branch
* Android text splitting fixes
* awaitable Initialization methods
* Android reworked - initialize and speak in single method
* removed tweaks for work on Mac and garbage VS4Mac added
* uwp parameters done
* Android TTS with parameters
* TTS iOS parameters
* Refactor TTS code
- Simplify implementations
- Implement remaining pitch/speakrate/volume normalizations
- Implement cancel token logic
- Refact to use public api in shared.cs and platform invocations in platformname.cs
* Adjust slider ranges to match max/min settings
* Simplify TTS demo text
* Move enums into TextToSpeech
Don't really want Pitch, Volume, and SpeakRate enums to be at the root namespace level, so moved them into TextToSpeech.
* Fix sln folders
* Added docs for Text to Speech
* Clean up pitch/volume/speak rate and normalization
* Make 1.0 volume default in tts sample
* Removed accidental / invalid enum value
* Cleanup iOS and UWP apis to queue up message. Added samples to do multiple lines of text queued. Refactored how we throw exceptions.
* A few changes to the API
- removed redundant code
- removed enums
* Use TaskCompletionSource<bool> instead of <object>
* Updated docs
* Removing unnecessary changes
* Reverting some changes
* Cleanup random object in tcs.
* cleanup tcs on iOS
* Re-use semaphoreslim :) bring things local if possible
* Fixup uwp, remove the accidental semaphore await.
* Add sample to pick locale
* Additioanl cleanup, use whenall
* Remove speak rate for now
* Remove speakrate from docs
* Fix UWP locales
* Fix up android dispose issues :)
* Remove the dispose calls around TTS
* Fix up splitting of strings and add tests.
* Cancel the speech when leaving the page
* Fix android locale's so it speaks back correctly :)
* Fix up sensor samples to re-subscribe on onappearing
Remove the old CurrentContext and use AppContext (fixes issues with receivers)
Fixed casting issues with android geolocation when using GPS
Added cancellation token on geolocation page when backing out.
* Update manifest
* Cleaned up the API a bit:
- removed unnecessary static fields
- removed unnecessary braces
- a few other tweaks to reduce weird line wraps
* Stopping the sensors requires that they are actually supported.
* Added hardware traits to the tests to avoid evil code
* Fixed some more tests.
* We need to keep a reference to the sensors.
* Android needs to filter some events to avoid large amounts of unnecessary updates
* Gyroscopes are not emulated for Android