More fixes for Connection and RemoteConnection
Various clean ups and fixes:
- allow remote connection to have audio set
- allow remote connection to have abort
- move onPostDialWait from ConnectionService to Connection
- hide APIs we don't need
Change-Id: Ib2d0b40f2e9e7a6b5fbf5d6db48b509b7db3c906
diff --git a/telecomm/java/android/telecomm/RemoteConnection.java b/telecomm/java/android/telecomm/RemoteConnection.java
index 92db0d8..a159dee 100644
--- a/telecomm/java/android/telecomm/RemoteConnection.java
+++ b/telecomm/java/android/telecomm/RemoteConnection.java
@@ -33,7 +33,6 @@
public final class RemoteConnection {
public interface Listener {
void onStateChanged(RemoteConnection connection, int state);
- void onAudioStateChanged(RemoteConnection connection, CallAudioState state);
void onDisconnected(RemoteConnection connection, int cause, String message);
void onRequestingRingback(RemoteConnection connection, boolean ringback);
void onPostDialWait(RemoteConnection connection, String remainingDigits);
@@ -76,6 +75,15 @@
return mDisconnectMessage;
}
+ public void abort() {
+ try {
+ if (mConnected) {
+ mCallService.abort(mConnectionId);
+ }
+ } catch (RemoteException ignored) {
+ }
+ }
+
public void answer() {
try {
if (mConnected) {
@@ -148,6 +156,15 @@
}
}
+ public void setAudioState(CallAudioState state) {
+ try {
+ if (mConnected) {
+ mCallService.onAudioStateChanged(mConnectionId, state);
+ }
+ } catch (RemoteException ignored) {
+ }
+ }
+
/**
* @hide
*/
@@ -163,15 +180,6 @@
/**
* @hide
*/
- void setAudioState(CallAudioState state) {
- for (Listener l: mListeners) {
- l.onAudioStateChanged(this, state);
- }
- }
-
- /**
- * @hide
- */
void setDisconnected(int cause, String message) {
if (mState != Connection.State.DISCONNECTED) {
mState = Connection.State.DISCONNECTED;