diff options
author | Andrew Lee <anwlee@google.com> | 2015-04-16 21:09:48 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2015-04-16 21:09:48 +0000 |
commit | bf637f2988d67332e56e39578738d6e4cd86df00 (patch) | |
tree | 143c7c544a654c8b37524ca1aa9668c97ec47857 /InCallUI | |
parent | 65a246396debcf45cd5ea934c8d0cb218ef59b26 (diff) | |
parent | dc3122e9d7bc0c6f5fef00bed36bb300c40afadf (diff) |
Show IMS Conference StatusHints in InCall.
automerge: 1838e77
* commit '1838e77845e2ba822bc7f510515b50cf00ddc2a4':
Show IMS Conference StatusHints in InCall.
Diffstat (limited to 'InCallUI')
-rw-r--r-- | InCallUI/res/layout/primary_call_info.xml | 3 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/CallCardFragment.java | 20 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/CallCardPresenter.java | 9 |
3 files changed, 20 insertions, 12 deletions
diff --git a/InCallUI/res/layout/primary_call_info.xml b/InCallUI/res/layout/primary_call_info.xml index 8f0c0e24d..207b95bef 100644 --- a/InCallUI/res/layout/primary_call_info.xml +++ b/InCallUI/res/layout/primary_call_info.xml @@ -44,7 +44,8 @@ <ImageView android:id="@+id/callStateIcon" android:layout_width="16dp" android:layout_height="match_parent" - android:layout_marginEnd="8dp" + android:layout_marginStart="6dp" + android:layout_marginEnd="10dp" android:tint="@color/incall_accent_color" android:alpha="0.0" android:scaleType="center" diff --git a/InCallUI/src/com/android/incallui/CallCardFragment.java b/InCallUI/src/com/android/incallui/CallCardFragment.java index 88ab73a60..c6f61be01 100644 --- a/InCallUI/src/com/android/incallui/CallCardFragment.java +++ b/InCallUI/src/com/android/incallui/CallCardFragment.java @@ -482,10 +482,12 @@ public class CallCardFragment extends BaseFragment<CallCardPresenter, CallCardPr String connectionLabel, Drawable callStateIcon, String gatewayNumber, - boolean isWifi) { + boolean isWifi, + boolean isConference) { boolean isGatewayCall = !TextUtils.isEmpty(gatewayNumber); CharSequence callStateLabel = getCallStateLabelFromState(state, videoState, - sessionModificationState, disconnectCause, connectionLabel, isGatewayCall, isWifi); + sessionModificationState, disconnectCause, connectionLabel, isGatewayCall, isWifi, + isConference); Log.v(this, "setCallState " + callStateLabel); Log.v(this, "DisconnectCause " + disconnectCause.toString()); @@ -651,15 +653,17 @@ public class CallCardFragment extends BaseFragment<CallCardPresenter, CallCardPr * 3. Incoming calls will only display "Incoming via..." for accounts. * 4. Video calls, and session modification states (eg. requesting video). * 5. Incoming and active Wi-Fi calls will show label provided by hint. + * + * TODO: Move this to the CallCardPresenter. */ private CharSequence getCallStateLabelFromState(int state, int videoState, int sessionModificationState, DisconnectCause disconnectCause, String label, - boolean isGatewayCall, boolean isWifi) { + boolean isGatewayCall, boolean isWifi, boolean isConference) { final Context context = getView().getContext(); CharSequence callStateLabel = null; // Label to display as part of the call banner - boolean isSpecialCall = label != null; - boolean isAccount = isSpecialCall && !isGatewayCall; + boolean hasSuggestedLabel = label != null; + boolean isAccount = hasSuggestedLabel && !isGatewayCall; switch (state) { case Call.State.IDLE: @@ -668,7 +672,7 @@ public class CallCardFragment extends BaseFragment<CallCardPresenter, CallCardPr case Call.State.ACTIVE: // We normally don't show a "call state label" at all in this state // (but we can use the call state label to display the provider name). - if (isAccount || isWifi) { + if ((isAccount || isWifi || isConference) && hasSuggestedLabel) { callStateLabel = label; } else if (sessionModificationState == Call.SessionModificationState.REQUEST_FAILED) { @@ -688,7 +692,7 @@ public class CallCardFragment extends BaseFragment<CallCardPresenter, CallCardPr break; case Call.State.CONNECTING: case Call.State.DIALING: - if (isSpecialCall && !isWifi) { + if (hasSuggestedLabel && !isWifi) { callStateLabel = context.getString(R.string.calling_via_template, label); } else { callStateLabel = context.getString(R.string.card_title_dialing); @@ -699,7 +703,7 @@ public class CallCardFragment extends BaseFragment<CallCardPresenter, CallCardPr break; case Call.State.INCOMING: case Call.State.CALL_WAITING: - if (isWifi) { + if (isWifi && hasSuggestedLabel) { callStateLabel = label; } else if (isAccount) { callStateLabel = context.getString(R.string.incoming_via_template, label); diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java index cb17b5e90..89cb659d0 100644 --- a/InCallUI/src/com/android/incallui/CallCardPresenter.java +++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java @@ -244,7 +244,8 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi> null, null, null, - false /* isWifi */); + false /* isWifi */, + false /* isConference */); getUi().showHdAudioIndicator(false); } @@ -291,7 +292,8 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi> getConnectionLabel(), getCallStateIcon(), getGatewayNumber(), - primaryCallCan(Details.CAPABILITY_WIFI)); + primaryCallCan(Details.CAPABILITY_WIFI), + mPrimary.isConferenceCall()); boolean showHdAudioIndicator = isPrimaryCallActive() && primaryCallCan(Details.CAPABILITY_HIGH_DEF_AUDIO); @@ -762,7 +764,8 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi> String providerLabel, boolean isConference, boolean isVideoCall); void setCallState(int state, int videoState, int sessionModificationState, DisconnectCause disconnectCause, String connectionLabel, - Drawable connectionIcon, String gatewayNumber, boolean isWifi); + Drawable connectionIcon, String gatewayNumber, boolean isWifi, + boolean isConference); void setPrimaryCallElapsedTime(boolean show, long duration); void setPrimaryName(String name, boolean nameIsNumber); void setPrimaryImage(Drawable image); |