Add vendor.qti.qcril.am@1.0 as used on Pixel 2 XL
diff --git a/Qualcomm/QtiAudio/src/me/phh/qti/audio/Service.java b/Qualcomm/QtiAudio/src/me/phh/qti/audio/Service.java
index ecc1a07..5c69742 100644
--- a/Qualcomm/QtiAudio/src/me/phh/qti/audio/Service.java
+++ b/Qualcomm/QtiAudio/src/me/phh/qti/audio/Service.java
@@ -10,9 +10,6 @@
import android.os.UEventObserver;
import android.os.SystemProperties;
-import vendor.qti.hardware.radio.am.V1_0.IQcRilAudioCallback;
-import vendor.qti.hardware.radio.am.V1_0.IQcRilAudio;
-
public class Service extends android.app.Service {
AudioManager audioManager;
@Override public void onCreate() {
@@ -24,14 +21,25 @@
public void run() {
android.util.Log.d("PHH", "Hello");
try {
- service = IQcRilAudio.getService("slot1");
+ vendor.qti.hardware.radio.am.V1_0.IQcRilAudio service;
+ service = vendor.qti.hardware.radio.am.V1_0.IQcRilAudio.getService("slot1");
service.setCallback(cb);
-
- service = IQcRilAudio.getService("slot2");
+ } catch(Exception e) {}
+ try {
+ vendor.qti.hardware.radio.am.V1_0.IQcRilAudio service;
+ service = vendor.qti.hardware.radio.am.V1_0.IQcRilAudio.getService("slot2");
service.setCallback(cb);
- } catch(Exception e) {
- android.util.Log.d("PHH", "Failed setting callback", e);
- }
+ } catch(Exception e) {}
+ try {
+ vendor.qti.qcril.am.V1_0.IQcRilAudio service;
+ service = vendor.qti.qcril.am.V1_0.IQcRilAudio.getService("slot1");
+ service.setCallback(cb2);
+ } catch(Exception e) {}
+ try {
+ vendor.qti.qcril.am.V1_0.IQcRilAudio service;
+ service = vendor.qti.qcril.am.V1_0.IQcRilAudio.getService("slot2");
+ service.setCallback(cb2);
+ } catch(Exception e) {}
if(fp.contains("OnePlus6")) {
try {
(new UEventObserver() {
@@ -66,8 +74,31 @@
}.start();
}
- IQcRilAudio service;
- IQcRilAudioCallback cb = new IQcRilAudioCallback.Stub() {
+ vendor.qti.hardware.radio.am.V1_0.IQcRilAudioCallback cb = new vendor.qti.hardware.radio.am.V1_0.IQcRilAudioCallback.Stub() {
+ @Override
+ public String getParameters(String parameter) {
+ android.util.Log.d("PHH", "Got getParameters " + parameter);
+ try {
+ return AudioSystem.getParameters(parameter);
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed getting parameters");
+ }
+ return "";
+ }
+
+ @Override
+ public int setParameters(String parameters) {
+ android.util.Log.d("PHH", "Got setParameters " + parameters);
+ try {
+ AudioSystem.setParameters(parameters);
+ } catch(Exception e) {
+ android.util.Log.d("PHH", "Failed setting parameters");
+ }
+ return 0;
+ }
+ };
+
+ vendor.qti.qcril.am.V1_0.IQcRilAudioCallback cb2 = new vendor.qti.qcril.am.V1_0.IQcRilAudioCallback.Stub() {
@Override
public String getParameters(String parameter) {
android.util.Log.d("PHH", "Got getParameters " + parameter);
diff --git a/Qualcomm/QtiAudio/src/vendor/qti/qcril/am/V1_0/IQcRilAudio.java b/Qualcomm/QtiAudio/src/vendor/qti/qcril/am/V1_0/IQcRilAudio.java
new file mode 100644
index 0000000..7bd3bd1
--- /dev/null
+++ b/Qualcomm/QtiAudio/src/vendor/qti/qcril/am/V1_0/IQcRilAudio.java
@@ -0,0 +1,490 @@
+package vendor.qti.qcril.am.V1_0;
+
+public interface IQcRilAudio extends android.hidl.base.V1_0.IBase {
+ public static final String kInterfaceName = "vendor.qti.qcril.am@1.0::IQcRilAudio";
+
+ /* package private */ static IQcRilAudio asInterface(android.os.IHwBinder binder) {
+ if (binder == null) {
+ return null;
+ }
+
+ android.os.IHwInterface iface =
+ binder.queryLocalInterface(kInterfaceName);
+
+ if ((iface != null) && (iface instanceof IQcRilAudio)) {
+ return (IQcRilAudio)iface;
+ }
+
+ IQcRilAudio proxy = new IQcRilAudio.Proxy(binder);
+
+ try {
+ for (String descriptor : proxy.interfaceChain()) {
+ if (descriptor.equals(kInterfaceName)) {
+ return proxy;
+ }
+ }
+ } catch (android.os.RemoteException e) {
+ }
+
+ return null;
+ }
+
+ public static IQcRilAudio castFrom(android.os.IHwInterface iface) {
+ return (iface == null) ? null : IQcRilAudio.asInterface(iface.asBinder());
+ }
+
+ @Override
+ public android.os.IHwBinder asBinder();
+
+ public static IQcRilAudio getService(String serviceName) throws android.os.RemoteException {
+ return IQcRilAudio.asInterface(android.os.HwBinder.getService("vendor.qti.qcril.am@1.0::IQcRilAudio",serviceName));
+ }
+
+ public static IQcRilAudio getService() throws android.os.RemoteException {
+ return IQcRilAudio.asInterface(android.os.HwBinder.getService("vendor.qti.qcril.am@1.0::IQcRilAudio","default"));
+ }
+
+ void setCallback(IQcRilAudioCallback iQcRilAudioCallback)
+ throws android.os.RemoteException;
+ void setError(int error)
+ throws android.os.RemoteException;
+ java.util.ArrayList<String> interfaceChain()
+ throws android.os.RemoteException;
+ String interfaceDescriptor()
+ throws android.os.RemoteException;
+ java.util.ArrayList<byte[/* 32 */]> getHashChain()
+ throws android.os.RemoteException;
+ void setHALInstrumentation()
+ throws android.os.RemoteException;
+ boolean linkToDeath(android.os.IHwBinder.DeathRecipient recipient, long cookie)
+ throws android.os.RemoteException;
+ void ping()
+ throws android.os.RemoteException;
+ android.hidl.base.V1_0.DebugInfo getDebugInfo()
+ throws android.os.RemoteException;
+ void notifySyspropsChanged()
+ throws android.os.RemoteException;
+ boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient recipient)
+ throws android.os.RemoteException;
+
+ public static final class Proxy implements IQcRilAudio {
+ private android.os.IHwBinder mRemote;
+
+ public Proxy(android.os.IHwBinder remote) {
+ mRemote = java.util.Objects.requireNonNull(remote);
+ }
+
+ @Override
+ public android.os.IHwBinder asBinder() {
+ return mRemote;
+ }
+
+ @Override
+ public String toString() {
+ try {
+ return this.interfaceDescriptor() + "@Proxy";
+ } catch (android.os.RemoteException ex) {
+ /* ignored; handled below. */
+ }
+ return "[class or subclass of " + IQcRilAudio.kInterfaceName + "]@Proxy";
+ }
+
+ // Methods from ::vendor::qti::qcril::am::V1_0::IQcRilAudio follow.
+ @Override
+ public void setCallback(IQcRilAudioCallback iQcRilAudioCallback)
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(IQcRilAudio.kInterfaceName);
+ _hidl_request.writeStrongBinder(iQcRilAudioCallback == null ? null : iQcRilAudioCallback.asBinder());
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(1 /* setCallback */, _hidl_request, _hidl_reply, android.os.IHwBinder.FLAG_ONEWAY);
+ _hidl_request.releaseTemporaryStorage();
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public void setError(int error)
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(IQcRilAudio.kInterfaceName);
+ _hidl_request.writeInt32(error);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(2 /* setError */, _hidl_request, _hidl_reply, android.os.IHwBinder.FLAG_ONEWAY);
+ _hidl_request.releaseTemporaryStorage();
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ // Methods from ::android::hidl::base::V1_0::IBase follow.
+ @Override
+ public java.util.ArrayList<String> interfaceChain()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256067662 /* interfaceChain */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ java.util.ArrayList<String> _hidl_out_descriptors = _hidl_reply.readStringVector();
+ return _hidl_out_descriptors;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public String interfaceDescriptor()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256136003 /* interfaceDescriptor */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ String _hidl_out_descriptor = _hidl_reply.readString();
+ return _hidl_out_descriptor;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public java.util.ArrayList<byte[/* 32 */]> getHashChain()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256398152 /* getHashChain */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ java.util.ArrayList<byte[/* 32 */]> _hidl_out_hashchain = new java.util.ArrayList<byte[/* 32 */]>();
+ {
+ android.os.HwBlob _hidl_blob = _hidl_reply.readBuffer(16 /* size */);
+ {
+ int _hidl_vec_size = _hidl_blob.getInt32(0 /* offset */ + 8 /* offsetof(hidl_vec<T>, mSize) */);
+ android.os.HwBlob childBlob = _hidl_reply.readEmbeddedBuffer(
+ _hidl_vec_size * 32,_hidl_blob.handle(),
+ 0 /* offset */ + 0 /* offsetof(hidl_vec<T>, mBuffer) */,true /* nullable */);
+
+ _hidl_out_hashchain.clear();
+ for (int _hidl_index_0 = 0; _hidl_index_0 < _hidl_vec_size; ++_hidl_index_0) {
+ final byte[/* 32 */] _hidl_vec_element = new byte[32];
+ {
+ long _hidl_array_offset_1 = _hidl_index_0 * 32;
+ for (int _hidl_index_1_0 = 0; _hidl_index_1_0 < 32; ++_hidl_index_1_0) {
+ _hidl_vec_element[_hidl_index_1_0] = childBlob.getInt8(_hidl_array_offset_1);
+ _hidl_array_offset_1 += 1;
+ }
+ }
+ _hidl_out_hashchain.add(_hidl_vec_element);
+ }
+ }
+ }
+ return _hidl_out_hashchain;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public void setHALInstrumentation()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256462420 /* setHALInstrumentation */, _hidl_request, _hidl_reply, android.os.IHwBinder.FLAG_ONEWAY);
+ _hidl_request.releaseTemporaryStorage();
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public boolean linkToDeath(android.os.IHwBinder.DeathRecipient recipient, long cookie)
+ throws android.os.RemoteException {
+ return mRemote.linkToDeath(recipient, cookie);
+ }
+ @Override
+ public void ping()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256921159 /* ping */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public android.hidl.base.V1_0.DebugInfo getDebugInfo()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(257049926 /* getDebugInfo */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ android.hidl.base.V1_0.DebugInfo _hidl_out_info = new android.hidl.base.V1_0.DebugInfo();
+ _hidl_out_info.readFromParcel(_hidl_reply);
+ return _hidl_out_info;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public void notifySyspropsChanged()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(257120595 /* notifySyspropsChanged */, _hidl_request, _hidl_reply, android.os.IHwBinder.FLAG_ONEWAY);
+ _hidl_request.releaseTemporaryStorage();
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient recipient)
+ throws android.os.RemoteException {
+ return mRemote.unlinkToDeath(recipient);
+ }
+ }
+
+ public static abstract class Stub extends android.os.HwBinder implements IQcRilAudio {
+ @Override
+ public android.os.IHwBinder asBinder() {
+ return this;
+ }
+
+ @Override
+ public final java.util.ArrayList<String> interfaceChain() {
+ return new java.util.ArrayList<String>(java.util.Arrays.asList(
+ IQcRilAudio.kInterfaceName,
+ android.hidl.base.V1_0.IBase.kInterfaceName));
+ }
+
+ @Override
+ public final String interfaceDescriptor() {
+ return IQcRilAudio.kInterfaceName;
+
+ }
+
+ @Override
+ public final java.util.ArrayList<byte[/* 32 */]> getHashChain() {
+ return new java.util.ArrayList<byte[/* 32 */]>(java.util.Arrays.asList(
+ new byte[/* 32 */]{82,124,73,19,-39,-73,105,27,-122,26,21,28,-31,97,-125,53,-78,-16,31,83,-75,-74,-11,-65,-9,-8,-85,76,124,-116,-77,-9} /* 527c4913d9b7691b861a151ce1618335b2f01f53b5b6f5bff7f8ab4c7c8cb3f7 */,
+ new byte[/* 32 */]{-67,-38,-74,24,77,122,52,109,-90,-96,125,-64,-126,-116,-15,-102,105,111,76,-86,54,17,-59,31,46,20,86,90,20,-76,15,-39} /* bddab6184d7a346da6a07dc0828cf19a696f4caa3611c51f2e14565a14b40fd9 */));
+
+ }
+
+ @Override
+ public final void setHALInstrumentation() {
+
+ }
+
+ @Override
+ public final boolean linkToDeath(android.os.IHwBinder.DeathRecipient recipient, long cookie) {
+ return true;
+ }
+
+ @Override
+ public final void ping() {
+ return;
+
+ }
+
+ @Override
+ public final android.hidl.base.V1_0.DebugInfo getDebugInfo() {
+ android.hidl.base.V1_0.DebugInfo info = new android.hidl.base.V1_0.DebugInfo();
+ info.pid = -1;
+ info.ptr = 0;
+ info.arch = android.hidl.base.V1_0.DebugInfo.Architecture.UNKNOWN;return info;
+ }
+
+ @Override
+ public final void notifySyspropsChanged() {
+ android.os.SystemProperties.reportSyspropChanged();
+ }
+
+ @Override
+ public final boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient recipient) {
+ return true;
+
+ }
+
+ @Override
+ public android.os.IHwInterface queryLocalInterface(String descriptor) {
+ if (kInterfaceName.equals(descriptor)) {
+ return this;
+ }
+ return null;
+ }
+
+ public void registerAsService(String serviceName) throws android.os.RemoteException {
+ registerService(serviceName);
+ }
+
+ @Override
+ public String toString() {
+ return this.interfaceDescriptor() + "@Stub";
+ }
+
+ @Override
+ public void onTransact(int _hidl_code, android.os.HwParcel _hidl_request, final android.os.HwParcel _hidl_reply, int _hidl_flags)
+ throws android.os.RemoteException {
+ switch (_hidl_code) {
+ case 1 /* setCallback */:
+ {
+ _hidl_request.enforceInterface(IQcRilAudio.kInterfaceName);
+
+ IQcRilAudioCallback iQcRilAudioCallback = IQcRilAudioCallback.asInterface(_hidl_request.readStrongBinder());
+ setCallback(iQcRilAudioCallback);
+ break;
+ }
+
+ case 2 /* setError */:
+ {
+ _hidl_request.enforceInterface(IQcRilAudio.kInterfaceName);
+
+ int error = _hidl_request.readInt32();
+ setError(error);
+ break;
+ }
+
+ case 256067662 /* interfaceChain */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ java.util.ArrayList<String> _hidl_out_descriptors = interfaceChain();
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_reply.writeStringVector(_hidl_out_descriptors);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 256131655 /* debug */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 256136003 /* interfaceDescriptor */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ String _hidl_out_descriptor = interfaceDescriptor();
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_reply.writeString(_hidl_out_descriptor);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 256398152 /* getHashChain */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ java.util.ArrayList<byte[/* 32 */]> _hidl_out_hashchain = getHashChain();
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ {
+ android.os.HwBlob _hidl_blob = new android.os.HwBlob(16 /* size */);
+ {
+ int _hidl_vec_size = _hidl_out_hashchain.size();
+ _hidl_blob.putInt32(0 /* offset */ + 8 /* offsetof(hidl_vec<T>, mSize) */, _hidl_vec_size);
+ _hidl_blob.putBool(0 /* offset */ + 12 /* offsetof(hidl_vec<T>, mOwnsBuffer) */, false);
+ android.os.HwBlob childBlob = new android.os.HwBlob((int)(_hidl_vec_size * 32));
+ for (int _hidl_index_0 = 0; _hidl_index_0 < _hidl_vec_size; ++_hidl_index_0) {
+ {
+ long _hidl_array_offset_1 = _hidl_index_0 * 32;
+ for (int _hidl_index_1_0 = 0; _hidl_index_1_0 < 32; ++_hidl_index_1_0) {
+ childBlob.putInt8(_hidl_array_offset_1, _hidl_out_hashchain.get(_hidl_index_0)[_hidl_index_1_0]);
+ _hidl_array_offset_1 += 1;
+ }
+ }
+ }
+ _hidl_blob.putBlob(0 /* offset */ + 0 /* offsetof(hidl_vec<T>, mBuffer) */, childBlob);
+ }
+ _hidl_reply.writeBuffer(_hidl_blob);
+ }
+ _hidl_reply.send();
+ break;
+ }
+
+ case 256462420 /* setHALInstrumentation */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ setHALInstrumentation();
+ break;
+ }
+
+ case 256660548 /* linkToDeath */:
+ {
+ break;
+ }
+
+ case 256921159 /* ping */:
+ {
+ break;
+ }
+
+ case 257049926 /* getDebugInfo */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.hidl.base.V1_0.DebugInfo _hidl_out_info = getDebugInfo();
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_out_info.writeToParcel(_hidl_reply);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 257120595 /* notifySyspropsChanged */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ notifySyspropsChanged();
+ break;
+ }
+
+ case 257250372 /* unlinkToDeath */:
+ {
+ break;
+ }
+
+ }
+ }
+ }
+}
diff --git a/Qualcomm/QtiAudio/src/vendor/qti/qcril/am/V1_0/IQcRilAudioCallback.java b/Qualcomm/QtiAudio/src/vendor/qti/qcril/am/V1_0/IQcRilAudioCallback.java
new file mode 100644
index 0000000..5be09c3
--- /dev/null
+++ b/Qualcomm/QtiAudio/src/vendor/qti/qcril/am/V1_0/IQcRilAudioCallback.java
@@ -0,0 +1,504 @@
+package vendor.qti.qcril.am.V1_0;
+
+public interface IQcRilAudioCallback extends android.hidl.base.V1_0.IBase {
+ public static final String kInterfaceName = "vendor.qti.qcril.am@1.0::IQcRilAudioCallback";
+
+ /* package private */ static IQcRilAudioCallback asInterface(android.os.IHwBinder binder) {
+ if (binder == null) {
+ return null;
+ }
+
+ android.os.IHwInterface iface =
+ binder.queryLocalInterface(kInterfaceName);
+
+ if ((iface != null) && (iface instanceof IQcRilAudioCallback)) {
+ return (IQcRilAudioCallback)iface;
+ }
+
+ IQcRilAudioCallback proxy = new IQcRilAudioCallback.Proxy(binder);
+
+ try {
+ for (String descriptor : proxy.interfaceChain()) {
+ if (descriptor.equals(kInterfaceName)) {
+ return proxy;
+ }
+ }
+ } catch (android.os.RemoteException e) {
+ }
+
+ return null;
+ }
+
+ public static IQcRilAudioCallback castFrom(android.os.IHwInterface iface) {
+ return (iface == null) ? null : IQcRilAudioCallback.asInterface(iface.asBinder());
+ }
+
+ @Override
+ public android.os.IHwBinder asBinder();
+
+ public static IQcRilAudioCallback getService(String serviceName) throws android.os.RemoteException {
+ return IQcRilAudioCallback.asInterface(android.os.HwBinder.getService("vendor.qti.qcril.am@1.0::IQcRilAudioCallback",serviceName));
+ }
+
+ public static IQcRilAudioCallback getService() throws android.os.RemoteException {
+ return IQcRilAudioCallback.asInterface(android.os.HwBinder.getService("vendor.qti.qcril.am@1.0::IQcRilAudioCallback","default"));
+ }
+
+ String getParameters(String str)
+ throws android.os.RemoteException;
+ int setParameters(String str)
+ throws android.os.RemoteException;
+ java.util.ArrayList<String> interfaceChain()
+ throws android.os.RemoteException;
+ String interfaceDescriptor()
+ throws android.os.RemoteException;
+ java.util.ArrayList<byte[/* 32 */]> getHashChain()
+ throws android.os.RemoteException;
+ void setHALInstrumentation()
+ throws android.os.RemoteException;
+ boolean linkToDeath(android.os.IHwBinder.DeathRecipient recipient, long cookie)
+ throws android.os.RemoteException;
+ void ping()
+ throws android.os.RemoteException;
+ android.hidl.base.V1_0.DebugInfo getDebugInfo()
+ throws android.os.RemoteException;
+ void notifySyspropsChanged()
+ throws android.os.RemoteException;
+ boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient recipient)
+ throws android.os.RemoteException;
+
+ public static final class Proxy implements IQcRilAudioCallback {
+ private android.os.IHwBinder mRemote;
+
+ public Proxy(android.os.IHwBinder remote) {
+ mRemote = java.util.Objects.requireNonNull(remote);
+ }
+
+ @Override
+ public android.os.IHwBinder asBinder() {
+ return mRemote;
+ }
+
+ @Override
+ public String toString() {
+ try {
+ return this.interfaceDescriptor() + "@Proxy";
+ } catch (android.os.RemoteException ex) {
+ /* ignored; handled below. */
+ }
+ return "[class or subclass of " + IQcRilAudioCallback.kInterfaceName + "]@Proxy";
+ }
+
+ // Methods from ::vendor::qti::qcril::am::V1_0::IQcRilAudioCallback follow.
+ @Override
+ public String getParameters(String str)
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(IQcRilAudioCallback.kInterfaceName);
+ _hidl_request.writeString(str);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(1 /* getParameters */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ String _hidl_out_result = _hidl_reply.readString();
+ return _hidl_out_result;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public int setParameters(String str)
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(IQcRilAudioCallback.kInterfaceName);
+ _hidl_request.writeString(str);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(2 /* setParameters */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ int _hidl_out_success = _hidl_reply.readInt32();
+ return _hidl_out_success;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ // Methods from ::android::hidl::base::V1_0::IBase follow.
+ @Override
+ public java.util.ArrayList<String> interfaceChain()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256067662 /* interfaceChain */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ java.util.ArrayList<String> _hidl_out_descriptors = _hidl_reply.readStringVector();
+ return _hidl_out_descriptors;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public String interfaceDescriptor()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256136003 /* interfaceDescriptor */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ String _hidl_out_descriptor = _hidl_reply.readString();
+ return _hidl_out_descriptor;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public java.util.ArrayList<byte[/* 32 */]> getHashChain()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256398152 /* getHashChain */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ java.util.ArrayList<byte[/* 32 */]> _hidl_out_hashchain = new java.util.ArrayList<byte[/* 32 */]>();
+ {
+ android.os.HwBlob _hidl_blob = _hidl_reply.readBuffer(16 /* size */);
+ {
+ int _hidl_vec_size = _hidl_blob.getInt32(0 /* offset */ + 8 /* offsetof(hidl_vec<T>, mSize) */);
+ android.os.HwBlob childBlob = _hidl_reply.readEmbeddedBuffer(
+ _hidl_vec_size * 32,_hidl_blob.handle(),
+ 0 /* offset */ + 0 /* offsetof(hidl_vec<T>, mBuffer) */,true /* nullable */);
+
+ _hidl_out_hashchain.clear();
+ for (int _hidl_index_0 = 0; _hidl_index_0 < _hidl_vec_size; ++_hidl_index_0) {
+ final byte[/* 32 */] _hidl_vec_element = new byte[32];
+ {
+ long _hidl_array_offset_1 = _hidl_index_0 * 32;
+ for (int _hidl_index_1_0 = 0; _hidl_index_1_0 < 32; ++_hidl_index_1_0) {
+ _hidl_vec_element[_hidl_index_1_0] = childBlob.getInt8(_hidl_array_offset_1);
+ _hidl_array_offset_1 += 1;
+ }
+ }
+ _hidl_out_hashchain.add(_hidl_vec_element);
+ }
+ }
+ }
+ return _hidl_out_hashchain;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public void setHALInstrumentation()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256462420 /* setHALInstrumentation */, _hidl_request, _hidl_reply, android.os.IHwBinder.FLAG_ONEWAY);
+ _hidl_request.releaseTemporaryStorage();
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public boolean linkToDeath(android.os.IHwBinder.DeathRecipient recipient, long cookie)
+ throws android.os.RemoteException {
+ return mRemote.linkToDeath(recipient, cookie);
+ }
+ @Override
+ public void ping()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(256921159 /* ping */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public android.hidl.base.V1_0.DebugInfo getDebugInfo()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(257049926 /* getDebugInfo */, _hidl_request, _hidl_reply, 0 /* flags */);
+ _hidl_reply.verifySuccess();
+ _hidl_request.releaseTemporaryStorage();
+
+ android.hidl.base.V1_0.DebugInfo _hidl_out_info = new android.hidl.base.V1_0.DebugInfo();
+ _hidl_out_info.readFromParcel(_hidl_reply);
+ return _hidl_out_info;
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public void notifySyspropsChanged()
+ throws android.os.RemoteException {
+ android.os.HwParcel _hidl_request = new android.os.HwParcel();
+ _hidl_request.writeInterfaceToken(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.os.HwParcel _hidl_reply = new android.os.HwParcel();
+ try {
+ mRemote.transact(257120595 /* notifySyspropsChanged */, _hidl_request, _hidl_reply, android.os.IHwBinder.FLAG_ONEWAY);
+ _hidl_request.releaseTemporaryStorage();
+ } finally {
+ _hidl_reply.release();
+ }
+ }
+
+ @Override
+ public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient recipient)
+ throws android.os.RemoteException {
+ return mRemote.unlinkToDeath(recipient);
+ }
+ }
+
+ public static abstract class Stub extends android.os.HwBinder implements IQcRilAudioCallback {
+ @Override
+ public android.os.IHwBinder asBinder() {
+ return this;
+ }
+
+ @Override
+ public final java.util.ArrayList<String> interfaceChain() {
+ return new java.util.ArrayList<String>(java.util.Arrays.asList(
+ IQcRilAudioCallback.kInterfaceName,
+ android.hidl.base.V1_0.IBase.kInterfaceName));
+ }
+
+ @Override
+ public final String interfaceDescriptor() {
+ return IQcRilAudioCallback.kInterfaceName;
+
+ }
+
+ @Override
+ public final java.util.ArrayList<byte[/* 32 */]> getHashChain() {
+ return new java.util.ArrayList<byte[/* 32 */]>(java.util.Arrays.asList(
+ new byte[/* 32 */]{22,71,-88,81,-45,-109,-85,-22,53,113,-87,-70,-10,95,-8,67,61,-23,36,43,97,41,40,122,-128,-85,108,-33,4,101,-120,-97} /* 1647a851d393abea3571a9baf65ff8433de9242b6129287a80ab6cdf0465889f */,
+ new byte[/* 32 */]{-67,-38,-74,24,77,122,52,109,-90,-96,125,-64,-126,-116,-15,-102,105,111,76,-86,54,17,-59,31,46,20,86,90,20,-76,15,-39} /* bddab6184d7a346da6a07dc0828cf19a696f4caa3611c51f2e14565a14b40fd9 */));
+
+ }
+
+ @Override
+ public final void setHALInstrumentation() {
+
+ }
+
+ @Override
+ public final boolean linkToDeath(android.os.IHwBinder.DeathRecipient recipient, long cookie) {
+ return true;
+ }
+
+ @Override
+ public final void ping() {
+ return;
+
+ }
+
+ @Override
+ public final android.hidl.base.V1_0.DebugInfo getDebugInfo() {
+ android.hidl.base.V1_0.DebugInfo info = new android.hidl.base.V1_0.DebugInfo();
+ info.pid = -1;
+ info.ptr = 0;
+ info.arch = android.hidl.base.V1_0.DebugInfo.Architecture.UNKNOWN;return info;
+ }
+
+ @Override
+ public final void notifySyspropsChanged() {
+ android.os.SystemProperties.reportSyspropChanged();
+ }
+
+ @Override
+ public final boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient recipient) {
+ return true;
+
+ }
+
+ @Override
+ public android.os.IHwInterface queryLocalInterface(String descriptor) {
+ if (kInterfaceName.equals(descriptor)) {
+ return this;
+ }
+ return null;
+ }
+
+ public void registerAsService(String serviceName) throws android.os.RemoteException {
+ registerService(serviceName);
+ }
+
+ @Override
+ public String toString() {
+ return this.interfaceDescriptor() + "@Stub";
+ }
+
+ @Override
+ public void onTransact(int _hidl_code, android.os.HwParcel _hidl_request, final android.os.HwParcel _hidl_reply, int _hidl_flags)
+ throws android.os.RemoteException {
+ switch (_hidl_code) {
+ case 1 /* getParameters */:
+ {
+ _hidl_request.enforceInterface(IQcRilAudioCallback.kInterfaceName);
+
+ String str = _hidl_request.readString();
+ String _hidl_out_result = getParameters(str);
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_reply.writeString(_hidl_out_result);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 2 /* setParameters */:
+ {
+ _hidl_request.enforceInterface(IQcRilAudioCallback.kInterfaceName);
+
+ String str = _hidl_request.readString();
+ int _hidl_out_success = setParameters(str);
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_reply.writeInt32(_hidl_out_success);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 256067662 /* interfaceChain */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ java.util.ArrayList<String> _hidl_out_descriptors = interfaceChain();
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_reply.writeStringVector(_hidl_out_descriptors);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 256131655 /* debug */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 256136003 /* interfaceDescriptor */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ String _hidl_out_descriptor = interfaceDescriptor();
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_reply.writeString(_hidl_out_descriptor);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 256398152 /* getHashChain */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ java.util.ArrayList<byte[/* 32 */]> _hidl_out_hashchain = getHashChain();
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ {
+ android.os.HwBlob _hidl_blob = new android.os.HwBlob(16 /* size */);
+ {
+ int _hidl_vec_size = _hidl_out_hashchain.size();
+ _hidl_blob.putInt32(0 /* offset */ + 8 /* offsetof(hidl_vec<T>, mSize) */, _hidl_vec_size);
+ _hidl_blob.putBool(0 /* offset */ + 12 /* offsetof(hidl_vec<T>, mOwnsBuffer) */, false);
+ android.os.HwBlob childBlob = new android.os.HwBlob((int)(_hidl_vec_size * 32));
+ for (int _hidl_index_0 = 0; _hidl_index_0 < _hidl_vec_size; ++_hidl_index_0) {
+ {
+ long _hidl_array_offset_1 = _hidl_index_0 * 32;
+ for (int _hidl_index_1_0 = 0; _hidl_index_1_0 < 32; ++_hidl_index_1_0) {
+ childBlob.putInt8(_hidl_array_offset_1, _hidl_out_hashchain.get(_hidl_index_0)[_hidl_index_1_0]);
+ _hidl_array_offset_1 += 1;
+ }
+ }
+ }
+ _hidl_blob.putBlob(0 /* offset */ + 0 /* offsetof(hidl_vec<T>, mBuffer) */, childBlob);
+ }
+ _hidl_reply.writeBuffer(_hidl_blob);
+ }
+ _hidl_reply.send();
+ break;
+ }
+
+ case 256462420 /* setHALInstrumentation */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ setHALInstrumentation();
+ break;
+ }
+
+ case 256660548 /* linkToDeath */:
+ {
+ break;
+ }
+
+ case 256921159 /* ping */:
+ {
+ break;
+ }
+
+ case 257049926 /* getDebugInfo */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ android.hidl.base.V1_0.DebugInfo _hidl_out_info = getDebugInfo();
+ _hidl_reply.writeStatus(android.os.HwParcel.STATUS_SUCCESS);
+ _hidl_out_info.writeToParcel(_hidl_reply);
+ _hidl_reply.send();
+ break;
+ }
+
+ case 257120595 /* notifySyspropsChanged */:
+ {
+ _hidl_request.enforceInterface(android.hidl.base.V1_0.IBase.kInterfaceName);
+
+ notifySyspropsChanged();
+ break;
+ }
+
+ case 257250372 /* unlinkToDeath */:
+ {
+ break;
+ }
+
+ }
+ }
+ }
+}