From ace5f71c40d05070612cb860f38764eae3deef59 Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Tue, 19 Jul 2022 12:10:46 -0500 Subject: [PATCH] Bump to xamarin/java.interop/main@032f1e71 (#7180) Fixes: https://github.com/xamarin/java.interop/issues/969 Fixes: https://github.com/xamarin/java.interop/issues/982 Fixes: https://github.com/xamarin/java.interop/issues/984 Changes: https://github.com/xamarin/java.interop/compare/fadbb82c3b8ab7979c19e9f139bdf2589e47549e...032f1e7160c23a78e5b37208542f763e29992067 * xamarin/java.interop@032f1e71: [Xamarin.Android.Tools.Bytecode-Tests] Fix BuildClasses (#1013) * xamarin/java.interop@0eaa47e1: [Java.Interop.Tools.JavaCallableWrappers] NRT Support (#1012) * xamarin/java.interop@45fe3928: [generator] BG8403 when type name matches enclosing namespace name (#1010) * xamarin/java.interop@fe60483b: [generator] Mark abstract methods as [Obsolete] if needed (#1011) * xamarin/java.interop@275fa755: [generator] Kotlin metadata can apply to multiple Java method (#1009) * xamarin/java.interop@3ff6f8fb: [Java.Base] Fix CS0108 Warnings (#1008) Of note is xamarin/java.interop@fe60483b, which can cause public members to become marked as `[Obsolete]`. These members *always* should have been `[Obsolete]`, but weren't. (Oops.) This also required changes to the `Mono.Android` API-compat checks. Also of note is xamarin/java.interop@45fe3928, which introduces a new BG8403 binding warning when a bound type has the same name as its enclosing namespace name-part, e.g. `Example.View.View`. --- external/Java.Interop | 2 +- tests/api-compatibility/acceptable-breakages-v10.0.txt | 1 + tests/api-compatibility/acceptable-breakages-v5.1.txt | 10 ---------- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/external/Java.Interop b/external/Java.Interop index fadbb82c3b8..032f1e7160c 160000 --- a/external/Java.Interop +++ b/external/Java.Interop @@ -1 +1 @@ -Subproject commit fadbb82c3b8ab7979c19e9f139bdf2589e47549e +Subproject commit 032f1e7160c23a78e5b37208542f763e29992067 diff --git a/tests/api-compatibility/acceptable-breakages-v10.0.txt b/tests/api-compatibility/acceptable-breakages-v10.0.txt index 2e53d81d523..f31a52aca05 100644 --- a/tests/api-compatibility/acceptable-breakages-v10.0.txt +++ b/tests/api-compatibility/acceptable-breakages-v10.0.txt @@ -111,3 +111,4 @@ CannotRemoveAttribute : Attribute 'Android.Runtime.RequiresPermissionAttribute' CannotRemoveAttribute : Attribute 'Android.Runtime.RequiresPermissionAttribute' exists on 'Android.Telephony.TelephonyManager.ServiceState.get()' in the contract but not the implementation. CannotChangeAttribute : Attribute 'Android.Runtime.RequiresPermissionAttribute' on 'Android.Telephony.TelephonyManager.SimSerialNumber.get()' changed from '[RequiresPermissionAttribute("android.permission.READ_PHONE_STATE")]' in the contract to '[RequiresPermissionAttribute("android.permission.READ_PRIVILEGED_PHONE_STATE")]' in the implementation. CannotChangeAttribute : Attribute 'Android.Runtime.RequiresPermissionAttribute' on 'Android.Telephony.TelephonyManager.SubscriberId.get()' changed from '[RequiresPermissionAttribute("android.permission.READ_PHONE_STATE")]' in the contract to '[RequiresPermissionAttribute("android.permission.READ_PRIVILEGED_PHONE_STATE")]' in the implementation. +CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Locations.SettingInjectorService.OnGetSummary()' in the contract but not the implementation. diff --git a/tests/api-compatibility/acceptable-breakages-v5.1.txt b/tests/api-compatibility/acceptable-breakages-v5.1.txt index df68224b360..dd45c1d53af 100644 --- a/tests/api-compatibility/acceptable-breakages-v5.1.txt +++ b/tests/api-compatibility/acceptable-breakages-v5.1.txt @@ -7,12 +7,9 @@ CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.CookieMa CannotMakeMemberAbstract : Member 'public void Android.Webkit.CookieManager.Flush()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public System.String Android.Webkit.CookieManager.GetCookie(System.String)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.CookieManager.HasCookies.get()' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.CookieManager.RemoveAllCookie()' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public void Android.Webkit.CookieManager.RemoveAllCookie()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.CookieManager.RemoveAllCookies(Android.Webkit.IValueCallback)' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.CookieManager.RemoveExpiredCookie()' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public void Android.Webkit.CookieManager.RemoveExpiredCookie()' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.CookieManager.RemoveSessionCookie()' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public void Android.Webkit.CookieManager.RemoveSessionCookie()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.CookieManager.RemoveSessionCookies(Android.Webkit.IValueCallback)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.CookieManager.SetAcceptCookie(System.Boolean)' is abstract in the implementation but is not abstract in the contract. @@ -108,14 +105,12 @@ CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.WebSetti CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.DisplayZoomControls.set(System.Boolean)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.WebSettings.DomStorageEnabled.get()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.DomStorageEnabled.set(System.Boolean)' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.WebSettings.EnableSmoothTransition()' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.WebSettings.EnableSmoothTransition()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public System.String Android.Webkit.WebSettings.FantasyFontFamily.get()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.FantasyFontFamily.set(System.String)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public System.String Android.Webkit.WebSettings.FixedFontFamily.get()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.FixedFontFamily.set(System.String)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public Android.Webkit.WebSettings.LayoutAlgorithm Android.Webkit.WebSettings.GetLayoutAlgorithm()' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.WebSettings.GetPluginState()' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public Android.Webkit.WebSettings.PluginState Android.Webkit.WebSettings.GetPluginState()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.WebSettings.JavaScriptCanOpenWindowsAutomatically.get()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.JavaScriptCanOpenWindowsAutomatically.set(System.Boolean)' is abstract in the implementation but is not abstract in the contract. @@ -142,18 +137,14 @@ CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SavePa CannotMakeMemberAbstract : Member 'public System.String Android.Webkit.WebSettings.SerifFontFamily.get()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SerifFontFamily.set(System.String)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetAppCacheEnabled(System.Boolean)' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.WebSettings.SetAppCacheMaxSize(System.Int64)' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetAppCacheMaxSize(System.Int64)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetAppCachePath(System.String)' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.WebSettings.SetEnableSmoothTransition(System.Boolean)' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetEnableSmoothTransition(System.Boolean)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetGeolocationDatabasePath(System.String)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetGeolocationEnabled(System.Boolean)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetLayoutAlgorithm(Android.Webkit.WebSettings.LayoutAlgorithm)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetNeedInitialFocus(System.Boolean)' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.WebSettings.SetPluginState(Android.Webkit.WebSettings.PluginState)' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetPluginState(Android.Webkit.WebSettings.PluginState)' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.WebSettings.SetRenderPriority(Android.Webkit.WebSettings.RenderPriority)' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetRenderPriority(Android.Webkit.WebSettings.RenderPriority)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetSupportMultipleWindows(System.Boolean)' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebSettings.SetSupportZoom(System.Boolean)' is abstract in the implementation but is not abstract in the contract. @@ -173,7 +164,6 @@ CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.WebViewD CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.WebViewDatabase.HasUsernamePassword' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebViewDatabase.ClearFormData()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebViewDatabase.ClearHttpAuthUsernamePassword()' is abstract in the implementation but is not abstract in the contract. -CannotRemoveAttribute : Attribute 'System.ObsoleteAttribute' exists on 'Android.Webkit.WebViewDatabase.ClearUsernamePassword()' in the contract but not the implementation. CannotMakeMemberAbstract : Member 'public void Android.Webkit.WebViewDatabase.ClearUsernamePassword()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.WebViewDatabase.HasFormData.get()' is abstract in the implementation but is not abstract in the contract. CannotMakeMemberAbstract : Member 'public System.Boolean Android.Webkit.WebViewDatabase.HasHttpAuthUsernamePassword.get()' is abstract in the implementation but is not abstract in the contract.