Context: 79c19c12ab/Documentation/diagnostics/portable_pdb.md
In doing some performance testing with builds in VS 2019, I noticed:
115 ms _ConvertPdbFiles 1 calls
And looking at files were converted:
ConvertDebuggingFiles
Parameters
Files
C:\ProgramData\Xamarin\NuGet\xamarin.essentials\1.0.1\lib\monoandroid81\Xamarin.Essentials.pdb
[Output] ConvertedFiles:
C:\ProgramData\Xamarin\NuGet\xamarin.essentials\1.0.1\lib\monoandroid81\Xamarin.Essentials.dll
The Xamarin.Essentials NuGet package is shipping a non-portable PDB
file. This is a Windows-specific format that Mono doesn't support.
Xamarin.Android runs a tool called `pdb2mdb` when it encounters a
non-portable PDB file so symbols be converted to something that Mono
can use. If you have `DebugType=full` or `DebugType=pdbonly`,
Xamarin.Android has to do this extra work to convert it.
I see no drawbacks to just use `DebugType=portable` in this project
all the time?
Since Xamarin.Essentials uses sourcelink, I double-checked and they
support portable PDBs:
https://github.com/dotnet/sourcelink#prerequisites-for-net-projects
I sent a similar PR to Xamarin.Forms, shipping since 3.4. I wrote a
bit more detail on symbol files there if you need more info:
https://github.com/xamarin/Xamarin.Forms/pull/4201
* 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
* Set up CI with Azure Pipelines
* Added the first pass at the yaml
* Typo
* Make sure to sign only on the private bots
* Use vmImage and not name
* Fix a few errors
* Restore as a separate step
* Make sure not to build the samples on macos
* Add some comments and other tweaks
* Set the version to 1.0 to avoid the warnings
* Use the centralized signing template
* Use the xamarin endpoint
* Check to see if there is a variable to access the current github endpoint
* Use the new template
* Build the library on windows/mac and the samples/tests just on windows
* Always check IsAvailable
This may fix#656 on select phones where wifi is returned even though it isn't available.
Still need to investigate profiles
* removing whitespaces
* Swap version values on iOS
This fixes#639
We were using the wrong version key/values from Info.plist for the respective AppInfo properties.
* Ensure we only check is main thread when prompting
* Revert "Swap version values on iOS"
This reverts commit c61ef221e07c6be84942b7057af1f8525e3c5105.
We actually have this correct.
* 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)