Revert "Don't throw RemoteException in public RemoteCallVideoClient APIs."
This reverts commit 080b1f58eb877e1ac375768c6f951cc61a3cdbae.
Change-Id: I0dc963b3f4efe1479a7a94b8d851b89d15480d17
diff --git a/api/current.txt b/api/current.txt
index e466be0..863a88b 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -28703,13 +28703,14 @@
field public static final android.os.Parcelable.Creator CREATOR;
}
- public class RemoteCallVideoClient {
- method public void handleCallSessionEvent(int);
- method public void handleCameraCapabilitiesChange(android.telecomm.CallCameraCapabilities);
- method public void receiveSessionModifyRequest(android.telecomm.VideoCallProfile);
- method public void receiveSessionModifyResponse(int, android.telecomm.VideoCallProfile, android.telecomm.VideoCallProfile);
- method public void updateCallDataUsage(int);
- method public void updatePeerDimensions(int, int);
+ public class RemoteCallVideoClient implements android.os.IBinder.DeathRecipient {
+ method public void binderDied();
+ method public void handleCallSessionEvent(int) throws android.os.RemoteException;
+ method public void handleCameraCapabilitiesChange(android.telecomm.CallCameraCapabilities) throws android.os.RemoteException;
+ method public void receiveSessionModifyRequest(android.telecomm.VideoCallProfile) throws android.os.RemoteException;
+ method public void receiveSessionModifyResponse(int, android.telecomm.VideoCallProfile, android.telecomm.VideoCallProfile) throws android.os.RemoteException;
+ method public void updateCallDataUsage(int) throws android.os.RemoteException;
+ method public void updatePeerDimensions(int, int) throws android.os.RemoteException;
}
public class RemoteCallVideoProvider {
diff --git a/telecomm/java/android/telecomm/RemoteCallVideoClient.java b/telecomm/java/android/telecomm/RemoteCallVideoClient.java
index 08d1391..8024831 100644
--- a/telecomm/java/android/telecomm/RemoteCallVideoClient.java
+++ b/telecomm/java/android/telecomm/RemoteCallVideoClient.java
@@ -26,20 +26,17 @@
/**
* Remote class to invoke callbacks in InCallUI related to supporting video in calls.
*/
-public class RemoteCallVideoClient {
+public class RemoteCallVideoClient implements IBinder.DeathRecipient {
private final ICallVideoClient mCallVideoClient;
- private IBinder.DeathRecipient mDeathRecipient = new IBinder.DeathRecipient() {
- @Override
- public void binderDied() {
- mCallVideoClient.asBinder().unlinkToDeath(this, 0);
- }
- };
-
- /** {@hide} */
RemoteCallVideoClient(ICallVideoClient callVideoProvider) throws RemoteException {
mCallVideoClient = callVideoProvider;
- mCallVideoClient.asBinder().linkToDeath(mDeathRecipient, 0);
+ mCallVideoClient.asBinder().linkToDeath(this, 0);
+ }
+
+ @Override
+ public void binderDied() {
+ mCallVideoClient.asBinder().unlinkToDeath(this, 0);
}
/**
@@ -52,11 +49,9 @@
*
* @param videoCallProfile The requested video call profile.
*/
- public void receiveSessionModifyRequest(VideoCallProfile videoCallProfile) {
- try {
- mCallVideoClient.receiveSessionModifyRequest(videoCallProfile);
- } catch (RemoteException e) {
- }
+ public void receiveSessionModifyRequest(VideoCallProfile videoCallProfile)
+ throws RemoteException {
+ mCallVideoClient.receiveSessionModifyRequest(videoCallProfile);
}
/**
@@ -71,13 +66,9 @@
* @param requestedProfile The original request which was sent to the remote device.
* @param responseProfile The actual profile changes made by the remote device.
*/
- public void receiveSessionModifyResponse(
- int status, VideoCallProfile requestedProfile, VideoCallProfile responseProfile) {
- try {
- mCallVideoClient.receiveSessionModifyResponse(
- status, requestedProfile, responseProfile);
- } catch (RemoteException e) {
- }
+ public void receiveSessionModifyResponse(int status, VideoCallProfile requestedProfile,
+ VideoCallProfile responseProfile) throws RemoteException {
+ mCallVideoClient.receiveSessionModifyResponse(status, requestedProfile, responseProfile);
}
/**
@@ -90,11 +81,8 @@
*
* @param event The event.
*/
- public void handleCallSessionEvent(int event) {
- try {
- mCallVideoClient.handleCallSessionEvent(event);
- } catch (RemoteException e) {
- }
+ public void handleCallSessionEvent(int event) throws RemoteException {
+ mCallVideoClient.handleCallSessionEvent(event);
}
/**
@@ -104,11 +92,8 @@
* @param width The updated peer video width.
* @param height The updated peer video height.
*/
- public void updatePeerDimensions(int width, int height) {
- try {
- mCallVideoClient.updatePeerDimensions(width, height);
- } catch (RemoteException e) {
- }
+ public void updatePeerDimensions(int width, int height) throws RemoteException {
+ mCallVideoClient.updatePeerDimensions(width, height);
}
/**
@@ -116,11 +101,8 @@
*
* @param dataUsage The updated data usage.
*/
- public void updateCallDataUsage(int dataUsage) {
- try {
- mCallVideoClient.updateCallDataUsage(dataUsage);
- } catch (RemoteException e) {
- }
+ public void updateCallDataUsage(int dataUsage) throws RemoteException {
+ mCallVideoClient.updateCallDataUsage(dataUsage);
}
/**
@@ -128,10 +110,8 @@
*
* @param callCameraCapabilities The changed camera capabilities.
*/
- public void handleCameraCapabilitiesChange(CallCameraCapabilities callCameraCapabilities) {
- try {
- mCallVideoClient.handleCameraCapabilitiesChange(callCameraCapabilities);
- } catch (RemoteException e) {
- }
+ public void handleCameraCapabilitiesChange(CallCameraCapabilities callCameraCapabilities)
+ throws RemoteException {
+ mCallVideoClient.handleCameraCapabilitiesChange(callCameraCapabilities);
}
-}
\ No newline at end of file
+}