DO NOT MERGE. Allow ConnectionService to ask Telecomm for ringback
Implements the necessary wiring to respondj to a ConnecitonService that
asks Telecomm to play ringbacks on its behalf.
Bug: 15190301
Change-Id: Ic6a6c031aa92df1f3587daf74f24d090cd21245b
diff --git a/src/com/android/telecomm/CallServiceWrapper.java b/src/com/android/telecomm/CallServiceWrapper.java
index 9b96890..9b5e2c3 100644
--- a/src/com/android/telecomm/CallServiceWrapper.java
+++ b/src/com/android/telecomm/CallServiceWrapper.java
@@ -56,6 +56,7 @@
private static final int MSG_SET_DIALING = 6;
private static final int MSG_SET_DISCONNECTED = 7;
private static final int MSG_SET_ON_HOLD = 8;
+ private static final int MSG_SET_REQUESTING_RINGBACK = 9;
private final Handler mHandler = new Handler() {
@Override
@@ -152,6 +153,20 @@
Log.w(this, "setOnHold, unknown call id: %s", msg.obj);
}
break;
+ case MSG_SET_REQUESTING_RINGBACK:
+ SomeArgs args = (SomeArgs) msg.obj;
+ try {
+ call = mCallIdMapper.getCall(args.arg1);
+ boolean ringback = (boolean) args.arg2;
+ if (call != null) {
+ call.setRequestingRingback(ringback);
+ } else {
+ Log.w(this, "setRingback, unknown call id: %s", args.arg1);
+ }
+ } finally {
+ args.recycle();
+ }
+ break;
}
}
};
@@ -227,6 +242,16 @@
mCallIdMapper.checkValidCallId(callId);
mHandler.obtainMessage(MSG_SET_ON_HOLD, callId).sendToTarget();
}
+
+ /** {@inheritDoc} */
+ @Override
+ public void setRequestingRingback(String callId, boolean ringback) {
+ mCallIdMapper.checkValidCallId(callId);
+ SomeArgs args = SomeArgs.obtain();
+ args.arg1 = callId;
+ args.arg2 = ringback;
+ mHandler.obtainMessage(MSG_SET_REQUESTING_RINGBACK, args).sendToTarget();
+ }
}
private final Adapter mAdapter = new Adapter();