-
Notifications
You must be signed in to change notification settings - Fork 538
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add new api R preview 2 with enumeration #4468
Conversation
/azp run |
…in the vain hope that the Windows build error will just disappear if we rebuild... |
Azure Pipelines successfully started running 1 pipeline(s). |
The Windows build failure did disappear on rebuild. |
Squash-and-merge subject:
Body:
|
Doc looks great!!! |
Context: https://web.archive.org/web/20200307182928/https://developer.android.com/preview/overview Android 11 [Developer Preview 2 has been released][0]. * [API diff vs. Developer Preview 1][1] * [API diff vs. API-29][2] Google's documented timeline for Android 11 is unchanged wrt a20be39: * Developer Preview 3 in April * Beta 1 in May * Beta 2 in June This contains the final APIs and official SDK. * Beta 3 and final release sometime in Q3, 2019. For a change vs. previous releases, we are testing out some new workflows and tooling around enumification, and the updated API-R binding in `Mono.Android.dll` v10.0.99 has been enumified. Note: due to a [generator bug][3], the `Android.OS.VibrationEffectEffectType` enum must be manually bound. [0]: https://android-developers.googleblog.com/2020/03/android-11-developer-preview-2.html [1]: https://developer.android.com/sdk/api_diff/r-dp2-incr/changes [2]: https://developer.android.com/sdk/api_diff/r-dp2/changes [3]: dotnet/java-interop#613
Context: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=3594952&view=results Cherry-picking PR dotnet#4468 to d16-6 resulted in a build break: error : CompatApi command: /Users/builder/azdo/_work/92/s/xamarin-android/packages/microsoft.dotnet.apicompat/5.0.0-beta.20162.4/tools/net472/Microsoft.DotNet.ApiCompat.exe "/Users/builder/azdo/_work/92/s/xamarin-android/bin/Release/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v10.0/ApiCompatTemp" -i "/Users/builder/azdo/_work/92/s/xamarin-android/bin/Release/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v10.0.99/ApiCompatTemp" --allow-default-interface-methods --exclude-attributes ../../tests/api-compatibility/api-compat-exclude-attributes.txt error : CheckApiCompatibility found nonacceptable Api breakages for ApiLevel: v10.0.99. error : Compat issues with assembly Mono.Android: error : MembersMustExist : Member 'public void Android.Telecom.Connection.SetVideoState(Android.Telecom.VideoProfileState)' does not exist in the implementation but it does exist in the contract. error : Total Issues: 2 The problem is that API-R added a new `Connection.getVideoState()` method, which `generator` then attempted to merge with the existing `Connection.setVideoState()` method added in API-23. As we don't create "set-only" properties, `Connection.setVideoState()` was bound as `Connection.SetVideoState()`, but in "merging" it with `Connection.getVideoState()` to create a new `Connection.VideoState` property, we *removed* `Connection.SetVideoState()`, resulting in a compatibility break. Disable "property-ification" of `Connection.setVideoState()` by adding the `propertyName` attribute, setting it to an empty string.
Context: https://devdiv.visualstudio.com/DevDiv/_build/results?buildId=3594952&view=results Cherry-picking PR #4468 to d16-6 resulted in a build break: error : CompatApi command: /Users/builder/azdo/_work/92/s/xamarin-android/packages/microsoft.dotnet.apicompat/5.0.0-beta.20162.4/tools/net472/Microsoft.DotNet.ApiCompat.exe "/Users/builder/azdo/_work/92/s/xamarin-android/bin/Release/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v10.0/ApiCompatTemp" -i "/Users/builder/azdo/_work/92/s/xamarin-android/bin/Release/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v10.0.99/ApiCompatTemp" --allow-default-interface-methods --exclude-attributes ../../tests/api-compatibility/api-compat-exclude-attributes.txt error : CheckApiCompatibility found nonacceptable Api breakages for ApiLevel: v10.0.99. error : Compat issues with assembly Mono.Android: error : MembersMustExist : Member 'public void Android.Telecom.Connection.SetVideoState(Android.Telecom.VideoProfileState)' does not exist in the implementation but it does exist in the contract. error : Total Issues: 2 The problem is that API-R added a new `Connection.getVideoState()` method, which `generator` then attempted to merge with the existing `Connection.setVideoState()` method added in API-23. As we don't create "set-only" properties, `Connection.setVideoState()` was bound as `Connection.SetVideoState()`, but in "merging" it with `Connection.getVideoState()` to create a new `Connection.VideoState` property, we *removed* `Connection.SetVideoState()`, resulting in a compatibility break. Disable "property-ification" of `Connection.setVideoState()` by adding the `propertyName` attribute, setting it to an empty string.
Draft release notes Here is the note I'm planning to include for this pull request for the Xamarin.Android 10.3 Previews:
This note will be merged with the section for Developer Preview 1 when the Preview notes are combined into the final Xamarin.Android 10.3 general availability Release notes. To suggest something different, feel free to reply in this PR or add a |
Updating Api R to preview 2
Adding Enumification based on preview 2
Due to a bug on generator, dotnet/java-interop#613
we can't enumify VibrationEffectEffectType using the "enumificator tool", instead we need to manually add it for now.