diff --git a/Xamarin.Android-Tests.sln b/Xamarin.Android-Tests.sln index 771222e65bf..0b44a2eec69 100644 --- a/Xamarin.Android-Tests.sln +++ b/Xamarin.Android-Tests.sln @@ -90,6 +90,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Java.Interop-Tests", "tests EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Java.Interop", "external\Java.Interop\src\Java.Interop\Java.Interop.csproj", "{94BD81F7-B06F-4295-9636-F8A3B6BDC762}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.Aidl-Tests", "tests\Xamarin.Android.Tools.Aidl-Tests\Xamarin.Android.Tools.Aidl-Tests.csproj", "{883941C8-C4ED-428D-A7D2-26F2EEA23F92}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xamarin.Android.Tools.Aidl", "src\Xamarin.Android.Tools.Aidl\Xamarin.Android.Tools.Aidl.csproj", "{302D9D2E-1F98-4374-9B6B-922F78620C4B}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution tests\Mono.Android-Tests\Mono.Android-Test.Shared.projitems*{0ab4956e-6fb9-4da0-9d49-ab65a3ff403a}*SharedItemsImports = 13 @@ -241,6 +245,14 @@ Global {94BD81F7-B06F-4295-9636-F8A3B6BDC762}.Debug|Any CPU.Build.0 = Debug|Any CPU {94BD81F7-B06F-4295-9636-F8A3B6BDC762}.Release|Any CPU.ActiveCfg = Release|Any CPU {94BD81F7-B06F-4295-9636-F8A3B6BDC762}.Release|Any CPU.Build.0 = Release|Any CPU + {883941C8-C4ED-428D-A7D2-26F2EEA23F92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {883941C8-C4ED-428D-A7D2-26F2EEA23F92}.Debug|Any CPU.Build.0 = Debug|Any CPU + {883941C8-C4ED-428D-A7D2-26F2EEA23F92}.Release|Any CPU.ActiveCfg = Release|Any CPU + {883941C8-C4ED-428D-A7D2-26F2EEA23F92}.Release|Any CPU.Build.0 = Release|Any CPU + {302D9D2E-1F98-4374-9B6B-922F78620C4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {302D9D2E-1F98-4374-9B6B-922F78620C4B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {302D9D2E-1F98-4374-9B6B-922F78620C4B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {302D9D2E-1F98-4374-9B6B-922F78620C4B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -278,6 +290,8 @@ Global {D1243BAB-23CA-4566-A2A3-3ADA2C2DC3AF} = {EFBC4DC0-DBFF-4DAA-B0B8-6D0CB02A25F5} {6CB00820-A66B-43E5-8785-ED456C6E9F39} = {EFBC4DC0-DBFF-4DAA-B0B8-6D0CB02A25F5} {94BD81F7-B06F-4295-9636-F8A3B6BDC762} = {EFBC4DC0-DBFF-4DAA-B0B8-6D0CB02A25F5} + {883941C8-C4ED-428D-A7D2-26F2EEA23F92} = {EFBC4DC0-DBFF-4DAA-B0B8-6D0CB02A25F5} + {302D9D2E-1F98-4374-9B6B-922F78620C4B} = {EFBC4DC0-DBFF-4DAA-B0B8-6D0CB02A25F5} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {8643CD20-B195-4919-8135-27549488237E} diff --git a/build-tools/automation/yaml-templates/run-msbuild-mac-tests.yaml b/build-tools/automation/yaml-templates/run-msbuild-mac-tests.yaml index 52a71d87be2..1d6fb3c6b96 100644 --- a/build-tools/automation/yaml-templates/run-msbuild-mac-tests.yaml +++ b/build-tools/automation/yaml-templates/run-msbuild-mac-tests.yaml @@ -56,6 +56,15 @@ jobs: dotNetTestExtraArgs: --filter "TestCategory != Node-1 & TestCategory != Node-2 & TestCategory != Node-3" testResultsFile: TestResult-MSBuildTests-macOS-NoNode-$(XA.Build.Configuration).xml + # Only run these tests on node 2 + - ${{ if eq(parameters.run_extra_tests, true) }}: + - template: run-nunit-tests.yaml + parameters: + useDotNet: $(UseDotNet) + testRunTitle: Xamarin.Android.Tools.Aidl-Tests - macOS + testAssembly: $(System.DefaultWorkingDirectory)/bin/Test$(XA.Build.Configuration)/${{ parameters.target_framework }}/Xamarin.Android.Tools.Aidl-Tests.dll + testResultsFile: TestResult-Aidl-Tests-macOS-$(XA.Build.Configuration).xml + - template: upload-results.yaml parameters: artifactName: Test Results - MSBuild ${{ parameters.job_suffix }} - macOS-${{ parameters.node_id }} diff --git a/build-tools/automation/yaml-templates/run-msbuild-win-tests.yaml b/build-tools/automation/yaml-templates/run-msbuild-win-tests.yaml index b57df1c6b70..396aa850279 100644 --- a/build-tools/automation/yaml-templates/run-msbuild-win-tests.yaml +++ b/build-tools/automation/yaml-templates/run-msbuild-win-tests.yaml @@ -63,6 +63,15 @@ jobs: dotNetTestExtraArgs: --filter "TestCategory != Node-1 & TestCategory != Node-2 & TestCategory != Node-3" testResultsFile: TestResult-MSBuildTests-Windows-NoNode-$(XA.Build.Configuration).xml + # Only run these tests on node 2 + - ${{ if eq(parameters.run_extra_tests, true) }}: + - template: run-nunit-tests.yaml + parameters: + useDotNet: $(UseDotNet) + testRunTitle: Xamarin.Android.Tools.Aidl-Tests - Windows + testAssembly: $(System.DefaultWorkingDirectory)\bin\Test$(XA.Build.Configuration)\${{ parameters.target_framework }}\Xamarin.Android.Tools.Aidl-Tests.dll + testResultsFile: TestResult-Aidl-Tests-Windows-$(XA.Build.Configuration).xml + - template: upload-results.yaml parameters: artifactName: Test Results - MSBuild ${{ parameters.job_suffix }} - Windows-${{ parameters.node_id }} diff --git a/build-tools/scripts/RunTests.targets b/build-tools/scripts/RunTests.targets index 9a5a4c46301..2ba159f9e9c 100644 --- a/build-tools/scripts/RunTests.targets +++ b/build-tools/scripts/RunTests.targets @@ -16,6 +16,7 @@ <_TestAssembly Include="$(_TopDir)\bin\Test$(Configuration)\net472\Xamarin.Android.Build.Tests.dll" /> + <_TestAssembly Include="$(_TopDir)\bin\Test$(Configuration)\net472\Xamarin.Android.Tools.Aidl-Tests.dll" /> <_ApkTestProject Include="$(_TopDir)\tests\Mono.Android-Tests\Mono.Android-Tests.csproj" /> <_ApkTestProject Include="$(_TopDir)\tests\CodeGen-Binding\Xamarin.Android.JcwGen-Tests\Xamarin.Android.JcwGen-Tests.csproj" /> <_ApkTestProject Include="$(_TopDir)\tests\CodeGen-MkBundle\Xamarin.Android.MakeBundle-Tests\Xamarin.Android.MakeBundle-Tests.csproj" /> diff --git a/src/Xamarin.Android.Tools.Aidl/AidlCompiler.cs b/src/Xamarin.Android.Tools.Aidl/AidlCompiler.cs index 18c2d97e863..4f95b8c8205 100644 --- a/src/Xamarin.Android.Tools.Aidl/AidlCompiler.cs +++ b/src/Xamarin.Android.Tools.Aidl/AidlCompiler.cs @@ -77,6 +77,41 @@ public Result Run (ConverterOptions opts, Func resolv return result; } + + // This overload is primarily for unit tests. + public Result Run (string input, out string output, AssemblyDefinition[] references = null, ParcelableHandling parcelableHandling = ParcelableHandling.Ignore) + { + var result = new Result (); + var database = new BindingDatabase (references ?? Array.Empty ()); + var lang = new LanguageData (new AidlGrammar () { LanguageFlags = LanguageFlags.Default | LanguageFlags.CreateAst }); + var parser = new Parser (lang); + + var pt = parser.Parse (input); + + if (pt.HasErrors ()) { + foreach (var l in pt.ParserMessages) + result.LogMessages.Add ("input.aidl", l); + + output = null; + return result; + } + + var unit = (CompilationUnit) pt.Root.AstNode; + + var parcelables = new List (); + + foreach (Parcelable t in unit.Types.Where (t => t is Parcelable)) + parcelables.Add (unit.Package == null ? t.Name : new TypeName (unit.Package.Identifiers.Concat (t.Name.Identifiers).ToArray ())); + + var sw = new StringWriter (); + var opts = new ConverterOptions { ParcelableHandling = parcelableHandling }; + + new CSharpCodeGenerator (sw, database).GenerateCode (unit, parcelables, opts); + + output = sw.ToString (); + + return result; + } } } diff --git a/src/Xamarin.Android.Tools.Aidl/BindingDatabase.cs b/src/Xamarin.Android.Tools.Aidl/BindingDatabase.cs index 8f7e4d91658..0be93e2c2e0 100644 --- a/src/Xamarin.Android.Tools.Aidl/BindingDatabase.cs +++ b/src/Xamarin.Android.Tools.Aidl/BindingDatabase.cs @@ -25,6 +25,7 @@ public BindingDatabase (IEnumerable assemblies, Func asses) { this.asses.AddRange (asses); + Initialize (null, null); } public IDictionary NamespaceMappings { diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/AidlCompilerTestBase.cs b/tests/Xamarin.Android.Tools.Aidl-Tests/AidlCompilerTestBase.cs new file mode 100644 index 00000000000..60afecbdf09 --- /dev/null +++ b/tests/Xamarin.Android.Tools.Aidl-Tests/AidlCompilerTestBase.cs @@ -0,0 +1,63 @@ +//#define GENERATE_OUTPUT +// This define will overwrite the files in /bin/TestData. +// You will still need to copy them back to the original /TestData. + +using System; +using System.IO; +using System.Linq; +using System.Reflection; +using NUnit.Framework; +using Xamarin.Android.Tools.Aidl; + +namespace Xamarin.Android.Tools.Aidl_Tests +{ + public class AidlCompilerTestBase + { + protected void RunTest (string name) + { + var root = Path.GetDirectoryName (Assembly.GetExecutingAssembly ().Location); + var file = Path.Combine (root, "TestData", name + ".txt"); + var text = File.ReadAllText (file); + + (var input, var expected_output) = SplitTestFile (text); + + var compiler = new AidlCompiler (); + var results = compiler.Run (input, out var output); + + Assert.False (results.LogMessages.Any ()); + +#if GENERATE_OUTPUT + using (var sw = new StreamWriter (file)) { + sw.WriteLine (input); + sw.WriteLine (); + sw.WriteLine ("####"); + sw.WriteLine (); + sw.WriteLine (output); + } + + Assert.Ignore ("Generating output for this test."); +#endif // GENERATE_OUTPUT + + Assert.AreEqual (StripLineEndings (expected_output), StripLineEndings (output)); + } + + (string input, string output) SplitTestFile (string text) + { + var index = text.IndexOf ("####"); + + if (index < 0) { +#if GENERATE_OUTPUT + return (text, null); +#endif // GENERATE_OUTPUT + throw new Exception ("No expected output found."); + } + + var input = text.Substring (0, index).Trim (); + var output = text.Substring (index + 4).Trim (); + + return (input, output); + } + + string StripLineEndings (string input) => input.Replace ("\n", "").Replace ("\r", "").Trim (); + } +} diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/AidlCompilerTests.cs b/tests/Xamarin.Android.Tools.Aidl-Tests/AidlCompilerTests.cs new file mode 100644 index 00000000000..dca3bdcdb57 --- /dev/null +++ b/tests/Xamarin.Android.Tools.Aidl-Tests/AidlCompilerTests.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using NUnit.Framework; + +namespace Xamarin.Android.Tools.Aidl_Tests +{ + [TestFixture] + public class AidlCompilerTests : AidlCompilerTestBase + { + [Test] + public void ListAndMap () => RunTest (nameof (ListAndMap)); + + [Test] + public void NamespaceResolution () => RunTest (nameof (NamespaceResolution)); + + [Test] + public void PrimitiveTypes () => RunTest (nameof (PrimitiveTypes)); + + [Test] + public void FaceService () => RunTest (nameof (FaceService)); + + [Test] + public void IUpdateEngine () => RunTest (nameof (IUpdateEngine)); + + [Test] + public void ITelephony () => RunTest (nameof (ITelephony)); + } +} diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/FaceService.txt b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/FaceService.txt new file mode 100644 index 00000000000..ec006299bfc --- /dev/null +++ b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/FaceService.txt @@ -0,0 +1,589 @@ +/** + * Copyright (C) 2021 The PixelExperience Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Taken from https://github.com/lighthouse-os/external_faceunlock/blob/raft/framework/src/com/android/internal/util/custom/faceunlock/IFaceService.aidl + */ + +package com.android.internal.util.custom.faceunlock; + +import com.android.internal.util.custom.faceunlock.IFaceServiceReceiver; + +/** @hide */ +interface IFaceService { + oneway void authenticate(long operationId); + + oneway void cancel(); + + oneway void enroll(in byte[] cryptoToken, int timeout, in int[] disabledFeatures); + + int enumerate(); + + long generateChallenge(int timeout); + + int getAuthenticatorId(); + + boolean getFeature(int feature, int faceId); + + int getFeatureCount(); + + oneway void remove(int biometricId); + + oneway void resetLockout(in byte[] cryptoToken); + + int revokeChallenge(); + + oneway void setCallback(in IFaceServiceReceiver receiver); + + oneway void setFeature(int feature, boolean enable, in byte[] token, int faceId); +} + +#### + +// This file is automatically generated and not supposed to be modified. +using System; +using Boolean = System.Boolean; +using String = System.String; +using List = Android.Runtime.JavaList; +using Map = Android.Runtime.JavaDictionary; +using Com.Android.Internal.Util.Custom.Faceunlock; + +namespace Com.Android.Internal.Util.Custom.Faceunlock +{ + public interface IFaceService : global::Android.OS.IInterface + { + void Authenticate (long operationId); + void Cancel (); + void Enroll (byte [] cryptoToken, int timeout, int [] disabledFeatures); + int Enumerate (); + long GenerateChallenge (int timeout); + int GetAuthenticatorId (); + bool GetFeature (int feature, int faceId); + int GetFeatureCount (); + void Remove (int biometricId); + void ResetLockout (byte [] cryptoToken); + int RevokeChallenge (); + void SetCallback (IFaceServiceReceiver receiver); + void SetFeature (int feature, bool enable, byte [] token, int faceId); + } + + public abstract class IFaceServiceStub : global::Android.OS.Binder, global::Android.OS.IInterface, Com.Android.Internal.Util.Custom.Faceunlock.IFaceService + { + const string descriptor = "com.android.internal.util.custom.faceunlock.IFaceService"; + public IFaceServiceStub () + { + this.AttachInterface (this, descriptor); + } + + public static Com.Android.Internal.Util.Custom.Faceunlock.IFaceService AsInterface (global::Android.OS.IBinder obj) + { + if (obj == null) + return null; + var iin = (global::Android.OS.IInterface) obj.QueryLocalInterface (descriptor); + if (iin != null && iin is Com.Android.Internal.Util.Custom.Faceunlock.IFaceService) + return (Com.Android.Internal.Util.Custom.Faceunlock.IFaceService) iin; + return new Proxy (obj); + } + + public global::Android.OS.IBinder AsBinder () + { + return this; + } + + protected override bool OnTransact (int code, global::Android.OS.Parcel data, global::Android.OS.Parcel reply, int flags) + { + switch (code) { + case global::Android.OS.BinderConsts.InterfaceTransaction: + reply.WriteString (descriptor); + return true; + + case TransactionAuthenticate: { + data.EnforceInterface (descriptor); + long arg0 = default (long); + arg0 = data.ReadLong (); + this.Authenticate (arg0); + data.WriteLong (arg0); + return true; + } + + case TransactionCancel: { + data.EnforceInterface (descriptor); + this.Cancel (); + return true; + } + + case TransactionEnroll: { + data.EnforceInterface (descriptor); + byte [] arg0 = default (byte []); + arg0 = data.CreateByteArray (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int [] arg2 = default (int []); + arg2 = data.CreateIntArray (); + this.Enroll (arg0, arg1, arg2); + data.WriteInt (arg1); + return true; + } + + case TransactionEnumerate: { + data.EnforceInterface (descriptor); + var result = this.Enumerate (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGenerateChallenge: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GenerateChallenge (arg0); + reply.WriteNoException (); + reply.WriteLong (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetAuthenticatorId: { + data.EnforceInterface (descriptor); + var result = this.GetAuthenticatorId (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGetFeature: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetFeature (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetFeatureCount: { + data.EnforceInterface (descriptor); + var result = this.GetFeatureCount (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionRemove: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.Remove (arg0); + data.WriteInt (arg0); + return true; + } + + case TransactionResetLockout: { + data.EnforceInterface (descriptor); + byte [] arg0 = default (byte []); + arg0 = data.CreateByteArray (); + this.ResetLockout (arg0); + return true; + } + + case TransactionRevokeChallenge: { + data.EnforceInterface (descriptor); + var result = this.RevokeChallenge (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionSetCallback: { + data.EnforceInterface (descriptor); + IFaceServiceReceiver arg0 = default (IFaceServiceReceiver); + arg0 = IFaceServiceReceiverStub.AsInterface (data.ReadStrongBinder ()); + this.SetCallback (arg0); + return true; + } + + case TransactionSetFeature: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + byte [] arg2 = default (byte []); + arg2 = data.CreateByteArray (); + int arg3 = default (int); + arg3 = data.ReadInt (); + this.SetFeature (arg0, arg1, arg2, arg3); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + data.WriteInt (arg3); + return true; + } + + } + return base.OnTransact (code, data, reply, flags); + } + + public class Proxy : Java.Lang.Object, Com.Android.Internal.Util.Custom.Faceunlock.IFaceService + { + global::Android.OS.IBinder remote; + + public Proxy (global::Android.OS.IBinder remote) + { + this.remote = remote; + } + + public global::Android.OS.IBinder AsBinder () + { + return remote; + } + + public string GetInterfaceDescriptor () + { + return descriptor; + } + + public void Authenticate (long operationId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteLong (operationId); + remote.Transact (IFaceServiceStub.TransactionAuthenticate, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void Cancel () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IFaceServiceStub.TransactionCancel, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void Enroll (byte [] cryptoToken, int timeout, int [] disabledFeatures) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteByteArray (cryptoToken); + __data.WriteInt (timeout); + __data.WriteIntArray (disabledFeatures); + remote.Transact (IFaceServiceStub.TransactionEnroll, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int Enumerate () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IFaceServiceStub.TransactionEnumerate, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public long GenerateChallenge (int timeout) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +long __result = default (long); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (timeout); + remote.Transact (IFaceServiceStub.TransactionGenerateChallenge, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadLong (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetAuthenticatorId () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IFaceServiceStub.TransactionGetAuthenticatorId, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool GetFeature (int feature, int faceId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (feature); + __data.WriteInt (faceId); + remote.Transact (IFaceServiceStub.TransactionGetFeature, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetFeatureCount () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IFaceServiceStub.TransactionGetFeatureCount, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void Remove (int biometricId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (biometricId); + remote.Transact (IFaceServiceStub.TransactionRemove, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void ResetLockout (byte [] cryptoToken) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteByteArray (cryptoToken); + remote.Transact (IFaceServiceStub.TransactionResetLockout, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int RevokeChallenge () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IFaceServiceStub.TransactionRevokeChallenge, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetCallback (IFaceServiceReceiver receiver) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((receiver != null)) ? (receiver.AsBinder ()) : (null))); + remote.Transact (IFaceServiceStub.TransactionSetCallback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SetFeature (int feature, bool enable, byte [] token, int faceId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (feature); + __data.WriteInt (enable ? 1 : 0); + __data.WriteByteArray (token); + __data.WriteInt (faceId); + remote.Transact (IFaceServiceStub.TransactionSetFeature, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + } + + internal const int TransactionAuthenticate = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 0; + + internal const int TransactionCancel = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 1; + + internal const int TransactionEnroll = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 2; + + internal const int TransactionEnumerate = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 3; + + internal const int TransactionGenerateChallenge = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 4; + + internal const int TransactionGetAuthenticatorId = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 5; + + internal const int TransactionGetFeature = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 6; + + internal const int TransactionGetFeatureCount = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 7; + + internal const int TransactionRemove = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 8; + + internal const int TransactionResetLockout = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 9; + + internal const int TransactionRevokeChallenge = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 10; + + internal const int TransactionSetCallback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 11; + + internal const int TransactionSetFeature = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 12; + + public abstract void Authenticate (long operationId); + + public abstract void Cancel (); + + public abstract void Enroll (byte [] cryptoToken, int timeout, int [] disabledFeatures); + + public abstract int Enumerate (); + + public abstract long GenerateChallenge (int timeout); + + public abstract int GetAuthenticatorId (); + + public abstract bool GetFeature (int feature, int faceId); + + public abstract int GetFeatureCount (); + + public abstract void Remove (int biometricId); + + public abstract void ResetLockout (byte [] cryptoToken); + + public abstract int RevokeChallenge (); + + public abstract void SetCallback (IFaceServiceReceiver receiver); + + public abstract void SetFeature (int feature, bool enable, byte [] token, int faceId); + + } +} + diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/ITelephony.txt b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/ITelephony.txt new file mode 100644 index 00000000000..07f3f15898b --- /dev/null +++ b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/ITelephony.txt @@ -0,0 +1,14020 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Taken from https://github.com/DerpFest-11/frameworks_base/blob/11/telephony/java/com/android/internal/telephony/ITelephony.aidl + */ + +package com.android.internal.telephony; + +import android.app.PendingIntent; +import android.content.Intent; +import android.content.IntentSender; +import android.os.Bundle; +import android.os.IBinder; +import android.os.Messenger; +import android.os.ParcelFileDescriptor; +import android.os.ResultReceiver; +import android.os.WorkSource; +import android.net.NetworkStats; +import android.net.Uri; +import android.service.carrier.CarrierIdentifier; +import android.telecom.PhoneAccount; +import android.telecom.PhoneAccountHandle; +import android.telephony.CallForwardingInfo; +import android.telephony.CarrierRestrictionRules; +import android.telephony.CellIdentity; +import android.telephony.CellInfo; +import android.telephony.ClientRequestStats; +import android.telephony.IccOpenLogicalChannelResponse; +import android.telephony.ICellInfoCallback; +import android.telephony.ModemActivityInfo; +import android.telephony.NeighboringCellInfo; +import android.telephony.NetworkScanRequest; +import android.telephony.PhoneNumberRange; +import android.telephony.RadioAccessFamily; +import android.telephony.RadioAccessSpecifier; +import android.telephony.ServiceState; +import android.telephony.SignalStrength; +import android.telephony.TelephonyHistogram; +import android.telephony.VisualVoicemailSmsFilterSettings; +import android.telephony.emergency.EmergencyNumber; +import android.telephony.ims.aidl.IImsCapabilityCallback; +import android.telephony.ims.aidl.IImsConfig; +import android.telephony.ims.aidl.IImsConfigCallback; +import android.telephony.ims.aidl.IImsMmTelFeature; +import android.telephony.ims.aidl.IImsRcsFeature; +import android.telephony.ims.aidl.IImsRegistration; +import android.telephony.ims.aidl.IImsRegistrationCallback; +import com.android.ims.internal.IImsServiceFeatureCallback; +import com.android.internal.telephony.CellNetworkScanResult; +import com.android.internal.telephony.IBooleanConsumer; +import com.android.internal.telephony.IIntegerConsumer; +import com.android.internal.telephony.INumberVerificationCallback; +import com.android.internal.telephony.OperatorInfo; + +import java.util.List; +import java.util.Map; + +import android.telephony.UiccCardInfo; +import android.telephony.UiccSlotInfo; + +/** + * Interface used to interact with the phone. Mostly this is used by the + * TelephonyManager class. A few places are still using this directly. + * Please clean them up if possible and use TelephonyManager instead. + * + * {@hide} + */ +interface ITelephony { + + /** + * Dial a number. This doesn't place the call. It displays + * the Dialer screen. + * @param number the number to be dialed. If null, this + * would display the Dialer screen with no number pre-filled. + */ + //@UnsupportedAppUsage + void dial(String number); + + /** + * Place a call to the specified number. + * @param callingPackage The package making the call. + * @param number the number to be called. + */ + //@UnsupportedAppUsage + void call(String callingPackage, String number); + + /** @deprecated Use {@link #isRadioOnWithFeature(String, String) instead */ + //@UnsupportedAppUsage + boolean isRadioOn(String callingPackage); + + /** + * Check to see if the radio is on or not. + * @param callingPackage the name of the package making the call. + * @param callingFeatureId The feature in the package. + * @return returns true if the radio is on. + */ + boolean isRadioOnWithFeature(String callingPackage, String callingFeatureId); + + /** + * @deprecated Use {@link #isRadioOnForSubscriberWithFeature(int, String, String) instead + */ + //@UnsupportedAppUsage + boolean isRadioOnForSubscriber(int subId, String callingPackage); + + /** + * Check to see if the radio is on or not on particular subId. + * @param subId user preferred subId. + * @param callingPackage the name of the package making the call. + * @param callingFeatureId The feature in the package. + * @return returns true if the radio is on. + */ + boolean isRadioOnForSubscriberWithFeature(int subId, String callingPackage, String callingFeatureId); + + + /** + * Supply a pin to unlock the SIM for particular subId. + * Blocks until a result is determined. + * @param pin The pin to check. + * @param subId user preferred subId. + * @return whether the operation was a success. + */ + boolean supplyPinForSubscriber(int subId, String pin); + + /** + * Supply puk to unlock the SIM and set SIM pin to new pin. + * Blocks until a result is determined. + * @param puk The puk to check. + * pin The new pin to be set in SIM + * @param subId user preferred subId. + * @return whether the operation was a success. + */ + boolean supplyPukForSubscriber(int subId, String puk, String pin); + + /** + * Supply a pin to unlock the SIM. Blocks until a result is determined. + * Returns a specific success/error code. + * @param pin The pin to check. + * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code + * retValue[1] = number of attempts remaining if known otherwise -1 + */ + int[] supplyPinReportResultForSubscriber(int subId, String pin); + + /** + * Supply puk to unlock the SIM and set SIM pin to new pin. + * Blocks until a result is determined. + * Returns a specific success/error code + * @param puk The puk to check + * pin The pin to check. + * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code + * retValue[1] = number of attempts remaining if known otherwise -1 + */ + int[] supplyPukReportResultForSubscriber(int subId, String puk, String pin); + + /** + * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated + * without SEND (so dial is not appropriate). + * + * @param dialString the MMI command to be executed. + * @return true if MMI command is executed. + */ + //@UnsupportedAppUsage + boolean handlePinMmi(String dialString); + + + /** + * Handles USSD commands. + * + * @param subId The subscription to use. + * @param ussdRequest the USSD command to be executed. + * @param wrappedCallback receives a callback result. + */ + void handleUssdRequest(int subId, String ussdRequest, in ResultReceiver wrappedCallback); + + /** + * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated + * without SEND (so dial is not appropriate) for + * a particular subId. + * @param dialString the MMI command to be executed. + * @param subId user preferred subId. + * @return true if MMI command is executed. + */ + //@UnsupportedAppUsage + boolean handlePinMmiForSubscriber(int subId, String dialString); + + /** + * Toggles the radio on or off. + */ + //@UnsupportedAppUsage + void toggleRadioOnOff(); + + /** + * Toggles the radio on or off on particular subId. + * @param subId user preferred subId. + */ + void toggleRadioOnOffForSubscriber(int subId); + + /** + * Set the radio to on or off + */ + //@UnsupportedAppUsage + boolean setRadio(boolean turnOn); + + /** + * Set the radio to on or off on particular subId. + * @param subId user preferred subId. + */ + boolean setRadioForSubscriber(int subId, boolean turnOn); + + /** + * Set the radio to on or off unconditionally + */ + boolean setRadioPower(boolean turnOn); + + /** + * Request to update location information in service state + */ + //@UnsupportedAppUsage + void updateServiceLocation(); + + /** + * Request to update location information for a subscrition in service state + * @param subId user preferred subId. + */ + void updateServiceLocationForSubscriber(int subId); + + /** + * Enable location update notifications. + */ + //@UnsupportedAppUsage + void enableLocationUpdates(); + + /** + * Enable location update notifications. + * @param subId user preferred subId. + */ + void enableLocationUpdatesForSubscriber(int subId); + + /** + * Disable location update notifications. + */ + //@UnsupportedAppUsage + void disableLocationUpdates(); + + /** + * Disable location update notifications. + * @param subId user preferred subId. + */ + void disableLocationUpdatesForSubscriber(int subId); + + /** + * Allow mobile data connections. + */ + //@UnsupportedAppUsage + boolean enableDataConnectivity(); + + /** + * Disallow mobile data connections. + */ + //@UnsupportedAppUsage + boolean disableDataConnectivity(); + + /** + * Report whether data connectivity is possible. + */ + boolean isDataConnectivityPossible(int subId); + + // Uses CellIdentity which is Parcelable here; will convert to CellLocation in client. + CellIdentity getCellLocation(String callingPkg, String callingFeatureId); + + /** + * Returns the ISO country code equivalent of the current registered + * operator's MCC (Mobile Country Code). + * @see android.telephony.TelephonyManager#getNetworkCountryIso + */ + String getNetworkCountryIsoForPhone(int phoneId); + + /** + * Returns the neighboring cell information of the device. + */ + List getNeighboringCellInfo(String callingPkg, String callingFeatureId); + + //@UnsupportedAppUsage + int getCallState(); + + /** + * Returns the call state for a slot. + */ + int getCallStateForSlot(int slotIndex); + + /** + * Replaced by getDataActivityForSubId. + */ + //@UnsupportedAppUsage(maxTargetSdk = 28) + int getDataActivity(); + + /** + * Returns a constant indicating the type of activity on a data connection + * (cellular). + * + * @see #DATA_ACTIVITY_NONE + * @see #DATA_ACTIVITY_IN + * @see #DATA_ACTIVITY_OUT + * @see #DATA_ACTIVITY_INOUT + * @see #DATA_ACTIVITY_DORMANT + */ + int getDataActivityForSubId(int subId); + + /** + * Replaced by getDataStateForSubId. + */ + //@UnsupportedAppUsage(maxTargetSdk = 28) + int getDataState(); + + /** + * Returns a constant indicating the current data connection state + * (cellular). + * + * @see #DATA_DISCONNECTED + * @see #DATA_CONNECTING + * @see #DATA_CONNECTED + * @see #DATA_SUSPENDED + */ + int getDataStateForSubId(int subId); + + /** + * Returns the current active phone type as integer. + * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE + * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE + */ + //@UnsupportedAppUsage + int getActivePhoneType(); + + /** + * Returns the current active phone type as integer for particular slot. + * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE + * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE + * @param slotIndex - slot to query. + */ + int getActivePhoneTypeForSlot(int slotIndex); + + /** + * Returns the CDMA ERI icon index to display + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + */ + int getCdmaEriIconIndex(String callingPackage, String callingFeatureId); + + /** + * Returns the CDMA ERI icon index to display on particular subId. + * @param subId user preferred subId. + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + */ + int getCdmaEriIconIndexForSubscriber(int subId, String callingPackage, + String callingFeatureId); + + /** + * Returns the CDMA ERI icon mode, + * 0 - ON + * 1 - FLASHING + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + */ + int getCdmaEriIconMode(String callingPackage, String callingFeatureId); + + /** + * Returns the CDMA ERI icon mode on particular subId, + * 0 - ON + * 1 - FLASHING + * @param subId user preferred subId. + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + */ + int getCdmaEriIconModeForSubscriber(int subId, String callingPackage, + String callingFeatureId); + + /** + * Returns the CDMA ERI text, + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + */ + String getCdmaEriText(String callingPackage, String callingFeatureId); + + /** + * Returns the CDMA ERI text for particular subId, + * @param subId user preferred subId. + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + */ + String getCdmaEriTextForSubscriber(int subId, String callingPackage, String callingFeatureId); + + /** + * Returns true if OTA service provisioning needs to run. + * Only relevant on some technologies, others will always + * return false. + */ + boolean needsOtaServiceProvisioning(); + + /** + * Sets the voicemail number for a particular subscriber. + */ + boolean setVoiceMailNumber(int subId, String alphaTag, String number); + + /** + * Sets the voice activation state for a particular subscriber. + */ + void setVoiceActivationState(int subId, int activationState); + + /** + * Sets the data activation state for a particular subscriber. + */ + void setDataActivationState(int subId, int activationState); + + /** + * Returns the voice activation state for a particular subscriber. + * @param subId user preferred sub + * @param callingPackage package queries voice activation state + */ + int getVoiceActivationState(int subId, String callingPackage); + + /** + * Returns the data activation state for a particular subscriber. + * @param subId user preferred sub + * @param callingPackage package queris data activation state + */ + int getDataActivationState(int subId, String callingPackage); + + /** + * Returns the unread count of voicemails for a subId. + * @param subId user preferred subId. + * Returns the unread count of voicemails + */ + int getVoiceMessageCountForSubscriber(int subId, String callingPackage, + String callingFeatureId); + + /** + * Returns true if current state supports both voice and data + * simultaneously. This can change based on location or network condition. + */ + boolean isConcurrentVoiceAndDataAllowed(int subId); + + Bundle getVisualVoicemailSettings(String callingPackage, int subId); + + String getVisualVoicemailPackageName(String callingPackage, String callingFeatureId, int subId); + + // Not oneway, caller needs to make sure the vaule is set before receiving a SMS + void enableVisualVoicemailSmsFilter(String callingPackage, int subId, + in VisualVoicemailSmsFilterSettings settings); + + oneway void disableVisualVoicemailSmsFilter(String callingPackage, int subId); + + // Get settings set by the calling package + VisualVoicemailSmsFilterSettings getVisualVoicemailSmsFilterSettings(String callingPackage, + int subId); + + /** + * Get settings set by the current default dialer, Internal use only. + * Requires READ_PRIVILEGED_PHONE_STATE permission. + */ + VisualVoicemailSmsFilterSettings getActiveVisualVoicemailSmsFilterSettings(int subId); + + /** + * Send a visual voicemail SMS. Internal use only. + * Requires caller to be the default dialer and have SEND_SMS permission + */ + void sendVisualVoicemailSmsForSubscriber(in String callingPackage, String callingAttributeTag, + in int subId, in String number, in int port, in String text, in PendingIntent sentIntent); + + // Send the special dialer code. The IPC caller must be the current default dialer. + void sendDialerSpecialCode(String callingPackageName, String inputCode); + + /** + * Returns the network type of a subId. + * @param subId user preferred subId. + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + */ + int getNetworkTypeForSubscriber(int subId, String callingPackage, String callingFeatureId); + + /** + * Returns the network type for data transmission + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + */ + int getDataNetworkType(String callingPackage, String callingFeatureId); + + /** + * Returns the data network type of a subId + * @param subId user preferred subId. + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + */ + int getDataNetworkTypeForSubscriber(int subId, String callingPackage, + String callingFeatureId); + + /** + * Returns the voice network type of a subId + * @param subId user preferred subId. + * @param callingPackage package making the call.getLteOnCdmaMode + * @param callingFeatureId The feature in the package. + * Returns the network type + */ + int getVoiceNetworkTypeForSubscriber(int subId, String callingPackage, + String callingFeatureId); + + /** + * Return true if an ICC card is present + */ + //@UnsupportedAppUsage + boolean hasIccCard(); + + /** + * Return true if an ICC card is present for a subId. + * @param slotIndex user preferred slotIndex. + * Return true if an ICC card is present + */ + boolean hasIccCardUsingSlotIndex(int slotIndex); + + /** + * Return if the current radio is LTE on CDMA. This + * is a tri-state return value as for a period of time + * the mode may be unknown. + * + * @param callingPackage the name of the calling package + * @param callingFeatureId The feature in the package. + * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} + * or {@link PHone#LTE_ON_CDMA_TRUE} + */ + int getLteOnCdmaMode(String callingPackage, String callingFeatureId); + + /** + * Return if the current radio is LTE on CDMA. This + * is a tri-state return value as for a period of time + * the mode may be unknown. + * + * @param callingPackage the name of the calling package + * @param callingFeatureId The feature in the package. + * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} + * or {@link PHone#LTE_ON_CDMA_TRUE} + */ + int getLteOnCdmaModeForSubscriber(int subId, String callingPackage, String callingFeatureId); + + /** + * Returns all observed cell information of the device. + */ + List getAllCellInfo(String callingPkg, String callingFeatureId); + + /** + * Request a cell information update for the specified subscription, + * reported via the CellInfoCallback. + */ + void requestCellInfoUpdate(int subId, in ICellInfoCallback cb, String callingPkg, + String callingFeatureId); + + /** + * Request a cell information update for the specified subscription, + * reported via the CellInfoCallback. + * + * @param workSource the requestor to whom the power consumption for this should be attributed. + */ + void requestCellInfoUpdateWithWorkSource(int subId, in ICellInfoCallback cb, + in String callingPkg, String callingFeatureId, in WorkSource ws); + + /** + * Sets minimum time in milli-seconds between onCellInfoChanged + */ + void setCellInfoListRate(int rateInMillis); + + /** + * Opens a logical channel to the ICC card using the physical slot index. + * + * Input parameters equivalent to TS 27.007 AT+CCHO command. + * + * @param slotIndex The physical slot index of the target ICC card + * @param callingPackage the name of the package making the call. + * @param AID Application id. See ETSI 102.221 and 101.220. + * @param p2 P2 parameter (described in ISO 7816-4). + * @return an IccOpenLogicalChannelResponse object. + */ + IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot( + int slotIndex, String callingPackage, String AID, int p2); + + /** + * Opens a logical channel to the ICC card. + * + * Input parameters equivalent to TS 27.007 AT+CCHO command. + * + * @param subId The subscription to use. + * @param callingPackage the name of the package making the call. + * @param AID Application id. See ETSI 102.221 and 101.220. + * @param p2 P2 parameter (described in ISO 7816-4). + * @return an IccOpenLogicalChannelResponse object. + */ + IccOpenLogicalChannelResponse iccOpenLogicalChannel( + int subId, String callingPackage, String AID, int p2); + + /** + * Closes a previously opened logical channel to the ICC card using the physical slot index. + * + * Input parameters equivalent to TS 27.007 AT+CCHC command. + * + * @param slotIndex The physical slot index of the target ICC card + * @param channel is the channel id to be closed as returned by a + * successful iccOpenLogicalChannel. + * @return true if the channel was closed successfully. + */ + boolean iccCloseLogicalChannelBySlot(int slotIndex, int channel); + + /** + * Closes a previously opened logical channel to the ICC card. + * + * Input parameters equivalent to TS 27.007 AT+CCHC command. + * + * @param subId The subscription to use. + * @param channel is the channel id to be closed as returned by a + * successful iccOpenLogicalChannel. + * @return true if the channel was closed successfully. + */ + //@UnsupportedAppUsage + boolean iccCloseLogicalChannel(int subId, int channel); + + /** + * Transmit an APDU to the ICC card over a logical channel using the physical slot index. + * + * Input parameters equivalent to TS 27.007 AT+CGLA command. + * + * @param slotIndex The physical slot index of the target ICC card + * @param channel is the channel id to be closed as returned by a + * successful iccOpenLogicalChannel. + * @param cla Class of the APDU command. + * @param instruction Instruction of the APDU command. + * @param p1 P1 value of the APDU command. + * @param p2 P2 value of the APDU command. + * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU + * is sent to the SIM. + * @param data Data to be sent with the APDU. + * @return The APDU response from the ICC card with the status appended at + * the end. + */ + String iccTransmitApduLogicalChannelBySlot(int slotIndex, int channel, int cla, int instruction, + int p1, int p2, int p3, String data); + + /** + * Transmit an APDU to the ICC card over a logical channel. + * + * Input parameters equivalent to TS 27.007 AT+CGLA command. + * + * @param subId The subscription to use. + * @param channel is the channel id to be closed as returned by a + * successful iccOpenLogicalChannel. + * @param cla Class of the APDU command. + * @param instruction Instruction of the APDU command. + * @param p1 P1 value of the APDU command. + * @param p2 P2 value of the APDU command. + * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU + * is sent to the SIM. + * @param data Data to be sent with the APDU. + * @return The APDU response from the ICC card with the status appended at + * the end. + */ + //@UnsupportedAppUsage + String iccTransmitApduLogicalChannel(int subId, int channel, int cla, int instruction, + int p1, int p2, int p3, String data); + + /** + * Transmit an APDU to the ICC card over the basic channel using the physical slot index. + * + * Input parameters equivalent to TS 27.007 AT+CSIM command. + * + * @param slotIndex The physical slot index of the target ICC card + * @param callingPackage the name of the package making the call. + * @param cla Class of the APDU command. + * @param instruction Instruction of the APDU command. + * @param p1 P1 value of the APDU command. + * @param p2 P2 value of the APDU command. + * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU + * is sent to the SIM. + * @param data Data to be sent with the APDU. + * @return The APDU response from the ICC card with the status appended at + * the end. + */ + String iccTransmitApduBasicChannelBySlot(int slotIndex, String callingPackage, int cla, + int instruction, int p1, int p2, int p3, String data); + + /** + * Transmit an APDU to the ICC card over the basic channel. + * + * Input parameters equivalent to TS 27.007 AT+CSIM command. + * + * @param subId The subscription to use. + * @param callingPackage the name of the package making the call. + * @param cla Class of the APDU command. + * @param instruction Instruction of the APDU command. + * @param p1 P1 value of the APDU command. + * @param p2 P2 value of the APDU command. + * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU + * is sent to the SIM. + * @param data Data to be sent with the APDU. + * @return The APDU response from the ICC card with the status appended at + * the end. + */ + String iccTransmitApduBasicChannel(int subId, String callingPackage, int cla, int instruction, + int p1, int p2, int p3, String data); + + /** + * Returns the response APDU for a command APDU sent through SIM_IO. + * + * @param subId The subscription to use. + * @param fileID + * @param command + * @param p1 P1 value of the APDU command. + * @param p2 P2 value of the APDU command. + * @param p3 P3 value of the APDU command. + * @param filePath + * @return The APDU response. + */ + byte[] iccExchangeSimIO(int subId, int fileID, int command, int p1, int p2, int p3, + String filePath); + + /** + * Send ENVELOPE to the SIM and returns the response. + * + * @param subId The subscription to use. + * @param contents String containing SAT/USAT response in hexadecimal + * format starting with command tag. See TS 102 223 for + * details. + * @return The APDU response from the ICC card, with the last 4 bytes + * being the status word. If the command fails, returns an empty + * string. + */ + String sendEnvelopeWithStatus(int subId, String content); + + /** + * Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. + * Used for device configuration by some CDMA operators. + * + * @param itemID the ID of the item to read. + * @return the NV item as a String, or null on any failure. + */ + String nvReadItem(int itemID); + + /** + * Write one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. + * Used for device configuration by some CDMA operators. + * + * @param itemID the ID of the item to read. + * @param itemValue the value to write, as a String. + * @return true on success; false on any failure. + */ + boolean nvWriteItem(int itemID, String itemValue); + + /** + * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage. + * Used for device configuration by some CDMA operators. + * + * @param preferredRoamingList byte array containing the new PRL. + * @return true on success; false on any failure. + */ + boolean nvWriteCdmaPrl(in byte[] preferredRoamingList); + + /** + * Rollback modem configurations to factory default except some config which are in whitelist. + * Used for device configuration by some CDMA operators. + * + *

Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the calling + * app has carrier privileges (see {@link #hasCarrierPrivileges}). + * + * @param slotIndex - device slot. + * @return {@code true} on success; {@code false} on any failure. + */ + boolean resetModemConfig(int slotIndex); + + /** + * Generate a radio modem reset. Used for device configuration by some CDMA operators. + * Different than {@link #setRadioPower(boolean)}, modem reboot will power down sim card. + * + *

Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the calling + * app has carrier privileges (see {@link #hasCarrierPrivileges}). + * + * @param slotIndex - device slot. + * @return {@code true} on success; {@code false} on any failure. + */ + boolean rebootModem(int slotIndex); + /* + * Get the calculated preferred network type. + * Used for device configuration by some CDMA operators. + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package. + * + * @return the calculated preferred network type, defined in RILConstants.java. + */ + int getCalculatedPreferredNetworkType(String callingPackage, String callingFeatureId); + + /* + * Get the preferred network type. + * Used for device configuration by some CDMA operators. + * + * @param subId the id of the subscription to query. + * @return the preferred network type, defined in RILConstants.java. + */ + int getPreferredNetworkType(int subId); + + /** + * Check whether DUN APN is required for tethering with subId. + * + * @param subId the id of the subscription to require tethering. + * @return {@code true} if DUN APN is required for tethering. + * @hide + */ + boolean isTetheringApnRequiredForSubscriber(int subId); + + /** + * Enables framework IMS and triggers IMS Registration. + */ + void enableIms(int slotId); + + /** + * Disables framework IMS and triggers IMS deregistration. + */ + void disableIms(int slotId); + + /** + * Toggle framework IMS disables and enables. + */ + void resetIms(int slotIndex); + + /** + * Get IImsMmTelFeature binder from ImsResolver that corresponds to the subId and MMTel feature + * as well as registering the MmTelFeature for callbacks using the IImsServiceFeatureCallback + * interface. + */ + IImsMmTelFeature getMmTelFeatureAndListen(int slotId, in IImsServiceFeatureCallback callback); + + /** + * Get IImsRcsFeature binder from ImsResolver that corresponds to the subId and RCS feature + * as well as registering the RcsFeature for callbacks using the IImsServiceFeatureCallback + * interface. + */ + IImsRcsFeature getRcsFeatureAndListen(int slotId, in IImsServiceFeatureCallback callback); + + /** + * Unregister a callback that was previously registered through + * {@link #getMmTelFeatureAndListen} or {@link #getRcsFeatureAndListen}. This should always be + * called when the callback is no longer being used. + */ + void unregisterImsFeatureCallback(int slotId, int featureType, + in IImsServiceFeatureCallback callback); + + /** + * Returns the IImsRegistration associated with the slot and feature specified. + */ + IImsRegistration getImsRegistration(int slotId, int feature); + + /** + * Returns the IImsConfig associated with the slot and feature specified. + */ + IImsConfig getImsConfig(int slotId, int feature); + + /** + * @return true if the ImsService to bind to for the slot id specified was set, false otherwise. + */ + boolean setBoundImsServiceOverride(int slotIndex, boolean isCarrierService, + in int[] featureTypes, in String packageName); + + /** + * @return the package name of the carrier/device ImsService associated with this slot. + */ + String getBoundImsServicePackage(int slotIndex, boolean isCarrierImsService, int featureType); + + /** + * Get the MmTelFeature state attached to this subscription id. + */ + void getImsMmTelFeatureState(int subId, IIntegerConsumer callback); + + /** + * Set the network selection mode to automatic. + * + * @param subId the id of the subscription to update. + */ + void setNetworkSelectionModeAutomatic(int subId); + + /** + * Perform a radio scan and return the list of avialble networks. + * + * @param subId the id of the subscription. + * @param callingPackage the calling package + * @param callingFeatureId The feature in the package + * @return CellNetworkScanResult containing status of scan and networks. + */ + CellNetworkScanResult getCellNetworkScanResults(int subId, String callingPackage, + String callingFeatureId); + + /** + * Perform a radio network scan and return the id of this scan. + * + * @param subId the id of the subscription. + * @param request Defines all the configs for network scan. + * @param messenger Callback messages will be sent using this messenger. + * @param binder the binder object instantiated in TelephonyManager. + * @param callingPackage the calling package + * @param callingFeatureId The feature in the package + * @return An id for this scan. + */ + int requestNetworkScan(int subId, in NetworkScanRequest request, in Messenger messenger, + in IBinder binder, in String callingPackage, String callingFeatureId); + + /** + * Stop an existing radio network scan. + * + * @param subId the id of the subscription. + * @param scanId The id of the scan that is going to be stopped. + */ + void stopNetworkScan(int subId, int scanId); + + /** + * Ask the radio to connect to the input network and change selection mode to manual. + * + * @param subId the id of the subscription. + * @param operatorInfo the operator inforamtion, included the PLMN, long name and short name of + * the operator to attach to. + * @param persistSelection whether the selection will persist until reboot. If true, only allows + * attaching to the selected PLMN until reboot; otherwise, attach to the chosen PLMN and resume + * normal network selection next time. + * @return {@code true} on success; {@code true} on any failure. + */ + boolean setNetworkSelectionModeManual( + int subId, in OperatorInfo operatorInfo, boolean persisSelection); + + /** + * Get the allowed network types that store in the telephony provider. + * + * @param subId the id of the subscription. + * @return allowedNetworkTypes the allowed network types. + */ + long getAllowedNetworkTypes(int subId); + + /** + * Set the allowed network types. + * + * @param subId the id of the subscription. + * @param allowedNetworkTypes the allowed network types. + * @return true on success; false on any failure. + */ + boolean setAllowedNetworkTypes(int subId, long allowedNetworkTypes); + + /** + * Get the allowed network types for certain reason. + * + * @param subId the id of the subscription. + * @param reason the reason the allowed network type change is taking place + * @return allowedNetworkTypes the allowed network types. + */ + long getAllowedNetworkTypesForReason(int subId, int reason); + + /** + * Get the effective allowed network types on the device. This API will + * return an intersection of allowed network types for all reasons, + * including the configuration done through setAllowedNetworkTypes + * + * @param subId the id of the subscription. + * @return allowedNetworkTypes the allowed network types. + */ + long getEffectiveAllowedNetworkTypes(int subId); + + /** + * Set the allowed network types and provide the reason triggering the allowed network change. + * + * @param subId the id of the subscription. + * @param reason the reason the allowed network type change is taking place + * @param allowedNetworkTypes the allowed network types. + * @return true on success; false on any failure. + */ + boolean setAllowedNetworkTypesForReason(int subId, int reason, long allowedNetworkTypes); + + /** + * Set the preferred network type. + * Used for device configuration by some CDMA operators. + * + * @param subId the id of the subscription to update. + * @param networkType the preferred network type, defined in RILConstants.java. + * @return true on success; false on any failure. + */ + boolean setPreferredNetworkType(int subId, int networkType); + + /** + * User enable/disable Mobile Data. + * + * @param enable true to turn on, else false + */ + void setUserDataEnabled(int subId, boolean enable); + + /** + * Get the user enabled state of Mobile Data. + * + * TODO: remove and use isUserDataEnabled. + * This can't be removed now because some vendor codes + * calls through ITelephony directly while they should + * use TelephonyManager. + * + * @return true on enabled + */ + //@UnsupportedAppUsage + boolean getDataEnabled(int subId); + + /** + * Get the user enabled state of Mobile Data. + * + * @return true on enabled + */ + boolean isUserDataEnabled(int subId); + + /** + * Get the overall enabled state of Mobile Data. + * + * @return true on enabled + */ + boolean isDataEnabled(int subId); + + /** + * Checks if manual network selection is allowed. + * + * @return {@code true} if manual network selection is allowed, otherwise return {@code false}. + */ + boolean isManualNetworkSelectionAllowed(int subId); + + /** + * Enable or disable always reporting signal strength changes from radio. + */ + void setAlwaysReportSignalStrength(int subId, boolean isEnable); + + /** + * Get P-CSCF address from PCO after data connection is established or modified. + * @param apnType the apnType, "ims" for IMS APN, "emergency" for EMERGENCY APN + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package. + */ + String[] getPcscfAddress(String apnType, String callingPackage, String callingFeatureId); + + /** + * Set IMS registration state + */ + void setImsRegistrationState(boolean registered); + + /** + * Return MDN string for CDMA phone. + * @param subId user preferred subId. + */ + String getCdmaMdn(int subId); + + /** + * Return MIN string for CDMA phone. + * @param subId user preferred subId. + */ + String getCdmaMin(int subId); + + /** + * Request that the next incoming call from a number matching {@code range} be intercepted. + * @param range The range of phone numbers the caller expects a phone call from. + * @param timeoutMillis The amount of time to wait for such a call, or + * {@link #MAX_NUMBER_VERIFICATION_TIMEOUT_MILLIS}, whichever is lesser. + * @param callback the callback aidl + * @param callingPackage the calling package name. + */ + void requestNumberVerification(in PhoneNumberRange range, long timeoutMillis, + in INumberVerificationCallback callback, String callingPackage); + + /** + * Has the calling application been granted special privileges by the carrier. + * + * If any of the packages in the calling UID has carrier privileges, the + * call will return true. This access is granted by the owner of the UICC + * card and does not depend on the registered carrier. + * + * TODO: Add a link to documentation. + * + * @param subId The subscription to use. + * @return carrier privilege status defined in TelephonyManager. + */ + int getCarrierPrivilegeStatus(int subId); + + /** + * Similar to above, but check for the given uid. + */ + int getCarrierPrivilegeStatusForUid(int subId, int uid); + + /** + * Similar to above, but check for the package whose name is pkgName. + */ + int checkCarrierPrivilegesForPackage(int subId, String pkgName); + + /** + * Similar to above, but check across all phones. + */ + int checkCarrierPrivilegesForPackageAnyPhone(String pkgName); + + /** + * Returns list of the package names of the carrier apps that should handle the input intent + * and have carrier privileges for the given phoneId. + * + * @param intent Intent that will be sent. + * @param phoneId The phoneId on which the carrier app has carrier privileges. + * @return list of carrier app package names that can handle the intent on phoneId. + * Returns null if there is an error and an empty list if there + * are no matching packages. + */ + List getCarrierPackageNamesForIntentAndPhone(in Intent intent, int phoneId); + + /** + * Set the line 1 phone number string and its alphatag for the current ICCID + * for display purpose only, for example, displayed in Phone Status. It won't + * change the actual MSISDN/MDN. To unset alphatag or number, pass in a null + * value. + * + * @param subId the subscriber that the alphatag and dialing number belongs to. + * @param alphaTag alpha-tagging of the dailing nubmer + * @param number The dialing number + * @return true if the operation was executed correctly. + */ + boolean setLine1NumberForDisplayForSubscriber(int subId, String alphaTag, String number); + + /** + * Returns the displayed dialing number string if it was set previously via + * {@link #setLine1NumberForDisplay}. Otherwise returns null. + * + * @param subId whose dialing number for line 1 is returned. + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package. + * @return the displayed dialing number if set, or null if not set. + */ + String getLine1NumberForDisplay(int subId, String callingPackage, String callingFeatureId); + + /** + * Returns the displayed alphatag of the dialing number if it was set + * previously via {@link #setLine1NumberForDisplay}. Otherwise returns null. + * + * @param subId whose alphatag associated with line 1 is returned. + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package. + * @return the displayed alphatag of the dialing number if set, or null if + * not set. + */ + String getLine1AlphaTagForDisplay(int subId, String callingPackage, String callingFeatureId); + + /** + * Return the set of subscriber IDs that should be considered "merged together" for data usage + * purposes. This is commonly {@code null} to indicate no merging is required. Any returned + * subscribers are sorted in a deterministic order. + *

+ * The returned set of subscriber IDs will include the subscriber ID corresponding to this + * TelephonyManager's subId. + * + * @hide + */ + String[] getMergedSubscriberIds(int subId, String callingPackage, String callingFeatureId); + + /** + * @hide + */ + String[] getMergedImsisFromGroup(int subId, String callingPackage); + + /** + * Override the operator branding for the current ICCID. + * + * Once set, whenever the SIM is present in the device, the service + * provider name (SPN) and the operator name will both be replaced by the + * brand value input. To unset the value, the same function should be + * called with a null brand value. + * + *

Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} + * or has to be carrier app - see #hasCarrierPrivileges. + * + * @param subId The subscription to use. + * @param brand The brand name to display/set. + * @return true if the operation was executed correctly. + */ + boolean setOperatorBrandOverride(int subId, String brand); + + /** + * Override the roaming indicator for the current ICCID. + * + * Using this call, the carrier app (see #hasCarrierPrivileges) can override + * the platform's notion of a network operator being considered roaming or not. + * The change only affects the ICCID that was active when this call was made. + * + * If null is passed as any of the input, the corresponding value is deleted. + * + *

Requires that the caller have carrier privilege. See #hasCarrierPrivileges. + * + * @param subId for which the roaming overrides apply. + * @param gsmRoamingList - List of MCCMNCs to be considered roaming for 3GPP RATs. + * @param gsmNonRoamingList - List of MCCMNCs to be considered not roaming for 3GPP RATs. + * @param cdmaRoamingList - List of SIDs to be considered roaming for 3GPP2 RATs. + * @param cdmaNonRoamingList - List of SIDs to be considered not roaming for 3GPP2 RATs. + * @return true if the operation was executed correctly. + */ + boolean setRoamingOverride(int subId, in List gsmRoamingList, + in List gsmNonRoamingList, in List cdmaRoamingList, + in List cdmaNonRoamingList); + + /** + * Returns the result and response from RIL for oem request + * + * @param oemReq the data is sent to ril. + * @param oemResp the respose data from RIL. + * @return negative value request was not handled or get error + * 0 request was handled succesfully, but no response data + * positive value success, data length of response + */ + int invokeOemRilRequestRaw(in byte[] oemReq, out byte[] oemResp); + + /** + * Check if any mobile Radios need to be shutdown. + * + * @return true is any mobile radio needs to be shutdown + */ + boolean needMobileRadioShutdown(); + + /** + * Shutdown Mobile Radios + */ + void shutdownMobileRadios(); + + /** + * Set phone radio type and access technology. + * + * @param rafs an RadioAccessFamily array to indicate all phone's + * new radio access family. The length of RadioAccessFamily + * must equ]]al to phone count. + */ + //void setRadioCapability(in RadioAccessFamily[] rafs); + + /** + * Get phone radio type and access technology. + * + * @param phoneId which phone you want to get + * @param callingPackage the name of the package making the call + * @return phone radio type and access technology + */ + int getRadioAccessFamily(in int phoneId, String callingPackage); + + /** + * Enables or disables video calling. + * + * @param enable Whether to enable video calling. + */ + void enableVideoCalling(boolean enable); + + /** + * Whether video calling has been enabled by the user. + * + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package. + * @return {@code true} if the user has enabled video calling, {@code false} otherwise. + */ + boolean isVideoCallingEnabled(String callingPackage, String callingFeatureId); + + /** + * Whether the DTMF tone length can be changed. + * + * @param subId The subscription to use. + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package. + * @return {@code true} if the DTMF tone length can be changed. + */ + boolean canChangeDtmfToneLength(int subId, String callingPackage, String callingFeatureId); + + /** + * Whether the device is a world phone. + * + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package. + * @return {@code true} if the devices is a world phone. + */ + boolean isWorldPhone(int subId, String callingPackage, String callingFeatureId); + + /** + * Whether the phone supports TTY mode. + * + * @return {@code true} if the device supports TTY mode. + */ + boolean isTtyModeSupported(); + + boolean isRttSupported(int subscriptionId); + + /** + * Whether the phone supports hearing aid compatibility. + * + * @return {@code true} if the device supports hearing aid compatibility. + */ + boolean isHearingAidCompatibilitySupported(); + + /** + * Get IMS Registration Status on a particular subid. + * + * @param subId user preferred subId. + * + * @return {@code true} if the IMS status is registered. + */ + boolean isImsRegistered(int subId); + + /** + * Returns the Status of Wi-Fi Calling for the subscription id specified. + */ + boolean isWifiCallingAvailable(int subId); + + /** + * Returns the Status of VT (video telephony) for the subscription ID specified. + */ + boolean isVideoTelephonyAvailable(int subId); + + /** + * Returns the MMTEL IMS registration technology for the subsciption ID specified. + */ + int getImsRegTechnologyForMmTel(int subId); + + /** @deprecated Use {@link #getDeviceIdWithFeature(String, String) instead */ + //@UnsupportedAppUsage + String getDeviceId(String callingPackage); + + /** + * Returns the unique device ID of phone, for example, the IMEI for + * GSM and the MEID for CDMA phones. Return null if device ID is not available. + * + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package + *

Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} + */ + String getDeviceIdWithFeature(String callingPackage, String callingFeatureId); + + /** + * Returns the IMEI for the given slot. + * + * @param slotIndex - device slot. + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package + *

Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} + */ + String getImeiForSlot(int slotIndex, String callingPackage, String callingFeatureId); + + /** + * Returns the Type Allocation Code from the IMEI for the given slot. + * + * @param slotIndex - Which slot to retrieve the Type Allocation Code from. + */ + String getTypeAllocationCodeForSlot(int slotIndex); + + /** + * Returns the MEID for the given slot. + * + * @param slotIndex - device slot. + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package + *

Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} + */ + String getMeidForSlot(int slotIndex, String callingPackage, String callingFeatureId); + + /** + * Returns the Manufacturer Code from the MEID for the given slot. + * + * @param slotIndex - Which slot to retrieve the Manufacturer Code from. + */ + String getManufacturerCodeForSlot(int slotIndex); + + /** + * Returns the device software version. + * + * @param slotIndex - device slot. + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package. + *

Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} + */ + String getDeviceSoftwareVersionForSlot(int slotIndex, String callingPackage, + String callingFeatureId); + + /** + * Returns the subscription ID associated with the specified PhoneAccount. + */ + int getSubIdForPhoneAccount(in PhoneAccount phoneAccount); + + /** + * Returns the subscription ID associated with the specified PhoneAccountHandle. + */ + int getSubIdForPhoneAccountHandle(in PhoneAccountHandle phoneAccountHandle, + String callingPackage, String callingFeatureId); + + /** + * Returns the PhoneAccountHandle associated with a subscription ID. + */ + PhoneAccountHandle getPhoneAccountHandleForSubscriptionId(int subscriptionId); + + void factoryReset(int subId); + + /** + * Returns users's current locale based on the SIM. + * + * The returned string will be a well formed BCP-47 language tag, or {@code null} + * if no locale could be derived. + */ + String getSimLocaleForSubscriber(int subId); + + /** + * Requests the modem activity info asynchronously. + * The implementor is expected to reply with the + * {@link android.telephony.ModemActivityInfo} object placed into the Bundle with the key + * {@link android.telephony.TelephonyManager#MODEM_ACTIVITY_RESULT_KEY}. + * The result code is ignored. + */ + oneway void requestModemActivityInfo(in ResultReceiver result); + + /** + * Get the service state on specified subscription + * @param subId Subscription id + * @param callingPackage The package making the call + * @param callingFeatureId The feature in the package + * @return Service state on specified subscription. + */ + ServiceState getServiceStateForSubscriber(int subId, String callingPackage, + String callingFeatureId); + + /** + * Returns the URI for the per-account voicemail ringtone set in Phone settings. + * + * @param accountHandle The handle for the {@link PhoneAccount} for which to retrieve the + * voicemail ringtone. + * @return The URI for the ringtone to play when receiving a voicemail from a specific + * PhoneAccount. + */ + Uri getVoicemailRingtoneUri(in PhoneAccountHandle accountHandle); + + /** + * Sets the per-account voicemail ringtone. + * + *

Requires that the calling app is the default dialer, or has carrier privileges, or + * has permission {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}. + * + * @param phoneAccountHandle The handle for the {@link PhoneAccount} for which to set the + * voicemail ringtone. + * @param uri The URI for the ringtone to play when receiving a voicemail from a specific + * PhoneAccount. + */ + void setVoicemailRingtoneUri(String callingPackage, + in PhoneAccountHandle phoneAccountHandle, in Uri uri); + + /** + * Returns whether vibration is set for voicemail notification in Phone settings. + * + * @param accountHandle The handle for the {@link PhoneAccount} for which to retrieve the + * voicemail vibration setting. + * @return {@code true} if the vibration is set for this PhoneAccount, {@code false} otherwise. + */ + boolean isVoicemailVibrationEnabled(in PhoneAccountHandle accountHandle); + + /** + * Sets the per-account preference whether vibration is enabled for voicemail notifications. + * + *

Requires that the calling app is the default dialer, or has carrier privileges, or + * has permission {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}. + * + * @param phoneAccountHandle The handle for the {@link PhoneAccount} for which to set the + * voicemail vibration setting. + * @param enabled Whether to enable or disable vibration for voicemail notifications from a + * specific PhoneAccount. + */ + void setVoicemailVibrationEnabled(String callingPackage, + in PhoneAccountHandle phoneAccountHandle, boolean enabled); + + /** + * Returns a list of packages that have carrier privileges for the specific phone. + */ + List getPackagesWithCarrierPrivileges(int phoneId); + + /** + * Returns a list of packages that have carrier privileges. + */ + List getPackagesWithCarrierPrivilegesForAllPhones(); + + /** + * Return the application ID for the app type. + * + * @param subId the subscription ID that this request applies to. + * @param appType the uicc app type, + * @return Application ID for specificied app type or null if no uicc or error. + */ + String getAidForAppType(int subId, int appType); + + /** + * Return the Electronic Serial Number. + * + * Requires that the calling app has READ_PRIVILEGED_PHONE_STATE permission + * + * @param subId the subscription ID that this request applies to. + * @return ESN or null if error. + * @hide + */ + String getEsn(int subId); + + /** + * Return the Preferred Roaming List Version + * + * Requires that the calling app has READ_PRIVILEGED_PHONE_STATE permission + * @param subId the subscription ID that this request applies to. + * @return PRLVersion or null if error. + * @hide + */ + String getCdmaPrlVersion(int subId); + + /** + * Get snapshot of Telephony histograms + * @return List of Telephony histograms + * Requires Permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} + * Or the calling app has carrier privileges. + */ + List getTelephonyHistograms(); + + /** + * Set the allowed carrier list and the excluded carrier list, indicating the priority between + * the two lists. + * + *

Requires system privileges. In the future we may add this to carrier APIs. + * + * @return {@link #SET_CARRIER_RESTRICTION_SUCCESS} in case of success. + * {@link #SET_CARRIER_RESTRICTION_NOT_SUPPORTED} if the modem does not support the + * configuration. {@link #SET_CARRIER_RESTRICTION_ERROR} in all other error cases. + */ + int setAllowedCarriers(in CarrierRestrictionRules carrierRestrictionRules); + + /** + * Get the allowed carrier list and the excluded carrier list indicating the priority between + * the two lists. + * + *

Requires system privileges. In the future we may add this to carrier APIs. + * + * @return {@link CarrierRestrictionRules}; empty lists mean all carriers are allowed. It + * returns null in case of error. + */ + CarrierRestrictionRules getAllowedCarriers(); + + /** + * Returns carrier id of the given subscription. + *

To recognize carrier as a first class identity, assign each carrier with a canonical + * integer a.k.a carrier id. + * + * @param subId The subscription id + * @return Carrier id of given subscription id. return {@link #UNKNOWN_CARRIER_ID} if + * subscription is unavailable or carrier cannot be identified. + * @throws IllegalStateException if telephony service is unavailable. + * @hide + */ + int getSubscriptionCarrierId(int subId); + + /** + * Returns carrier name of the given subscription. + *

Carrier name is a user-facing name of carrier id {@link #getSimCarrierId(int)}, + * usually the brand name of the subsidiary (e.g. T-Mobile). Each carrier could configure + * multiple {@link #getSimOperatorName() SPN} but should have a single carrier name. + * Carrier name is not canonical identity, use {@link #getSimCarrierId(int)} instead. + *

Returned carrier name is unlocalized. + * + * @return Carrier name of given subscription id. return {@code null} if subscription is + * unavailable or carrier cannot be identified. + * @throws IllegalStateException if telephony service is unavailable. + * @hide + */ + String getSubscriptionCarrierName(int subId); + + /** + * Returns fine-grained carrier id of the current subscription. + * + *

The specific carrier id can be used to further differentiate a carrier by different + * networks, by prepaid v.s.postpaid or even by 4G v.s.3G plan. Each carrier has a unique + * carrier id {@link #getSimCarrierId()} but can have multiple precise carrier id. e.g, + * {@link #getSimCarrierId()} will always return Tracfone (id 2022) for a Tracfone SIM, while + * {@link #getSimPreciseCarrierId()} can return Tracfone AT&T or Tracfone T-Mobile based on the + * current underlying network. + * + *

For carriers without any fine-grained carrier ids, return {@link #getSimCarrierId()} + * + * @return Returns fine-grained carrier id of the current subscription. + * Return {@link #UNKNOWN_CARRIER_ID} if the subscription is unavailable or the carrier cannot + * be identified. + * @hide + */ + int getSubscriptionSpecificCarrierId(int subId); + + /** + * Similar like {@link #getSimCarrierIdName()}, returns user-facing name of the + * specific carrier id {@link #getSimSpecificCarrierId()} + * + *

The returned name is unlocalized. + * + * @return user-facing name of the subscription specific carrier id. Return {@code null} if the + * subscription is unavailable or the carrier cannot be identified. + * @hide + */ + String getSubscriptionSpecificCarrierName(int subId); + + /** + * Returns carrier id based on MCCMNC only. This will return a MNO carrier id used for fallback + * check when exact carrier id {@link #getSimCarrierId()} configurations are not found + * + * @param isSubscriptionMccMnc. If {@true} it means this is a query for subscription mccmnc + * {@false} otherwise. + * + * @return carrier id from passing mccmnc. + * @hide + */ + int getCarrierIdFromMccMnc(int slotIndex, String mccmnc, boolean isSubscriptionMccMnc); + + /** + * Action set from carrier signalling broadcast receivers to enable/disable metered apns + * Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required + * @param subId the subscription ID that this action applies to. + * @param enabled control enable or disable metered apns. + * @hide + */ + void carrierActionSetMeteredApnsEnabled(int subId, boolean visible); + + /** + * Action set from carrier signalling broadcast receivers to enable/disable radio + * Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required + * @param subId the subscription ID that this action applies to. + * @param enabled control enable or disable radio. + * @hide + */ + void carrierActionSetRadioEnabled(int subId, boolean enabled); + + /** + * Action set from carrier signalling broadcast receivers to start/stop reporting default + * network conditions. + * Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required + * @param subId the subscription ID that this action applies to. + * @param report control start/stop reporting default network events. + * @hide + */ + void carrierActionReportDefaultNetworkStatus(int subId, boolean report); + + /** + * Action set from carrier signalling broadcast receivers to reset all carrier actions. + * Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required + * @param subId the subscription ID that this action applies to. + * @hide + */ + void carrierActionResetAll(int subId); + + /** + * Gets the voice call forwarding info {@link CallForwardingInfo}, given the call forward + * reason. + * + * @param callForwardingReason the call forwarding reasons which are the bitwise-OR combination + * of the following constants: + *

    + *
  1. {@link CallForwardingInfo#REASON_BUSY}
  2. + *
  3. {@link CallForwardingInfo#REASON_NO_REPLY}
  4. + *
  5. {@link CallForwardingInfo#REASON_NOT_REACHABLE}
  6. + *
+ * + * @throws IllegalArgumentException if callForwardingReason is not a bitwise-OR combination + * of {@link CallForwardingInfo.REASON_BUSY}, {@link CallForwardingInfo.REASON_BUSY}, + * {@link CallForwardingInfo.REASON_NOT_REACHABLE} + * + * @return {@link CallForwardingInfo} with the status {@link CallForwardingInfo#STATUS_ACTIVE} + * or {@link CallForwardingInfo#STATUS_INACTIVE} and the target phone number to forward calls + * to, if it's available. Otherwise, it will return a {@link CallForwardingInfo} with status + * {@link CallForwardingInfo#STATUS_NOT_SUPPORTED} or + * {@link CallForwardingInfo#STATUS_FDN_CHECK_FAILURE} depending on the situation. + * + * @hide + */ + CallForwardingInfo getCallForwarding(int subId, int callForwardingReason); + + /** + * Sets the voice call forwarding info including status (enable/disable), call forwarding + * reason, the number to forward, and the timeout before the forwarding is attempted. + * + * @param callForwardingInfo {@link CallForwardingInfo} to setup the call forwarding. + * Enabling if {@link CallForwardingInfo#getStatus()} returns + * {@link CallForwardingInfo#STATUS_ACTIVE}; Disabling if + * {@link CallForwardingInfo#getStatus()} returns {@link CallForwardingInfo#STATUS_INACTIVE}. + * + * @throws IllegalArgumentException if any of the following: + * 0) callForwardingInfo is null. + * 1) {@link CallForwardingInfo#getStatus()} for callForwardingInfo returns neither + * {@link CallForwardingInfo#STATUS_ACTIVE} nor {@link CallForwardingInfo#STATUS_INACTIVE}. + * 2) {@link CallForwardingInfo#getReason()} for callForwardingInfo doesn't return the + * bitwise-OR combination of {@link CallForwardingInfo.REASON_BUSY}, + * {@link CallForwardingInfo.REASON_BUSY}, {@link CallForwardingInfo.REASON_NOT_REACHABLE} + * 3) {@link CallForwardingInfo#getNumber()} for callForwardingInfo returns null. + * 4) {@link CallForwardingInfo#getTimeout()} for callForwardingInfo returns nagetive value. + * + * @return {@code true} to indicate it was set successfully; {@code false} otherwise. + * + * @hide + */ + boolean setCallForwarding(int subId, in CallForwardingInfo callForwardingInfo); + + /** + * Gets the status of voice call waiting function. Call waiting function enables the waiting + * for the incoming call when it reaches the user who is busy to make another call and allows + * users to decide whether to switch to the incoming call. + * + * @return the status of call waiting function. + * @hide + */ + int getCallWaitingStatus(int subId); + + /** + * Sets the status for voice call waiting function. Call waiting function enables the waiting + * for the incoming call when it reaches the user who is busy to make another call and allows + * users to decide whether to switch to the incoming call. + * + * @param isEnable {@code true} to enable; {@code false} to disable. + * @return {@code true} to indicate it was set successfully; {@code false} otherwise. + * + * @hide + */ + boolean setCallWaitingStatus(int subId, boolean isEnable); + + /** + * Policy control of data connection. Usually used when data limit is passed. + * @param enabled True if enabling the data, otherwise disabling. + * @param subId Subscription index + * @hide + */ + void setPolicyDataEnabled(boolean enabled, int subId); + + /** + * Get Client request stats which will contain statistical information + * on each request made by client. + * @param callingPackage package making the call. + * @param callingFeatureId The feature in the package. + * @param subId Subscription index + * @hide + */ + List getClientRequestStats(String callingPackage, String callingFeatureId, + int subid); + + /** + * Set SIM card power state. + * @param slotIndex SIM slot id + * @param state State of SIM (power down, power up, pass through) + * @hide + * */ + void setSimPowerStateForSlot(int slotIndex, int state); + + /** + * Returns a list of Forbidden PLMNs from the specified SIM App + * Returns null if the query fails. + * + *

Requires that the calling app has READ_PRIVILEGED_PHONE_STATE or READ_PHONE_STATE + * + * @param subId subscription ID used for authentication + * @param appType the icc application type, like {@link #APPTYPE_USIM} + */ + String[] getForbiddenPlmns(int subId, int appType, String callingPackage, + String callingFeatureId); + + /** + * Set the forbidden PLMN list from the givven app type (ex APPTYPE_USIM) on a particular + * subscription. + * + * @param subId subId the id of the subscription + * @param appType appType the uicc app type, must be USIM or SIM. + * @param fplmns plmns the Forbiden plmns list that needed to be written to the SIM. + * @param callingPackage the op Package name. + * @param callingFeatureId the feature in the package. + * @return number of fplmns that is successfully written to the SIM + */ + int setForbiddenPlmns(int subId, int appType, in List fplmns, String callingPackage, + String callingFeatureId); + + /** + * Check if phone is in emergency callback mode + * @return true if phone is in emergency callback mode + * @param subId the subscription ID that this action applies to. + * @hide + */ + boolean getEmergencyCallbackMode(int subId); + + /** + * Get the most recently available signal strength information. + * + * Get the most recent SignalStrength information reported by the modem. Due + * to power saving this information may not always be current. + * @param subId Subscription index + * @return the most recent cached signal strength info from the modem + * @hide + */ + SignalStrength getSignalStrength(int subId); + + /** + * Get the card ID of the default eUICC card. If there is no eUICC, returns + * {@link #INVALID_CARD_ID}. + * + * @param subId subscription ID used for authentication + * @param callingPackage package making the call + * @return card ID of the default eUICC card. + */ + int getCardIdForDefaultEuicc(int subId, String callingPackage); + + /** + * Gets information about currently inserted UICCs and eUICCs. + *

+ * Requires that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}). + *

+ * If the caller has carrier priviliges on any active subscription, then they have permission to + * get simple information like the card ID ({@link UiccCardInfo#getCardId()}), whether the card + * is an eUICC ({@link UiccCardInfo#isEuicc()}), and the slot index where the card is inserted + * ({@link UiccCardInfo#getSlotIndex()}). + *

+ * To get private information such as the EID ({@link UiccCardInfo#getEid()}) or ICCID + * ({@link UiccCardInfo#getIccId()}), the caller must have carrier priviliges on that specific + * UICC or eUICC card. + *

+ * See {@link UiccCardInfo} for more details on the kind of information available. + * + * @param callingPackage package making the call, used to evaluate carrier privileges + * @return a list of UiccCardInfo objects, representing information on the currently inserted + * UICCs and eUICCs. Each UiccCardInfo in the list will have private information filtered out if + * the caller does not have adequate permissions for that card. + */ + List getUiccCardsInfo(String callingPackage); + + /** + * Get slot info for all the UICC slots. + * @return UiccSlotInfo array. + * @hide + */ + //UiccSlotInfo[] getUiccSlotsInfo(); + + /** + * Map logicalSlot to physicalSlot, and activate the physicalSlot if it is inactive. + * @param physicalSlots Index i in the array representing physical slot for phone i. The array + * size should be same as getPhoneCount(). + * @return boolean Return true if the switch succeeds, false if the switch fails. + */ + boolean switchSlots(in int[] physicalSlots); + + /** + * Returns whether mobile data roaming is enabled on the subscription with id {@code subId}. + * + * @param subId the subscription id + * @return {@code true} if the data roaming is enabled on this subscription. + */ + boolean isDataRoamingEnabled(int subId); + + /** + * Enables/Disables the data roaming on the subscription with id {@code subId}. + * + * @param subId the subscription id + * @param isEnabled {@code true} to enable mobile data roaming, otherwise disable it. + */ + void setDataRoamingEnabled(int subId, boolean isEnabled); + + /** + * Gets the roaming mode for the CDMA phone with the subscription id {@code subId}. + * + * @param the subscription id. + * @return the roaming mode for CDMA phone. + */ + int getCdmaRoamingMode(int subId); + + /** + * Sets the roaming mode on the CDMA phone with the subscription {@code subId} to the given + * roaming mode {@code mode}. + * + * @param subId the subscription id. + * @param mode the roaming mode should be set. + * @return {@code true} if successed. + */ + boolean setCdmaRoamingMode(int subId, int mode); + + /** + * Sets the subscription mode for CDMA phone with the subscription {@code subId} to the given + * subscription mode {@code mode}. + * + * @param subId the subscription id. + * @param mode the subscription mode should be set. + * @return {@code true} if successed. + */ + boolean setCdmaSubscriptionMode(int subId, int mode); + + /** + * A test API to override carrier information including mccmnc, imsi, iccid, gid1, gid2, + * plmn and spn. This would be handy for, eg, forcing a particular carrier id, carrier's config + * (also any country or carrier overlays) to be loaded when using a test SIM with a call box. + */ + void setCarrierTestOverride(int subId, String mccmnc, String imsi, String iccid, String gid1, + String gid2, String plmn, String spn, String carrierPrivilegeRules, String apn); + + /** + * A test API to return installed carrier id list version. + */ + int getCarrierIdListVersion(int subId); + + /** + * A test API to reload the UICC profile. + * @hide + */ + void refreshUiccProfile(int subId); + + /** + * How many modems can have simultaneous data connections. + * @hide + */ + int getNumberOfModemsWithSimultaneousDataConnections(int subId, String callingPackage, + String callingFeatureId); + + /** + * Return the network selection mode on the subscription with id {@code subId}. + */ + int getNetworkSelectionMode(int subId); + + /** + * Return true if the device is in emergency sms mode, false otherwise. + */ + boolean isInEmergencySmsMode(); + + /** + * Return the modem radio power state for slot index. + * + */ + int getRadioPowerState(int slotIndex, String callingPackage, String callingFeatureId); + + // IMS specific AIDL commands, see ImsMmTelManager.java + + /** + * Adds an IMS registration status callback for the subscription id specified. + */ + void registerImsRegistrationCallback(int subId, IImsRegistrationCallback c); + /** + * Removes an existing IMS registration status callback for the subscription specified. + */ + void unregisterImsRegistrationCallback(int subId, IImsRegistrationCallback c); + + /** + * Get the IMS service registration state for the MmTelFeature associated with this sub id. + */ + void getImsMmTelRegistrationState(int subId, IIntegerConsumer consumer); + + /** + * Get the transport type for the IMS service registration state. + */ + void getImsMmTelRegistrationTransportType(int subId, IIntegerConsumer consumer); + + /** + * Adds an IMS MmTel capabilities callback for the subscription specified. + */ + void registerMmTelCapabilityCallback(int subId, IImsCapabilityCallback c); + + /** + * Removes an existing IMS MmTel capabilities callback for the subscription specified. + */ + void unregisterMmTelCapabilityCallback(int subId, IImsCapabilityCallback c); + + /** + * return true if the IMS MmTel capability for the given registration tech is capable. + */ + boolean isCapable(int subId, int capability, int regTech); + + /** + * return true if the IMS MmTel capability for the given registration tech is available. + */ + boolean isAvailable(int subId, int capability, int regTech); + + /** + * Return whether or not the MmTel capability is supported for the requested transport type. + */ + void isMmTelCapabilitySupported(int subId, IIntegerConsumer callback, int capability, + int transportType); + + /** + * Returns true if the user's setting for 4G LTE is enabled, for the subscription specified. + */ + boolean isAdvancedCallingSettingEnabled(int subId); + + /** + * Modify the user's setting for whether or not 4G LTE is enabled. + */ + void setAdvancedCallingSettingEnabled(int subId, boolean isEnabled); + + /** + * return true if the user's setting for VT is enabled for the subscription. + */ + boolean isVtSettingEnabled(int subId); + + /** + * Modify the user's setting for whether or not VT is available for the subscrption specified. + */ + void setVtSettingEnabled(int subId, boolean isEnabled); + + /** + * return true if the user's setting for whether or not Voice over WiFi is currently enabled. + */ + boolean isVoWiFiSettingEnabled(int subId); + + /** + * sets the user's setting for Voice over WiFi enabled state. + */ + void setVoWiFiSettingEnabled(int subId, boolean isEnabled); + + /** + * return true if the user's setting for Voice over WiFi while roaming is enabled. + */ + boolean isVoWiFiRoamingSettingEnabled(int subId); + + /** + * Sets the user's preference for whether or not Voice over WiFi is enabled for the current + * subscription while roaming. + */ + void setVoWiFiRoamingSettingEnabled(int subId, boolean isEnabled); + + /** + * Set the Voice over WiFi enabled state, but do not persist the setting. + */ + void setVoWiFiNonPersistent(int subId, boolean isCapable, int mode); + + /** + * return the Voice over WiFi mode preference set by the user for the subscription specified. + */ + int getVoWiFiModeSetting(int subId); + + /** + * sets the user's preference for the Voice over WiFi mode for the subscription specified. + */ + void setVoWiFiModeSetting(int subId, int mode); + + /** + * return the Voice over WiFi mode preference set by the user for the subscription specified + * while roaming. + */ + int getVoWiFiRoamingModeSetting(int subId); + + /** + * sets the user's preference for the Voice over WiFi mode for the subscription specified + * while roaming. + */ + void setVoWiFiRoamingModeSetting(int subId, int mode); + + /** + * Modify the user's setting for whether or not RTT is enabled for the subscrption specified. + */ + void setRttCapabilitySetting(int subId, boolean isEnabled); + + /** + * return true if TTY over VoLTE is enabled for the subscription specified. + */ + boolean isTtyOverVolteEnabled(int subId); + + /** + * Return the emergency number list from all the active subscriptions. + */ + Map getEmergencyNumberList(String callingPackage, String callingFeatureId); + + /** + * Identify if the number is emergency number, based on all the active subscriptions. + */ + boolean isEmergencyNumber(String number, boolean exactMatch); + + /** + * Return a list of certs in hex string from loaded carrier privileges access rules. + */ + List getCertsFromCarrierPrivilegeAccessRules(int subId); + + /** + * Register an IMS provisioning change callback with Telephony. + */ + void registerImsProvisioningChangedCallback(int subId, IImsConfigCallback callback); + + /** + * unregister an existing IMS provisioning change callback. + */ + void unregisterImsProvisioningChangedCallback(int subId, IImsConfigCallback callback); + + /** + * Set the provisioning status for the IMS MmTel capability using the specified subscription. + */ + void setImsProvisioningStatusForCapability(int subId, int capability, int tech, + boolean isProvisioned); + + /** + * Get the provisioning status for the IMS MmTel capability specified. + */ + boolean getImsProvisioningStatusForCapability(int subId, int capability, int tech); + + /** + * Get the provisioning status for the IMS Rcs capability specified. + */ + boolean getRcsProvisioningStatusForCapability(int subId, int capability); + + /** + * Set the provisioning status for the IMS Rcs capability using the specified subscription. + */ + void setRcsProvisioningStatusForCapability(int subId, int capability, + boolean isProvisioned); + + /** Is the capability and tech flagged as provisioned in the cache */ + boolean isMmTelCapabilityProvisionedInCache(int subId, int capability, int tech); + + /** Set the provisioning for the capability and tech in the cache */ + void cacheMmTelCapabilityProvisioning(int subId, int capability, int tech, + boolean isProvisioned); + + /** + * Return an integer containing the provisioning value for the specified provisioning key. + */ + int getImsProvisioningInt(int subId, int key); + + /** + * return a String containing the provisioning value for the provisioning key specified. + */ + String getImsProvisioningString(int subId, int key); + + /** + * Set the integer provisioning value for the provisioning key specified. + */ + int setImsProvisioningInt(int subId, int key, int value); + + /** + * Set the String provisioning value for the provisioning key specified. + */ + int setImsProvisioningString(int subId, int key, String value); + + /** + * Update Emergency Number List for Test Mode. + */ + void updateEmergencyNumberListTestMode(int action, in EmergencyNumber num); + + /** + * Get the full emergency number list for Test Mode. + */ + List getEmergencyNumberListTestMode(); + + /** + * A test API to return the emergency number db version. + */ + int getEmergencyNumberDbVersion(int subId); + + /** + * Notify Telephony for OTA emergency number database installation complete. + */ + void notifyOtaEmergencyNumberDbInstalled(); + + /** + * Override a customized file partition name for OTA emergency number database. + */ + void updateOtaEmergencyNumberDbFilePath(in ParcelFileDescriptor otaParcelFileDescriptor); + + /** + * Reset file partition to default for OTA emergency number database. + */ + void resetOtaEmergencyNumberDbFilePath(); + + /** + * Enable or disable a logical modem stack associated with the slotIndex. + */ + boolean enableModemForSlot(int slotIndex, boolean enable); + + /** + * Indicate if the enablement of multi SIM functionality is restricted. + * @hide + */ + void setMultiSimCarrierRestriction(boolean isMultiSimCarrierRestricted); + + /** + * Returns if the usage of multiple SIM cards at the same time is supported. + * + * @param callingPackage The package making the call. + * @param callingFeatureId The feature in the package. + * @return {@link #MULTISIM_ALLOWED} if the device supports multiple SIMs. + * {@link #MULTISIM_NOT_SUPPORTED_BY_HARDWARE} if the device does not support multiple SIMs. + * {@link #MULTISIM_NOT_SUPPORTED_BY_CARRIER} in the device supports multiple SIMs, but the + * functionality is restricted by the carrier. + */ + int isMultiSimSupported(String callingPackage, String callingFeatureId); + + /** + * Switch configs to enable multi-sim or switch back to single-sim + * @hide + */ + void switchMultiSimConfig(int numOfSims); + + /** + * Get if altering modems configurations will trigger reboot. + * @hide + */ + boolean doesSwitchMultiSimConfigTriggerReboot(int subId, String callingPackage, + String callingFeatureId); + + /** + * Get the mapping from logical slots to physical slots. + */ + int[] getSlotsMapping(); + + /** + * Get the IRadio HAL Version encoded as 100 * MAJOR_VERSION + MINOR_VERSION or -1 if unknown + */ + int getRadioHalVersion(); + + /** + * Get the current calling package name. + */ + String getCurrentPackageName(); + + /** + * Returns true if the specified type of application (e.g. {@link #APPTYPE_CSIM} is present + * on the UICC card. + * @hide + */ + boolean isApplicationOnUicc(int subId, int appType); + + boolean isModemEnabledForSlot(int slotIndex, String callingPackage, String callingFeatureId); + + boolean isDataEnabledForApn(int apnType, int subId, String callingPackage); + + boolean isApnMetered(int apnType, int subId); + + oneway void setSystemSelectionChannels(in List specifiers, + int subId, IBooleanConsumer resultCallback); + + boolean isMvnoMatched(int subId, int mvnoType, String mvnoMatchData); + + /** + * Enqueue a pending sms Consumer, which will answer with the user specified selection for an + * outgoing SmsManager operation. + */ + oneway void enqueueSmsPickResult(String callingPackage, String callingAttributeTag, + IIntegerConsumer subIdResult); + + /** + * Returns the MMS user agent. + */ + String getMmsUserAgent(int subId); + + /** + * Returns the MMS user agent profile URL. + */ + String getMmsUAProfUrl(int subId); + + /** + * Set allowing mobile data during voice call. + */ + boolean setDataAllowedDuringVoiceCall(int subId, boolean allow); + + /** + * Check whether data is allowed during voice call. Note this is for dual sim device that + * data might be disabled on non-default data subscription but explicitly turned on by settings. + */ + boolean isDataAllowedInVoiceCall(int subId); + + /** + * Set whether a subscription always allows MMS connection. + */ + boolean setAlwaysAllowMmsData(int subId, boolean allow); + + /** + * Command line command to enable or disable handling of CEP data for test purposes. + */ + oneway void setCepEnabled(boolean isCepEnabled); + + /** + * Notify Rcs auto config received. + */ + void notifyRcsAutoConfigurationReceived(int subId, in byte[] config, boolean isCompressed); + + boolean isIccLockEnabled(int subId); + + /** + * Request for receiving user activity notification + */ + oneway void requestUserActivityNotification(); + + /** + * Called when userActivity is signalled in the power manager. + * This is safe to call from any thread, with any window manager locks held or not. + */ + oneway void userActivity(); + + /** + * Get the user manual network selection. + * Return empty string if in automatic selection. + * + * @param subId the id of the subscription + * @return operatorinfo on success + */ + String getManualNetworkSelectionPlmn(int subId); + + /** + * Whether device can connect to 5G network when two SIMs are active. + */ + boolean canConnectTo5GInDsdsMode(); +} + +#### + +// This file is automatically generated and not supposed to be modified. +using System; +using Boolean = System.Boolean; +using String = System.String; +using List = Android.Runtime.JavaList; +using Map = Android.Runtime.JavaDictionary; +using Android.App; +using Android.Content; +using Android.Os; +using Android.Net; +using Android.Service.Carrier; +using Android.Telecom; +using Android.Telephony; +using Android.Telephony.Emergency; +using Android.Telephony.Ims.Aidl; +using Com.Android.Ims.Internal; +using Com.Android.Internal.Telephony; +using Java.Util; + +namespace Com.Android.Internal.Telephony +{ + public interface ITelephony : global::Android.OS.IInterface + { + void Dial (String number); + void Call (String callingPackage, String number); + bool IsRadioOn (String callingPackage); + bool IsRadioOnWithFeature (String callingPackage, String callingFeatureId); + bool IsRadioOnForSubscriber (int subId, String callingPackage); + bool IsRadioOnForSubscriberWithFeature (int subId, String callingPackage, String callingFeatureId); + bool SupplyPinForSubscriber (int subId, String pin); + bool SupplyPukForSubscriber (int subId, String puk, String pin); + int [] SupplyPinReportResultForSubscriber (int subId, String pin); + int [] SupplyPukReportResultForSubscriber (int subId, String puk, String pin); + bool HandlePinMmi (String dialString); + void HandleUssdRequest (int subId, String ussdRequest, ResultReceiver wrappedCallback); + bool HandlePinMmiForSubscriber (int subId, String dialString); + void ToggleRadioOnOff (); + void ToggleRadioOnOffForSubscriber (int subId); + bool SetRadio (bool turnOn); + bool SetRadioForSubscriber (int subId, bool turnOn); + bool SetRadioPower (bool turnOn); + void UpdateServiceLocation (); + void UpdateServiceLocationForSubscriber (int subId); + void EnableLocationUpdates (); + void EnableLocationUpdatesForSubscriber (int subId); + void DisableLocationUpdates (); + void DisableLocationUpdatesForSubscriber (int subId); + bool EnableDataConnectivity (); + bool DisableDataConnectivity (); + bool IsDataConnectivityPossible (int subId); + CellIdentity GetCellLocation (String callingPkg, String callingFeatureId); + String GetNetworkCountryIsoForPhone (int phoneId); + List GetNeighboringCellInfo (String callingPkg, String callingFeatureId); + int GetCallState (); + int GetCallStateForSlot (int slotIndex); + int GetDataActivity (); + int GetDataActivityForSubId (int subId); + int GetDataState (); + int GetDataStateForSubId (int subId); + int GetActivePhoneType (); + int GetActivePhoneTypeForSlot (int slotIndex); + int GetCdmaEriIconIndex (String callingPackage, String callingFeatureId); + int GetCdmaEriIconIndexForSubscriber (int subId, String callingPackage, String callingFeatureId); + int GetCdmaEriIconMode (String callingPackage, String callingFeatureId); + int GetCdmaEriIconModeForSubscriber (int subId, String callingPackage, String callingFeatureId); + String GetCdmaEriText (String callingPackage, String callingFeatureId); + String GetCdmaEriTextForSubscriber (int subId, String callingPackage, String callingFeatureId); + bool NeedsOtaServiceProvisioning (); + bool SetVoiceMailNumber (int subId, String alphaTag, String number); + void SetVoiceActivationState (int subId, int activationState); + void SetDataActivationState (int subId, int activationState); + int GetVoiceActivationState (int subId, String callingPackage); + int GetDataActivationState (int subId, String callingPackage); + int GetVoiceMessageCountForSubscriber (int subId, String callingPackage, String callingFeatureId); + bool IsConcurrentVoiceAndDataAllowed (int subId); + Bundle GetVisualVoicemailSettings (String callingPackage, int subId); + String GetVisualVoicemailPackageName (String callingPackage, String callingFeatureId, int subId); + void EnableVisualVoicemailSmsFilter (String callingPackage, int subId, VisualVoicemailSmsFilterSettings settings); + void DisableVisualVoicemailSmsFilter (String callingPackage, int subId); + VisualVoicemailSmsFilterSettings GetVisualVoicemailSmsFilterSettings (String callingPackage, int subId); + VisualVoicemailSmsFilterSettings GetActiveVisualVoicemailSmsFilterSettings (int subId); + void SendVisualVoicemailSmsForSubscriber (String callingPackage, String callingAttributeTag, int subId, String number, int port, String text, PendingIntent sentIntent); + void SendDialerSpecialCode (String callingPackageName, String inputCode); + int GetNetworkTypeForSubscriber (int subId, String callingPackage, String callingFeatureId); + int GetDataNetworkType (String callingPackage, String callingFeatureId); + int GetDataNetworkTypeForSubscriber (int subId, String callingPackage, String callingFeatureId); + int GetVoiceNetworkTypeForSubscriber (int subId, String callingPackage, String callingFeatureId); + bool HasIccCard (); + bool HasIccCardUsingSlotIndex (int slotIndex); + int GetLteOnCdmaMode (String callingPackage, String callingFeatureId); + int GetLteOnCdmaModeForSubscriber (int subId, String callingPackage, String callingFeatureId); + List GetAllCellInfo (String callingPkg, String callingFeatureId); + void RequestCellInfoUpdate (int subId, ICellInfoCallback cb, String callingPkg, String callingFeatureId); + void RequestCellInfoUpdateWithWorkSource (int subId, ICellInfoCallback cb, String callingPkg, String callingFeatureId, WorkSource ws); + void SetCellInfoListRate (int rateInMillis); + IccOpenLogicalChannelResponse IccOpenLogicalChannelBySlot (int slotIndex, String callingPackage, String AID, int p2); + IccOpenLogicalChannelResponse IccOpenLogicalChannel (int subId, String callingPackage, String AID, int p2); + bool IccCloseLogicalChannelBySlot (int slotIndex, int channel); + bool IccCloseLogicalChannel (int subId, int channel); + String IccTransmitApduLogicalChannelBySlot (int slotIndex, int channel, int cla, int instruction, int p1, int p2, int p3, String data); + String IccTransmitApduLogicalChannel (int subId, int channel, int cla, int instruction, int p1, int p2, int p3, String data); + String IccTransmitApduBasicChannelBySlot (int slotIndex, String callingPackage, int cla, int instruction, int p1, int p2, int p3, String data); + String IccTransmitApduBasicChannel (int subId, String callingPackage, int cla, int instruction, int p1, int p2, int p3, String data); + byte [] IccExchangeSimIO (int subId, int fileID, int command, int p1, int p2, int p3, String filePath); + String SendEnvelopeWithStatus (int subId, String content); + String NvReadItem (int itemID); + bool NvWriteItem (int itemID, String itemValue); + bool NvWriteCdmaPrl (byte [] preferredRoamingList); + bool ResetModemConfig (int slotIndex); + bool RebootModem (int slotIndex); + int GetCalculatedPreferredNetworkType (String callingPackage, String callingFeatureId); + int GetPreferredNetworkType (int subId); + bool IsTetheringApnRequiredForSubscriber (int subId); + void EnableIms (int slotId); + void DisableIms (int slotId); + void ResetIms (int slotIndex); + IImsMmTelFeature GetMmTelFeatureAndListen (int slotId, IImsServiceFeatureCallback callback); + IImsRcsFeature GetRcsFeatureAndListen (int slotId, IImsServiceFeatureCallback callback); + void UnregisterImsFeatureCallback (int slotId, int featureType, IImsServiceFeatureCallback callback); + IImsRegistration GetImsRegistration (int slotId, int feature); + IImsConfig GetImsConfig (int slotId, int feature); + bool SetBoundImsServiceOverride (int slotIndex, bool isCarrierService, int [] featureTypes, String packageName); + String GetBoundImsServicePackage (int slotIndex, bool isCarrierImsService, int featureType); + void GetImsMmTelFeatureState (int subId, IIntegerConsumer callback); + void SetNetworkSelectionModeAutomatic (int subId); + CellNetworkScanResult GetCellNetworkScanResults (int subId, String callingPackage, String callingFeatureId); + int RequestNetworkScan (int subId, NetworkScanRequest request, Messenger messenger, global::Android.OS.IBinder binder, String callingPackage, String callingFeatureId); + void StopNetworkScan (int subId, int scanId); + bool SetNetworkSelectionModeManual (int subId, OperatorInfo operatorInfo, bool persisSelection); + long GetAllowedNetworkTypes (int subId); + bool SetAllowedNetworkTypes (int subId, long allowedNetworkTypes); + long GetAllowedNetworkTypesForReason (int subId, int reason); + long GetEffectiveAllowedNetworkTypes (int subId); + bool SetAllowedNetworkTypesForReason (int subId, int reason, long allowedNetworkTypes); + bool SetPreferredNetworkType (int subId, int networkType); + void SetUserDataEnabled (int subId, bool enable); + bool GetDataEnabled (int subId); + bool IsUserDataEnabled (int subId); + bool IsDataEnabled (int subId); + bool IsManualNetworkSelectionAllowed (int subId); + void SetAlwaysReportSignalStrength (int subId, bool isEnable); + String [] GetPcscfAddress (String apnType, String callingPackage, String callingFeatureId); + void SetImsRegistrationState (bool registered); + String GetCdmaMdn (int subId); + String GetCdmaMin (int subId); + void RequestNumberVerification (PhoneNumberRange range, long timeoutMillis, INumberVerificationCallback callback, String callingPackage); + int GetCarrierPrivilegeStatus (int subId); + int GetCarrierPrivilegeStatusForUid (int subId, int uid); + int CheckCarrierPrivilegesForPackage (int subId, String pkgName); + int CheckCarrierPrivilegesForPackageAnyPhone (String pkgName); + List GetCarrierPackageNamesForIntentAndPhone (Intent intent, int phoneId); + bool SetLine1NumberForDisplayForSubscriber (int subId, String alphaTag, String number); + String GetLine1NumberForDisplay (int subId, String callingPackage, String callingFeatureId); + String GetLine1AlphaTagForDisplay (int subId, String callingPackage, String callingFeatureId); + String [] GetMergedSubscriberIds (int subId, String callingPackage, String callingFeatureId); + String [] GetMergedImsisFromGroup (int subId, String callingPackage); + bool SetOperatorBrandOverride (int subId, String brand); + bool SetRoamingOverride (int subId, List gsmRoamingList, List gsmNonRoamingList, List cdmaRoamingList, List cdmaNonRoamingList); + int InvokeOemRilRequestRaw (byte [] oemReq, byte [] oemResp); + bool NeedMobileRadioShutdown (); + void ShutdownMobileRadios (); + int GetRadioAccessFamily (int phoneId, String callingPackage); + void EnableVideoCalling (bool enable); + bool IsVideoCallingEnabled (String callingPackage, String callingFeatureId); + bool CanChangeDtmfToneLength (int subId, String callingPackage, String callingFeatureId); + bool IsWorldPhone (int subId, String callingPackage, String callingFeatureId); + bool IsTtyModeSupported (); + bool IsRttSupported (int subscriptionId); + bool IsHearingAidCompatibilitySupported (); + bool IsImsRegistered (int subId); + bool IsWifiCallingAvailable (int subId); + bool IsVideoTelephonyAvailable (int subId); + int GetImsRegTechnologyForMmTel (int subId); + String GetDeviceId (String callingPackage); + String GetDeviceIdWithFeature (String callingPackage, String callingFeatureId); + String GetImeiForSlot (int slotIndex, String callingPackage, String callingFeatureId); + String GetTypeAllocationCodeForSlot (int slotIndex); + String GetMeidForSlot (int slotIndex, String callingPackage, String callingFeatureId); + String GetManufacturerCodeForSlot (int slotIndex); + String GetDeviceSoftwareVersionForSlot (int slotIndex, String callingPackage, String callingFeatureId); + int GetSubIdForPhoneAccount (PhoneAccount phoneAccount); + int GetSubIdForPhoneAccountHandle (PhoneAccountHandle phoneAccountHandle, String callingPackage, String callingFeatureId); + PhoneAccountHandle GetPhoneAccountHandleForSubscriptionId (int subscriptionId); + void FactoryReset (int subId); + String GetSimLocaleForSubscriber (int subId); + void RequestModemActivityInfo (ResultReceiver result); + ServiceState GetServiceStateForSubscriber (int subId, String callingPackage, String callingFeatureId); + Uri GetVoicemailRingtoneUri (PhoneAccountHandle accountHandle); + void SetVoicemailRingtoneUri (String callingPackage, PhoneAccountHandle phoneAccountHandle, Uri uri); + bool IsVoicemailVibrationEnabled (PhoneAccountHandle accountHandle); + void SetVoicemailVibrationEnabled (String callingPackage, PhoneAccountHandle phoneAccountHandle, bool enabled); + List GetPackagesWithCarrierPrivileges (int phoneId); + List GetPackagesWithCarrierPrivilegesForAllPhones (); + String GetAidForAppType (int subId, int appType); + String GetEsn (int subId); + String GetCdmaPrlVersion (int subId); + List GetTelephonyHistograms (); + int SetAllowedCarriers (CarrierRestrictionRules carrierRestrictionRules); + CarrierRestrictionRules GetAllowedCarriers (); + int GetSubscriptionCarrierId (int subId); + String GetSubscriptionCarrierName (int subId); + int GetSubscriptionSpecificCarrierId (int subId); + String GetSubscriptionSpecificCarrierName (int subId); + int GetCarrierIdFromMccMnc (int slotIndex, String mccmnc, bool isSubscriptionMccMnc); + void CarrierActionSetMeteredApnsEnabled (int subId, bool visible); + void CarrierActionSetRadioEnabled (int subId, bool enabled); + void CarrierActionReportDefaultNetworkStatus (int subId, bool report); + void CarrierActionResetAll (int subId); + CallForwardingInfo GetCallForwarding (int subId, int callForwardingReason); + bool SetCallForwarding (int subId, CallForwardingInfo callForwardingInfo); + int GetCallWaitingStatus (int subId); + bool SetCallWaitingStatus (int subId, bool isEnable); + void SetPolicyDataEnabled (bool enabled, int subId); + List GetClientRequestStats (String callingPackage, String callingFeatureId, int subid); + void SetSimPowerStateForSlot (int slotIndex, int state); + String [] GetForbiddenPlmns (int subId, int appType, String callingPackage, String callingFeatureId); + int SetForbiddenPlmns (int subId, int appType, List fplmns, String callingPackage, String callingFeatureId); + bool GetEmergencyCallbackMode (int subId); + SignalStrength GetSignalStrength (int subId); + int GetCardIdForDefaultEuicc (int subId, String callingPackage); + List GetUiccCardsInfo (String callingPackage); + bool SwitchSlots (int [] physicalSlots); + bool IsDataRoamingEnabled (int subId); + void SetDataRoamingEnabled (int subId, bool isEnabled); + int GetCdmaRoamingMode (int subId); + bool SetCdmaRoamingMode (int subId, int mode); + bool SetCdmaSubscriptionMode (int subId, int mode); + void SetCarrierTestOverride (int subId, String mccmnc, String imsi, String iccid, String gid1, String gid2, String plmn, String spn, String carrierPrivilegeRules, String apn); + int GetCarrierIdListVersion (int subId); + void RefreshUiccProfile (int subId); + int GetNumberOfModemsWithSimultaneousDataConnections (int subId, String callingPackage, String callingFeatureId); + int GetNetworkSelectionMode (int subId); + bool IsInEmergencySmsMode (); + int GetRadioPowerState (int slotIndex, String callingPackage, String callingFeatureId); + void RegisterImsRegistrationCallback (int subId, IImsRegistrationCallback c); + void UnregisterImsRegistrationCallback (int subId, IImsRegistrationCallback c); + void GetImsMmTelRegistrationState (int subId, IIntegerConsumer consumer); + void GetImsMmTelRegistrationTransportType (int subId, IIntegerConsumer consumer); + void RegisterMmTelCapabilityCallback (int subId, IImsCapabilityCallback c); + void UnregisterMmTelCapabilityCallback (int subId, IImsCapabilityCallback c); + bool IsCapable (int subId, int capability, int regTech); + bool IsAvailable (int subId, int capability, int regTech); + void IsMmTelCapabilitySupported (int subId, IIntegerConsumer callback, int capability, int transportType); + bool IsAdvancedCallingSettingEnabled (int subId); + void SetAdvancedCallingSettingEnabled (int subId, bool isEnabled); + bool IsVtSettingEnabled (int subId); + void SetVtSettingEnabled (int subId, bool isEnabled); + bool IsVoWiFiSettingEnabled (int subId); + void SetVoWiFiSettingEnabled (int subId, bool isEnabled); + bool IsVoWiFiRoamingSettingEnabled (int subId); + void SetVoWiFiRoamingSettingEnabled (int subId, bool isEnabled); + void SetVoWiFiNonPersistent (int subId, bool isCapable, int mode); + int GetVoWiFiModeSetting (int subId); + void SetVoWiFiModeSetting (int subId, int mode); + int GetVoWiFiRoamingModeSetting (int subId); + void SetVoWiFiRoamingModeSetting (int subId, int mode); + void SetRttCapabilitySetting (int subId, bool isEnabled); + bool IsTtyOverVolteEnabled (int subId); + global::Android.Runtime.JavaDictionary GetEmergencyNumberList (String callingPackage, String callingFeatureId); + bool IsEmergencyNumber (String number, bool exactMatch); + List GetCertsFromCarrierPrivilegeAccessRules (int subId); + void RegisterImsProvisioningChangedCallback (int subId, IImsConfigCallback callback); + void UnregisterImsProvisioningChangedCallback (int subId, IImsConfigCallback callback); + void SetImsProvisioningStatusForCapability (int subId, int capability, int tech, bool isProvisioned); + bool GetImsProvisioningStatusForCapability (int subId, int capability, int tech); + bool GetRcsProvisioningStatusForCapability (int subId, int capability); + void SetRcsProvisioningStatusForCapability (int subId, int capability, bool isProvisioned); + bool IsMmTelCapabilityProvisionedInCache (int subId, int capability, int tech); + void CacheMmTelCapabilityProvisioning (int subId, int capability, int tech, bool isProvisioned); + int GetImsProvisioningInt (int subId, int key); + String GetImsProvisioningString (int subId, int key); + int SetImsProvisioningInt (int subId, int key, int value); + int SetImsProvisioningString (int subId, int key, String value); + void UpdateEmergencyNumberListTestMode (int action, EmergencyNumber num); + List GetEmergencyNumberListTestMode (); + int GetEmergencyNumberDbVersion (int subId); + void NotifyOtaEmergencyNumberDbInstalled (); + void UpdateOtaEmergencyNumberDbFilePath (ParcelFileDescriptor otaParcelFileDescriptor); + void ResetOtaEmergencyNumberDbFilePath (); + bool EnableModemForSlot (int slotIndex, bool enable); + void SetMultiSimCarrierRestriction (bool isMultiSimCarrierRestricted); + int IsMultiSimSupported (String callingPackage, String callingFeatureId); + void SwitchMultiSimConfig (int numOfSims); + bool DoesSwitchMultiSimConfigTriggerReboot (int subId, String callingPackage, String callingFeatureId); + int [] GetSlotsMapping (); + int GetRadioHalVersion (); + String GetCurrentPackageName (); + bool IsApplicationOnUicc (int subId, int appType); + bool IsModemEnabledForSlot (int slotIndex, String callingPackage, String callingFeatureId); + bool IsDataEnabledForApn (int apnType, int subId, String callingPackage); + bool IsApnMetered (int apnType, int subId); + void SetSystemSelectionChannels (List specifiers, int subId, IBooleanConsumer resultCallback); + bool IsMvnoMatched (int subId, int mvnoType, String mvnoMatchData); + void EnqueueSmsPickResult (String callingPackage, String callingAttributeTag, IIntegerConsumer subIdResult); + String GetMmsUserAgent (int subId); + String GetMmsUAProfUrl (int subId); + bool SetDataAllowedDuringVoiceCall (int subId, bool allow); + bool IsDataAllowedInVoiceCall (int subId); + bool SetAlwaysAllowMmsData (int subId, bool allow); + void SetCepEnabled (bool isCepEnabled); + void NotifyRcsAutoConfigurationReceived (int subId, byte [] config, bool isCompressed); + bool IsIccLockEnabled (int subId); + void RequestUserActivityNotification (); + void UserActivity (); + String GetManualNetworkSelectionPlmn (int subId); + bool CanConnectTo5GInDsdsMode (); + } + + public abstract class ITelephonyStub : global::Android.OS.Binder, global::Android.OS.IInterface, Com.Android.Internal.Telephony.ITelephony + { + const string descriptor = "com.android.internal.telephony.ITelephony"; + public ITelephonyStub () + { + this.AttachInterface (this, descriptor); + } + + public static Com.Android.Internal.Telephony.ITelephony AsInterface (global::Android.OS.IBinder obj) + { + if (obj == null) + return null; + var iin = (global::Android.OS.IInterface) obj.QueryLocalInterface (descriptor); + if (iin != null && iin is Com.Android.Internal.Telephony.ITelephony) + return (Com.Android.Internal.Telephony.ITelephony) iin; + return new Proxy (obj); + } + + public global::Android.OS.IBinder AsBinder () + { + return this; + } + + protected override bool OnTransact (int code, global::Android.OS.Parcel data, global::Android.OS.Parcel reply, int flags) + { + switch (code) { + case global::Android.OS.BinderConsts.InterfaceTransaction: + reply.WriteString (descriptor); + return true; + + case TransactionDial: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + this.Dial (arg0); + reply.WriteNoException (); + data.WriteString (arg0); + return true; + } + + case TransactionCall: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + this.Call (arg0, arg1); + reply.WriteNoException (); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionIsRadioOn: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + var result = this.IsRadioOn (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteString (arg0); + return true; + } + + case TransactionIsRadioOnWithFeature: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.IsRadioOnWithFeature (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionIsRadioOnForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.IsRadioOnForSubscriber (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionIsRadioOnForSubscriberWithFeature: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.IsRadioOnForSubscriberWithFeature (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionSupplyPinForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.SupplyPinForSubscriber (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionSupplyPukForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.SupplyPukForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionSupplyPinReportResultForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.SupplyPinReportResultForSubscriber (arg0, arg1); + reply.WriteNoException (); + reply.WriteIntArray (result); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionSupplyPukReportResultForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.SupplyPukReportResultForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteIntArray (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionHandlePinMmi: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + var result = this.HandlePinMmi (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteString (arg0); + return true; + } + + case TransactionHandleUssdRequest: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + ResultReceiver arg2 = default (ResultReceiver); + arg2 = ResultReceiverStub.AsInterface (data.ReadStrongBinder ()); + this.HandleUssdRequest (arg0, arg1, arg2); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionHandlePinMmiForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.HandlePinMmiForSubscriber (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionToggleRadioOnOff: { + data.EnforceInterface (descriptor); + this.ToggleRadioOnOff (); + reply.WriteNoException (); + return true; + } + + case TransactionToggleRadioOnOffForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.ToggleRadioOnOffForSubscriber (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionSetRadio: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + var result = this.SetRadio (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0 ? 1 : 0); + return true; + } + + case TransactionSetRadioForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + var result = this.SetRadioForSubscriber (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionSetRadioPower: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + var result = this.SetRadioPower (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0 ? 1 : 0); + return true; + } + + case TransactionUpdateServiceLocation: { + data.EnforceInterface (descriptor); + this.UpdateServiceLocation (); + reply.WriteNoException (); + return true; + } + + case TransactionUpdateServiceLocationForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.UpdateServiceLocationForSubscriber (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionEnableLocationUpdates: { + data.EnforceInterface (descriptor); + this.EnableLocationUpdates (); + reply.WriteNoException (); + return true; + } + + case TransactionEnableLocationUpdatesForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.EnableLocationUpdatesForSubscriber (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionDisableLocationUpdates: { + data.EnforceInterface (descriptor); + this.DisableLocationUpdates (); + reply.WriteNoException (); + return true; + } + + case TransactionDisableLocationUpdatesForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.DisableLocationUpdatesForSubscriber (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionEnableDataConnectivity: { + data.EnforceInterface (descriptor); + var result = this.EnableDataConnectivity (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionDisableDataConnectivity: { + data.EnforceInterface (descriptor); + var result = this.DisableDataConnectivity (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionIsDataConnectivityPossible: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsDataConnectivityPossible (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCellLocation: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetCellLocation (arg0, arg1); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetNetworkCountryIsoForPhone: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetNetworkCountryIsoForPhone (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetNeighboringCellInfo: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetNeighboringCellInfo (arg0, arg1); + reply.WriteNoException (); + reply.WriteTypedList (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetCallState: { + data.EnforceInterface (descriptor); + var result = this.GetCallState (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGetCallStateForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetCallStateForSlot (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetDataActivity: { + data.EnforceInterface (descriptor); + var result = this.GetDataActivity (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGetDataActivityForSubId: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetDataActivityForSubId (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetDataState: { + data.EnforceInterface (descriptor); + var result = this.GetDataState (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGetDataStateForSubId: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetDataStateForSubId (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetActivePhoneType: { + data.EnforceInterface (descriptor); + var result = this.GetActivePhoneType (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGetActivePhoneTypeForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetActivePhoneTypeForSlot (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCdmaEriIconIndex: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetCdmaEriIconIndex (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetCdmaEriIconIndexForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetCdmaEriIconIndexForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetCdmaEriIconMode: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetCdmaEriIconMode (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetCdmaEriIconModeForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetCdmaEriIconModeForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetCdmaEriText: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetCdmaEriText (arg0, arg1); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetCdmaEriTextForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetCdmaEriTextForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionNeedsOtaServiceProvisioning: { + data.EnforceInterface (descriptor); + var result = this.NeedsOtaServiceProvisioning (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionSetVoiceMailNumber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.SetVoiceMailNumber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionSetVoiceActivationState: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + this.SetVoiceActivationState (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetDataActivationState: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + this.SetDataActivationState (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetVoiceActivationState: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetVoiceActivationState (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetDataActivationState: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetDataActivationState (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetVoiceMessageCountForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetVoiceMessageCountForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionIsConcurrentVoiceAndDataAllowed: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsConcurrentVoiceAndDataAllowed (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionGetVisualVoicemailSettings: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetVisualVoicemailSettings (arg0, arg1); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteString (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetVisualVoicemailPackageName: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + int arg2 = default (int); + arg2 = data.ReadInt (); + var result = this.GetVisualVoicemailPackageName (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteString (arg0); + data.WriteString (arg1); + data.WriteInt (arg2); + return true; + } + + case TransactionEnableVisualVoicemailSmsFilter: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + int arg1 = default (int); + arg1 = data.ReadInt (); + VisualVoicemailSmsFilterSettings arg2 = default (VisualVoicemailSmsFilterSettings); + arg2 = VisualVoicemailSmsFilterSettingsStub.AsInterface (data.ReadStrongBinder ()); + this.EnableVisualVoicemailSmsFilter (arg0, arg1, arg2); + reply.WriteNoException (); + data.WriteString (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionDisableVisualVoicemailSmsFilter: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + int arg1 = default (int); + arg1 = data.ReadInt (); + this.DisableVisualVoicemailSmsFilter (arg0, arg1); + data.WriteString (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetVisualVoicemailSmsFilterSettings: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetVisualVoicemailSmsFilterSettings (arg0, arg1); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteString (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetActiveVisualVoicemailSmsFilterSettings: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetActiveVisualVoicemailSmsFilterSettings (arg0); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + return true; + } + + case TransactionSendVisualVoicemailSmsForSubscriber: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + int arg2 = default (int); + arg2 = data.ReadInt (); + String arg3 = default (String); + arg3 = data.ReadString (); + int arg4 = default (int); + arg4 = data.ReadInt (); + String arg5 = default (String); + arg5 = data.ReadString (); + PendingIntent arg6 = default (PendingIntent); + arg6 = PendingIntentStub.AsInterface (data.ReadStrongBinder ()); + this.SendVisualVoicemailSmsForSubscriber (arg0, arg1, arg2, arg3, arg4, arg5, arg6); + reply.WriteNoException (); + data.WriteString (arg1); + return true; + } + + case TransactionSendDialerSpecialCode: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + this.SendDialerSpecialCode (arg0, arg1); + reply.WriteNoException (); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetNetworkTypeForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetNetworkTypeForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetDataNetworkType: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetDataNetworkType (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetDataNetworkTypeForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetDataNetworkTypeForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetVoiceNetworkTypeForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetVoiceNetworkTypeForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionHasIccCard: { + data.EnforceInterface (descriptor); + var result = this.HasIccCard (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionHasIccCardUsingSlotIndex: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.HasIccCardUsingSlotIndex (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionGetLteOnCdmaMode: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetLteOnCdmaMode (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetLteOnCdmaModeForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetLteOnCdmaModeForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetAllCellInfo: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetAllCellInfo (arg0, arg1); + reply.WriteNoException (); + reply.WriteTypedList (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionRequestCellInfoUpdate: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + ICellInfoCallback arg1 = default (ICellInfoCallback); + arg1 = ICellInfoCallbackStub.AsInterface (data.ReadStrongBinder ()); + String arg2 = default (String); + arg2 = data.ReadString (); + String arg3 = default (String); + arg3 = data.ReadString (); + this.RequestCellInfoUpdate (arg0, arg1, arg2, arg3); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteString (arg2); + data.WriteString (arg3); + return true; + } + + case TransactionRequestCellInfoUpdateWithWorkSource: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + ICellInfoCallback arg1 = default (ICellInfoCallback); + arg1 = ICellInfoCallbackStub.AsInterface (data.ReadStrongBinder ()); + String arg2 = default (String); + arg2 = data.ReadString (); + String arg3 = default (String); + arg3 = data.ReadString (); + WorkSource arg4 = default (WorkSource); + arg4 = WorkSourceStub.AsInterface (data.ReadStrongBinder ()); + this.RequestCellInfoUpdateWithWorkSource (arg0, arg1, arg2, arg3, arg4); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteString (arg3); + return true; + } + + case TransactionSetCellInfoListRate: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.SetCellInfoListRate (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionIccOpenLogicalChannelBySlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + int arg3 = default (int); + arg3 = data.ReadInt (); + var result = this.IccOpenLogicalChannelBySlot (arg0, arg1, arg2, arg3); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + data.WriteInt (arg3); + return true; + } + + case TransactionIccOpenLogicalChannel: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + int arg3 = default (int); + arg3 = data.ReadInt (); + var result = this.IccOpenLogicalChannel (arg0, arg1, arg2, arg3); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + data.WriteInt (arg3); + return true; + } + + case TransactionIccCloseLogicalChannelBySlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.IccCloseLogicalChannelBySlot (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionIccCloseLogicalChannel: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.IccCloseLogicalChannel (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionIccTransmitApduLogicalChannelBySlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + int arg3 = default (int); + arg3 = data.ReadInt (); + int arg4 = default (int); + arg4 = data.ReadInt (); + int arg5 = default (int); + arg5 = data.ReadInt (); + int arg6 = default (int); + arg6 = data.ReadInt (); + String arg7 = default (String); + arg7 = data.ReadString (); + var result = this.IccTransmitApduLogicalChannelBySlot (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + data.WriteInt (arg3); + data.WriteInt (arg4); + data.WriteInt (arg5); + data.WriteInt (arg6); + data.WriteString (arg7); + return true; + } + + case TransactionIccTransmitApduLogicalChannel: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + int arg3 = default (int); + arg3 = data.ReadInt (); + int arg4 = default (int); + arg4 = data.ReadInt (); + int arg5 = default (int); + arg5 = data.ReadInt (); + int arg6 = default (int); + arg6 = data.ReadInt (); + String arg7 = default (String); + arg7 = data.ReadString (); + var result = this.IccTransmitApduLogicalChannel (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + data.WriteInt (arg3); + data.WriteInt (arg4); + data.WriteInt (arg5); + data.WriteInt (arg6); + data.WriteString (arg7); + return true; + } + + case TransactionIccTransmitApduBasicChannelBySlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + int arg2 = default (int); + arg2 = data.ReadInt (); + int arg3 = default (int); + arg3 = data.ReadInt (); + int arg4 = default (int); + arg4 = data.ReadInt (); + int arg5 = default (int); + arg5 = data.ReadInt (); + int arg6 = default (int); + arg6 = data.ReadInt (); + String arg7 = default (String); + arg7 = data.ReadString (); + var result = this.IccTransmitApduBasicChannelBySlot (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteInt (arg2); + data.WriteInt (arg3); + data.WriteInt (arg4); + data.WriteInt (arg5); + data.WriteInt (arg6); + data.WriteString (arg7); + return true; + } + + case TransactionIccTransmitApduBasicChannel: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + int arg2 = default (int); + arg2 = data.ReadInt (); + int arg3 = default (int); + arg3 = data.ReadInt (); + int arg4 = default (int); + arg4 = data.ReadInt (); + int arg5 = default (int); + arg5 = data.ReadInt (); + int arg6 = default (int); + arg6 = data.ReadInt (); + String arg7 = default (String); + arg7 = data.ReadString (); + var result = this.IccTransmitApduBasicChannel (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteInt (arg2); + data.WriteInt (arg3); + data.WriteInt (arg4); + data.WriteInt (arg5); + data.WriteInt (arg6); + data.WriteString (arg7); + return true; + } + + case TransactionIccExchangeSimIO: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + int arg3 = default (int); + arg3 = data.ReadInt (); + int arg4 = default (int); + arg4 = data.ReadInt (); + int arg5 = default (int); + arg5 = data.ReadInt (); + String arg6 = default (String); + arg6 = data.ReadString (); + var result = this.IccExchangeSimIO (arg0, arg1, arg2, arg3, arg4, arg5, arg6); + reply.WriteNoException (); + reply.WriteByteArray (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + data.WriteInt (arg3); + data.WriteInt (arg4); + data.WriteInt (arg5); + data.WriteString (arg6); + return true; + } + + case TransactionSendEnvelopeWithStatus: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.SendEnvelopeWithStatus (arg0, arg1); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionNvReadItem: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.NvReadItem (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionNvWriteItem: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.NvWriteItem (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionNvWriteCdmaPrl: { + data.EnforceInterface (descriptor); + byte [] arg0 = default (byte []); + arg0 = data.CreateByteArray (); + var result = this.NvWriteCdmaPrl (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionResetModemConfig: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.ResetModemConfig (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionRebootModem: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.RebootModem (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCalculatedPreferredNetworkType: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetCalculatedPreferredNetworkType (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetPreferredNetworkType: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetPreferredNetworkType (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionIsTetheringApnRequiredForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsTetheringApnRequiredForSubscriber (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionEnableIms: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.EnableIms (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionDisableIms: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.DisableIms (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionResetIms: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.ResetIms (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionGetMmTelFeatureAndListen: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IImsServiceFeatureCallback arg1 = default (IImsServiceFeatureCallback); + arg1 = IImsServiceFeatureCallbackStub.AsInterface (data.ReadStrongBinder ()); + var result = this.GetMmTelFeatureAndListen (arg0, arg1); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + return true; + } + + case TransactionGetRcsFeatureAndListen: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IImsServiceFeatureCallback arg1 = default (IImsServiceFeatureCallback); + arg1 = IImsServiceFeatureCallbackStub.AsInterface (data.ReadStrongBinder ()); + var result = this.GetRcsFeatureAndListen (arg0, arg1); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + return true; + } + + case TransactionUnregisterImsFeatureCallback: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + IImsServiceFeatureCallback arg2 = default (IImsServiceFeatureCallback); + arg2 = IImsServiceFeatureCallbackStub.AsInterface (data.ReadStrongBinder ()); + this.UnregisterImsFeatureCallback (arg0, arg1, arg2); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetImsRegistration: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetImsRegistration (arg0, arg1); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetImsConfig: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetImsConfig (arg0, arg1); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetBoundImsServiceOverride: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + int [] arg2 = default (int []); + arg2 = data.CreateIntArray (); + String arg3 = default (String); + arg3 = data.ReadString (); + var result = this.SetBoundImsServiceOverride (arg0, arg1, arg2, arg3); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionGetBoundImsServicePackage: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + int arg2 = default (int); + arg2 = data.ReadInt (); + var result = this.GetBoundImsServicePackage (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + data.WriteInt (arg2); + return true; + } + + case TransactionGetImsMmTelFeatureState: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IIntegerConsumer arg1 = default (IIntegerConsumer); + arg1 = IIntegerConsumerStub.AsInterface (data.ReadStrongBinder ()); + this.GetImsMmTelFeatureState (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + return true; + } + + case TransactionSetNetworkSelectionModeAutomatic: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.SetNetworkSelectionModeAutomatic (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCellNetworkScanResults: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetCellNetworkScanResults (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionRequestNetworkScan: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + NetworkScanRequest arg1 = default (NetworkScanRequest); + arg1 = NetworkScanRequestStub.AsInterface (data.ReadStrongBinder ()); + Messenger arg2 = default (Messenger); + arg2 = MessengerStub.AsInterface (data.ReadStrongBinder ()); + global::Android.OS.IBinder arg3 = default (global::Android.OS.IBinder); + arg3 = data.ReadStrongBinder (); + String arg4 = default (String); + arg4 = data.ReadString (); + String arg5 = default (String); + arg5 = data.ReadString (); + var result = this.RequestNetworkScan (arg0, arg1, arg2, arg3, arg4, arg5); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg5); + return true; + } + + case TransactionStopNetworkScan: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + this.StopNetworkScan (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetNetworkSelectionModeManual: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + OperatorInfo arg1 = default (OperatorInfo); + arg1 = OperatorInfoStub.AsInterface (data.ReadStrongBinder ()); + bool arg2 = default (bool); + arg2 = data.ReadInt () != 0; + var result = this.SetNetworkSelectionModeManual (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg2 ? 1 : 0); + return true; + } + + case TransactionGetAllowedNetworkTypes: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetAllowedNetworkTypes (arg0); + reply.WriteNoException (); + reply.WriteLong (result); + data.WriteInt (arg0); + return true; + } + + case TransactionSetAllowedNetworkTypes: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + long arg1 = default (long); + arg1 = data.ReadLong (); + var result = this.SetAllowedNetworkTypes (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteLong (arg1); + return true; + } + + case TransactionGetAllowedNetworkTypesForReason: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetAllowedNetworkTypesForReason (arg0, arg1); + reply.WriteNoException (); + reply.WriteLong (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetEffectiveAllowedNetworkTypes: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetEffectiveAllowedNetworkTypes (arg0); + reply.WriteNoException (); + reply.WriteLong (result); + data.WriteInt (arg0); + return true; + } + + case TransactionSetAllowedNetworkTypesForReason: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + long arg2 = default (long); + arg2 = data.ReadLong (); + var result = this.SetAllowedNetworkTypesForReason (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteLong (arg2); + return true; + } + + case TransactionSetPreferredNetworkType: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.SetPreferredNetworkType (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetUserDataEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.SetUserDataEnabled (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionGetDataEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetDataEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionIsUserDataEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsUserDataEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionIsDataEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsDataEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionIsManualNetworkSelectionAllowed: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsManualNetworkSelectionAllowed (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionSetAlwaysReportSignalStrength: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.SetAlwaysReportSignalStrength (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionGetPcscfAddress: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetPcscfAddress (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteStringArray (result); + data.WriteString (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionSetImsRegistrationState: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + this.SetImsRegistrationState (arg0); + reply.WriteNoException (); + data.WriteInt (arg0 ? 1 : 0); + return true; + } + + case TransactionGetCdmaMdn: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetCdmaMdn (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCdmaMin: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetCdmaMin (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionRequestNumberVerification: { + data.EnforceInterface (descriptor); + PhoneNumberRange arg0 = default (PhoneNumberRange); + arg0 = PhoneNumberRangeStub.AsInterface (data.ReadStrongBinder ()); + long arg1 = default (long); + arg1 = data.ReadLong (); + INumberVerificationCallback arg2 = default (INumberVerificationCallback); + arg2 = INumberVerificationCallbackStub.AsInterface (data.ReadStrongBinder ()); + String arg3 = default (String); + arg3 = data.ReadString (); + this.RequestNumberVerification (arg0, arg1, arg2, arg3); + reply.WriteNoException (); + data.WriteLong (arg1); + data.WriteString (arg3); + return true; + } + + case TransactionGetCarrierPrivilegeStatus: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetCarrierPrivilegeStatus (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCarrierPrivilegeStatusForUid: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetCarrierPrivilegeStatusForUid (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionCheckCarrierPrivilegesForPackage: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.CheckCarrierPrivilegesForPackage (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionCheckCarrierPrivilegesForPackageAnyPhone: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + var result = this.CheckCarrierPrivilegesForPackageAnyPhone (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteString (arg0); + return true; + } + + case TransactionGetCarrierPackageNamesForIntentAndPhone: { + data.EnforceInterface (descriptor); + Intent arg0 = default (Intent); + arg0 = IntentStub.AsInterface (data.ReadStrongBinder ()); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetCarrierPackageNamesForIntentAndPhone (arg0, arg1); + reply.WriteNoException (); + reply.WriteStringList ((global::System.Collections.Generic.IList) result); + data.WriteInt (arg1); + return true; + } + + case TransactionSetLine1NumberForDisplayForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.SetLine1NumberForDisplayForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetLine1NumberForDisplay: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetLine1NumberForDisplay (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetLine1AlphaTagForDisplay: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetLine1AlphaTagForDisplay (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetMergedSubscriberIds: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetMergedSubscriberIds (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteStringArray (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetMergedImsisFromGroup: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetMergedImsisFromGroup (arg0, arg1); + reply.WriteNoException (); + reply.WriteStringArray (result); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionSetOperatorBrandOverride: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.SetOperatorBrandOverride (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionSetRoamingOverride: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + List arg1 = default (List); + arg1 = (global::Android.Runtime.JavaList) data.CreateStringArrayList (); + List arg2 = default (List); + arg2 = (global::Android.Runtime.JavaList) data.CreateStringArrayList (); + List arg3 = default (List); + arg3 = (global::Android.Runtime.JavaList) data.CreateStringArrayList (); + List arg4 = default (List); + arg4 = (global::Android.Runtime.JavaList) data.CreateStringArrayList (); + var result = this.SetRoamingOverride (arg0, arg1, arg2, arg3, arg4); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionInvokeOemRilRequestRaw: { + data.EnforceInterface (descriptor); + byte [] arg0 = default (byte []); + arg0 = data.CreateByteArray (); + byte [] arg1 = default (byte []); + var result = this.InvokeOemRilRequestRaw (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteByteArray (arg1); + return true; + } + + case TransactionNeedMobileRadioShutdown: { + data.EnforceInterface (descriptor); + var result = this.NeedMobileRadioShutdown (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionShutdownMobileRadios: { + data.EnforceInterface (descriptor); + this.ShutdownMobileRadios (); + reply.WriteNoException (); + return true; + } + + case TransactionGetRadioAccessFamily: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetRadioAccessFamily (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteString (arg1); + return true; + } + + case TransactionEnableVideoCalling: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + this.EnableVideoCalling (arg0); + reply.WriteNoException (); + data.WriteInt (arg0 ? 1 : 0); + return true; + } + + case TransactionIsVideoCallingEnabled: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.IsVideoCallingEnabled (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionCanChangeDtmfToneLength: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.CanChangeDtmfToneLength (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionIsWorldPhone: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.IsWorldPhone (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionIsTtyModeSupported: { + data.EnforceInterface (descriptor); + var result = this.IsTtyModeSupported (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionIsRttSupported: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsRttSupported (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionIsHearingAidCompatibilitySupported: { + data.EnforceInterface (descriptor); + var result = this.IsHearingAidCompatibilitySupported (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionIsImsRegistered: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsImsRegistered (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionIsWifiCallingAvailable: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsWifiCallingAvailable (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionIsVideoTelephonyAvailable: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsVideoTelephonyAvailable (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionGetImsRegTechnologyForMmTel: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetImsRegTechnologyForMmTel (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetDeviceId: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + var result = this.GetDeviceId (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteString (arg0); + return true; + } + + case TransactionGetDeviceIdWithFeature: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetDeviceIdWithFeature (arg0, arg1); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetImeiForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetImeiForSlot (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetTypeAllocationCodeForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetTypeAllocationCodeForSlot (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetMeidForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetMeidForSlot (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetManufacturerCodeForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetManufacturerCodeForSlot (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetDeviceSoftwareVersionForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetDeviceSoftwareVersionForSlot (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetSubIdForPhoneAccount: { + data.EnforceInterface (descriptor); + PhoneAccount arg0 = default (PhoneAccount); + arg0 = PhoneAccountStub.AsInterface (data.ReadStrongBinder ()); + var result = this.GetSubIdForPhoneAccount (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGetSubIdForPhoneAccountHandle: { + data.EnforceInterface (descriptor); + PhoneAccountHandle arg0 = default (PhoneAccountHandle); + arg0 = PhoneAccountHandleStub.AsInterface (data.ReadStrongBinder ()); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetSubIdForPhoneAccountHandle (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetPhoneAccountHandleForSubscriptionId: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetPhoneAccountHandleForSubscriptionId (arg0); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + return true; + } + + case TransactionFactoryReset: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.FactoryReset (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionGetSimLocaleForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetSimLocaleForSubscriber (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionRequestModemActivityInfo: { + data.EnforceInterface (descriptor); + ResultReceiver arg0 = default (ResultReceiver); + arg0 = ResultReceiverStub.AsInterface (data.ReadStrongBinder ()); + this.RequestModemActivityInfo (arg0); + return true; + } + + case TransactionGetServiceStateForSubscriber: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetServiceStateForSubscriber (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetVoicemailRingtoneUri: { + data.EnforceInterface (descriptor); + PhoneAccountHandle arg0 = default (PhoneAccountHandle); + arg0 = PhoneAccountHandleStub.AsInterface (data.ReadStrongBinder ()); + var result = this.GetVoicemailRingtoneUri (arg0); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + return true; + } + + case TransactionSetVoicemailRingtoneUri: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + PhoneAccountHandle arg1 = default (PhoneAccountHandle); + arg1 = PhoneAccountHandleStub.AsInterface (data.ReadStrongBinder ()); + Uri arg2 = default (Uri); + arg2 = UriStub.AsInterface (data.ReadStrongBinder ()); + this.SetVoicemailRingtoneUri (arg0, arg1, arg2); + reply.WriteNoException (); + data.WriteString (arg0); + return true; + } + + case TransactionIsVoicemailVibrationEnabled: { + data.EnforceInterface (descriptor); + PhoneAccountHandle arg0 = default (PhoneAccountHandle); + arg0 = PhoneAccountHandleStub.AsInterface (data.ReadStrongBinder ()); + var result = this.IsVoicemailVibrationEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionSetVoicemailVibrationEnabled: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + PhoneAccountHandle arg1 = default (PhoneAccountHandle); + arg1 = PhoneAccountHandleStub.AsInterface (data.ReadStrongBinder ()); + bool arg2 = default (bool); + arg2 = data.ReadInt () != 0; + this.SetVoicemailVibrationEnabled (arg0, arg1, arg2); + reply.WriteNoException (); + data.WriteString (arg0); + data.WriteInt (arg2 ? 1 : 0); + return true; + } + + case TransactionGetPackagesWithCarrierPrivileges: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetPackagesWithCarrierPrivileges (arg0); + reply.WriteNoException (); + reply.WriteStringList ((global::System.Collections.Generic.IList) result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetPackagesWithCarrierPrivilegesForAllPhones: { + data.EnforceInterface (descriptor); + var result = this.GetPackagesWithCarrierPrivilegesForAllPhones (); + reply.WriteNoException (); + reply.WriteStringList ((global::System.Collections.Generic.IList) result); + return true; + } + + case TransactionGetAidForAppType: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetAidForAppType (arg0, arg1); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetEsn: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetEsn (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCdmaPrlVersion: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetCdmaPrlVersion (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetTelephonyHistograms: { + data.EnforceInterface (descriptor); + var result = this.GetTelephonyHistograms (); + reply.WriteNoException (); + reply.WriteTypedList (result); + return true; + } + + case TransactionSetAllowedCarriers: { + data.EnforceInterface (descriptor); + CarrierRestrictionRules arg0 = default (CarrierRestrictionRules); + arg0 = CarrierRestrictionRulesStub.AsInterface (data.ReadStrongBinder ()); + var result = this.SetAllowedCarriers (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGetAllowedCarriers: { + data.EnforceInterface (descriptor); + var result = this.GetAllowedCarriers (); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + return true; + } + + case TransactionGetSubscriptionCarrierId: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetSubscriptionCarrierId (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetSubscriptionCarrierName: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetSubscriptionCarrierName (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetSubscriptionSpecificCarrierId: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetSubscriptionSpecificCarrierId (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetSubscriptionSpecificCarrierName: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetSubscriptionSpecificCarrierName (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCarrierIdFromMccMnc: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + bool arg2 = default (bool); + arg2 = data.ReadInt () != 0; + var result = this.GetCarrierIdFromMccMnc (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteInt (arg2 ? 1 : 0); + return true; + } + + case TransactionCarrierActionSetMeteredApnsEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.CarrierActionSetMeteredApnsEnabled (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionCarrierActionSetRadioEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.CarrierActionSetRadioEnabled (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionCarrierActionReportDefaultNetworkStatus: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.CarrierActionReportDefaultNetworkStatus (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionCarrierActionResetAll: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.CarrierActionResetAll (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCallForwarding: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetCallForwarding (arg0, arg1); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetCallForwarding: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + CallForwardingInfo arg1 = default (CallForwardingInfo); + arg1 = CallForwardingInfoStub.AsInterface (data.ReadStrongBinder ()); + var result = this.SetCallForwarding (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCallWaitingStatus: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetCallWaitingStatus (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionSetCallWaitingStatus: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + var result = this.SetCallWaitingStatus (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionSetPolicyDataEnabled: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + int arg1 = default (int); + arg1 = data.ReadInt (); + this.SetPolicyDataEnabled (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0 ? 1 : 0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetClientRequestStats: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + int arg2 = default (int); + arg2 = data.ReadInt (); + var result = this.GetClientRequestStats (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteTypedList (result); + data.WriteString (arg0); + data.WriteString (arg1); + data.WriteInt (arg2); + return true; + } + + case TransactionSetSimPowerStateForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + this.SetSimPowerStateForSlot (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetForbiddenPlmns: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + String arg2 = default (String); + arg2 = data.ReadString (); + String arg3 = default (String); + arg3 = data.ReadString (); + var result = this.GetForbiddenPlmns (arg0, arg1, arg2, arg3); + reply.WriteNoException (); + reply.WriteStringArray (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteString (arg2); + data.WriteString (arg3); + return true; + } + + case TransactionSetForbiddenPlmns: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + List arg2 = default (List); + arg2 = (global::Android.Runtime.JavaList) data.CreateStringArrayList (); + String arg3 = default (String); + arg3 = data.ReadString (); + String arg4 = default (String); + arg4 = data.ReadString (); + var result = this.SetForbiddenPlmns (arg0, arg1, arg2, arg3, arg4); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteString (arg3); + data.WriteString (arg4); + return true; + } + + case TransactionGetEmergencyCallbackMode: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetEmergencyCallbackMode (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionGetSignalStrength: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetSignalStrength (arg0); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + data.WriteInt (arg0); + return true; + } + + case TransactionGetCardIdForDefaultEuicc: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetCardIdForDefaultEuicc (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionGetUiccCardsInfo: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + var result = this.GetUiccCardsInfo (arg0); + reply.WriteNoException (); + reply.WriteTypedList (result); + data.WriteString (arg0); + return true; + } + + case TransactionSwitchSlots: { + data.EnforceInterface (descriptor); + int [] arg0 = default (int []); + arg0 = data.CreateIntArray (); + var result = this.SwitchSlots (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionIsDataRoamingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsDataRoamingEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionSetDataRoamingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.SetDataRoamingEnabled (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionGetCdmaRoamingMode: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetCdmaRoamingMode (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionSetCdmaRoamingMode: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.SetCdmaRoamingMode (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetCdmaSubscriptionMode: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.SetCdmaSubscriptionMode (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetCarrierTestOverride: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + String arg3 = default (String); + arg3 = data.ReadString (); + String arg4 = default (String); + arg4 = data.ReadString (); + String arg5 = default (String); + arg5 = data.ReadString (); + String arg6 = default (String); + arg6 = data.ReadString (); + String arg7 = default (String); + arg7 = data.ReadString (); + String arg8 = default (String); + arg8 = data.ReadString (); + String arg9 = default (String); + arg9 = data.ReadString (); + this.SetCarrierTestOverride (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + data.WriteString (arg3); + data.WriteString (arg4); + data.WriteString (arg5); + data.WriteString (arg6); + data.WriteString (arg7); + data.WriteString (arg8); + data.WriteString (arg9); + return true; + } + + case TransactionGetCarrierIdListVersion: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetCarrierIdListVersion (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionRefreshUiccProfile: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.RefreshUiccProfile (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionGetNumberOfModemsWithSimultaneousDataConnections: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetNumberOfModemsWithSimultaneousDataConnections (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetNetworkSelectionMode: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetNetworkSelectionMode (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionIsInEmergencySmsMode: { + data.EnforceInterface (descriptor); + var result = this.IsInEmergencySmsMode (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionGetRadioPowerState: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.GetRadioPowerState (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionRegisterImsRegistrationCallback: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IImsRegistrationCallback arg1 = default (IImsRegistrationCallback); + arg1 = IImsRegistrationCallbackStub.AsInterface (data.ReadStrongBinder ()); + this.RegisterImsRegistrationCallback (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + return true; + } + + case TransactionUnregisterImsRegistrationCallback: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IImsRegistrationCallback arg1 = default (IImsRegistrationCallback); + arg1 = IImsRegistrationCallbackStub.AsInterface (data.ReadStrongBinder ()); + this.UnregisterImsRegistrationCallback (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + return true; + } + + case TransactionGetImsMmTelRegistrationState: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IIntegerConsumer arg1 = default (IIntegerConsumer); + arg1 = IIntegerConsumerStub.AsInterface (data.ReadStrongBinder ()); + this.GetImsMmTelRegistrationState (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + return true; + } + + case TransactionGetImsMmTelRegistrationTransportType: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IIntegerConsumer arg1 = default (IIntegerConsumer); + arg1 = IIntegerConsumerStub.AsInterface (data.ReadStrongBinder ()); + this.GetImsMmTelRegistrationTransportType (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + return true; + } + + case TransactionRegisterMmTelCapabilityCallback: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IImsCapabilityCallback arg1 = default (IImsCapabilityCallback); + arg1 = IImsCapabilityCallbackStub.AsInterface (data.ReadStrongBinder ()); + this.RegisterMmTelCapabilityCallback (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + return true; + } + + case TransactionUnregisterMmTelCapabilityCallback: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IImsCapabilityCallback arg1 = default (IImsCapabilityCallback); + arg1 = IImsCapabilityCallbackStub.AsInterface (data.ReadStrongBinder ()); + this.UnregisterMmTelCapabilityCallback (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + return true; + } + + case TransactionIsCapable: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + var result = this.IsCapable (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + return true; + } + + case TransactionIsAvailable: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + var result = this.IsAvailable (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + return true; + } + + case TransactionIsMmTelCapabilitySupported: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IIntegerConsumer arg1 = default (IIntegerConsumer); + arg1 = IIntegerConsumerStub.AsInterface (data.ReadStrongBinder ()); + int arg2 = default (int); + arg2 = data.ReadInt (); + int arg3 = default (int); + arg3 = data.ReadInt (); + this.IsMmTelCapabilitySupported (arg0, arg1, arg2, arg3); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + data.WriteInt (arg2); + data.WriteInt (arg3); + return true; + } + + case TransactionIsAdvancedCallingSettingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsAdvancedCallingSettingEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionSetAdvancedCallingSettingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.SetAdvancedCallingSettingEnabled (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionIsVtSettingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsVtSettingEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionSetVtSettingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.SetVtSettingEnabled (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionIsVoWiFiSettingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsVoWiFiSettingEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionSetVoWiFiSettingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.SetVoWiFiSettingEnabled (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionIsVoWiFiRoamingSettingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsVoWiFiRoamingSettingEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionSetVoWiFiRoamingSettingEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.SetVoWiFiRoamingSettingEnabled (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionSetVoWiFiNonPersistent: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + int arg2 = default (int); + arg2 = data.ReadInt (); + this.SetVoWiFiNonPersistent (arg0, arg1, arg2); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + data.WriteInt (arg2); + return true; + } + + case TransactionGetVoWiFiModeSetting: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetVoWiFiModeSetting (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionSetVoWiFiModeSetting: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + this.SetVoWiFiModeSetting (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetVoWiFiRoamingModeSetting: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetVoWiFiRoamingModeSetting (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionSetVoWiFiRoamingModeSetting: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + this.SetVoWiFiRoamingModeSetting (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetRttCapabilitySetting: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.SetRttCapabilitySetting (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionIsTtyOverVolteEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsTtyOverVolteEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionGetEmergencyNumberList: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.GetEmergencyNumberList (arg0, arg1); + reply.WriteNoException (); + reply.WriteMap (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionIsEmergencyNumber: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + var result = this.IsEmergencyNumber (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteString (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionGetCertsFromCarrierPrivilegeAccessRules: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetCertsFromCarrierPrivilegeAccessRules (arg0); + reply.WriteNoException (); + reply.WriteStringList ((global::System.Collections.Generic.IList) result); + data.WriteInt (arg0); + return true; + } + + case TransactionRegisterImsProvisioningChangedCallback: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IImsConfigCallback arg1 = default (IImsConfigCallback); + arg1 = IImsConfigCallbackStub.AsInterface (data.ReadStrongBinder ()); + this.RegisterImsProvisioningChangedCallback (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + return true; + } + + case TransactionUnregisterImsProvisioningChangedCallback: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + IImsConfigCallback arg1 = default (IImsConfigCallback); + arg1 = IImsConfigCallbackStub.AsInterface (data.ReadStrongBinder ()); + this.UnregisterImsProvisioningChangedCallback (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteStrongBinder ((((arg1 != null)) ? (arg1.AsBinder ()) : (null))); + return true; + } + + case TransactionSetImsProvisioningStatusForCapability: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + bool arg3 = default (bool); + arg3 = data.ReadInt () != 0; + this.SetImsProvisioningStatusForCapability (arg0, arg1, arg2, arg3); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + data.WriteInt (arg3 ? 1 : 0); + return true; + } + + case TransactionGetImsProvisioningStatusForCapability: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + var result = this.GetImsProvisioningStatusForCapability (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + return true; + } + + case TransactionGetRcsProvisioningStatusForCapability: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetRcsProvisioningStatusForCapability (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetRcsProvisioningStatusForCapability: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + bool arg2 = default (bool); + arg2 = data.ReadInt () != 0; + this.SetRcsProvisioningStatusForCapability (arg0, arg1, arg2); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2 ? 1 : 0); + return true; + } + + case TransactionIsMmTelCapabilityProvisionedInCache: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + var result = this.IsMmTelCapabilityProvisionedInCache (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + return true; + } + + case TransactionCacheMmTelCapabilityProvisioning: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + bool arg3 = default (bool); + arg3 = data.ReadInt () != 0; + this.CacheMmTelCapabilityProvisioning (arg0, arg1, arg2, arg3); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + data.WriteInt (arg3 ? 1 : 0); + return true; + } + + case TransactionGetImsProvisioningInt: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetImsProvisioningInt (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionGetImsProvisioningString: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.GetImsProvisioningString (arg0, arg1); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetImsProvisioningInt: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + int arg2 = default (int); + arg2 = data.ReadInt (); + var result = this.SetImsProvisioningInt (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteInt (arg2); + return true; + } + + case TransactionSetImsProvisioningString: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.SetImsProvisioningString (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionUpdateEmergencyNumberListTestMode: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + EmergencyNumber arg1 = default (EmergencyNumber); + arg1 = EmergencyNumberStub.AsInterface (data.ReadStrongBinder ()); + this.UpdateEmergencyNumberListTestMode (arg0, arg1); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionGetEmergencyNumberListTestMode: { + data.EnforceInterface (descriptor); + var result = this.GetEmergencyNumberListTestMode (); + reply.WriteNoException (); + reply.WriteStringList ((global::System.Collections.Generic.IList) result); + return true; + } + + case TransactionGetEmergencyNumberDbVersion: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetEmergencyNumberDbVersion (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteInt (arg0); + return true; + } + + case TransactionNotifyOtaEmergencyNumberDbInstalled: { + data.EnforceInterface (descriptor); + this.NotifyOtaEmergencyNumberDbInstalled (); + reply.WriteNoException (); + return true; + } + + case TransactionUpdateOtaEmergencyNumberDbFilePath: { + data.EnforceInterface (descriptor); + ParcelFileDescriptor arg0 = default (ParcelFileDescriptor); + arg0 = ParcelFileDescriptorStub.AsInterface (data.ReadStrongBinder ()); + this.UpdateOtaEmergencyNumberDbFilePath (arg0); + reply.WriteNoException (); + return true; + } + + case TransactionResetOtaEmergencyNumberDbFilePath: { + data.EnforceInterface (descriptor); + this.ResetOtaEmergencyNumberDbFilePath (); + reply.WriteNoException (); + return true; + } + + case TransactionEnableModemForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + var result = this.EnableModemForSlot (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionSetMultiSimCarrierRestriction: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + this.SetMultiSimCarrierRestriction (arg0); + reply.WriteNoException (); + data.WriteInt (arg0 ? 1 : 0); + return true; + } + + case TransactionIsMultiSimSupported: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + var result = this.IsMultiSimSupported (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteString (arg0); + data.WriteString (arg1); + return true; + } + + case TransactionSwitchMultiSimConfig: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.SwitchMultiSimConfig (arg0); + reply.WriteNoException (); + data.WriteInt (arg0); + return true; + } + + case TransactionDoesSwitchMultiSimConfigTriggerReboot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.DoesSwitchMultiSimConfigTriggerReboot (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionGetSlotsMapping: { + data.EnforceInterface (descriptor); + var result = this.GetSlotsMapping (); + reply.WriteNoException (); + reply.WriteIntArray (result); + return true; + } + + case TransactionGetRadioHalVersion: { + data.EnforceInterface (descriptor); + var result = this.GetRadioHalVersion (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGetCurrentPackageName: { + data.EnforceInterface (descriptor); + var result = this.GetCurrentPackageName (); + reply.WriteNoException (); + reply.WriteString (result); + return true; + } + + case TransactionIsApplicationOnUicc: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.IsApplicationOnUicc (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionIsModemEnabledForSlot: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + String arg1 = default (String); + arg1 = data.ReadString (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.IsModemEnabledForSlot (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteString (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionIsDataEnabledForApn: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.IsDataEnabledForApn (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionIsApnMetered: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + var result = this.IsApnMetered (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + return true; + } + + case TransactionSetSystemSelectionChannels: { + data.EnforceInterface (descriptor); + List arg0 = default (List); + arg0 = (global::Android.Runtime.JavaList) data.CreateTypedArrayList (RadioAccessSpecifier.Creator); + int arg1 = default (int); + arg1 = data.ReadInt (); + IBooleanConsumer arg2 = default (IBooleanConsumer); + arg2 = IBooleanConsumerStub.AsInterface (data.ReadStrongBinder ()); + this.SetSystemSelectionChannels (arg0, arg1, arg2); + data.WriteInt (arg1); + data.WriteStrongBinder ((((arg2 != null)) ? (arg2.AsBinder ()) : (null))); + return true; + } + + case TransactionIsMvnoMatched: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + int arg1 = default (int); + arg1 = data.ReadInt (); + String arg2 = default (String); + arg2 = data.ReadString (); + var result = this.IsMvnoMatched (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1); + data.WriteString (arg2); + return true; + } + + case TransactionEnqueueSmsPickResult: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + IIntegerConsumer arg2 = default (IIntegerConsumer); + arg2 = IIntegerConsumerStub.AsInterface (data.ReadStrongBinder ()); + this.EnqueueSmsPickResult (arg0, arg1, arg2); + data.WriteString (arg0); + data.WriteString (arg1); + data.WriteStrongBinder ((((arg2 != null)) ? (arg2.AsBinder ()) : (null))); + return true; + } + + case TransactionGetMmsUserAgent: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetMmsUserAgent (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionGetMmsUAProfUrl: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetMmsUAProfUrl (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionSetDataAllowedDuringVoiceCall: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + var result = this.SetDataAllowedDuringVoiceCall (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionIsDataAllowedInVoiceCall: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsDataAllowedInVoiceCall (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionSetAlwaysAllowMmsData: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + var result = this.SetAlwaysAllowMmsData (arg0, arg1); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + data.WriteInt (arg1 ? 1 : 0); + return true; + } + + case TransactionSetCepEnabled: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + this.SetCepEnabled (arg0); + data.WriteInt (arg0 ? 1 : 0); + return true; + } + + case TransactionNotifyRcsAutoConfigurationReceived: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + byte [] arg1 = default (byte []); + arg1 = data.CreateByteArray (); + bool arg2 = default (bool); + arg2 = data.ReadInt () != 0; + this.NotifyRcsAutoConfigurationReceived (arg0, arg1, arg2); + reply.WriteNoException (); + data.WriteInt (arg0); + data.WriteInt (arg2 ? 1 : 0); + return true; + } + + case TransactionIsIccLockEnabled: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.IsIccLockEnabled (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteInt (arg0); + return true; + } + + case TransactionRequestUserActivityNotification: { + data.EnforceInterface (descriptor); + this.RequestUserActivityNotification (); + return true; + } + + case TransactionUserActivity: { + data.EnforceInterface (descriptor); + this.UserActivity (); + return true; + } + + case TransactionGetManualNetworkSelectionPlmn: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + var result = this.GetManualNetworkSelectionPlmn (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteInt (arg0); + return true; + } + + case TransactionCanConnectTo5GInDsdsMode: { + data.EnforceInterface (descriptor); + var result = this.CanConnectTo5GInDsdsMode (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + } + return base.OnTransact (code, data, reply, flags); + } + + public class Proxy : Java.Lang.Object, Com.Android.Internal.Telephony.ITelephony + { + global::Android.OS.IBinder remote; + + public Proxy (global::Android.OS.IBinder remote) + { + this.remote = remote; + } + + public global::Android.OS.IBinder AsBinder () + { + return remote; + } + + public string GetInterfaceDescriptor () + { + return descriptor; + } + + public void Dial (String number) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (number); + remote.Transact (ITelephonyStub.TransactionDial, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void Call (String callingPackage, String number) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (number); + remote.Transact (ITelephonyStub.TransactionCall, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsRadioOn (String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionIsRadioOn, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsRadioOnWithFeature (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionIsRadioOnWithFeature, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsRadioOnForSubscriber (int subId, String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionIsRadioOnForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsRadioOnForSubscriberWithFeature (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionIsRadioOnForSubscriberWithFeature, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SupplyPinForSubscriber (int subId, String pin) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (pin); + remote.Transact (ITelephonyStub.TransactionSupplyPinForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SupplyPukForSubscriber (int subId, String puk, String pin) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (puk); + __data.WriteString (pin); + remote.Transact (ITelephonyStub.TransactionSupplyPukForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int [] SupplyPinReportResultForSubscriber (int subId, String pin) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int [] __result = default (int []); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (pin); + remote.Transact (ITelephonyStub.TransactionSupplyPinReportResultForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateIntArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int [] SupplyPukReportResultForSubscriber (int subId, String puk, String pin) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int [] __result = default (int []); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (puk); + __data.WriteString (pin); + remote.Transact (ITelephonyStub.TransactionSupplyPukReportResultForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateIntArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool HandlePinMmi (String dialString) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (dialString); + remote.Transact (ITelephonyStub.TransactionHandlePinMmi, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void HandleUssdRequest (int subId, String ussdRequest, ResultReceiver wrappedCallback) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (ussdRequest); + __data.WriteStrongBinder ((((wrappedCallback != null)) ? (wrappedCallback.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionHandleUssdRequest, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool HandlePinMmiForSubscriber (int subId, String dialString) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (dialString); + remote.Transact (ITelephonyStub.TransactionHandlePinMmiForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void ToggleRadioOnOff () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionToggleRadioOnOff, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void ToggleRadioOnOffForSubscriber (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionToggleRadioOnOffForSubscriber, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool SetRadio (bool turnOn) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (turnOn ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetRadio, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetRadioForSubscriber (int subId, bool turnOn) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (turnOn ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetRadioForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetRadioPower (bool turnOn) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (turnOn ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetRadioPower, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void UpdateServiceLocation () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionUpdateServiceLocation, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void UpdateServiceLocationForSubscriber (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionUpdateServiceLocationForSubscriber, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void EnableLocationUpdates () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionEnableLocationUpdates, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void EnableLocationUpdatesForSubscriber (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionEnableLocationUpdatesForSubscriber, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void DisableLocationUpdates () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionDisableLocationUpdates, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void DisableLocationUpdatesForSubscriber (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionDisableLocationUpdatesForSubscriber, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool EnableDataConnectivity () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionEnableDataConnectivity, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool DisableDataConnectivity () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionDisableDataConnectivity, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsDataConnectivityPossible (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsDataConnectivityPossible, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public CellIdentity GetCellLocation (String callingPkg, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +CellIdentity __result = default (CellIdentity); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPkg); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetCellLocation, __data, __reply, 0); + __reply.ReadException (); + __result = CellIdentityStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetNetworkCountryIsoForPhone (int phoneId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (phoneId); + remote.Transact (ITelephonyStub.TransactionGetNetworkCountryIsoForPhone, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public List GetNeighboringCellInfo (String callingPkg, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPkg); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetNeighboringCellInfo, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateTypedArrayList (NeighboringCellInfo.Creator); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCallState () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetCallState, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCallStateForSlot (int slotIndex) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + remote.Transact (ITelephonyStub.TransactionGetCallStateForSlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetDataActivity () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetDataActivity, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetDataActivityForSubId (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetDataActivityForSubId, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetDataState () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetDataState, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetDataStateForSubId (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetDataStateForSubId, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetActivePhoneType () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetActivePhoneType, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetActivePhoneTypeForSlot (int slotIndex) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + remote.Transact (ITelephonyStub.TransactionGetActivePhoneTypeForSlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCdmaEriIconIndex (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetCdmaEriIconIndex, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCdmaEriIconIndexForSubscriber (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetCdmaEriIconIndexForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCdmaEriIconMode (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetCdmaEriIconMode, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCdmaEriIconModeForSubscriber (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetCdmaEriIconModeForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetCdmaEriText (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetCdmaEriText, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetCdmaEriTextForSubscriber (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetCdmaEriTextForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool NeedsOtaServiceProvisioning () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionNeedsOtaServiceProvisioning, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetVoiceMailNumber (int subId, String alphaTag, String number) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (alphaTag); + __data.WriteString (number); + remote.Transact (ITelephonyStub.TransactionSetVoiceMailNumber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetVoiceActivationState (int subId, int activationState) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (activationState); + remote.Transact (ITelephonyStub.TransactionSetVoiceActivationState, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SetDataActivationState (int subId, int activationState) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (activationState); + remote.Transact (ITelephonyStub.TransactionSetDataActivationState, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetVoiceActivationState (int subId, String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionGetVoiceActivationState, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetDataActivationState (int subId, String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionGetDataActivationState, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetVoiceMessageCountForSubscriber (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetVoiceMessageCountForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsConcurrentVoiceAndDataAllowed (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsConcurrentVoiceAndDataAllowed, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public Bundle GetVisualVoicemailSettings (String callingPackage, int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +Bundle __result = default (Bundle); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetVisualVoicemailSettings, __data, __reply, 0); + __reply.ReadException (); + __result = BundleStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetVisualVoicemailPackageName (String callingPackage, String callingFeatureId, int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetVisualVoicemailPackageName, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void EnableVisualVoicemailSmsFilter (String callingPackage, int subId, VisualVoicemailSmsFilterSettings settings) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((settings != null)) ? (settings.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionEnableVisualVoicemailSmsFilter, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void DisableVisualVoicemailSmsFilter (String callingPackage, int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionDisableVisualVoicemailSmsFilter, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public VisualVoicemailSmsFilterSettings GetVisualVoicemailSmsFilterSettings (String callingPackage, int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +VisualVoicemailSmsFilterSettings __result = default (VisualVoicemailSmsFilterSettings); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetVisualVoicemailSmsFilterSettings, __data, __reply, 0); + __reply.ReadException (); + __result = VisualVoicemailSmsFilterSettingsStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public VisualVoicemailSmsFilterSettings GetActiveVisualVoicemailSmsFilterSettings (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +VisualVoicemailSmsFilterSettings __result = default (VisualVoicemailSmsFilterSettings); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetActiveVisualVoicemailSmsFilterSettings, __data, __reply, 0); + __reply.ReadException (); + __result = VisualVoicemailSmsFilterSettingsStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SendVisualVoicemailSmsForSubscriber (String callingPackage, String callingAttributeTag, int subId, String number, int port, String text, PendingIntent sentIntent) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingAttributeTag); + __data.WriteInt (subId); + __data.WriteString (number); + __data.WriteInt (port); + __data.WriteString (text); + __data.WriteStrongBinder ((((sentIntent != null)) ? (sentIntent.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionSendVisualVoicemailSmsForSubscriber, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SendDialerSpecialCode (String callingPackageName, String inputCode) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackageName); + __data.WriteString (inputCode); + remote.Transact (ITelephonyStub.TransactionSendDialerSpecialCode, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetNetworkTypeForSubscriber (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetNetworkTypeForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetDataNetworkType (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetDataNetworkType, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetDataNetworkTypeForSubscriber (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetDataNetworkTypeForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetVoiceNetworkTypeForSubscriber (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetVoiceNetworkTypeForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool HasIccCard () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionHasIccCard, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool HasIccCardUsingSlotIndex (int slotIndex) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + remote.Transact (ITelephonyStub.TransactionHasIccCardUsingSlotIndex, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetLteOnCdmaMode (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetLteOnCdmaMode, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetLteOnCdmaModeForSubscriber (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetLteOnCdmaModeForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public List GetAllCellInfo (String callingPkg, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPkg); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetAllCellInfo, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateTypedArrayList (CellInfo.Creator); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void RequestCellInfoUpdate (int subId, ICellInfoCallback cb, String callingPkg, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((cb != null)) ? (cb.AsBinder ()) : (null))); + __data.WriteString (callingPkg); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionRequestCellInfoUpdate, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void RequestCellInfoUpdateWithWorkSource (int subId, ICellInfoCallback cb, String callingPkg, String callingFeatureId, WorkSource ws) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((cb != null)) ? (cb.AsBinder ()) : (null))); + __data.WriteString (callingPkg); + __data.WriteString (callingFeatureId); + __data.WriteStrongBinder ((((ws != null)) ? (ws.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionRequestCellInfoUpdateWithWorkSource, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SetCellInfoListRate (int rateInMillis) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (rateInMillis); + remote.Transact (ITelephonyStub.TransactionSetCellInfoListRate, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public IccOpenLogicalChannelResponse IccOpenLogicalChannelBySlot (int slotIndex, String callingPackage, String AID, int p2) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +IccOpenLogicalChannelResponse __result = default (IccOpenLogicalChannelResponse); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteString (callingPackage); + __data.WriteString (AID); + __data.WriteInt (p2); + remote.Transact (ITelephonyStub.TransactionIccOpenLogicalChannelBySlot, __data, __reply, 0); + __reply.ReadException (); + __result = IccOpenLogicalChannelResponseStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public IccOpenLogicalChannelResponse IccOpenLogicalChannel (int subId, String callingPackage, String AID, int p2) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +IccOpenLogicalChannelResponse __result = default (IccOpenLogicalChannelResponse); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (AID); + __data.WriteInt (p2); + remote.Transact (ITelephonyStub.TransactionIccOpenLogicalChannel, __data, __reply, 0); + __reply.ReadException (); + __result = IccOpenLogicalChannelResponseStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IccCloseLogicalChannelBySlot (int slotIndex, int channel) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteInt (channel); + remote.Transact (ITelephonyStub.TransactionIccCloseLogicalChannelBySlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IccCloseLogicalChannel (int subId, int channel) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (channel); + remote.Transact (ITelephonyStub.TransactionIccCloseLogicalChannel, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String IccTransmitApduLogicalChannelBySlot (int slotIndex, int channel, int cla, int instruction, int p1, int p2, int p3, String data) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteInt (channel); + __data.WriteInt (cla); + __data.WriteInt (instruction); + __data.WriteInt (p1); + __data.WriteInt (p2); + __data.WriteInt (p3); + __data.WriteString (data); + remote.Transact (ITelephonyStub.TransactionIccTransmitApduLogicalChannelBySlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String IccTransmitApduLogicalChannel (int subId, int channel, int cla, int instruction, int p1, int p2, int p3, String data) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (channel); + __data.WriteInt (cla); + __data.WriteInt (instruction); + __data.WriteInt (p1); + __data.WriteInt (p2); + __data.WriteInt (p3); + __data.WriteString (data); + remote.Transact (ITelephonyStub.TransactionIccTransmitApduLogicalChannel, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String IccTransmitApduBasicChannelBySlot (int slotIndex, String callingPackage, int cla, int instruction, int p1, int p2, int p3, String data) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteString (callingPackage); + __data.WriteInt (cla); + __data.WriteInt (instruction); + __data.WriteInt (p1); + __data.WriteInt (p2); + __data.WriteInt (p3); + __data.WriteString (data); + remote.Transact (ITelephonyStub.TransactionIccTransmitApduBasicChannelBySlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String IccTransmitApduBasicChannel (int subId, String callingPackage, int cla, int instruction, int p1, int p2, int p3, String data) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteInt (cla); + __data.WriteInt (instruction); + __data.WriteInt (p1); + __data.WriteInt (p2); + __data.WriteInt (p3); + __data.WriteString (data); + remote.Transact (ITelephonyStub.TransactionIccTransmitApduBasicChannel, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public byte [] IccExchangeSimIO (int subId, int fileID, int command, int p1, int p2, int p3, String filePath) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +byte [] __result = default (byte []); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (fileID); + __data.WriteInt (command); + __data.WriteInt (p1); + __data.WriteInt (p2); + __data.WriteInt (p3); + __data.WriteString (filePath); + remote.Transact (ITelephonyStub.TransactionIccExchangeSimIO, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateByteArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String SendEnvelopeWithStatus (int subId, String content) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (content); + remote.Transact (ITelephonyStub.TransactionSendEnvelopeWithStatus, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String NvReadItem (int itemID) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (itemID); + remote.Transact (ITelephonyStub.TransactionNvReadItem, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool NvWriteItem (int itemID, String itemValue) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (itemID); + __data.WriteString (itemValue); + remote.Transact (ITelephonyStub.TransactionNvWriteItem, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool NvWriteCdmaPrl (byte [] preferredRoamingList) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteByteArray (preferredRoamingList); + remote.Transact (ITelephonyStub.TransactionNvWriteCdmaPrl, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool ResetModemConfig (int slotIndex) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + remote.Transact (ITelephonyStub.TransactionResetModemConfig, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool RebootModem (int slotIndex) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + remote.Transact (ITelephonyStub.TransactionRebootModem, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCalculatedPreferredNetworkType (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetCalculatedPreferredNetworkType, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetPreferredNetworkType (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetPreferredNetworkType, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsTetheringApnRequiredForSubscriber (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsTetheringApnRequiredForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void EnableIms (int slotId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotId); + remote.Transact (ITelephonyStub.TransactionEnableIms, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void DisableIms (int slotId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotId); + remote.Transact (ITelephonyStub.TransactionDisableIms, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void ResetIms (int slotIndex) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + remote.Transact (ITelephonyStub.TransactionResetIms, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public IImsMmTelFeature GetMmTelFeatureAndListen (int slotId, IImsServiceFeatureCallback callback) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +IImsMmTelFeature __result = default (IImsMmTelFeature); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotId); + __data.WriteStrongBinder ((((callback != null)) ? (callback.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionGetMmTelFeatureAndListen, __data, __reply, 0); + __reply.ReadException (); + __result = IImsMmTelFeatureStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public IImsRcsFeature GetRcsFeatureAndListen (int slotId, IImsServiceFeatureCallback callback) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +IImsRcsFeature __result = default (IImsRcsFeature); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotId); + __data.WriteStrongBinder ((((callback != null)) ? (callback.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionGetRcsFeatureAndListen, __data, __reply, 0); + __reply.ReadException (); + __result = IImsRcsFeatureStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void UnregisterImsFeatureCallback (int slotId, int featureType, IImsServiceFeatureCallback callback) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotId); + __data.WriteInt (featureType); + __data.WriteStrongBinder ((((callback != null)) ? (callback.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionUnregisterImsFeatureCallback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public IImsRegistration GetImsRegistration (int slotId, int feature) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +IImsRegistration __result = default (IImsRegistration); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotId); + __data.WriteInt (feature); + remote.Transact (ITelephonyStub.TransactionGetImsRegistration, __data, __reply, 0); + __reply.ReadException (); + __result = IImsRegistrationStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public IImsConfig GetImsConfig (int slotId, int feature) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +IImsConfig __result = default (IImsConfig); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotId); + __data.WriteInt (feature); + remote.Transact (ITelephonyStub.TransactionGetImsConfig, __data, __reply, 0); + __reply.ReadException (); + __result = IImsConfigStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetBoundImsServiceOverride (int slotIndex, bool isCarrierService, int [] featureTypes, String packageName) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteInt (isCarrierService ? 1 : 0); + __data.WriteIntArray (featureTypes); + __data.WriteString (packageName); + remote.Transact (ITelephonyStub.TransactionSetBoundImsServiceOverride, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetBoundImsServicePackage (int slotIndex, bool isCarrierImsService, int featureType) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteInt (isCarrierImsService ? 1 : 0); + __data.WriteInt (featureType); + remote.Transact (ITelephonyStub.TransactionGetBoundImsServicePackage, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void GetImsMmTelFeatureState (int subId, IIntegerConsumer callback) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((callback != null)) ? (callback.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionGetImsMmTelFeatureState, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SetNetworkSelectionModeAutomatic (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionSetNetworkSelectionModeAutomatic, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public CellNetworkScanResult GetCellNetworkScanResults (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +CellNetworkScanResult __result = default (CellNetworkScanResult); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetCellNetworkScanResults, __data, __reply, 0); + __reply.ReadException (); + __result = CellNetworkScanResultStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int RequestNetworkScan (int subId, NetworkScanRequest request, Messenger messenger, global::Android.OS.IBinder binder, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((request != null)) ? (request.AsBinder ()) : (null))); + __data.WriteStrongBinder ((((messenger != null)) ? (messenger.AsBinder ()) : (null))); + __data.WriteStrongBinder (binder); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionRequestNetworkScan, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void StopNetworkScan (int subId, int scanId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (scanId); + remote.Transact (ITelephonyStub.TransactionStopNetworkScan, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool SetNetworkSelectionModeManual (int subId, OperatorInfo operatorInfo, bool persisSelection) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((operatorInfo != null)) ? (operatorInfo.AsBinder ()) : (null))); + __data.WriteInt (persisSelection ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetNetworkSelectionModeManual, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public long GetAllowedNetworkTypes (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +long __result = default (long); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetAllowedNetworkTypes, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadLong (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetAllowedNetworkTypes (int subId, long allowedNetworkTypes) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteLong (allowedNetworkTypes); + remote.Transact (ITelephonyStub.TransactionSetAllowedNetworkTypes, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public long GetAllowedNetworkTypesForReason (int subId, int reason) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +long __result = default (long); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (reason); + remote.Transact (ITelephonyStub.TransactionGetAllowedNetworkTypesForReason, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadLong (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public long GetEffectiveAllowedNetworkTypes (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +long __result = default (long); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetEffectiveAllowedNetworkTypes, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadLong (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetAllowedNetworkTypesForReason (int subId, int reason, long allowedNetworkTypes) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (reason); + __data.WriteLong (allowedNetworkTypes); + remote.Transact (ITelephonyStub.TransactionSetAllowedNetworkTypesForReason, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetPreferredNetworkType (int subId, int networkType) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (networkType); + remote.Transact (ITelephonyStub.TransactionSetPreferredNetworkType, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetUserDataEnabled (int subId, bool enable) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (enable ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetUserDataEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool GetDataEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetDataEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsUserDataEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsUserDataEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsDataEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsDataEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsManualNetworkSelectionAllowed (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsManualNetworkSelectionAllowed, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetAlwaysReportSignalStrength (int subId, bool isEnable) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (isEnable ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetAlwaysReportSignalStrength, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public String [] GetPcscfAddress (String apnType, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String [] __result = default (String []); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (apnType); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetPcscfAddress, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateStringArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetImsRegistrationState (bool registered) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (registered ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetImsRegistrationState, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public String GetCdmaMdn (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetCdmaMdn, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetCdmaMin (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetCdmaMin, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void RequestNumberVerification (PhoneNumberRange range, long timeoutMillis, INumberVerificationCallback callback, String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((range != null)) ? (range.AsBinder ()) : (null))); + __data.WriteLong (timeoutMillis); + __data.WriteStrongBinder ((((callback != null)) ? (callback.AsBinder ()) : (null))); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionRequestNumberVerification, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetCarrierPrivilegeStatus (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetCarrierPrivilegeStatus, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCarrierPrivilegeStatusForUid (int subId, int uid) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (uid); + remote.Transact (ITelephonyStub.TransactionGetCarrierPrivilegeStatusForUid, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int CheckCarrierPrivilegesForPackage (int subId, String pkgName) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (pkgName); + remote.Transact (ITelephonyStub.TransactionCheckCarrierPrivilegesForPackage, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int CheckCarrierPrivilegesForPackageAnyPhone (String pkgName) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (pkgName); + remote.Transact (ITelephonyStub.TransactionCheckCarrierPrivilegesForPackageAnyPhone, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public List GetCarrierPackageNamesForIntentAndPhone (Intent intent, int phoneId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((intent != null)) ? (intent.AsBinder ()) : (null))); + __data.WriteInt (phoneId); + remote.Transact (ITelephonyStub.TransactionGetCarrierPackageNamesForIntentAndPhone, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateStringArrayList (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetLine1NumberForDisplayForSubscriber (int subId, String alphaTag, String number) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (alphaTag); + __data.WriteString (number); + remote.Transact (ITelephonyStub.TransactionSetLine1NumberForDisplayForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetLine1NumberForDisplay (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetLine1NumberForDisplay, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetLine1AlphaTagForDisplay (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetLine1AlphaTagForDisplay, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String [] GetMergedSubscriberIds (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String [] __result = default (String []); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetMergedSubscriberIds, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateStringArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String [] GetMergedImsisFromGroup (int subId, String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String [] __result = default (String []); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionGetMergedImsisFromGroup, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateStringArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetOperatorBrandOverride (int subId, String brand) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (brand); + remote.Transact (ITelephonyStub.TransactionSetOperatorBrandOverride, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetRoamingOverride (int subId, List gsmRoamingList, List gsmNonRoamingList, List cdmaRoamingList, List cdmaNonRoamingList) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStringList ((global::System.Collections.Generic.IList) gsmRoamingList); + __data.WriteStringList ((global::System.Collections.Generic.IList) gsmNonRoamingList); + __data.WriteStringList ((global::System.Collections.Generic.IList) cdmaRoamingList); + __data.WriteStringList ((global::System.Collections.Generic.IList) cdmaNonRoamingList); + remote.Transact (ITelephonyStub.TransactionSetRoamingOverride, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int InvokeOemRilRequestRaw (byte [] oemReq, byte [] oemResp) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteByteArray (oemReq); + remote.Transact (ITelephonyStub.TransactionInvokeOemRilRequestRaw, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + __reply.ReadByteArray (oemResp); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool NeedMobileRadioShutdown () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionNeedMobileRadioShutdown, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void ShutdownMobileRadios () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionShutdownMobileRadios, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetRadioAccessFamily (int phoneId, String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (phoneId); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionGetRadioAccessFamily, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void EnableVideoCalling (bool enable) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (enable ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionEnableVideoCalling, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsVideoCallingEnabled (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionIsVideoCallingEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool CanChangeDtmfToneLength (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionCanChangeDtmfToneLength, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsWorldPhone (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionIsWorldPhone, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsTtyModeSupported () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionIsTtyModeSupported, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsRttSupported (int subscriptionId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subscriptionId); + remote.Transact (ITelephonyStub.TransactionIsRttSupported, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsHearingAidCompatibilitySupported () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionIsHearingAidCompatibilitySupported, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsImsRegistered (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsImsRegistered, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsWifiCallingAvailable (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsWifiCallingAvailable, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsVideoTelephonyAvailable (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsVideoTelephonyAvailable, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetImsRegTechnologyForMmTel (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetImsRegTechnologyForMmTel, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetDeviceId (String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionGetDeviceId, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetDeviceIdWithFeature (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetDeviceIdWithFeature, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetImeiForSlot (int slotIndex, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetImeiForSlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetTypeAllocationCodeForSlot (int slotIndex) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + remote.Transact (ITelephonyStub.TransactionGetTypeAllocationCodeForSlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetMeidForSlot (int slotIndex, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetMeidForSlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetManufacturerCodeForSlot (int slotIndex) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + remote.Transact (ITelephonyStub.TransactionGetManufacturerCodeForSlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetDeviceSoftwareVersionForSlot (int slotIndex, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetDeviceSoftwareVersionForSlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetSubIdForPhoneAccount (PhoneAccount phoneAccount) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((phoneAccount != null)) ? (phoneAccount.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionGetSubIdForPhoneAccount, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetSubIdForPhoneAccountHandle (PhoneAccountHandle phoneAccountHandle, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((phoneAccountHandle != null)) ? (phoneAccountHandle.AsBinder ()) : (null))); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetSubIdForPhoneAccountHandle, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public PhoneAccountHandle GetPhoneAccountHandleForSubscriptionId (int subscriptionId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +PhoneAccountHandle __result = default (PhoneAccountHandle); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subscriptionId); + remote.Transact (ITelephonyStub.TransactionGetPhoneAccountHandleForSubscriptionId, __data, __reply, 0); + __reply.ReadException (); + __result = PhoneAccountHandleStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void FactoryReset (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionFactoryReset, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public String GetSimLocaleForSubscriber (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetSimLocaleForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void RequestModemActivityInfo (ResultReceiver result) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionRequestModemActivityInfo, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public ServiceState GetServiceStateForSubscriber (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +ServiceState __result = default (ServiceState); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetServiceStateForSubscriber, __data, __reply, 0); + __reply.ReadException (); + __result = ServiceStateStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public Uri GetVoicemailRingtoneUri (PhoneAccountHandle accountHandle) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +Uri __result = default (Uri); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((accountHandle != null)) ? (accountHandle.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionGetVoicemailRingtoneUri, __data, __reply, 0); + __reply.ReadException (); + __result = UriStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetVoicemailRingtoneUri (String callingPackage, PhoneAccountHandle phoneAccountHandle, Uri uri) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteStrongBinder ((((phoneAccountHandle != null)) ? (phoneAccountHandle.AsBinder ()) : (null))); + __data.WriteStrongBinder ((((uri != null)) ? (uri.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionSetVoicemailRingtoneUri, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsVoicemailVibrationEnabled (PhoneAccountHandle accountHandle) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((accountHandle != null)) ? (accountHandle.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionIsVoicemailVibrationEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetVoicemailVibrationEnabled (String callingPackage, PhoneAccountHandle phoneAccountHandle, bool enabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteStrongBinder ((((phoneAccountHandle != null)) ? (phoneAccountHandle.AsBinder ()) : (null))); + __data.WriteInt (enabled ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetVoicemailVibrationEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public List GetPackagesWithCarrierPrivileges (int phoneId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (phoneId); + remote.Transact (ITelephonyStub.TransactionGetPackagesWithCarrierPrivileges, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateStringArrayList (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public List GetPackagesWithCarrierPrivilegesForAllPhones () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetPackagesWithCarrierPrivilegesForAllPhones, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateStringArrayList (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetAidForAppType (int subId, int appType) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (appType); + remote.Transact (ITelephonyStub.TransactionGetAidForAppType, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetEsn (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetEsn, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetCdmaPrlVersion (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetCdmaPrlVersion, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public List GetTelephonyHistograms () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetTelephonyHistograms, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateTypedArrayList (TelephonyHistogram.Creator); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int SetAllowedCarriers (CarrierRestrictionRules carrierRestrictionRules) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((carrierRestrictionRules != null)) ? (carrierRestrictionRules.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionSetAllowedCarriers, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public CarrierRestrictionRules GetAllowedCarriers () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +CarrierRestrictionRules __result = default (CarrierRestrictionRules); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetAllowedCarriers, __data, __reply, 0); + __reply.ReadException (); + __result = CarrierRestrictionRulesStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetSubscriptionCarrierId (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetSubscriptionCarrierId, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetSubscriptionCarrierName (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetSubscriptionCarrierName, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetSubscriptionSpecificCarrierId (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetSubscriptionSpecificCarrierId, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetSubscriptionSpecificCarrierName (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetSubscriptionSpecificCarrierName, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCarrierIdFromMccMnc (int slotIndex, String mccmnc, bool isSubscriptionMccMnc) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteString (mccmnc); + __data.WriteInt (isSubscriptionMccMnc ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionGetCarrierIdFromMccMnc, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void CarrierActionSetMeteredApnsEnabled (int subId, bool visible) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (visible ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionCarrierActionSetMeteredApnsEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void CarrierActionSetRadioEnabled (int subId, bool enabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (enabled ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionCarrierActionSetRadioEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void CarrierActionReportDefaultNetworkStatus (int subId, bool report) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (report ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionCarrierActionReportDefaultNetworkStatus, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void CarrierActionResetAll (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionCarrierActionResetAll, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public CallForwardingInfo GetCallForwarding (int subId, int callForwardingReason) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +CallForwardingInfo __result = default (CallForwardingInfo); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (callForwardingReason); + remote.Transact (ITelephonyStub.TransactionGetCallForwarding, __data, __reply, 0); + __reply.ReadException (); + __result = CallForwardingInfoStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetCallForwarding (int subId, CallForwardingInfo callForwardingInfo) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((callForwardingInfo != null)) ? (callForwardingInfo.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionSetCallForwarding, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCallWaitingStatus (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetCallWaitingStatus, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetCallWaitingStatus (int subId, bool isEnable) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (isEnable ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetCallWaitingStatus, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetPolicyDataEnabled (bool enabled, int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (enabled ? 1 : 0); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionSetPolicyDataEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public List GetClientRequestStats (String callingPackage, String callingFeatureId, int subid) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + __data.WriteInt (subid); + remote.Transact (ITelephonyStub.TransactionGetClientRequestStats, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateTypedArrayList (ClientRequestStats.Creator); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetSimPowerStateForSlot (int slotIndex, int state) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteInt (state); + remote.Transact (ITelephonyStub.TransactionSetSimPowerStateForSlot, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public String [] GetForbiddenPlmns (int subId, int appType, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String [] __result = default (String []); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (appType); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetForbiddenPlmns, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateStringArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int SetForbiddenPlmns (int subId, int appType, List fplmns, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (appType); + __data.WriteStringList ((global::System.Collections.Generic.IList) fplmns); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionSetForbiddenPlmns, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool GetEmergencyCallbackMode (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetEmergencyCallbackMode, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public SignalStrength GetSignalStrength (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +SignalStrength __result = default (SignalStrength); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetSignalStrength, __data, __reply, 0); + __reply.ReadException (); + __result = SignalStrengthStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetCardIdForDefaultEuicc (int subId, String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionGetCardIdForDefaultEuicc, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public List GetUiccCardsInfo (String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionGetUiccCardsInfo, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateTypedArrayList (UiccCardInfo.Creator); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SwitchSlots (int [] physicalSlots) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteIntArray (physicalSlots); + remote.Transact (ITelephonyStub.TransactionSwitchSlots, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsDataRoamingEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsDataRoamingEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetDataRoamingEnabled (int subId, bool isEnabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (isEnabled ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetDataRoamingEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetCdmaRoamingMode (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetCdmaRoamingMode, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetCdmaRoamingMode (int subId, int mode) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (mode); + remote.Transact (ITelephonyStub.TransactionSetCdmaRoamingMode, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetCdmaSubscriptionMode (int subId, int mode) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (mode); + remote.Transact (ITelephonyStub.TransactionSetCdmaSubscriptionMode, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetCarrierTestOverride (int subId, String mccmnc, String imsi, String iccid, String gid1, String gid2, String plmn, String spn, String carrierPrivilegeRules, String apn) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (mccmnc); + __data.WriteString (imsi); + __data.WriteString (iccid); + __data.WriteString (gid1); + __data.WriteString (gid2); + __data.WriteString (plmn); + __data.WriteString (spn); + __data.WriteString (carrierPrivilegeRules); + __data.WriteString (apn); + remote.Transact (ITelephonyStub.TransactionSetCarrierTestOverride, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetCarrierIdListVersion (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetCarrierIdListVersion, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void RefreshUiccProfile (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionRefreshUiccProfile, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetNumberOfModemsWithSimultaneousDataConnections (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetNumberOfModemsWithSimultaneousDataConnections, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetNetworkSelectionMode (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetNetworkSelectionMode, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsInEmergencySmsMode () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionIsInEmergencySmsMode, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetRadioPowerState (int slotIndex, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetRadioPowerState, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void RegisterImsRegistrationCallback (int subId, IImsRegistrationCallback c) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((c != null)) ? (c.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionRegisterImsRegistrationCallback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void UnregisterImsRegistrationCallback (int subId, IImsRegistrationCallback c) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((c != null)) ? (c.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionUnregisterImsRegistrationCallback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void GetImsMmTelRegistrationState (int subId, IIntegerConsumer consumer) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((consumer != null)) ? (consumer.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionGetImsMmTelRegistrationState, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void GetImsMmTelRegistrationTransportType (int subId, IIntegerConsumer consumer) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((consumer != null)) ? (consumer.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionGetImsMmTelRegistrationTransportType, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void RegisterMmTelCapabilityCallback (int subId, IImsCapabilityCallback c) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((c != null)) ? (c.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionRegisterMmTelCapabilityCallback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void UnregisterMmTelCapabilityCallback (int subId, IImsCapabilityCallback c) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((c != null)) ? (c.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionUnregisterMmTelCapabilityCallback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsCapable (int subId, int capability, int regTech) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (capability); + __data.WriteInt (regTech); + remote.Transact (ITelephonyStub.TransactionIsCapable, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsAvailable (int subId, int capability, int regTech) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (capability); + __data.WriteInt (regTech); + remote.Transact (ITelephonyStub.TransactionIsAvailable, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void IsMmTelCapabilitySupported (int subId, IIntegerConsumer callback, int capability, int transportType) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((callback != null)) ? (callback.AsBinder ()) : (null))); + __data.WriteInt (capability); + __data.WriteInt (transportType); + remote.Transact (ITelephonyStub.TransactionIsMmTelCapabilitySupported, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsAdvancedCallingSettingEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsAdvancedCallingSettingEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetAdvancedCallingSettingEnabled (int subId, bool isEnabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (isEnabled ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetAdvancedCallingSettingEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsVtSettingEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsVtSettingEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetVtSettingEnabled (int subId, bool isEnabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (isEnabled ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetVtSettingEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsVoWiFiSettingEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsVoWiFiSettingEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetVoWiFiSettingEnabled (int subId, bool isEnabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (isEnabled ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetVoWiFiSettingEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsVoWiFiRoamingSettingEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsVoWiFiRoamingSettingEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetVoWiFiRoamingSettingEnabled (int subId, bool isEnabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (isEnabled ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetVoWiFiRoamingSettingEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SetVoWiFiNonPersistent (int subId, bool isCapable, int mode) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (isCapable ? 1 : 0); + __data.WriteInt (mode); + remote.Transact (ITelephonyStub.TransactionSetVoWiFiNonPersistent, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetVoWiFiModeSetting (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetVoWiFiModeSetting, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetVoWiFiModeSetting (int subId, int mode) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (mode); + remote.Transact (ITelephonyStub.TransactionSetVoWiFiModeSetting, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetVoWiFiRoamingModeSetting (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetVoWiFiRoamingModeSetting, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetVoWiFiRoamingModeSetting (int subId, int mode) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (mode); + remote.Transact (ITelephonyStub.TransactionSetVoWiFiRoamingModeSetting, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SetRttCapabilitySetting (int subId, bool isEnabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (isEnabled ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetRttCapabilitySetting, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsTtyOverVolteEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsTtyOverVolteEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public global::Android.Runtime.JavaDictionary GetEmergencyNumberList (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +global::Android.Runtime.JavaDictionary __result = default (global::Android.Runtime.JavaDictionary); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionGetEmergencyNumberList, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaDictionary) __reply.ReadHashMap ((global::Java.Lang.ClassLoader) null); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsEmergencyNumber (String number, bool exactMatch) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (number); + __data.WriteInt (exactMatch ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionIsEmergencyNumber, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public List GetCertsFromCarrierPrivilegeAccessRules (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetCertsFromCarrierPrivilegeAccessRules, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateStringArrayList (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void RegisterImsProvisioningChangedCallback (int subId, IImsConfigCallback callback) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((callback != null)) ? (callback.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionRegisterImsProvisioningChangedCallback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void UnregisterImsProvisioningChangedCallback (int subId, IImsConfigCallback callback) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((callback != null)) ? (callback.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionUnregisterImsProvisioningChangedCallback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SetImsProvisioningStatusForCapability (int subId, int capability, int tech, bool isProvisioned) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (capability); + __data.WriteInt (tech); + __data.WriteInt (isProvisioned ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetImsProvisioningStatusForCapability, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool GetImsProvisioningStatusForCapability (int subId, int capability, int tech) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (capability); + __data.WriteInt (tech); + remote.Transact (ITelephonyStub.TransactionGetImsProvisioningStatusForCapability, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool GetRcsProvisioningStatusForCapability (int subId, int capability) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (capability); + remote.Transact (ITelephonyStub.TransactionGetRcsProvisioningStatusForCapability, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetRcsProvisioningStatusForCapability (int subId, int capability, bool isProvisioned) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (capability); + __data.WriteInt (isProvisioned ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetRcsProvisioningStatusForCapability, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsMmTelCapabilityProvisionedInCache (int subId, int capability, int tech) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (capability); + __data.WriteInt (tech); + remote.Transact (ITelephonyStub.TransactionIsMmTelCapabilityProvisionedInCache, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void CacheMmTelCapabilityProvisioning (int subId, int capability, int tech, bool isProvisioned) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (capability); + __data.WriteInt (tech); + __data.WriteInt (isProvisioned ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionCacheMmTelCapabilityProvisioning, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetImsProvisioningInt (int subId, int key) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (key); + remote.Transact (ITelephonyStub.TransactionGetImsProvisioningInt, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetImsProvisioningString (int subId, int key) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (key); + remote.Transact (ITelephonyStub.TransactionGetImsProvisioningString, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int SetImsProvisioningInt (int subId, int key, int value) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (key); + __data.WriteInt (value); + remote.Transact (ITelephonyStub.TransactionSetImsProvisioningInt, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int SetImsProvisioningString (int subId, int key, String value) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (key); + __data.WriteString (value); + remote.Transact (ITelephonyStub.TransactionSetImsProvisioningString, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void UpdateEmergencyNumberListTestMode (int action, EmergencyNumber num) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (action); + __data.WriteStrongBinder ((((num != null)) ? (num.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionUpdateEmergencyNumberListTestMode, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public List GetEmergencyNumberListTestMode () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +List __result = default (List); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetEmergencyNumberListTestMode, __data, __reply, 0); + __reply.ReadException (); + __result = (global::Android.Runtime.JavaList) __reply.CreateStringArrayList (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetEmergencyNumberDbVersion (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetEmergencyNumberDbVersion, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void NotifyOtaEmergencyNumberDbInstalled () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionNotifyOtaEmergencyNumberDbInstalled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void UpdateOtaEmergencyNumberDbFilePath (ParcelFileDescriptor otaParcelFileDescriptor) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((otaParcelFileDescriptor != null)) ? (otaParcelFileDescriptor.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionUpdateOtaEmergencyNumberDbFilePath, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void ResetOtaEmergencyNumberDbFilePath () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionResetOtaEmergencyNumberDbFilePath, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool EnableModemForSlot (int slotIndex, bool enable) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteInt (enable ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionEnableModemForSlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetMultiSimCarrierRestriction (bool isMultiSimCarrierRestricted) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (isMultiSimCarrierRestricted ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetMultiSimCarrierRestriction, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int IsMultiSimSupported (String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionIsMultiSimSupported, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SwitchMultiSimConfig (int numOfSims) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (numOfSims); + remote.Transact (ITelephonyStub.TransactionSwitchMultiSimConfig, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool DoesSwitchMultiSimConfigTriggerReboot (int subId, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionDoesSwitchMultiSimConfigTriggerReboot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int [] GetSlotsMapping () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int [] __result = default (int []); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetSlotsMapping, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateIntArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetRadioHalVersion () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetRadioHalVersion, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetCurrentPackageName () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionGetCurrentPackageName, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsApplicationOnUicc (int subId, int appType) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (appType); + remote.Transact (ITelephonyStub.TransactionIsApplicationOnUicc, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsModemEnabledForSlot (int slotIndex, String callingPackage, String callingFeatureId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (slotIndex); + __data.WriteString (callingPackage); + __data.WriteString (callingFeatureId); + remote.Transact (ITelephonyStub.TransactionIsModemEnabledForSlot, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsDataEnabledForApn (int apnType, int subId, String callingPackage) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (apnType); + __data.WriteInt (subId); + __data.WriteString (callingPackage); + remote.Transact (ITelephonyStub.TransactionIsDataEnabledForApn, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsApnMetered (int apnType, int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (apnType); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsApnMetered, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetSystemSelectionChannels (List specifiers, int subId, IBooleanConsumer resultCallback) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteTypedList (specifiers); + __data.WriteInt (subId); + __data.WriteStrongBinder ((((resultCallback != null)) ? (resultCallback.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionSetSystemSelectionChannels, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsMvnoMatched (int subId, int mvnoType, String mvnoMatchData) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (mvnoType); + __data.WriteString (mvnoMatchData); + remote.Transact (ITelephonyStub.TransactionIsMvnoMatched, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void EnqueueSmsPickResult (String callingPackage, String callingAttributeTag, IIntegerConsumer subIdResult) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (callingPackage); + __data.WriteString (callingAttributeTag); + __data.WriteStrongBinder ((((subIdResult != null)) ? (subIdResult.AsBinder ()) : (null))); + remote.Transact (ITelephonyStub.TransactionEnqueueSmsPickResult, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public String GetMmsUserAgent (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetMmsUserAgent, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetMmsUAProfUrl (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetMmsUAProfUrl, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetDataAllowedDuringVoiceCall (int subId, bool allow) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (allow ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetDataAllowedDuringVoiceCall, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool IsDataAllowedInVoiceCall (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsDataAllowedInVoiceCall, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool SetAlwaysAllowMmsData (int subId, bool allow) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteInt (allow ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetAlwaysAllowMmsData, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetCepEnabled (bool isCepEnabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (isCepEnabled ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionSetCepEnabled, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void NotifyRcsAutoConfigurationReceived (int subId, byte [] config, bool isCompressed) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + __data.WriteByteArray (config); + __data.WriteInt (isCompressed ? 1 : 0); + remote.Transact (ITelephonyStub.TransactionNotifyRcsAutoConfigurationReceived, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool IsIccLockEnabled (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionIsIccLockEnabled, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void RequestUserActivityNotification () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionRequestUserActivityNotification, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void UserActivity () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionUserActivity, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public String GetManualNetworkSelectionPlmn (int subId) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (subId); + remote.Transact (ITelephonyStub.TransactionGetManualNetworkSelectionPlmn, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool CanConnectTo5GInDsdsMode () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITelephonyStub.TransactionCanConnectTo5GInDsdsMode, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + } + + internal const int TransactionDial = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 0; + + internal const int TransactionCall = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 1; + + internal const int TransactionIsRadioOn = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 2; + + internal const int TransactionIsRadioOnWithFeature = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 3; + + internal const int TransactionIsRadioOnForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 4; + + internal const int TransactionIsRadioOnForSubscriberWithFeature = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 5; + + internal const int TransactionSupplyPinForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 6; + + internal const int TransactionSupplyPukForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 7; + + internal const int TransactionSupplyPinReportResultForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 8; + + internal const int TransactionSupplyPukReportResultForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 9; + + internal const int TransactionHandlePinMmi = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 10; + + internal const int TransactionHandleUssdRequest = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 11; + + internal const int TransactionHandlePinMmiForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 12; + + internal const int TransactionToggleRadioOnOff = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 13; + + internal const int TransactionToggleRadioOnOffForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 14; + + internal const int TransactionSetRadio = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 15; + + internal const int TransactionSetRadioForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 16; + + internal const int TransactionSetRadioPower = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 17; + + internal const int TransactionUpdateServiceLocation = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 18; + + internal const int TransactionUpdateServiceLocationForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 19; + + internal const int TransactionEnableLocationUpdates = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 20; + + internal const int TransactionEnableLocationUpdatesForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 21; + + internal const int TransactionDisableLocationUpdates = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 22; + + internal const int TransactionDisableLocationUpdatesForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 23; + + internal const int TransactionEnableDataConnectivity = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 24; + + internal const int TransactionDisableDataConnectivity = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 25; + + internal const int TransactionIsDataConnectivityPossible = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 26; + + internal const int TransactionGetCellLocation = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 27; + + internal const int TransactionGetNetworkCountryIsoForPhone = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 28; + + internal const int TransactionGetNeighboringCellInfo = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 29; + + internal const int TransactionGetCallState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 30; + + internal const int TransactionGetCallStateForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 31; + + internal const int TransactionGetDataActivity = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 32; + + internal const int TransactionGetDataActivityForSubId = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 33; + + internal const int TransactionGetDataState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 34; + + internal const int TransactionGetDataStateForSubId = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 35; + + internal const int TransactionGetActivePhoneType = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 36; + + internal const int TransactionGetActivePhoneTypeForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 37; + + internal const int TransactionGetCdmaEriIconIndex = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 38; + + internal const int TransactionGetCdmaEriIconIndexForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 39; + + internal const int TransactionGetCdmaEriIconMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 40; + + internal const int TransactionGetCdmaEriIconModeForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 41; + + internal const int TransactionGetCdmaEriText = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 42; + + internal const int TransactionGetCdmaEriTextForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 43; + + internal const int TransactionNeedsOtaServiceProvisioning = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 44; + + internal const int TransactionSetVoiceMailNumber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 45; + + internal const int TransactionSetVoiceActivationState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 46; + + internal const int TransactionSetDataActivationState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 47; + + internal const int TransactionGetVoiceActivationState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 48; + + internal const int TransactionGetDataActivationState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 49; + + internal const int TransactionGetVoiceMessageCountForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 50; + + internal const int TransactionIsConcurrentVoiceAndDataAllowed = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 51; + + internal const int TransactionGetVisualVoicemailSettings = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 52; + + internal const int TransactionGetVisualVoicemailPackageName = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 53; + + internal const int TransactionEnableVisualVoicemailSmsFilter = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 54; + + internal const int TransactionDisableVisualVoicemailSmsFilter = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 55; + + internal const int TransactionGetVisualVoicemailSmsFilterSettings = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 56; + + internal const int TransactionGetActiveVisualVoicemailSmsFilterSettings = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 57; + + internal const int TransactionSendVisualVoicemailSmsForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 58; + + internal const int TransactionSendDialerSpecialCode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 59; + + internal const int TransactionGetNetworkTypeForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 60; + + internal const int TransactionGetDataNetworkType = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 61; + + internal const int TransactionGetDataNetworkTypeForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 62; + + internal const int TransactionGetVoiceNetworkTypeForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 63; + + internal const int TransactionHasIccCard = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 64; + + internal const int TransactionHasIccCardUsingSlotIndex = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 65; + + internal const int TransactionGetLteOnCdmaMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 66; + + internal const int TransactionGetLteOnCdmaModeForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 67; + + internal const int TransactionGetAllCellInfo = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 68; + + internal const int TransactionRequestCellInfoUpdate = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 69; + + internal const int TransactionRequestCellInfoUpdateWithWorkSource = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 70; + + internal const int TransactionSetCellInfoListRate = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 71; + + internal const int TransactionIccOpenLogicalChannelBySlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 72; + + internal const int TransactionIccOpenLogicalChannel = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 73; + + internal const int TransactionIccCloseLogicalChannelBySlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 74; + + internal const int TransactionIccCloseLogicalChannel = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 75; + + internal const int TransactionIccTransmitApduLogicalChannelBySlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 76; + + internal const int TransactionIccTransmitApduLogicalChannel = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 77; + + internal const int TransactionIccTransmitApduBasicChannelBySlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 78; + + internal const int TransactionIccTransmitApduBasicChannel = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 79; + + internal const int TransactionIccExchangeSimIO = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 80; + + internal const int TransactionSendEnvelopeWithStatus = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 81; + + internal const int TransactionNvReadItem = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 82; + + internal const int TransactionNvWriteItem = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 83; + + internal const int TransactionNvWriteCdmaPrl = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 84; + + internal const int TransactionResetModemConfig = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 85; + + internal const int TransactionRebootModem = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 86; + + internal const int TransactionGetCalculatedPreferredNetworkType = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 87; + + internal const int TransactionGetPreferredNetworkType = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 88; + + internal const int TransactionIsTetheringApnRequiredForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 89; + + internal const int TransactionEnableIms = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 90; + + internal const int TransactionDisableIms = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 91; + + internal const int TransactionResetIms = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 92; + + internal const int TransactionGetMmTelFeatureAndListen = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 93; + + internal const int TransactionGetRcsFeatureAndListen = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 94; + + internal const int TransactionUnregisterImsFeatureCallback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 95; + + internal const int TransactionGetImsRegistration = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 96; + + internal const int TransactionGetImsConfig = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 97; + + internal const int TransactionSetBoundImsServiceOverride = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 98; + + internal const int TransactionGetBoundImsServicePackage = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 99; + + internal const int TransactionGetImsMmTelFeatureState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 100; + + internal const int TransactionSetNetworkSelectionModeAutomatic = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 101; + + internal const int TransactionGetCellNetworkScanResults = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 102; + + internal const int TransactionRequestNetworkScan = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 103; + + internal const int TransactionStopNetworkScan = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 104; + + internal const int TransactionSetNetworkSelectionModeManual = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 105; + + internal const int TransactionGetAllowedNetworkTypes = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 106; + + internal const int TransactionSetAllowedNetworkTypes = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 107; + + internal const int TransactionGetAllowedNetworkTypesForReason = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 108; + + internal const int TransactionGetEffectiveAllowedNetworkTypes = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 109; + + internal const int TransactionSetAllowedNetworkTypesForReason = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 110; + + internal const int TransactionSetPreferredNetworkType = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 111; + + internal const int TransactionSetUserDataEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 112; + + internal const int TransactionGetDataEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 113; + + internal const int TransactionIsUserDataEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 114; + + internal const int TransactionIsDataEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 115; + + internal const int TransactionIsManualNetworkSelectionAllowed = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 116; + + internal const int TransactionSetAlwaysReportSignalStrength = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 117; + + internal const int TransactionGetPcscfAddress = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 118; + + internal const int TransactionSetImsRegistrationState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 119; + + internal const int TransactionGetCdmaMdn = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 120; + + internal const int TransactionGetCdmaMin = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 121; + + internal const int TransactionRequestNumberVerification = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 122; + + internal const int TransactionGetCarrierPrivilegeStatus = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 123; + + internal const int TransactionGetCarrierPrivilegeStatusForUid = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 124; + + internal const int TransactionCheckCarrierPrivilegesForPackage = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 125; + + internal const int TransactionCheckCarrierPrivilegesForPackageAnyPhone = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 126; + + internal const int TransactionGetCarrierPackageNamesForIntentAndPhone = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 127; + + internal const int TransactionSetLine1NumberForDisplayForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 128; + + internal const int TransactionGetLine1NumberForDisplay = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 129; + + internal const int TransactionGetLine1AlphaTagForDisplay = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 130; + + internal const int TransactionGetMergedSubscriberIds = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 131; + + internal const int TransactionGetMergedImsisFromGroup = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 132; + + internal const int TransactionSetOperatorBrandOverride = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 133; + + internal const int TransactionSetRoamingOverride = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 134; + + internal const int TransactionInvokeOemRilRequestRaw = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 135; + + internal const int TransactionNeedMobileRadioShutdown = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 136; + + internal const int TransactionShutdownMobileRadios = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 137; + + internal const int TransactionGetRadioAccessFamily = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 138; + + internal const int TransactionEnableVideoCalling = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 139; + + internal const int TransactionIsVideoCallingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 140; + + internal const int TransactionCanChangeDtmfToneLength = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 141; + + internal const int TransactionIsWorldPhone = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 142; + + internal const int TransactionIsTtyModeSupported = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 143; + + internal const int TransactionIsRttSupported = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 144; + + internal const int TransactionIsHearingAidCompatibilitySupported = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 145; + + internal const int TransactionIsImsRegistered = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 146; + + internal const int TransactionIsWifiCallingAvailable = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 147; + + internal const int TransactionIsVideoTelephonyAvailable = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 148; + + internal const int TransactionGetImsRegTechnologyForMmTel = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 149; + + internal const int TransactionGetDeviceId = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 150; + + internal const int TransactionGetDeviceIdWithFeature = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 151; + + internal const int TransactionGetImeiForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 152; + + internal const int TransactionGetTypeAllocationCodeForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 153; + + internal const int TransactionGetMeidForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 154; + + internal const int TransactionGetManufacturerCodeForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 155; + + internal const int TransactionGetDeviceSoftwareVersionForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 156; + + internal const int TransactionGetSubIdForPhoneAccount = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 157; + + internal const int TransactionGetSubIdForPhoneAccountHandle = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 158; + + internal const int TransactionGetPhoneAccountHandleForSubscriptionId = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 159; + + internal const int TransactionFactoryReset = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 160; + + internal const int TransactionGetSimLocaleForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 161; + + internal const int TransactionRequestModemActivityInfo = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 162; + + internal const int TransactionGetServiceStateForSubscriber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 163; + + internal const int TransactionGetVoicemailRingtoneUri = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 164; + + internal const int TransactionSetVoicemailRingtoneUri = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 165; + + internal const int TransactionIsVoicemailVibrationEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 166; + + internal const int TransactionSetVoicemailVibrationEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 167; + + internal const int TransactionGetPackagesWithCarrierPrivileges = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 168; + + internal const int TransactionGetPackagesWithCarrierPrivilegesForAllPhones = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 169; + + internal const int TransactionGetAidForAppType = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 170; + + internal const int TransactionGetEsn = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 171; + + internal const int TransactionGetCdmaPrlVersion = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 172; + + internal const int TransactionGetTelephonyHistograms = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 173; + + internal const int TransactionSetAllowedCarriers = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 174; + + internal const int TransactionGetAllowedCarriers = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 175; + + internal const int TransactionGetSubscriptionCarrierId = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 176; + + internal const int TransactionGetSubscriptionCarrierName = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 177; + + internal const int TransactionGetSubscriptionSpecificCarrierId = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 178; + + internal const int TransactionGetSubscriptionSpecificCarrierName = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 179; + + internal const int TransactionGetCarrierIdFromMccMnc = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 180; + + internal const int TransactionCarrierActionSetMeteredApnsEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 181; + + internal const int TransactionCarrierActionSetRadioEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 182; + + internal const int TransactionCarrierActionReportDefaultNetworkStatus = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 183; + + internal const int TransactionCarrierActionResetAll = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 184; + + internal const int TransactionGetCallForwarding = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 185; + + internal const int TransactionSetCallForwarding = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 186; + + internal const int TransactionGetCallWaitingStatus = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 187; + + internal const int TransactionSetCallWaitingStatus = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 188; + + internal const int TransactionSetPolicyDataEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 189; + + internal const int TransactionGetClientRequestStats = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 190; + + internal const int TransactionSetSimPowerStateForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 191; + + internal const int TransactionGetForbiddenPlmns = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 192; + + internal const int TransactionSetForbiddenPlmns = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 193; + + internal const int TransactionGetEmergencyCallbackMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 194; + + internal const int TransactionGetSignalStrength = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 195; + + internal const int TransactionGetCardIdForDefaultEuicc = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 196; + + internal const int TransactionGetUiccCardsInfo = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 197; + + internal const int TransactionSwitchSlots = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 198; + + internal const int TransactionIsDataRoamingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 199; + + internal const int TransactionSetDataRoamingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 200; + + internal const int TransactionGetCdmaRoamingMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 201; + + internal const int TransactionSetCdmaRoamingMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 202; + + internal const int TransactionSetCdmaSubscriptionMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 203; + + internal const int TransactionSetCarrierTestOverride = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 204; + + internal const int TransactionGetCarrierIdListVersion = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 205; + + internal const int TransactionRefreshUiccProfile = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 206; + + internal const int TransactionGetNumberOfModemsWithSimultaneousDataConnections = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 207; + + internal const int TransactionGetNetworkSelectionMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 208; + + internal const int TransactionIsInEmergencySmsMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 209; + + internal const int TransactionGetRadioPowerState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 210; + + internal const int TransactionRegisterImsRegistrationCallback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 211; + + internal const int TransactionUnregisterImsRegistrationCallback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 212; + + internal const int TransactionGetImsMmTelRegistrationState = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 213; + + internal const int TransactionGetImsMmTelRegistrationTransportType = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 214; + + internal const int TransactionRegisterMmTelCapabilityCallback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 215; + + internal const int TransactionUnregisterMmTelCapabilityCallback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 216; + + internal const int TransactionIsCapable = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 217; + + internal const int TransactionIsAvailable = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 218; + + internal const int TransactionIsMmTelCapabilitySupported = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 219; + + internal const int TransactionIsAdvancedCallingSettingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 220; + + internal const int TransactionSetAdvancedCallingSettingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 221; + + internal const int TransactionIsVtSettingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 222; + + internal const int TransactionSetVtSettingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 223; + + internal const int TransactionIsVoWiFiSettingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 224; + + internal const int TransactionSetVoWiFiSettingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 225; + + internal const int TransactionIsVoWiFiRoamingSettingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 226; + + internal const int TransactionSetVoWiFiRoamingSettingEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 227; + + internal const int TransactionSetVoWiFiNonPersistent = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 228; + + internal const int TransactionGetVoWiFiModeSetting = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 229; + + internal const int TransactionSetVoWiFiModeSetting = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 230; + + internal const int TransactionGetVoWiFiRoamingModeSetting = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 231; + + internal const int TransactionSetVoWiFiRoamingModeSetting = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 232; + + internal const int TransactionSetRttCapabilitySetting = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 233; + + internal const int TransactionIsTtyOverVolteEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 234; + + internal const int TransactionGetEmergencyNumberList = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 235; + + internal const int TransactionIsEmergencyNumber = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 236; + + internal const int TransactionGetCertsFromCarrierPrivilegeAccessRules = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 237; + + internal const int TransactionRegisterImsProvisioningChangedCallback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 238; + + internal const int TransactionUnregisterImsProvisioningChangedCallback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 239; + + internal const int TransactionSetImsProvisioningStatusForCapability = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 240; + + internal const int TransactionGetImsProvisioningStatusForCapability = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 241; + + internal const int TransactionGetRcsProvisioningStatusForCapability = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 242; + + internal const int TransactionSetRcsProvisioningStatusForCapability = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 243; + + internal const int TransactionIsMmTelCapabilityProvisionedInCache = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 244; + + internal const int TransactionCacheMmTelCapabilityProvisioning = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 245; + + internal const int TransactionGetImsProvisioningInt = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 246; + + internal const int TransactionGetImsProvisioningString = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 247; + + internal const int TransactionSetImsProvisioningInt = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 248; + + internal const int TransactionSetImsProvisioningString = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 249; + + internal const int TransactionUpdateEmergencyNumberListTestMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 250; + + internal const int TransactionGetEmergencyNumberListTestMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 251; + + internal const int TransactionGetEmergencyNumberDbVersion = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 252; + + internal const int TransactionNotifyOtaEmergencyNumberDbInstalled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 253; + + internal const int TransactionUpdateOtaEmergencyNumberDbFilePath = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 254; + + internal const int TransactionResetOtaEmergencyNumberDbFilePath = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 255; + + internal const int TransactionEnableModemForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 256; + + internal const int TransactionSetMultiSimCarrierRestriction = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 257; + + internal const int TransactionIsMultiSimSupported = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 258; + + internal const int TransactionSwitchMultiSimConfig = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 259; + + internal const int TransactionDoesSwitchMultiSimConfigTriggerReboot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 260; + + internal const int TransactionGetSlotsMapping = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 261; + + internal const int TransactionGetRadioHalVersion = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 262; + + internal const int TransactionGetCurrentPackageName = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 263; + + internal const int TransactionIsApplicationOnUicc = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 264; + + internal const int TransactionIsModemEnabledForSlot = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 265; + + internal const int TransactionIsDataEnabledForApn = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 266; + + internal const int TransactionIsApnMetered = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 267; + + internal const int TransactionSetSystemSelectionChannels = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 268; + + internal const int TransactionIsMvnoMatched = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 269; + + internal const int TransactionEnqueueSmsPickResult = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 270; + + internal const int TransactionGetMmsUserAgent = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 271; + + internal const int TransactionGetMmsUAProfUrl = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 272; + + internal const int TransactionSetDataAllowedDuringVoiceCall = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 273; + + internal const int TransactionIsDataAllowedInVoiceCall = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 274; + + internal const int TransactionSetAlwaysAllowMmsData = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 275; + + internal const int TransactionSetCepEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 276; + + internal const int TransactionNotifyRcsAutoConfigurationReceived = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 277; + + internal const int TransactionIsIccLockEnabled = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 278; + + internal const int TransactionRequestUserActivityNotification = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 279; + + internal const int TransactionUserActivity = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 280; + + internal const int TransactionGetManualNetworkSelectionPlmn = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 281; + + internal const int TransactionCanConnectTo5GInDsdsMode = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 282; + + public abstract void Dial (String number); + + public abstract void Call (String callingPackage, String number); + + public abstract bool IsRadioOn (String callingPackage); + + public abstract bool IsRadioOnWithFeature (String callingPackage, String callingFeatureId); + + public abstract bool IsRadioOnForSubscriber (int subId, String callingPackage); + + public abstract bool IsRadioOnForSubscriberWithFeature (int subId, String callingPackage, String callingFeatureId); + + public abstract bool SupplyPinForSubscriber (int subId, String pin); + + public abstract bool SupplyPukForSubscriber (int subId, String puk, String pin); + + public abstract int [] SupplyPinReportResultForSubscriber (int subId, String pin); + + public abstract int [] SupplyPukReportResultForSubscriber (int subId, String puk, String pin); + + public abstract bool HandlePinMmi (String dialString); + + public abstract void HandleUssdRequest (int subId, String ussdRequest, ResultReceiver wrappedCallback); + + public abstract bool HandlePinMmiForSubscriber (int subId, String dialString); + + public abstract void ToggleRadioOnOff (); + + public abstract void ToggleRadioOnOffForSubscriber (int subId); + + public abstract bool SetRadio (bool turnOn); + + public abstract bool SetRadioForSubscriber (int subId, bool turnOn); + + public abstract bool SetRadioPower (bool turnOn); + + public abstract void UpdateServiceLocation (); + + public abstract void UpdateServiceLocationForSubscriber (int subId); + + public abstract void EnableLocationUpdates (); + + public abstract void EnableLocationUpdatesForSubscriber (int subId); + + public abstract void DisableLocationUpdates (); + + public abstract void DisableLocationUpdatesForSubscriber (int subId); + + public abstract bool EnableDataConnectivity (); + + public abstract bool DisableDataConnectivity (); + + public abstract bool IsDataConnectivityPossible (int subId); + + public abstract CellIdentity GetCellLocation (String callingPkg, String callingFeatureId); + + public abstract String GetNetworkCountryIsoForPhone (int phoneId); + + public abstract List GetNeighboringCellInfo (String callingPkg, String callingFeatureId); + + public abstract int GetCallState (); + + public abstract int GetCallStateForSlot (int slotIndex); + + public abstract int GetDataActivity (); + + public abstract int GetDataActivityForSubId (int subId); + + public abstract int GetDataState (); + + public abstract int GetDataStateForSubId (int subId); + + public abstract int GetActivePhoneType (); + + public abstract int GetActivePhoneTypeForSlot (int slotIndex); + + public abstract int GetCdmaEriIconIndex (String callingPackage, String callingFeatureId); + + public abstract int GetCdmaEriIconIndexForSubscriber (int subId, String callingPackage, String callingFeatureId); + + public abstract int GetCdmaEriIconMode (String callingPackage, String callingFeatureId); + + public abstract int GetCdmaEriIconModeForSubscriber (int subId, String callingPackage, String callingFeatureId); + + public abstract String GetCdmaEriText (String callingPackage, String callingFeatureId); + + public abstract String GetCdmaEriTextForSubscriber (int subId, String callingPackage, String callingFeatureId); + + public abstract bool NeedsOtaServiceProvisioning (); + + public abstract bool SetVoiceMailNumber (int subId, String alphaTag, String number); + + public abstract void SetVoiceActivationState (int subId, int activationState); + + public abstract void SetDataActivationState (int subId, int activationState); + + public abstract int GetVoiceActivationState (int subId, String callingPackage); + + public abstract int GetDataActivationState (int subId, String callingPackage); + + public abstract int GetVoiceMessageCountForSubscriber (int subId, String callingPackage, String callingFeatureId); + + public abstract bool IsConcurrentVoiceAndDataAllowed (int subId); + + public abstract Bundle GetVisualVoicemailSettings (String callingPackage, int subId); + + public abstract String GetVisualVoicemailPackageName (String callingPackage, String callingFeatureId, int subId); + + public abstract void EnableVisualVoicemailSmsFilter (String callingPackage, int subId, VisualVoicemailSmsFilterSettings settings); + + public abstract void DisableVisualVoicemailSmsFilter (String callingPackage, int subId); + + public abstract VisualVoicemailSmsFilterSettings GetVisualVoicemailSmsFilterSettings (String callingPackage, int subId); + + public abstract VisualVoicemailSmsFilterSettings GetActiveVisualVoicemailSmsFilterSettings (int subId); + + public abstract void SendVisualVoicemailSmsForSubscriber (String callingPackage, String callingAttributeTag, int subId, String number, int port, String text, PendingIntent sentIntent); + + public abstract void SendDialerSpecialCode (String callingPackageName, String inputCode); + + public abstract int GetNetworkTypeForSubscriber (int subId, String callingPackage, String callingFeatureId); + + public abstract int GetDataNetworkType (String callingPackage, String callingFeatureId); + + public abstract int GetDataNetworkTypeForSubscriber (int subId, String callingPackage, String callingFeatureId); + + public abstract int GetVoiceNetworkTypeForSubscriber (int subId, String callingPackage, String callingFeatureId); + + public abstract bool HasIccCard (); + + public abstract bool HasIccCardUsingSlotIndex (int slotIndex); + + public abstract int GetLteOnCdmaMode (String callingPackage, String callingFeatureId); + + public abstract int GetLteOnCdmaModeForSubscriber (int subId, String callingPackage, String callingFeatureId); + + public abstract List GetAllCellInfo (String callingPkg, String callingFeatureId); + + public abstract void RequestCellInfoUpdate (int subId, ICellInfoCallback cb, String callingPkg, String callingFeatureId); + + public abstract void RequestCellInfoUpdateWithWorkSource (int subId, ICellInfoCallback cb, String callingPkg, String callingFeatureId, WorkSource ws); + + public abstract void SetCellInfoListRate (int rateInMillis); + + public abstract IccOpenLogicalChannelResponse IccOpenLogicalChannelBySlot (int slotIndex, String callingPackage, String AID, int p2); + + public abstract IccOpenLogicalChannelResponse IccOpenLogicalChannel (int subId, String callingPackage, String AID, int p2); + + public abstract bool IccCloseLogicalChannelBySlot (int slotIndex, int channel); + + public abstract bool IccCloseLogicalChannel (int subId, int channel); + + public abstract String IccTransmitApduLogicalChannelBySlot (int slotIndex, int channel, int cla, int instruction, int p1, int p2, int p3, String data); + + public abstract String IccTransmitApduLogicalChannel (int subId, int channel, int cla, int instruction, int p1, int p2, int p3, String data); + + public abstract String IccTransmitApduBasicChannelBySlot (int slotIndex, String callingPackage, int cla, int instruction, int p1, int p2, int p3, String data); + + public abstract String IccTransmitApduBasicChannel (int subId, String callingPackage, int cla, int instruction, int p1, int p2, int p3, String data); + + public abstract byte [] IccExchangeSimIO (int subId, int fileID, int command, int p1, int p2, int p3, String filePath); + + public abstract String SendEnvelopeWithStatus (int subId, String content); + + public abstract String NvReadItem (int itemID); + + public abstract bool NvWriteItem (int itemID, String itemValue); + + public abstract bool NvWriteCdmaPrl (byte [] preferredRoamingList); + + public abstract bool ResetModemConfig (int slotIndex); + + public abstract bool RebootModem (int slotIndex); + + public abstract int GetCalculatedPreferredNetworkType (String callingPackage, String callingFeatureId); + + public abstract int GetPreferredNetworkType (int subId); + + public abstract bool IsTetheringApnRequiredForSubscriber (int subId); + + public abstract void EnableIms (int slotId); + + public abstract void DisableIms (int slotId); + + public abstract void ResetIms (int slotIndex); + + public abstract IImsMmTelFeature GetMmTelFeatureAndListen (int slotId, IImsServiceFeatureCallback callback); + + public abstract IImsRcsFeature GetRcsFeatureAndListen (int slotId, IImsServiceFeatureCallback callback); + + public abstract void UnregisterImsFeatureCallback (int slotId, int featureType, IImsServiceFeatureCallback callback); + + public abstract IImsRegistration GetImsRegistration (int slotId, int feature); + + public abstract IImsConfig GetImsConfig (int slotId, int feature); + + public abstract bool SetBoundImsServiceOverride (int slotIndex, bool isCarrierService, int [] featureTypes, String packageName); + + public abstract String GetBoundImsServicePackage (int slotIndex, bool isCarrierImsService, int featureType); + + public abstract void GetImsMmTelFeatureState (int subId, IIntegerConsumer callback); + + public abstract void SetNetworkSelectionModeAutomatic (int subId); + + public abstract CellNetworkScanResult GetCellNetworkScanResults (int subId, String callingPackage, String callingFeatureId); + + public abstract int RequestNetworkScan (int subId, NetworkScanRequest request, Messenger messenger, global::Android.OS.IBinder binder, String callingPackage, String callingFeatureId); + + public abstract void StopNetworkScan (int subId, int scanId); + + public abstract bool SetNetworkSelectionModeManual (int subId, OperatorInfo operatorInfo, bool persisSelection); + + public abstract long GetAllowedNetworkTypes (int subId); + + public abstract bool SetAllowedNetworkTypes (int subId, long allowedNetworkTypes); + + public abstract long GetAllowedNetworkTypesForReason (int subId, int reason); + + public abstract long GetEffectiveAllowedNetworkTypes (int subId); + + public abstract bool SetAllowedNetworkTypesForReason (int subId, int reason, long allowedNetworkTypes); + + public abstract bool SetPreferredNetworkType (int subId, int networkType); + + public abstract void SetUserDataEnabled (int subId, bool enable); + + public abstract bool GetDataEnabled (int subId); + + public abstract bool IsUserDataEnabled (int subId); + + public abstract bool IsDataEnabled (int subId); + + public abstract bool IsManualNetworkSelectionAllowed (int subId); + + public abstract void SetAlwaysReportSignalStrength (int subId, bool isEnable); + + public abstract String [] GetPcscfAddress (String apnType, String callingPackage, String callingFeatureId); + + public abstract void SetImsRegistrationState (bool registered); + + public abstract String GetCdmaMdn (int subId); + + public abstract String GetCdmaMin (int subId); + + public abstract void RequestNumberVerification (PhoneNumberRange range, long timeoutMillis, INumberVerificationCallback callback, String callingPackage); + + public abstract int GetCarrierPrivilegeStatus (int subId); + + public abstract int GetCarrierPrivilegeStatusForUid (int subId, int uid); + + public abstract int CheckCarrierPrivilegesForPackage (int subId, String pkgName); + + public abstract int CheckCarrierPrivilegesForPackageAnyPhone (String pkgName); + + public abstract List GetCarrierPackageNamesForIntentAndPhone (Intent intent, int phoneId); + + public abstract bool SetLine1NumberForDisplayForSubscriber (int subId, String alphaTag, String number); + + public abstract String GetLine1NumberForDisplay (int subId, String callingPackage, String callingFeatureId); + + public abstract String GetLine1AlphaTagForDisplay (int subId, String callingPackage, String callingFeatureId); + + public abstract String [] GetMergedSubscriberIds (int subId, String callingPackage, String callingFeatureId); + + public abstract String [] GetMergedImsisFromGroup (int subId, String callingPackage); + + public abstract bool SetOperatorBrandOverride (int subId, String brand); + + public abstract bool SetRoamingOverride (int subId, List gsmRoamingList, List gsmNonRoamingList, List cdmaRoamingList, List cdmaNonRoamingList); + + public abstract int InvokeOemRilRequestRaw (byte [] oemReq, byte [] oemResp); + + public abstract bool NeedMobileRadioShutdown (); + + public abstract void ShutdownMobileRadios (); + + public abstract int GetRadioAccessFamily (int phoneId, String callingPackage); + + public abstract void EnableVideoCalling (bool enable); + + public abstract bool IsVideoCallingEnabled (String callingPackage, String callingFeatureId); + + public abstract bool CanChangeDtmfToneLength (int subId, String callingPackage, String callingFeatureId); + + public abstract bool IsWorldPhone (int subId, String callingPackage, String callingFeatureId); + + public abstract bool IsTtyModeSupported (); + + public abstract bool IsRttSupported (int subscriptionId); + + public abstract bool IsHearingAidCompatibilitySupported (); + + public abstract bool IsImsRegistered (int subId); + + public abstract bool IsWifiCallingAvailable (int subId); + + public abstract bool IsVideoTelephonyAvailable (int subId); + + public abstract int GetImsRegTechnologyForMmTel (int subId); + + public abstract String GetDeviceId (String callingPackage); + + public abstract String GetDeviceIdWithFeature (String callingPackage, String callingFeatureId); + + public abstract String GetImeiForSlot (int slotIndex, String callingPackage, String callingFeatureId); + + public abstract String GetTypeAllocationCodeForSlot (int slotIndex); + + public abstract String GetMeidForSlot (int slotIndex, String callingPackage, String callingFeatureId); + + public abstract String GetManufacturerCodeForSlot (int slotIndex); + + public abstract String GetDeviceSoftwareVersionForSlot (int slotIndex, String callingPackage, String callingFeatureId); + + public abstract int GetSubIdForPhoneAccount (PhoneAccount phoneAccount); + + public abstract int GetSubIdForPhoneAccountHandle (PhoneAccountHandle phoneAccountHandle, String callingPackage, String callingFeatureId); + + public abstract PhoneAccountHandle GetPhoneAccountHandleForSubscriptionId (int subscriptionId); + + public abstract void FactoryReset (int subId); + + public abstract String GetSimLocaleForSubscriber (int subId); + + public abstract void RequestModemActivityInfo (ResultReceiver result); + + public abstract ServiceState GetServiceStateForSubscriber (int subId, String callingPackage, String callingFeatureId); + + public abstract Uri GetVoicemailRingtoneUri (PhoneAccountHandle accountHandle); + + public abstract void SetVoicemailRingtoneUri (String callingPackage, PhoneAccountHandle phoneAccountHandle, Uri uri); + + public abstract bool IsVoicemailVibrationEnabled (PhoneAccountHandle accountHandle); + + public abstract void SetVoicemailVibrationEnabled (String callingPackage, PhoneAccountHandle phoneAccountHandle, bool enabled); + + public abstract List GetPackagesWithCarrierPrivileges (int phoneId); + + public abstract List GetPackagesWithCarrierPrivilegesForAllPhones (); + + public abstract String GetAidForAppType (int subId, int appType); + + public abstract String GetEsn (int subId); + + public abstract String GetCdmaPrlVersion (int subId); + + public abstract List GetTelephonyHistograms (); + + public abstract int SetAllowedCarriers (CarrierRestrictionRules carrierRestrictionRules); + + public abstract CarrierRestrictionRules GetAllowedCarriers (); + + public abstract int GetSubscriptionCarrierId (int subId); + + public abstract String GetSubscriptionCarrierName (int subId); + + public abstract int GetSubscriptionSpecificCarrierId (int subId); + + public abstract String GetSubscriptionSpecificCarrierName (int subId); + + public abstract int GetCarrierIdFromMccMnc (int slotIndex, String mccmnc, bool isSubscriptionMccMnc); + + public abstract void CarrierActionSetMeteredApnsEnabled (int subId, bool visible); + + public abstract void CarrierActionSetRadioEnabled (int subId, bool enabled); + + public abstract void CarrierActionReportDefaultNetworkStatus (int subId, bool report); + + public abstract void CarrierActionResetAll (int subId); + + public abstract CallForwardingInfo GetCallForwarding (int subId, int callForwardingReason); + + public abstract bool SetCallForwarding (int subId, CallForwardingInfo callForwardingInfo); + + public abstract int GetCallWaitingStatus (int subId); + + public abstract bool SetCallWaitingStatus (int subId, bool isEnable); + + public abstract void SetPolicyDataEnabled (bool enabled, int subId); + + public abstract List GetClientRequestStats (String callingPackage, String callingFeatureId, int subid); + + public abstract void SetSimPowerStateForSlot (int slotIndex, int state); + + public abstract String [] GetForbiddenPlmns (int subId, int appType, String callingPackage, String callingFeatureId); + + public abstract int SetForbiddenPlmns (int subId, int appType, List fplmns, String callingPackage, String callingFeatureId); + + public abstract bool GetEmergencyCallbackMode (int subId); + + public abstract SignalStrength GetSignalStrength (int subId); + + public abstract int GetCardIdForDefaultEuicc (int subId, String callingPackage); + + public abstract List GetUiccCardsInfo (String callingPackage); + + public abstract bool SwitchSlots (int [] physicalSlots); + + public abstract bool IsDataRoamingEnabled (int subId); + + public abstract void SetDataRoamingEnabled (int subId, bool isEnabled); + + public abstract int GetCdmaRoamingMode (int subId); + + public abstract bool SetCdmaRoamingMode (int subId, int mode); + + public abstract bool SetCdmaSubscriptionMode (int subId, int mode); + + public abstract void SetCarrierTestOverride (int subId, String mccmnc, String imsi, String iccid, String gid1, String gid2, String plmn, String spn, String carrierPrivilegeRules, String apn); + + public abstract int GetCarrierIdListVersion (int subId); + + public abstract void RefreshUiccProfile (int subId); + + public abstract int GetNumberOfModemsWithSimultaneousDataConnections (int subId, String callingPackage, String callingFeatureId); + + public abstract int GetNetworkSelectionMode (int subId); + + public abstract bool IsInEmergencySmsMode (); + + public abstract int GetRadioPowerState (int slotIndex, String callingPackage, String callingFeatureId); + + public abstract void RegisterImsRegistrationCallback (int subId, IImsRegistrationCallback c); + + public abstract void UnregisterImsRegistrationCallback (int subId, IImsRegistrationCallback c); + + public abstract void GetImsMmTelRegistrationState (int subId, IIntegerConsumer consumer); + + public abstract void GetImsMmTelRegistrationTransportType (int subId, IIntegerConsumer consumer); + + public abstract void RegisterMmTelCapabilityCallback (int subId, IImsCapabilityCallback c); + + public abstract void UnregisterMmTelCapabilityCallback (int subId, IImsCapabilityCallback c); + + public abstract bool IsCapable (int subId, int capability, int regTech); + + public abstract bool IsAvailable (int subId, int capability, int regTech); + + public abstract void IsMmTelCapabilitySupported (int subId, IIntegerConsumer callback, int capability, int transportType); + + public abstract bool IsAdvancedCallingSettingEnabled (int subId); + + public abstract void SetAdvancedCallingSettingEnabled (int subId, bool isEnabled); + + public abstract bool IsVtSettingEnabled (int subId); + + public abstract void SetVtSettingEnabled (int subId, bool isEnabled); + + public abstract bool IsVoWiFiSettingEnabled (int subId); + + public abstract void SetVoWiFiSettingEnabled (int subId, bool isEnabled); + + public abstract bool IsVoWiFiRoamingSettingEnabled (int subId); + + public abstract void SetVoWiFiRoamingSettingEnabled (int subId, bool isEnabled); + + public abstract void SetVoWiFiNonPersistent (int subId, bool isCapable, int mode); + + public abstract int GetVoWiFiModeSetting (int subId); + + public abstract void SetVoWiFiModeSetting (int subId, int mode); + + public abstract int GetVoWiFiRoamingModeSetting (int subId); + + public abstract void SetVoWiFiRoamingModeSetting (int subId, int mode); + + public abstract void SetRttCapabilitySetting (int subId, bool isEnabled); + + public abstract bool IsTtyOverVolteEnabled (int subId); + + public abstract global::Android.Runtime.JavaDictionary GetEmergencyNumberList (String callingPackage, String callingFeatureId); + + public abstract bool IsEmergencyNumber (String number, bool exactMatch); + + public abstract List GetCertsFromCarrierPrivilegeAccessRules (int subId); + + public abstract void RegisterImsProvisioningChangedCallback (int subId, IImsConfigCallback callback); + + public abstract void UnregisterImsProvisioningChangedCallback (int subId, IImsConfigCallback callback); + + public abstract void SetImsProvisioningStatusForCapability (int subId, int capability, int tech, bool isProvisioned); + + public abstract bool GetImsProvisioningStatusForCapability (int subId, int capability, int tech); + + public abstract bool GetRcsProvisioningStatusForCapability (int subId, int capability); + + public abstract void SetRcsProvisioningStatusForCapability (int subId, int capability, bool isProvisioned); + + public abstract bool IsMmTelCapabilityProvisionedInCache (int subId, int capability, int tech); + + public abstract void CacheMmTelCapabilityProvisioning (int subId, int capability, int tech, bool isProvisioned); + + public abstract int GetImsProvisioningInt (int subId, int key); + + public abstract String GetImsProvisioningString (int subId, int key); + + public abstract int SetImsProvisioningInt (int subId, int key, int value); + + public abstract int SetImsProvisioningString (int subId, int key, String value); + + public abstract void UpdateEmergencyNumberListTestMode (int action, EmergencyNumber num); + + public abstract List GetEmergencyNumberListTestMode (); + + public abstract int GetEmergencyNumberDbVersion (int subId); + + public abstract void NotifyOtaEmergencyNumberDbInstalled (); + + public abstract void UpdateOtaEmergencyNumberDbFilePath (ParcelFileDescriptor otaParcelFileDescriptor); + + public abstract void ResetOtaEmergencyNumberDbFilePath (); + + public abstract bool EnableModemForSlot (int slotIndex, bool enable); + + public abstract void SetMultiSimCarrierRestriction (bool isMultiSimCarrierRestricted); + + public abstract int IsMultiSimSupported (String callingPackage, String callingFeatureId); + + public abstract void SwitchMultiSimConfig (int numOfSims); + + public abstract bool DoesSwitchMultiSimConfigTriggerReboot (int subId, String callingPackage, String callingFeatureId); + + public abstract int [] GetSlotsMapping (); + + public abstract int GetRadioHalVersion (); + + public abstract String GetCurrentPackageName (); + + public abstract bool IsApplicationOnUicc (int subId, int appType); + + public abstract bool IsModemEnabledForSlot (int slotIndex, String callingPackage, String callingFeatureId); + + public abstract bool IsDataEnabledForApn (int apnType, int subId, String callingPackage); + + public abstract bool IsApnMetered (int apnType, int subId); + + public abstract void SetSystemSelectionChannels (List specifiers, int subId, IBooleanConsumer resultCallback); + + public abstract bool IsMvnoMatched (int subId, int mvnoType, String mvnoMatchData); + + public abstract void EnqueueSmsPickResult (String callingPackage, String callingAttributeTag, IIntegerConsumer subIdResult); + + public abstract String GetMmsUserAgent (int subId); + + public abstract String GetMmsUAProfUrl (int subId); + + public abstract bool SetDataAllowedDuringVoiceCall (int subId, bool allow); + + public abstract bool IsDataAllowedInVoiceCall (int subId); + + public abstract bool SetAlwaysAllowMmsData (int subId, bool allow); + + public abstract void SetCepEnabled (bool isCepEnabled); + + public abstract void NotifyRcsAutoConfigurationReceived (int subId, byte [] config, bool isCompressed); + + public abstract bool IsIccLockEnabled (int subId); + + public abstract void RequestUserActivityNotification (); + + public abstract void UserActivity (); + + public abstract String GetManualNetworkSelectionPlmn (int subId); + + public abstract bool CanConnectTo5GInDsdsMode (); + + } +} + diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/IUpdateEngine.txt b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/IUpdateEngine.txt new file mode 100644 index 00000000000..83ba1866deb --- /dev/null +++ b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/IUpdateEngine.txt @@ -0,0 +1,886 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Taken from https://github.com/PegasusOS/android_system_update_engine/blob/11/binder_bindings/android/brillo/IUpdateEngine.aidl + */ + +package android.brillo; + +import android.brillo.IUpdateEngineStatusCallback; +import android.brillo.ParcelableUpdateEngineStatus; + +interface IUpdateEngine { + void SetUpdateAttemptFlags(in int flags); + boolean AttemptUpdate(in String app_version, in String omaha_url, in int flags); + void AttemptRollback(in boolean powerwash); + boolean CanRollback(); + void ResetStatus(); + ParcelableUpdateEngineStatus GetStatus(); + void RebootIfNeeded(); + void SetChannel(in String target_channel, in boolean powewash); + String GetChannel(in boolean get_current_channel); + void SetCohortHint(in String cohort_hint); + String GetCohortHint(); + void SetP2PUpdatePermission(in boolean enabled); + boolean GetP2PUpdatePermission(); + void SetUpdateOverCellularPermission(in boolean enabled); + void SetUpdateOverCellularTarget(in String target_version, + in long target_size); + boolean GetUpdateOverCellularPermission(); + long GetDurationSinceUpdate(); + String GetPrevVersion(); + String GetRollbackPartition(); + void RegisterStatusCallback(in IUpdateEngineStatusCallback callback); + int GetLastAttemptError(); + int GetEolStatus(); +} + + +#### + +// This file is automatically generated and not supposed to be modified. +using System; +using Boolean = System.Boolean; +using String = System.String; +using List = Android.Runtime.JavaList; +using Map = Android.Runtime.JavaDictionary; +using Android.Brillo; + +namespace Android.Brillo +{ + public interface IUpdateEngine : global::Android.OS.IInterface + { + void SetUpdateAttemptFlags (int flags); + bool AttemptUpdate (String app_version, String omaha_url, int flags); + void AttemptRollback (bool powerwash); + bool CanRollback (); + void ResetStatus (); + ParcelableUpdateEngineStatus GetStatus (); + void RebootIfNeeded (); + void SetChannel (String target_channel, bool powewash); + String GetChannel (bool get_current_channel); + void SetCohortHint (String cohort_hint); + String GetCohortHint (); + void SetP2PUpdatePermission (bool enabled); + bool GetP2PUpdatePermission (); + void SetUpdateOverCellularPermission (bool enabled); + void SetUpdateOverCellularTarget (String target_version, long target_size); + bool GetUpdateOverCellularPermission (); + long GetDurationSinceUpdate (); + String GetPrevVersion (); + String GetRollbackPartition (); + void RegisterStatusCallback (IUpdateEngineStatusCallback callback); + int GetLastAttemptError (); + int GetEolStatus (); + } + + public abstract class IUpdateEngineStub : global::Android.OS.Binder, global::Android.OS.IInterface, Android.Brillo.IUpdateEngine + { + const string descriptor = "android.brillo.IUpdateEngine"; + public IUpdateEngineStub () + { + this.AttachInterface (this, descriptor); + } + + public static Android.Brillo.IUpdateEngine AsInterface (global::Android.OS.IBinder obj) + { + if (obj == null) + return null; + var iin = (global::Android.OS.IInterface) obj.QueryLocalInterface (descriptor); + if (iin != null && iin is Android.Brillo.IUpdateEngine) + return (Android.Brillo.IUpdateEngine) iin; + return new Proxy (obj); + } + + public global::Android.OS.IBinder AsBinder () + { + return this; + } + + protected override bool OnTransact (int code, global::Android.OS.Parcel data, global::Android.OS.Parcel reply, int flags) + { + switch (code) { + case global::Android.OS.BinderConsts.InterfaceTransaction: + reply.WriteString (descriptor); + return true; + + case TransactionSetUpdateAttemptFlags: { + data.EnforceInterface (descriptor); + int arg0 = default (int); + arg0 = data.ReadInt (); + this.SetUpdateAttemptFlags (arg0); + reply.WriteNoException (); + return true; + } + + case TransactionAttemptUpdate: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + String arg1 = default (String); + arg1 = data.ReadString (); + int arg2 = default (int); + arg2 = data.ReadInt (); + var result = this.AttemptUpdate (arg0, arg1, arg2); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionAttemptRollback: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + this.AttemptRollback (arg0); + reply.WriteNoException (); + return true; + } + + case TransactionCanRollback: { + data.EnforceInterface (descriptor); + var result = this.CanRollback (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionResetStatus: { + data.EnforceInterface (descriptor); + this.ResetStatus (); + reply.WriteNoException (); + return true; + } + + case TransactionGetStatus: { + data.EnforceInterface (descriptor); + var result = this.GetStatus (); + reply.WriteNoException (); + reply.WriteStrongBinder ((((result != null)) ? (result.AsBinder ()) : (null))); + return true; + } + + case TransactionRebootIfNeeded: { + data.EnforceInterface (descriptor); + this.RebootIfNeeded (); + reply.WriteNoException (); + return true; + } + + case TransactionSetChannel: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + bool arg1 = default (bool); + arg1 = data.ReadInt () != 0; + this.SetChannel (arg0, arg1); + reply.WriteNoException (); + return true; + } + + case TransactionGetChannel: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + var result = this.GetChannel (arg0); + reply.WriteNoException (); + reply.WriteString (result); + return true; + } + + case TransactionSetCohortHint: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + this.SetCohortHint (arg0); + reply.WriteNoException (); + return true; + } + + case TransactionGetCohortHint: { + data.EnforceInterface (descriptor); + var result = this.GetCohortHint (); + reply.WriteNoException (); + reply.WriteString (result); + return true; + } + + case TransactionSetP2PUpdatePermission: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + this.SetP2PUpdatePermission (arg0); + reply.WriteNoException (); + return true; + } + + case TransactionGetP2PUpdatePermission: { + data.EnforceInterface (descriptor); + var result = this.GetP2PUpdatePermission (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionSetUpdateOverCellularPermission: { + data.EnforceInterface (descriptor); + bool arg0 = default (bool); + arg0 = data.ReadInt () != 0; + this.SetUpdateOverCellularPermission (arg0); + reply.WriteNoException (); + return true; + } + + case TransactionSetUpdateOverCellularTarget: { + data.EnforceInterface (descriptor); + String arg0 = default (String); + arg0 = data.ReadString (); + long arg1 = default (long); + arg1 = data.ReadLong (); + this.SetUpdateOverCellularTarget (arg0, arg1); + reply.WriteNoException (); + return true; + } + + case TransactionGetUpdateOverCellularPermission: { + data.EnforceInterface (descriptor); + var result = this.GetUpdateOverCellularPermission (); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + return true; + } + + case TransactionGetDurationSinceUpdate: { + data.EnforceInterface (descriptor); + var result = this.GetDurationSinceUpdate (); + reply.WriteNoException (); + reply.WriteLong (result); + return true; + } + + case TransactionGetPrevVersion: { + data.EnforceInterface (descriptor); + var result = this.GetPrevVersion (); + reply.WriteNoException (); + reply.WriteString (result); + return true; + } + + case TransactionGetRollbackPartition: { + data.EnforceInterface (descriptor); + var result = this.GetRollbackPartition (); + reply.WriteNoException (); + reply.WriteString (result); + return true; + } + + case TransactionRegisterStatusCallback: { + data.EnforceInterface (descriptor); + IUpdateEngineStatusCallback arg0 = default (IUpdateEngineStatusCallback); + arg0 = IUpdateEngineStatusCallbackStub.AsInterface (data.ReadStrongBinder ()); + this.RegisterStatusCallback (arg0); + reply.WriteNoException (); + return true; + } + + case TransactionGetLastAttemptError: { + data.EnforceInterface (descriptor); + var result = this.GetLastAttemptError (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionGetEolStatus: { + data.EnforceInterface (descriptor); + var result = this.GetEolStatus (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + } + return base.OnTransact (code, data, reply, flags); + } + + public class Proxy : Java.Lang.Object, Android.Brillo.IUpdateEngine + { + global::Android.OS.IBinder remote; + + public Proxy (global::Android.OS.IBinder remote) + { + this.remote = remote; + } + + public global::Android.OS.IBinder AsBinder () + { + return remote; + } + + public string GetInterfaceDescriptor () + { + return descriptor; + } + + public void SetUpdateAttemptFlags (int flags) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (flags); + remote.Transact (IUpdateEngineStub.TransactionSetUpdateAttemptFlags, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool AttemptUpdate (String app_version, String omaha_url, int flags) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (app_version); + __data.WriteString (omaha_url); + __data.WriteInt (flags); + remote.Transact (IUpdateEngineStub.TransactionAttemptUpdate, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void AttemptRollback (bool powerwash) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (powerwash ? 1 : 0); + remote.Transact (IUpdateEngineStub.TransactionAttemptRollback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool CanRollback () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionCanRollback, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void ResetStatus () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionResetStatus, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public ParcelableUpdateEngineStatus GetStatus () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +ParcelableUpdateEngineStatus __result = default (ParcelableUpdateEngineStatus); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionGetStatus, __data, __reply, 0); + __reply.ReadException (); + __result = ParcelableUpdateEngineStatusStub.AsInterface (__reply.ReadStrongBinder ()); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void RebootIfNeeded () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionRebootIfNeeded, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SetChannel (String target_channel, bool powewash) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (target_channel); + __data.WriteInt (powewash ? 1 : 0); + remote.Transact (IUpdateEngineStub.TransactionSetChannel, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public String GetChannel (bool get_current_channel) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (get_current_channel ? 1 : 0); + remote.Transact (IUpdateEngineStub.TransactionGetChannel, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetCohortHint (String cohort_hint) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (cohort_hint); + remote.Transact (IUpdateEngineStub.TransactionSetCohortHint, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public String GetCohortHint () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionGetCohortHint, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetP2PUpdatePermission (bool enabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (enabled ? 1 : 0); + remote.Transact (IUpdateEngineStub.TransactionSetP2PUpdatePermission, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool GetP2PUpdatePermission () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionGetP2PUpdatePermission, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void SetUpdateOverCellularPermission (bool enabled) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteInt (enabled ? 1 : 0); + remote.Transact (IUpdateEngineStub.TransactionSetUpdateOverCellularPermission, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void SetUpdateOverCellularTarget (String target_version, long target_size) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteString (target_version); + __data.WriteLong (target_size); + remote.Transact (IUpdateEngineStub.TransactionSetUpdateOverCellularTarget, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public bool GetUpdateOverCellularPermission () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionGetUpdateOverCellularPermission, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public long GetDurationSinceUpdate () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +long __result = default (long); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionGetDurationSinceUpdate, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadLong (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetPrevVersion () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionGetPrevVersion, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String GetRollbackPartition () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionGetRollbackPartition, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void RegisterStatusCallback (IUpdateEngineStatusCallback callback) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStrongBinder ((((callback != null)) ? (callback.AsBinder ()) : (null))); + remote.Transact (IUpdateEngineStub.TransactionRegisterStatusCallback, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int GetLastAttemptError () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionGetLastAttemptError, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int GetEolStatus () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (IUpdateEngineStub.TransactionGetEolStatus, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + } + + internal const int TransactionSetUpdateAttemptFlags = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 0; + + internal const int TransactionAttemptUpdate = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 1; + + internal const int TransactionAttemptRollback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 2; + + internal const int TransactionCanRollback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 3; + + internal const int TransactionResetStatus = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 4; + + internal const int TransactionGetStatus = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 5; + + internal const int TransactionRebootIfNeeded = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 6; + + internal const int TransactionSetChannel = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 7; + + internal const int TransactionGetChannel = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 8; + + internal const int TransactionSetCohortHint = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 9; + + internal const int TransactionGetCohortHint = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 10; + + internal const int TransactionSetP2PUpdatePermission = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 11; + + internal const int TransactionGetP2PUpdatePermission = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 12; + + internal const int TransactionSetUpdateOverCellularPermission = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 13; + + internal const int TransactionSetUpdateOverCellularTarget = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 14; + + internal const int TransactionGetUpdateOverCellularPermission = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 15; + + internal const int TransactionGetDurationSinceUpdate = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 16; + + internal const int TransactionGetPrevVersion = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 17; + + internal const int TransactionGetRollbackPartition = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 18; + + internal const int TransactionRegisterStatusCallback = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 19; + + internal const int TransactionGetLastAttemptError = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 20; + + internal const int TransactionGetEolStatus = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 21; + + public abstract void SetUpdateAttemptFlags (int flags); + + public abstract bool AttemptUpdate (String app_version, String omaha_url, int flags); + + public abstract void AttemptRollback (bool powerwash); + + public abstract bool CanRollback (); + + public abstract void ResetStatus (); + + public abstract ParcelableUpdateEngineStatus GetStatus (); + + public abstract void RebootIfNeeded (); + + public abstract void SetChannel (String target_channel, bool powewash); + + public abstract String GetChannel (bool get_current_channel); + + public abstract void SetCohortHint (String cohort_hint); + + public abstract String GetCohortHint (); + + public abstract void SetP2PUpdatePermission (bool enabled); + + public abstract bool GetP2PUpdatePermission (); + + public abstract void SetUpdateOverCellularPermission (bool enabled); + + public abstract void SetUpdateOverCellularTarget (String target_version, long target_size); + + public abstract bool GetUpdateOverCellularPermission (); + + public abstract long GetDurationSinceUpdate (); + + public abstract String GetPrevVersion (); + + public abstract String GetRollbackPartition (); + + public abstract void RegisterStatusCallback (IUpdateEngineStatusCallback callback); + + public abstract int GetLastAttemptError (); + + public abstract int GetEolStatus (); + + } +} + diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/ListAndMap.txt b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/ListAndMap.txt new file mode 100644 index 00000000000..45329892878 --- /dev/null +++ b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/ListAndMap.txt @@ -0,0 +1,149 @@ +import android.os; +import android.view; +import android.animation; + +interface Test { + void arrayList(inout List list); + void map(inout Map m); +} + +#### + +// This file is automatically generated and not supposed to be modified. +using System; +using Boolean = System.Boolean; +using String = System.String; +using List = Android.Runtime.JavaList; +using Map = Android.Runtime.JavaDictionary; +using Android; + public interface ITest : global::Android.OS.IInterface + { + void ArrayList (Android.Runtime.JavaList list); + void Map (Android.Runtime.JavaDictionary m); + } + + public abstract class ITestStub : global::Android.OS.Binder, global::Android.OS.IInterface, ITest + { + const string descriptor = "Test"; + public ITestStub () + { + this.AttachInterface (this, descriptor); + } + + public static ITest AsInterface (global::Android.OS.IBinder obj) + { + if (obj == null) + return null; + var iin = (global::Android.OS.IInterface) obj.QueryLocalInterface (descriptor); + if (iin != null && iin is ITest) + return (ITest) iin; + return new Proxy (obj); + } + + public global::Android.OS.IBinder AsBinder () + { + return this; + } + + protected override bool OnTransact (int code, global::Android.OS.Parcel data, global::Android.OS.Parcel reply, int flags) + { + switch (code) { + case global::Android.OS.BinderConsts.InterfaceTransaction: + reply.WriteString (descriptor); + return true; + + case TransactionArrayList: { + data.EnforceInterface (descriptor); + Android.Runtime.JavaList arg0 = default (Android.Runtime.JavaList); + arg0 = (global::Android.Runtime.JavaList) data.ReadArrayList ((global::Java.Lang.ClassLoader) null); + this.ArrayList (arg0); + reply.WriteNoException (); + data.WriteList (arg0); + return true; + } + + case TransactionMap: { + data.EnforceInterface (descriptor); + Android.Runtime.JavaDictionary arg0 = default (Android.Runtime.JavaDictionary); + arg0 = (global::Android.Runtime.JavaDictionary) data.ReadHashMap ((global::Java.Lang.ClassLoader) null); + this.Map (arg0); + reply.WriteNoException (); + data.WriteMap (arg0); + return true; + } + + } + return base.OnTransact (code, data, reply, flags); + } + + public class Proxy : Java.Lang.Object, ITest + { + global::Android.OS.IBinder remote; + + public Proxy (global::Android.OS.IBinder remote) + { + this.remote = remote; + } + + public global::Android.OS.IBinder AsBinder () + { + return remote; + } + + public string GetInterfaceDescriptor () + { + return descriptor; + } + + public void ArrayList (Android.Runtime.JavaList list) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteList (list); + remote.Transact (ITestStub.TransactionArrayList, __data, __reply, 0); + __reply.ReadException (); + __reply.ReadList (list, (global::Java.Lang.ClassLoader) null); + + } finally { + __data.Recycle (); + } + + } + + + public void Map (Android.Runtime.JavaDictionary m) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteMap (m); + remote.Transact (ITestStub.TransactionMap, __data, __reply, 0); + __reply.ReadException (); + __reply.ReadMap (m, (global::Java.Lang.ClassLoader) null); + + } finally { + __data.Recycle (); + } + + } + + + } + + internal const int TransactionArrayList = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 0; + + internal const int TransactionMap = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 1; + + public abstract void ArrayList (Android.Runtime.JavaList list); + + public abstract void Map (Android.Runtime.JavaDictionary m); + + } + diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/NamespaceResolution.txt b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/NamespaceResolution.txt new file mode 100644 index 00000000000..42d843561f0 --- /dev/null +++ b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/NamespaceResolution.txt @@ -0,0 +1,78 @@ +import android.os; +import android.view; +import android.animation; + +interface Test { +} + + +#### + +// This file is automatically generated and not supposed to be modified. +using System; +using Boolean = System.Boolean; +using String = System.String; +using List = Android.Runtime.JavaList; +using Map = Android.Runtime.JavaDictionary; +using Android; + public interface ITest : global::Android.OS.IInterface + { + } + + public abstract class ITestStub : global::Android.OS.Binder, global::Android.OS.IInterface, ITest + { + const string descriptor = "Test"; + public ITestStub () + { + this.AttachInterface (this, descriptor); + } + + public static ITest AsInterface (global::Android.OS.IBinder obj) + { + if (obj == null) + return null; + var iin = (global::Android.OS.IInterface) obj.QueryLocalInterface (descriptor); + if (iin != null && iin is ITest) + return (ITest) iin; + return new Proxy (obj); + } + + public global::Android.OS.IBinder AsBinder () + { + return this; + } + + protected override bool OnTransact (int code, global::Android.OS.Parcel data, global::Android.OS.Parcel reply, int flags) + { + switch (code) { + case global::Android.OS.BinderConsts.InterfaceTransaction: + reply.WriteString (descriptor); + return true; + + } + return base.OnTransact (code, data, reply, flags); + } + + public class Proxy : Java.Lang.Object, ITest + { + global::Android.OS.IBinder remote; + + public Proxy (global::Android.OS.IBinder remote) + { + this.remote = remote; + } + + public global::Android.OS.IBinder AsBinder () + { + return remote; + } + + public string GetInterfaceDescriptor () + { + return descriptor; + } + + } + + } + diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/PrimitiveTypes.txt b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/PrimitiveTypes.txt new file mode 100644 index 00000000000..e1c81cb4dd4 --- /dev/null +++ b/tests/Xamarin.Android.Tools.Aidl-Tests/TestData/PrimitiveTypes.txt @@ -0,0 +1,725 @@ +package com.xamarin.test; +interface Test { + void test0(); + int test1 (); + // now those test methods are explicitly added 'inout' because otherwise Android SDK aidl rejects it... + int test2 (inout int [] args); + boolean test3 (inout boolean [] args); + byte test4 (inout byte [] args); + char test5 (inout char [] args); + long test6 (inout long [] args); + float test7 (inout float [] args); + double test8 (inout double [] args); + String test9 (inout String [] args); + // thought that it's missing 'short' ? It's not supported - http://stackoverflow.com/questions/6742167/android-aidl-support-short-type + + void test10 (in byte [] args); + void test11 (out byte [] args); + void test12 (inout byte [] args); + + int [] test20 (); + boolean [] test21 (); + byte [] test22 (); + String [] test23 (); +} + + +#### + +// This file is automatically generated and not supposed to be modified. +using System; +using Boolean = System.Boolean; +using String = System.String; +using List = Android.Runtime.JavaList; +using Map = Android.Runtime.JavaDictionary; + +namespace Com.Xamarin.Test +{ + public interface ITest : global::Android.OS.IInterface + { + void Test0 (); + int Test1 (); + int Test2 (int [] args); + bool Test3 (bool [] args); + sbyte Test4 (byte [] args); + char Test5 (char [] args); + long Test6 (long [] args); + float Test7 (float [] args); + double Test8 (double [] args); + String Test9 (String [] args); + void Test10 (byte [] args); + void Test11 (byte [] args); + void Test12 (byte [] args); + int [] Test20 (); + bool [] Test21 (); + byte [] Test22 (); + String [] Test23 (); + } + + public abstract class ITestStub : global::Android.OS.Binder, global::Android.OS.IInterface, Com.Xamarin.Test.ITest + { + const string descriptor = "com.xamarin.test.Test"; + public ITestStub () + { + this.AttachInterface (this, descriptor); + } + + public static Com.Xamarin.Test.ITest AsInterface (global::Android.OS.IBinder obj) + { + if (obj == null) + return null; + var iin = (global::Android.OS.IInterface) obj.QueryLocalInterface (descriptor); + if (iin != null && iin is Com.Xamarin.Test.ITest) + return (Com.Xamarin.Test.ITest) iin; + return new Proxy (obj); + } + + public global::Android.OS.IBinder AsBinder () + { + return this; + } + + protected override bool OnTransact (int code, global::Android.OS.Parcel data, global::Android.OS.Parcel reply, int flags) + { + switch (code) { + case global::Android.OS.BinderConsts.InterfaceTransaction: + reply.WriteString (descriptor); + return true; + + case TransactionTest0: { + data.EnforceInterface (descriptor); + this.Test0 (); + reply.WriteNoException (); + return true; + } + + case TransactionTest1: { + data.EnforceInterface (descriptor); + var result = this.Test1 (); + reply.WriteNoException (); + reply.WriteInt (result); + return true; + } + + case TransactionTest2: { + data.EnforceInterface (descriptor); + int [] arg0 = default (int []); + arg0 = data.CreateIntArray (); + var result = this.Test2 (arg0); + reply.WriteNoException (); + reply.WriteInt (result); + data.WriteIntArray (arg0); + return true; + } + + case TransactionTest3: { + data.EnforceInterface (descriptor); + bool [] arg0 = default (bool []); + arg0 = data.CreateBooleanArray (); + var result = this.Test3 (arg0); + reply.WriteNoException (); + reply.WriteInt (result ? 1 : 0); + data.WriteBooleanArray (arg0); + return true; + } + + case TransactionTest4: { + data.EnforceInterface (descriptor); + byte [] arg0 = default (byte []); + arg0 = data.CreateByteArray (); + var result = this.Test4 (arg0); + reply.WriteNoException (); + reply.WriteByte (result); + data.WriteByteArray (arg0); + return true; + } + + case TransactionTest5: { + data.EnforceInterface (descriptor); + char [] arg0 = default (char []); + arg0 = data.CreateCharArray (); + var result = this.Test5 (arg0); + reply.WriteNoException (); + reply.WriteInt ((int) result); + data.WriteCharArray (arg0); + return true; + } + + case TransactionTest6: { + data.EnforceInterface (descriptor); + long [] arg0 = default (long []); + arg0 = data.CreateLongArray (); + var result = this.Test6 (arg0); + reply.WriteNoException (); + reply.WriteLong (result); + data.WriteLongArray (arg0); + return true; + } + + case TransactionTest7: { + data.EnforceInterface (descriptor); + float [] arg0 = default (float []); + arg0 = data.CreateFloatArray (); + var result = this.Test7 (arg0); + reply.WriteNoException (); + reply.WriteFloat (result); + data.WriteFloatArray (arg0); + return true; + } + + case TransactionTest8: { + data.EnforceInterface (descriptor); + double [] arg0 = default (double []); + arg0 = data.CreateDoubleArray (); + var result = this.Test8 (arg0); + reply.WriteNoException (); + reply.WriteDouble (result); + data.WriteDoubleArray (arg0); + return true; + } + + case TransactionTest9: { + data.EnforceInterface (descriptor); + String [] arg0 = default (String []); + arg0 = data.CreateStringArray (); + var result = this.Test9 (arg0); + reply.WriteNoException (); + reply.WriteString (result); + data.WriteStringArray (arg0); + return true; + } + + case TransactionTest10: { + data.EnforceInterface (descriptor); + byte [] arg0 = default (byte []); + arg0 = data.CreateByteArray (); + this.Test10 (arg0); + reply.WriteNoException (); + return true; + } + + case TransactionTest11: { + data.EnforceInterface (descriptor); + byte [] arg0 = default (byte []); + this.Test11 (arg0); + reply.WriteNoException (); + data.WriteByteArray (arg0); + return true; + } + + case TransactionTest12: { + data.EnforceInterface (descriptor); + byte [] arg0 = default (byte []); + arg0 = data.CreateByteArray (); + this.Test12 (arg0); + reply.WriteNoException (); + data.WriteByteArray (arg0); + return true; + } + + case TransactionTest20: { + data.EnforceInterface (descriptor); + var result = this.Test20 (); + reply.WriteNoException (); + reply.WriteIntArray (result); + return true; + } + + case TransactionTest21: { + data.EnforceInterface (descriptor); + var result = this.Test21 (); + reply.WriteNoException (); + reply.WriteBooleanArray (result); + return true; + } + + case TransactionTest22: { + data.EnforceInterface (descriptor); + var result = this.Test22 (); + reply.WriteNoException (); + reply.WriteByteArray (result); + return true; + } + + case TransactionTest23: { + data.EnforceInterface (descriptor); + var result = this.Test23 (); + reply.WriteNoException (); + reply.WriteStringArray (result); + return true; + } + + } + return base.OnTransact (code, data, reply, flags); + } + + public class Proxy : Java.Lang.Object, Com.Xamarin.Test.ITest + { + global::Android.OS.IBinder remote; + + public Proxy (global::Android.OS.IBinder remote) + { + this.remote = remote; + } + + public global::Android.OS.IBinder AsBinder () + { + return remote; + } + + public string GetInterfaceDescriptor () + { + return descriptor; + } + + public void Test0 () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITestStub.TransactionTest0, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public int Test1 () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITestStub.TransactionTest1, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public int Test2 (int [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int __result = default (int); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteIntArray (args); + remote.Transact (ITestStub.TransactionTest2, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt (); + __reply.ReadIntArray (args); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool Test3 (bool [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool __result = default (bool); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteBooleanArray (args); + remote.Transact (ITestStub.TransactionTest3, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadInt () != 0; + __reply.ReadBooleanArray (args); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public sbyte Test4 (byte [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +sbyte __result = default (sbyte); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteByteArray (args); + remote.Transact (ITestStub.TransactionTest4, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadByte (); + __reply.ReadByteArray (args); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public char Test5 (char [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +char __result = default (char); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteCharArray (args); + remote.Transact (ITestStub.TransactionTest5, __data, __reply, 0); + __reply.ReadException (); + __result = (char) __reply.ReadInt (); + __reply.ReadCharArray (args); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public long Test6 (long [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +long __result = default (long); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteLongArray (args); + remote.Transact (ITestStub.TransactionTest6, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadLong (); + __reply.ReadLongArray (args); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public float Test7 (float [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +float __result = default (float); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteFloatArray (args); + remote.Transact (ITestStub.TransactionTest7, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadFloat (); + __reply.ReadFloatArray (args); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public double Test8 (double [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +double __result = default (double); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteDoubleArray (args); + remote.Transact (ITestStub.TransactionTest8, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadDouble (); + __reply.ReadDoubleArray (args); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String Test9 (String [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String __result = default (String); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteStringArray (args); + remote.Transact (ITestStub.TransactionTest9, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.ReadString (); + __reply.ReadStringArray (args); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public void Test10 (byte [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteByteArray (args); + remote.Transact (ITestStub.TransactionTest10, __data, __reply, 0); + __reply.ReadException (); + + } finally { + __data.Recycle (); + } + + } + + + public void Test11 (byte [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITestStub.TransactionTest11, __data, __reply, 0); + __reply.ReadException (); + __reply.ReadByteArray (args); + + } finally { + __data.Recycle (); + } + + } + + + public void Test12 (byte [] args) + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); + + try { + __data.WriteInterfaceToken (descriptor); + __data.WriteByteArray (args); + remote.Transact (ITestStub.TransactionTest12, __data, __reply, 0); + __reply.ReadException (); + __reply.ReadByteArray (args); + + } finally { + __data.Recycle (); + } + + } + + + public int [] Test20 () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +int [] __result = default (int []); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITestStub.TransactionTest20, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateIntArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public bool [] Test21 () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +bool [] __result = default (bool []); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITestStub.TransactionTest21, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateBooleanArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public byte [] Test22 () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +byte [] __result = default (byte []); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITestStub.TransactionTest22, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateByteArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + public String [] Test23 () + { + global::Android.OS.Parcel __data = global::Android.OS.Parcel.Obtain (); + + global::Android.OS.Parcel __reply = global::Android.OS.Parcel.Obtain (); +String [] __result = default (String []); + + try { + __data.WriteInterfaceToken (descriptor); + remote.Transact (ITestStub.TransactionTest23, __data, __reply, 0); + __reply.ReadException (); + __result = __reply.CreateStringArray (); + + } finally { + __reply.Recycle (); + __data.Recycle (); + } + return __result; + + } + + + } + + internal const int TransactionTest0 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 0; + + internal const int TransactionTest1 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 1; + + internal const int TransactionTest2 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 2; + + internal const int TransactionTest3 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 3; + + internal const int TransactionTest4 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 4; + + internal const int TransactionTest5 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 5; + + internal const int TransactionTest6 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 6; + + internal const int TransactionTest7 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 7; + + internal const int TransactionTest8 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 8; + + internal const int TransactionTest9 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 9; + + internal const int TransactionTest10 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 10; + + internal const int TransactionTest11 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 11; + + internal const int TransactionTest12 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 12; + + internal const int TransactionTest20 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 13; + + internal const int TransactionTest21 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 14; + + internal const int TransactionTest22 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 15; + + internal const int TransactionTest23 = global::Android.OS.Binder.InterfaceConsts.FirstCallTransaction + 16; + + public abstract void Test0 (); + + public abstract int Test1 (); + + public abstract int Test2 (int [] args); + + public abstract bool Test3 (bool [] args); + + public abstract sbyte Test4 (byte [] args); + + public abstract char Test5 (char [] args); + + public abstract long Test6 (long [] args); + + public abstract float Test7 (float [] args); + + public abstract double Test8 (double [] args); + + public abstract String Test9 (String [] args); + + public abstract void Test10 (byte [] args); + + public abstract void Test11 (byte [] args); + + public abstract void Test12 (byte [] args); + + public abstract int [] Test20 (); + + public abstract bool [] Test21 (); + + public abstract byte [] Test22 (); + + public abstract String [] Test23 (); + + } +} + diff --git a/tests/Xamarin.Android.Tools.Aidl-Tests/Xamarin.Android.Tools.Aidl-Tests.csproj b/tests/Xamarin.Android.Tools.Aidl-Tests/Xamarin.Android.Tools.Aidl-Tests.csproj new file mode 100644 index 00000000000..ff3ed02744d --- /dev/null +++ b/tests/Xamarin.Android.Tools.Aidl-Tests/Xamarin.Android.Tools.Aidl-Tests.csproj @@ -0,0 +1,38 @@ + + + + net472 + Xamarin.Android.Tools.Aidl_Tests + false + + + + + + ..\..\bin\Test$(Configuration) + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + ..\..\bin\$(Configuration)\lib\xamarin.android\xbuild\Xamarin\Android\Xamarin.Android.Cecil.dll + + +