summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--InCallUI/res/layout/primary_call_info.xml3
-rw-r--r--InCallUI/src/com/android/incallui/CallCardFragment.java20
-rw-r--r--InCallUI/src/com/android/incallui/CallCardPresenter.java9
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 28f449b93..4fa9d7ec7 100644
--- a/InCallUI/src/com/android/incallui/CallCardFragment.java
+++ b/InCallUI/src/com/android/incallui/CallCardFragment.java
@@ -489,10 +489,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());
@@ -658,15 +660,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:
@@ -675,7 +679,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) {
@@ -692,7 +696,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);
@@ -703,7 +707,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 d7e39d8c9..d89052341 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);
}
@@ -300,7 +301,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);
@@ -738,7 +740,8 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi>
String providerLabel, boolean isConference);
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);