You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Revert "[generator] Remove androidx.annotation from Annotation names (dotnet#882)"
Partially revert commit 1e8f513.
Context: dotnet#885
The problem with commit 1e8f513 is that the change to the
`AnnotationData` constructor broke the xamarin-android
build, introducing API Compatibility errors in `Mono.Android.dll`:
…/src/Mono.Android/Mono.Android.targets(247,5): error : CompatApi command: $HOME/.nuget/packages/microsoft.dotnet.apicompat/5.0.0-beta.20181.7/tools/net472/Microsoft.DotNet.ApiCompat.exe "…/bin/Debug/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v4.4.87/Mono.Android.dll" -i "…/bin/Debug/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v5.0" --allow-default-interface-methods --baseline "…/tests/api-compatibility/acceptable-breakages-v5.0.txt" --validate-baseline --exclude-attributes "…/tests/api-compatibility/api-compat-exclude-attributes.txt"
…/src/Mono.Android/Mono.Android.targets(247,5): error : CheckApiCompatibility found nonacceptable Api breakages for ApiLevel: v5.0.
…/src/Mono.Android/Mono.Android.targets(247,5): error : Compat issues with assembly Mono.Android:
…/src/Mono.Android/Mono.Android.targets(247,5): error : CannotChangeAttribute : Attribute 'Android.Runtime.RequiresPermissionAttribute' on 'Android.Net.ConnectivityManager.GetNetworkInfo(Android.Net.ConnectivityType)' changed from '[RequiresPermissionAttribute("quot;android.permission.ACCESS_NETWORK_STATE"")]' in the contract to '[RequiresPermissionAttribute("quot;android.permission.ACCESS_NETWORK_STATE"")]' in the implementation.
…/src/Mono.Android/Mono.Android.targets(247,5): error : CannotChangeAttribute : Attribute 'Android.Runtime.RequiresPermissionAttribute' on 'Android.OS.Vibrator.Vibrate(System.Int64[], System.Int32)' changed from '[RequiresPermissionAttribute("quot;android.permission.VIBRATE"")]' in the contract to '[RequiresPermissionAttribute("quot;android.permission.VIBRATE"")]' in the implementation.
…/src/Mono.Android/Mono.Android.targets(247,5): error : Total Issues: 2
See Issue dotnet#885 for more details and discussion. TL;DR: 1e8f513
allowed `androidx.annotation.RequiresPermission` to be surfaced as
`[Android.Runtime.RequiresPermission]` custom attributes, and in
doing so surfaced a pre-existing issue wherein the same
`[RequiresPermission]` could be present multiple times with the same
constructor values, which typically isn't desirable:
namespace Android.OS {
public abstract partial class Vibrator : Java.Lang.Object {
[global::Android.Runtime.RequiresPermission ("quot;android.permission.VIBRATE"")]
[global::Android.Runtime.RequiresPermission ("quot;android.permission.VIBRATE"")]
public abstract void Vibrate (long milliseconds);
}
}
How and why this is happening isn't currently understood.
In the meantime, revert the `AnnotationData` changes in commit
1e8f513 so that we can bump Java.Interop within xamarin-android.
0 commit comments