Merge "Add (un)linkToDeath support to HwBinder."

am: 7705363166

Change-Id: I007b2fc2982d164176607cd8f2d0ccc9ebde982c
This commit is contained in:
Martijn Coenen
2016-12-29 09:04:49 +00:00
committed by android-build-merger
4 changed files with 306 additions and 12 deletions

View File

@@ -39,6 +39,9 @@ public class HwRemoteBinder implements IHwBinder {
public native final void transact(
int code, HwParcel request, HwParcel reply, int flags);
public native boolean linkToDeath(DeathRecipient recipient, long cookie);
public native boolean unlinkToDeath(DeathRecipient recipient);
private static native final long native_init();
private native final void native_setup_empty();
@@ -52,5 +55,9 @@ public class HwRemoteBinder implements IHwBinder {
128 /* size */);
}
private static final void sendDeathNotice(DeathRecipient recipient, long cookie) {
recipient.serviceDied(cookie);
}
private long mNativeContext;
}

View File

@@ -26,4 +26,16 @@ public interface IHwBinder {
int code, HwParcel request, HwParcel reply, int flags);
public IHwInterface queryLocalInterface(String descriptor);
/**
* Interface for receiving a callback when the process hosting a service
* has gone away.
*/
public interface DeathRecipient {
public void serviceDied(long cookie);
}
public boolean linkToDeath(DeathRecipient recipient, long cookie);
public boolean unlinkToDeath(DeathRecipient recipient);
}