Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
[Register (".ctor", "", "")]
[Obsolete (@"This constructor is obsolete")]
[MyAttribute]
[global::Android.Runtime.IntDefinition (null, JniField = "xamarin/test/SomeObject.SOME_VALUE")]
unsafe Object ()
: base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
[Register (".ctor", "", "")]
[Obsolete (@"This constructor is obsolete")]
[MyAttribute]
[global::Android.Runtime.IntDefinition (null, JniField = "xamarin/test/SomeObject.SOME_VALUE")]
unsafe Object ()
: base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
[Register (".ctor", "", "")]
[Obsolete (@"This constructor is obsolete")]
[MyAttribute]
[global::Android.Runtime.IntDefinition (null, JniField = "xamarin/test/SomeObject.SOME_VALUE")]
unsafe Object ()
: base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@ namespace Android.App
{
public enum RecentTaskFlags
{
[global::Android.Runtime.IntDefinition (null, JniField = "android/app/ActivityManager.RECENT_IGNORE_UNAVAILABLE")]
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android30.0")]
WithExcluded = 1,

[global::Android.Runtime.IntDefinition (null, JniField = "android/app/ActivityManager.RECENT_WITH_EXCLUDED")]
IgnoreUnavailable = 2,

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@ namespace Android.App
{
public enum RecentTaskFlags
{
[global::Android.Runtime.IntDefinition ("android.app.ActivityManager.RECENT_IGNORE_UNAVAILABLE", JniField = "android/app/ActivityManager.RECENT_IGNORE_UNAVAILABLE")]
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android30.0")]
WithExcluded = 1,

[global::Android.Runtime.IntDefinition (null, JniField = "android/app/ActivityManager.RECENT_WITH_EXCLUDED")]
IgnoreUnavailable = 2,

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ namespace Android.App
[System.Flags]
public enum RecentTaskFlags
{
[global::Android.Runtime.IntDefinition (null, JniField = "android/app/ActivityManager.RECENT_IGNORE_UNAVAILABLE")]
[global::System.Runtime.Versioning.SupportedOSPlatformAttribute ("android30.0")]
WithExcluded = 1,

[global::Android.Runtime.IntDefinition (null, JniField = "android/app/ActivityManager.RECENT_WITH_EXCLUDED")]
IgnoreUnavailable = 2,

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
using Xamarin.SourceWriter;
using static MonoDroid.Generation.EnumMappings;

using CodeGenerationTarget = Xamarin.Android.Binder.CodeGenerationTarget;

namespace MonoDroid.Generation
{
class EnumGenerator
Expand Down Expand Up @@ -52,10 +50,6 @@ EnumWriter CreateWriter (CodeGenerationOptions opt, KeyValuePair<string, EnumDes

// Try to find the original field in our model
var managedMember = FindManagedMember (enu.Value, member, gens);
var managedMemberName = managedMember != null ? $"{managedMember.Value.Cls.FullName}.{managedMember.Value.Field.Name}" : null;

if (opt.CodeGenerationTarget != CodeGenerationTarget.JavaInterop1)
m.Attributes.Add (new IntDefinitionAttr (managedMemberName, StripExtraInterfaceSpec (member.JavaSignature)));

SourceWriterExtensions.AddSupportedOSPlatform (m.Attributes, member.ApiLevel, opt);

Expand Down Expand Up @@ -137,10 +131,5 @@ static void DoParseJniMember (string jniMember, out string package, out string t
member = "";
}
}

string StripExtraInterfaceSpec (string jniFieldSpec)
{
return jniFieldSpec.StartsWith ("I:", StringComparison.Ordinal) ? jniFieldSpec.Substring (2) : jniFieldSpec;
}
}
}

This file was deleted.

4 changes: 0 additions & 4 deletions src/Mono.Android/Android.OS/VibrationEffectEffectType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@ namespace Android.OS
{
public enum VibrationEffectEffectType
{
[global::Android.Runtime.IntDefinition ("Android.OS.VibrationEffect.EffectClick", JniField = "android/os/VibrationEffect.EFFECT_CLICK")]
EffectClick = 0,
[global::Android.Runtime.IntDefinition ("Android.OS.VibrationEffect.EffectDoubleClick", JniField = "android/os/VibrationEffect.EFFECT_DOUBLE_CLICK")]
EffectDoubleClick = 1,
[global::Android.Runtime.IntDefinition ("Android.OS.VibrationEffect.EffectTick", JniField = "android/os/VibrationEffect.EFFECT_TICK")]
EffectTick = 2,
[global::Android.Runtime.IntDefinition ("Android.OS.VibrationEffect.EffectHeavyClick", JniField = "android/os/VibrationEffect.EFFECT_HEAVY_CLICK")]
EffectHeavyClick = 5,
}
}
17 changes: 0 additions & 17 deletions src/Mono.Android/Android.Runtime/IntDefinitionAttribute.cs

This file was deleted.

3 changes: 0 additions & 3 deletions src/Mono.Android/ILLink/ILLink.LinkAttributes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
<type fullname="Android.Runtime.PreserveAttribute">
<attribute internal="RemoveAttributeInstances" />
</type>
<type fullname="Android.Runtime.IntDefinitionAttribute">
<attribute internal="RemoveAttributeInstances" />
</type>
<type fullname="Android.Runtime.GeneratedEnumAttribute">
<attribute internal="RemoveAttributeInstances" />
</type>
Expand Down
1 change: 0 additions & 1 deletion src/Mono.Android/Mono.Android.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,6 @@
<Compile Include="Android.Runtime\InputStreamAdapter.cs" />
<Compile Include="Android.Runtime\InputStreamInvoker.cs" />
<Compile Include="Android.Runtime\IntDefAttribute.cs" />
<Compile Include="Android.Runtime\IntDefinitionAttribute.cs" />
<Compile Include="Android.Runtime\JavaArray.cs" />
<Compile Include="Android.Runtime\JavaCollection.cs" />
<Compile Include="Android.Runtime\JavaDictionary.cs" />
Expand Down
6 changes: 0 additions & 6 deletions src/Mono.Android/PublicAPI/API-35/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29693,12 +29693,6 @@ Android.Runtime.IntDefAttribute.Flag.set -> void
Android.Runtime.IntDefAttribute.IntDefAttribute() -> void
Android.Runtime.IntDefAttribute.Type.get -> string?
Android.Runtime.IntDefAttribute.Type.set -> void
Android.Runtime.IntDefinitionAttribute
Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
Android.Runtime.IntDefinitionAttribute.JniField.set -> void
Android.Runtime.JavaArray<T>
Android.Runtime.JavaArray<T>.Add(T item) -> void
Android.Runtime.JavaArray<T>.Clear() -> void
Expand Down
6 changes: 6 additions & 0 deletions src/Mono.Android/PublicAPI/API-35/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,9 @@ REMOVED virtual Xamarin.Android.Net.AndroidClientHandler.WriteRequestContentToOu
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.get -> bool
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.set -> void
Java.Interop.BaseExportAttribute
*REMOVED*Android.Runtime.IntDefinitionAttribute

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 ⚠️ API design — Please keep IntDefinitionAttribute as an obsolete compatibility shim and remove only its generated applications. The measured ~1.4 MB win comes from eliminating the 11,243 attribute rows/string blobs, while retaining this tiny type preserves source compatibility and prevents GetCustomAttributes() on previously compiled bindings from failing when it resolves the old constructor. This applies to the equivalent removal markers in API-35, API-36, API-36.1, API-37, API-37.1, and API-37.2.

Rule: Preserve public API compatibility when the optimization does not require a break

*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.set -> void
6 changes: 0 additions & 6 deletions src/Mono.Android/PublicAPI/API-36.1/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31665,12 +31665,6 @@ Android.Runtime.IntDefAttribute.Flag.set -> void
Android.Runtime.IntDefAttribute.IntDefAttribute() -> void
Android.Runtime.IntDefAttribute.Type.get -> string?
Android.Runtime.IntDefAttribute.Type.set -> void
Android.Runtime.IntDefinitionAttribute
Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
Android.Runtime.IntDefinitionAttribute.JniField.set -> void
Android.Runtime.JavaArray<T>
Android.Runtime.JavaArray<T>.Add(T item) -> void
Android.Runtime.JavaArray<T>.Clear() -> void
Expand Down
6 changes: 6 additions & 0 deletions src/Mono.Android/PublicAPI/API-36.1/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,9 @@ REMOVED virtual Xamarin.Android.Net.AndroidClientHandler.WriteRequestContentToOu
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.get -> bool
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.set -> void
Java.Interop.BaseExportAttribute
*REMOVED*Android.Runtime.IntDefinitionAttribute
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.set -> void
6 changes: 0 additions & 6 deletions src/Mono.Android/PublicAPI/API-36/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29693,12 +29693,6 @@ Android.Runtime.IntDefAttribute.Flag.set -> void
Android.Runtime.IntDefAttribute.IntDefAttribute() -> void
Android.Runtime.IntDefAttribute.Type.get -> string?
Android.Runtime.IntDefAttribute.Type.set -> void
Android.Runtime.IntDefinitionAttribute
Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
Android.Runtime.IntDefinitionAttribute.JniField.set -> void
Android.Runtime.JavaArray<T>
Android.Runtime.JavaArray<T>.Add(T item) -> void
Android.Runtime.JavaArray<T>.Clear() -> void
Expand Down
6 changes: 6 additions & 0 deletions src/Mono.Android/PublicAPI/API-36/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4403,3 +4403,9 @@ virtual Java.Util.IdentityHashMap.Replace(Java.Lang.Object? key, Java.Lang.Objec
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.get -> bool
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.set -> void
Java.Interop.BaseExportAttribute
*REMOVED*Android.Runtime.IntDefinitionAttribute
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.set -> void
6 changes: 0 additions & 6 deletions src/Mono.Android/PublicAPI/API-37.1/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31665,12 +31665,6 @@ Android.Runtime.IntDefAttribute.Flag.set -> void
Android.Runtime.IntDefAttribute.IntDefAttribute() -> void
Android.Runtime.IntDefAttribute.Type.get -> string?
Android.Runtime.IntDefAttribute.Type.set -> void
Android.Runtime.IntDefinitionAttribute
Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
Android.Runtime.IntDefinitionAttribute.JniField.set -> void
Android.Runtime.JavaArray<T>
Android.Runtime.JavaArray<T>.Add(T item) -> void
Android.Runtime.JavaArray<T>.Clear() -> void
Expand Down
6 changes: 6 additions & 0 deletions src/Mono.Android/PublicAPI/API-37.1/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,9 @@
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.get -> bool
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.set -> void
static Android.Runtime.JNIEnv.BridgeProcessingGeneration.get -> int
*REMOVED*Android.Runtime.IntDefinitionAttribute
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.set -> void
6 changes: 0 additions & 6 deletions src/Mono.Android/PublicAPI/API-37.2/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31665,12 +31665,6 @@ Android.Runtime.IntDefAttribute.Flag.set -> void
Android.Runtime.IntDefAttribute.IntDefAttribute() -> void
Android.Runtime.IntDefAttribute.Type.get -> string?
Android.Runtime.IntDefAttribute.Type.set -> void
Android.Runtime.IntDefinitionAttribute
Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
Android.Runtime.IntDefinitionAttribute.JniField.set -> void
Android.Runtime.JavaArray<T>
Android.Runtime.JavaArray<T>.Add(T item) -> void
Android.Runtime.JavaArray<T>.Clear() -> void
Expand Down
6 changes: 6 additions & 0 deletions src/Mono.Android/PublicAPI/API-37.2/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
#nullable enable
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.get -> bool
Android.App.ApplicationAttribute.EnableOnBackInvokedCallback.set -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.set -> void
6 changes: 0 additions & 6 deletions src/Mono.Android/PublicAPI/API-37/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31665,12 +31665,6 @@ Android.Runtime.IntDefAttribute.Flag.set -> void
Android.Runtime.IntDefAttribute.IntDefAttribute() -> void
Android.Runtime.IntDefAttribute.Type.get -> string?
Android.Runtime.IntDefAttribute.Type.set -> void
Android.Runtime.IntDefinitionAttribute
Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
Android.Runtime.IntDefinitionAttribute.JniField.set -> void
Android.Runtime.JavaArray<T>
Android.Runtime.JavaArray<T>.Add(T item) -> void
Android.Runtime.JavaArray<T>.Clear() -> void
Expand Down
6 changes: 6 additions & 0 deletions src/Mono.Android/PublicAPI/API-37/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4693,3 +4693,9 @@ virtual Java.Nio.CharBuffer.GetChars(int srcBegin, int srcEnd, char[]! dst, int
virtual Javax.Net.Ssl.ExtendedSSLSession.StatusResponses.get -> System.Collections.Generic.IList<byte[]!>?
virtual Javax.Net.Ssl.SSLParameters.GetNamedGroups() -> string![]?
virtual Javax.Net.Ssl.SSLParameters.SetNamedGroups(string![]? namedGroups) -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.ConstantMember.set -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.IntDefinitionAttribute(string? constantMember) -> void
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.get -> string?
*REMOVED*Android.Runtime.IntDefinitionAttribute.JniField.set -> void
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ It is shared between "legacy" binding projects and .NET 5 projects.
<ApiOutputFile Condition=" '$(ApiOutputFile)' == '' ">$(IntermediateOutputPath)api.xml</ApiOutputFile>
<ClassParseToolExe Condition=" '$(ClassParseToolExe)' == '' ">class-parse.dll</ClassParseToolExe>
<BindingsGeneratorToolExe Condition=" '$(BindingsGeneratorToolExe)' == '' ">generator.dll</BindingsGeneratorToolExe>
<JavadocToMdocToolExe Condition=" '$(JavadocToMdocToolExe)' == '' ">javadoc-to-mdoc.exe</JavadocToMdocToolExe>
<_GeneratorStampFile>$(_AndroidStampDirectory)generator.stamp</_GeneratorStampFile>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ This file is only used by "legacy" Xamarin Android binding projects.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<UsingTask TaskName="Xamarin.Android.Tasks.ImportJavaDoc" AssemblyFile="Xamarin.Android.Build.Tasks.dll" />
<UsingTask TaskName="Xamarin.Android.Tasks.JavaDoc" AssemblyFile="Xamarin.Android.Build.Tasks.dll" />
<UsingTask TaskName="Xamarin.Android.Tasks.MDoc" AssemblyFile="Xamarin.Android.Build.Tasks.dll" />
<UsingTask TaskName="Xamarin.Android.Tasks.UnzipToFolder" AssemblyFile="Xamarin.Android.Build.Tasks.dll" />
Expand Down Expand Up @@ -62,17 +61,6 @@ This file is only used by "legacy" Xamarin Android binding projects.
ToolPath="$(MonoAndroidToolsDirectory)"
ToolExe="$(MDocToolExe)"
/>
<ImportJavaDoc
ContinueOnError="true"
NetCoreRoot="$(NetCoreRoot)"
ToolPath="$(MonoAndroidToolsDirectory)"
ToolExe="$(JavadocToMdocToolExe)"
JavaDocs="@(JavaDocIndex)"
References="@(ReferencePath);@(ReferenceDependencyPaths)"
Transforms="@(TransformFile)"
TargetAssembly="@(IntermediateAssembly)"
OutputDocDirectory="$(IntermediateOutputPath)docs"
/>
<!-- "extra" mdoc needed to "fix" formatting, reducing diff size due to XML formatting -->
<MDoc
References="@(ReferencePath);@(ReferenceDependencyPaths)"
Expand Down
Loading
Loading