diff options
author | Andrew Lee <anwlee@google.com> | 2014-08-11 14:44:18 -0700 |
---|---|---|
committer | Andrew Lee <anwlee@google.com> | 2014-08-12 10:19:05 -0700 |
commit | fe4982c221c8ee734afedc4d005661d9c6c1ac31 (patch) | |
tree | 5afd183511121acafc0a7a9acddc82519b1bfd6b /src/com/android/incallui/AnswerPresenter.java | |
parent | 9ff410b616d3cfeda55b8e0ca157f44ed482cb1c (diff) | |
download | packages_apps_InCallUI-fe4982c221c8ee734afedc4d005661d9c6c1ac31.tar.gz packages_apps_InCallUI-fe4982c221c8ee734afedc4d005661d9c6c1ac31.tar.bz2 packages_apps_InCallUI-fe4982c221c8ee734afedc4d005661d9c6c1ac31.zip |
Add UI/functions to handle a video upgrade request.
+ Move session modification listener into the video call presenter.
+ Add new video accept/reject notification and full-screen UI.
+ Added "handling" which sends session modification response.
Bug: 16657915
Change-Id: I35ff04e383d4938cbfb4e76677730f82557fd918
Diffstat (limited to 'src/com/android/incallui/AnswerPresenter.java')
-rw-r--r-- | src/com/android/incallui/AnswerPresenter.java | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/src/com/android/incallui/AnswerPresenter.java b/src/com/android/incallui/AnswerPresenter.java index 52112de4..0616b7e0 100644 --- a/src/com/android/incallui/AnswerPresenter.java +++ b/src/com/android/incallui/AnswerPresenter.java @@ -16,6 +16,7 @@ package com.android.incallui; +import android.content.Context; import android.telecomm.CallCapabilities; import java.util.List; @@ -36,11 +37,15 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi> super.onUiReady(ui); final CallList calls = CallList.getInstance(); - final Call call = calls.getIncomingCall(); - // TODO: change so that answer presenter never starts up if it's not incoming. + Call call; + call = calls.getIncomingCall(); if (call != null) { processIncomingCall(call); } + call = calls.getVideoUpgradeRequestCall(); + if (call != null) { + processVideoUpgradeRequestCall(call); + } // Listen for incoming calls. calls.addListener(this); @@ -111,6 +116,17 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi> } } + private void processVideoUpgradeRequestCall(Call call) { + mCallId = call.getId(); + mCall = call; + + // Listen for call updates for the current call. + CallList.getInstance().addCallUpdateListener(mCallId, this); + getUi().showAnswerUi(true); + + getUi().showTargets(AnswerFragment.TARGET_SET_FOR_VIDEO_UPGRADE_REQUEST); + } + @Override public void onCallChanged(Call call) { Log.d(this, "onCallStateChange() " + call + " " + this); @@ -126,13 +142,18 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi> } } - public void onAnswer(int videoState) { + public void onAnswer(int videoState, Context context) { if (mCallId == null) { return; } Log.d(this, "onAnswer " + mCallId); - TelecommAdapter.getInstance().answerCall(mCall.getId(), videoState); + if (mCall.getSessionModificationState() + == Call.SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { + InCallPresenter.getInstance().acceptUpgradeRequest(context); + } else { + TelecommAdapter.getInstance().answerCall(mCall.getId(), videoState); + } } /** |