Skip to content

[Bug] When using inout parameter in AIDL, the code generator is not working properly #5079

@MrAlbin

Description

@MrAlbin

Steps to Reproduce

  1. Add a function with an inout parameter to an AIDL file:
    for example:
    int GetStringArray(inout String[] stringArray);
  2. Implement the function in your Service.
  3. Compile.

Expected Behavior

The code generator should produce:

...
protected override bool OnTransact (int code, global::Android.OS.Parcel data, global::Android.OS.Parcel reply, int flags)
{
	switch (code) {
	...
	case TransactionGetStringArray: {
		data.EnforceInterface (descriptor);
		String [] arg0 = default (String []);
		arg0 = data.CreateStringArray ();
		var result = this.GetStringArray (arg0);
		reply.WriteNoException ();
		reply.WriteInt (result);
		reply.WriteStringArray (arg0);
		}
	...
	}
...
}

Actual Behavior

The code generator produces:

...
protected override bool OnTransact (int code, global::Android.OS.Parcel data, global::Android.OS.Parcel reply, int flags)
{
	switch (code) {
	...
	case TransactionGetStringArray: {
		data.EnforceInterface (descriptor);
		String [] arg0 = default (String []);
		arg0 = data.CreateStringArray ();
		var result = this.GetStringArray (arg0);
		reply.WriteNoException ();
		reply.WriteInt (result);
		data.WriteStringArray (arg0);
		}
	...
	}
...
}

What goes wrong:
It should not be data.WriteStringArray (arg0); but reply.WriteStringArray (arg0);.

Version Information

Microsoft Visual Studio Professional 2019
Version 16.7.2
VisualStudio.16.Release/16.7.2+30413.136
Microsoft .NET Framework
Version 4.8.03752

Installierte Version: Professional

Visual C++ 2019 00435-60000-00000-AA836
Microsoft Visual C++ 2019

Xamarin 16.7.000.440 (d16-7@358f3c6)
Visual Studio-Erweiterung, um Entwicklung für Xamarin.iOS und Xamarin.Android zu ermöglichen.

Xamarin Designer 16.7.0.495 (remotes/origin/d16-7@79c0c522c)
Visual Studio-Erweiterung zum Aktivieren der Xamarin Designer-Tools in Visual Studio.

Xamarin Templates 16.7.85 (1bcbbdf)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK 11.0.2.0 (d16-7/025fde9)
Xamarin.Android Reference Assemblies and MSBuild support.
Mono: 83105ba
Java.Interop: xamarin/java.interop/d16-7@1f3388a
ProGuard: Guardsquare/proguard@ebe9000
SQLite: xamarin/sqlite@1a3276b
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-7@017078f

Xamarin.iOS and Xamarin.Mac SDK 13.20.2.2 (817b6f72a)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

Metadata

Metadata

Assignees

Labels

Area: BindingsIssues in Java Library Binding projects.bugComponent does not function as intended.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions