Source code
package android.support.v4.os;
import android.os.Binder;
import android.os.Bundle;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Parcel;
import android.os.RemoteException;
public interface IResultReceiver extends IInterface {
public static abstract class Stub extends Binder implements IResultReceiver {
private static final String DESCRIPTOR = "android.support.v4.os.IResultReceiver";
static final int TRANSACTION_send = 1;
private static class Proxy implements IResultReceiver {
private IBinder mRemote;
Proxy(IBinder remote) {
this.mRemote = remote;
}
public IBinder asBinder() {
return this.mRemote;
}
public String getInterfaceDescriptor() {
return Stub.DESCRIPTOR;
}
public void send(int resultCode, Bundle resultData) throws RemoteException {
Parcel _data = Parcel.obtain();
try {
_data.writeInterfaceToken(Stub.DESCRIPTOR);
_data.writeInt(resultCode);
if (resultData != null) {
_data.writeInt(1);
resultData.writeToParcel(_data, 0);
} else {
_data.writeInt(0);
}
this.mRemote.transact(1, _data, null, 1);
} finally {
_data.recycle();
}
}
}
public Stub() {
attachInterface(this, DESCRIPTOR);
}
public static IResultReceiver asInterface(IBinder obj) {
if (obj == null) {
return null;
}
IInterface iin = obj.queryLocalInterface(DESCRIPTOR);
if (iin == null || !(iin instanceof IResultReceiver)) {
return new Proxy(obj);
}
return (IResultReceiver) iin;
}
public IBinder asBinder() {
return this;
}
public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException {
switch (code) {
case 1:
Bundle _arg1;
data.enforceInterface(DESCRIPTOR);
int _arg0 = data.readInt();
if (data.readInt() != 0) {
_arg1 = (Bundle) Bundle.CREATOR.createFromParcel(data);
} else {
_arg1 = null;
}
send(_arg0, _arg1);
return true;
case 1598968902:
reply.writeString(DESCRIPTOR);
return true;
default:
return super.onTransact(code, data, reply, flags);
}
}
}
void send(int i, Bundle bundle) throws RemoteException;
}