From ac60b2e0be1adfb0acccf7a002e8ed89e47bdecb Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Tue, 23 Sep 2025 11:20:55 -0500 Subject: [PATCH 1/2] Bump to dotnet/java-interop/main@ef82a07a Fixes: https://github.com/dotnet/android/issues/10509 Changes: https://github.com/dotnet/java-interop/compare/19be370d...ef82a07a Update an existing test for #10509. --- external/Java.Interop | 2 +- .../Tests/Xamarin.Android.Build.Tests/BuildTest2.cs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/external/Java.Interop b/external/Java.Interop index 19be370da9d..ef82a07a02b 160000 --- a/external/Java.Interop +++ b/external/Java.Interop @@ -1 +1 @@ -Subproject commit 19be370da9d4ffa69a13dd70b1a29f02651a3060 +Subproject commit ef82a07a02b81e60c56cb2ad9645f7ebf51c224a diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest2.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest2.cs index 6e8c70e7d1d..6a7bbea3330 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest2.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest2.cs @@ -443,6 +443,17 @@ public void BuildHasNoWarnings (bool isRelease, bool xamarinForms, bool multidex proj.SetProperty ("XamarinAndroidSupportSkipVerifyVersions", "True"); // Disables API 29 warning in Xamarin.Build.Download proj.SetProperty ("AndroidPackageFormat", packageFormat); proj.SetProperty ("TrimmerSingleWarn", "false"); + + // Add test code for: https://github.com/dotnet/android/issues/10509 + proj.MainActivity = proj.DefaultMainActivity.Replace ("//${AFTER_ONCREATE}", + """ + // These should not cause warnings + new FrameLayout(this).Foreground = null; + new ListView(this).Adapter = null; + var a = Android.Provider.MediaStore.Video.IVideoColumns.DateTaken; + var b = Android.Provider.MediaStore.Images.IImageColumns.DateTaken; + """); + using (var b = CreateApkBuilder ()) { Assert.IsTrue (b.Build (proj), "Build should have succeeded."); b.AssertHasNoWarnings (); From 1363c7d0cbd93f76f2d6db3527d29ea188135bda Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Tue, 23 Sep 2025 12:13:29 -0500 Subject: [PATCH 2/2] Fix tests --- .../Tests/Xamarin.Android.Build.Tests/BuildTest2.cs | 8 ++++---- .../Xamarin.ProjectTools/Resources/Forms/MainActivity.cs | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest2.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest2.cs index 6a7bbea3330..9ab18fc3307 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest2.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest2.cs @@ -448,10 +448,10 @@ public void BuildHasNoWarnings (bool isRelease, bool xamarinForms, bool multidex proj.MainActivity = proj.DefaultMainActivity.Replace ("//${AFTER_ONCREATE}", """ // These should not cause warnings - new FrameLayout(this).Foreground = null; - new ListView(this).Adapter = null; - var a = Android.Provider.MediaStore.Video.IVideoColumns.DateTaken; - var b = Android.Provider.MediaStore.Images.IImageColumns.DateTaken; + new FrameLayout (this).Foreground = null; + new ListView (this).Adapter = null; + Console.WriteLine (Android.Provider.MediaStore.Video.IVideoColumns.DateTaken); + Console.WriteLine (Android.Provider.MediaStore.Images.IImageColumns.DateTaken); """); using (var b = CreateApkBuilder ()) { diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Forms/MainActivity.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Forms/MainActivity.cs index 67f0bc43bf1..54bceb11b78 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Forms/MainActivity.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Forms/MainActivity.cs @@ -22,7 +22,7 @@ protected override void OnCreate (Bundle savedInstanceState) global::Xamarin.Forms.Forms.Init (this, savedInstanceState); //${AFTER_FORMS_INIT} LoadApplication (new App ()); + //${AFTER_ONCREATE} } - //${AFTER_ONCREATE} } }