summaryrefslogtreecommitdiff
path: root/InCallUI/src/com
diff options
context:
space:
mode:
authorAndrew Lee <anwlee@google.com>2014-07-11 15:50:00 -0700
committerAndrew Lee <anwlee@google.com>2014-07-15 10:54:02 -0700
commitc0be1faf6fa10b7b4ab025012cdffd98a5be7148 (patch)
tree47926d4f151c6cd9a35a7533846623bcbc9dde61 /InCallUI/src/com
parenta39948564946dabae36a7201eb5c28d8941b96c3 (diff)
Show different glowpad options for incoming video call.
- Refactor code be more flexibile/specific in specifying the targets for the glow pad; went from "n-way" labeling of different target sets to more explicit labeling of scenarios, such as "audio without sms". - Add target sets and cases for showing targest in AnswerFragment. - Added new drawable for the target to answer a video call. - Add method to GlowPadView to allow changing the handle (now it may be either a videocamera or phone icon, depending on the scenario). - Add a new video handle for incoming video calls. - TODO: Hook this up to show these glowpads if there is an incoming video call. - Deleted some unused resource files. Bug: 16015750 Change-Id: I77ff08f45f57cd2817866b5d78648af8891bb675
Diffstat (limited to 'InCallUI/src/com')
-rw-r--r--InCallUI/src/com/android/incallui/AnswerFragment.java74
-rw-r--r--InCallUI/src/com/android/incallui/AnswerPresenter.java7
-rw-r--r--InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java13
3 files changed, 67 insertions, 27 deletions
diff --git a/InCallUI/src/com/android/incallui/AnswerFragment.java b/InCallUI/src/com/android/incallui/AnswerFragment.java
index dfc902dc8..371a3ca25 100644
--- a/InCallUI/src/com/android/incallui/AnswerFragment.java
+++ b/InCallUI/src/com/android/incallui/AnswerFragment.java
@@ -44,6 +44,11 @@ import java.util.List;
public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresenter.AnswerUi>
implements GlowPadWrapper.AnswerListener, AnswerPresenter.AnswerUi {
+ public static final int TARGET_SET_FOR_AUDIO_WITHOUT_SMS = 0;
+ public static final int TARGET_SET_FOR_AUDIO_WITH_SMS = 1;
+ public static final int TARGET_SET_FOR_VIDEO_WITHOUT_SMS = 2;
+ public static final int TARGET_SET_FOR_VIDEO_WITH_SMS = 3;
+
/**
* The popup showing the list of canned responses.
*
@@ -112,29 +117,58 @@ public class AnswerFragment extends BaseFragment<AnswerPresenter, AnswerPresente
}
}
+ /**
+ * Sets targets on the glowpad according to target set identified by the parameter.
+ * @param targetSet Integer identifying the set of targets to use.
+ */
@Override
- public void showTextButton(boolean show) {
- final int targetResourceId = show
- ? R.array.incoming_call_widget_3way_targets
- : R.array.incoming_call_widget_2way_targets;
+ public void showTargets(int targetSet) {
+ final int targetResourceId;
+ final int targetDescriptionsResourceId;
+ final int directionDescriptionsResourceId;
+ final int handleDrawableResourceId;
+
+ switch (targetSet) {
+ case TARGET_SET_FOR_AUDIO_WITH_SMS:
+ targetResourceId = R.array.incoming_call_widget_audio_with_sms_targets;
+ targetDescriptionsResourceId =
+ R.array.incoming_call_widget_audio_with_sms_target_descriptions;
+ directionDescriptionsResourceId =
+ R.array.incoming_call_widget_audio_with_sms_direction_descriptions;
+ handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
+ break;
+ case TARGET_SET_FOR_VIDEO_WITHOUT_SMS:
+ targetResourceId = R.array.incoming_call_widget_video_without_sms_targets;
+ targetDescriptionsResourceId =
+ R.array.incoming_call_widget_video_without_sms_target_descriptions;
+ directionDescriptionsResourceId =
+ R.array.incoming_call_widget_video_without_sms_direction_descriptions;
+ handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+ break;
+ case TARGET_SET_FOR_VIDEO_WITH_SMS:
+ targetResourceId = R.array.incoming_call_widget_video_with_sms_targets;
+ targetDescriptionsResourceId =
+ R.array.incoming_call_widget_video_with_sms_target_descriptions;
+ directionDescriptionsResourceId =
+ R.array.incoming_call_widget_video_with_sms_direction_descriptions;
+ handleDrawableResourceId = R.drawable.ic_incall_video_handle;
+ break;
+ case TARGET_SET_FOR_AUDIO_WITHOUT_SMS:
+ default:
+ targetResourceId = R.array.incoming_call_widget_audio_without_sms_targets;
+ targetDescriptionsResourceId =
+ R.array.incoming_call_widget_audio_without_sms_target_descriptions;
+ directionDescriptionsResourceId =
+ R.array.incoming_call_widget_audio_without_sms_direction_descriptions;
+ handleDrawableResourceId = R.drawable.ic_incall_audio_handle;
+ break;
+ }
if (targetResourceId != mGlowpad.getTargetResourceId()) {
- if (show) {
- // Answer, Decline, and Respond via SMS.
- mGlowpad.setTargetResources(targetResourceId);
- mGlowpad.setTargetDescriptionsResourceId(
- R.array.incoming_call_widget_3way_target_descriptions);
- mGlowpad.setDirectionDescriptionsResourceId(
- R.array.incoming_call_widget_3way_direction_descriptions);
- } else {
- // Answer or Decline.
- mGlowpad.setTargetResources(targetResourceId);
- mGlowpad.setTargetDescriptionsResourceId(
- R.array.incoming_call_widget_2way_target_descriptions);
- mGlowpad.setDirectionDescriptionsResourceId(
- R.array.incoming_call_widget_2way_direction_descriptions);
- }
-
+ mGlowpad.setTargetResources(targetResourceId);
+ mGlowpad.setTargetDescriptionsResourceId(targetDescriptionsResourceId);
+ mGlowpad.setDirectionDescriptionsResourceId(directionDescriptionsResourceId);
+ mGlowpad.setHandleDrawable(handleDrawableResourceId);
mGlowpad.reset(false);
}
}
diff --git a/InCallUI/src/com/android/incallui/AnswerPresenter.java b/InCallUI/src/com/android/incallui/AnswerPresenter.java
index 5c7188e28..188fabb52 100644
--- a/InCallUI/src/com/android/incallui/AnswerPresenter.java
+++ b/InCallUI/src/com/android/incallui/AnswerPresenter.java
@@ -94,14 +94,13 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi>
getUi().showAnswerUi(true);
if (call.can(CallCapabilities.RESPOND_VIA_TEXT) && textMsgs != null) {
- getUi().showTextButton(true);
+ getUi().showTargets(AnswerFragment.TARGET_SET_FOR_AUDIO_WITH_SMS);
getUi().configureMessageDialog(textMsgs);
} else {
- getUi().showTextButton(false);
+ getUi().showTargets(AnswerFragment.TARGET_SET_FOR_AUDIO_WITHOUT_SMS);
}
}
-
@Override
public void onCallChanged(Call call) {
Log.d(this, "onCallStateChange() " + call + " " + this);
@@ -154,7 +153,7 @@ public class AnswerPresenter extends Presenter<AnswerPresenter.AnswerUi>
interface AnswerUi extends Ui {
public void showAnswerUi(boolean show);
- public void showTextButton(boolean show);
+ public void showTargets(int targetSet);
public void showMessageDialog();
public void configureMessageDialog(List<String> textResponses);
}
diff --git a/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java b/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java
index e97691bb8..a5733de2c 100644
--- a/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java
+++ b/InCallUI/src/com/android/incallui/widget/multiwaveview/GlowPadView.java
@@ -223,8 +223,7 @@ public class GlowPadView extends View {
mFeedbackCount);
mAllowScaling = a.getBoolean(R.styleable.GlowPadView_allowScaling, false);
TypedValue handle = a.peekValue(R.styleable.GlowPadView_handleDrawable);
- mHandleDrawable = new TargetDrawable(res, handle != null ? handle.resourceId : 0, 2);
- mHandleDrawable.setState(TargetDrawable.STATE_INACTIVE);
+ setHandleDrawable(handle != null ? handle.resourceId : R.drawable.ic_incall_audio_handle);
mOuterRing = new TargetDrawable(res,
getResourceId(a, R.styleable.GlowPadView_outerRingDrawable), 1);
@@ -620,7 +619,6 @@ public class GlowPadView extends View {
updatePointCloudPosition(mWaveCenterX, mWaveCenterY);
}
}
-
/**
* Loads an array of drawables from the given resourceId.
*
@@ -640,6 +638,15 @@ public class GlowPadView extends View {
}
/**
+ * Sets teh handle drawable to the drawable specified by the resource ID.
+ * @param resourceId
+ */
+ public void setHandleDrawable(int resourceId) {
+ mHandleDrawable = new TargetDrawable(getResources(), resourceId, 2);
+ mHandleDrawable.setState(TargetDrawable.STATE_INACTIVE);
+ }
+
+ /**
* Sets the resource id specifying the target descriptions for accessibility.
*
* @param resourceId The resource id.