summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/com/android/dialer/theme/res/values/colors.xml2
-rw-r--r--java/com/android/dialer/theme/res/values/dimens.xml3
-rw-r--r--java/com/android/incallui/ConferenceParticipantListAdapter.java56
-rw-r--r--java/com/android/incallui/call/DialerCall.java4
-rw-r--r--java/com/android/incallui/res/layout/caller_in_conference.xml9
5 files changed, 72 insertions, 2 deletions
diff --git a/java/com/android/dialer/theme/res/values/colors.xml b/java/com/android/dialer/theme/res/values/colors.xml
index 0e6f54fb6..3c8cabbc5 100644
--- a/java/com/android/dialer/theme/res/values/colors.xml
+++ b/java/com/android/dialer/theme/res/values/colors.xml
@@ -42,6 +42,8 @@
<!-- Secondary text color in the Phone app -->
<color name="dialer_secondary_text_color">#636363</color>
+ <!-- 38% opacity -->
+ <color name="dialer_secondary_text_color_hiden">#61000000</color>
<!-- Color of the theme of the Dialer app -->
<color name="dialtacts_theme_color">@color/dialer_theme_color</color>
diff --git a/java/com/android/dialer/theme/res/values/dimens.xml b/java/com/android/dialer/theme/res/values/dimens.xml
index ee52c97e6..972cb535c 100644
--- a/java/com/android/dialer/theme/res/values/dimens.xml
+++ b/java/com/android/dialer/theme/res/values/dimens.xml
@@ -38,4 +38,7 @@
<dimen name="actionbar_contentInsetStart">72dp</dimen>
<dimen name="call_log_icon_margin">2dp</dimen>
+
+ <item name="alpha_enabled" format="float" type="dimen">1.0</item>
+ <item name="alpha_hiden" format="float" type="dimen">0.54</item>
</resources>
diff --git a/java/com/android/incallui/ConferenceParticipantListAdapter.java b/java/com/android/incallui/ConferenceParticipantListAdapter.java
index 70cdf245f..d0f488501 100644
--- a/java/com/android/incallui/ConferenceParticipantListAdapter.java
+++ b/java/com/android/incallui/ConferenceParticipantListAdapter.java
@@ -24,6 +24,7 @@ import android.text.BidiFormatter;
import android.text.TextDirectionHeuristics;
import android.text.TextUtils;
import android.util.ArraySet;
+import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -245,7 +246,8 @@ public class ConferenceParticipantListAdapter extends BaseAdapter {
contactCache.lookupKey,
contactCache.displayPhotoUri,
thisRowCanSeparate,
- thisRowCanDisconnect);
+ thisRowCanDisconnect,
+ call.getNonConferenceState());
// Tag the row in the conference participant list with the call id to make it easier to
// find calls when contact cache information is loaded.
@@ -290,9 +292,11 @@ public class ConferenceParticipantListAdapter extends BaseAdapter {
String lookupKey,
Uri photoUri,
boolean thisRowCanSeparate,
- boolean thisRowCanDisconnect) {
+ boolean thisRowCanDisconnect,
+ int callState) {
final ImageView photoView = (ImageView) view.findViewById(R.id.callerPhoto);
+ final TextView statusTextView = (TextView) view.findViewById(R.id.conferenceCallerStatus);
final TextView nameTextView = (TextView) view.findViewById(R.id.conferenceCallerName);
final TextView numberTextView = (TextView) view.findViewById(R.id.conferenceCallerNumber);
final TextView numberTypeTextView =
@@ -300,6 +304,13 @@ public class ConferenceParticipantListAdapter extends BaseAdapter {
final View endButton = view.findViewById(R.id.conferenceCallerDisconnect);
final View separateButton = view.findViewById(R.id.conferenceCallerSeparate);
+ if (callState == DialerCall.State.ONHOLD) {
+ setViewsOnHold(photoView, statusTextView, nameTextView, numberTextView, numberTypeTextView);
+ } else {
+ setViewsNotOnHold(
+ photoView, statusTextView, nameTextView, numberTextView, numberTypeTextView);
+ }
+
endButton.setVisibility(thisRowCanDisconnect ? View.VISIBLE : View.GONE);
if (thisRowCanDisconnect) {
endButton.setOnClickListener(mDisconnectListener);
@@ -338,6 +349,47 @@ public class ConferenceParticipantListAdapter extends BaseAdapter {
}
}
+ private void setViewsOnHold(
+ ImageView photoView,
+ TextView statusTextView,
+ TextView nameTextView,
+ TextView numberTextView,
+ TextView numberTypeTextView) {
+ CharSequence onHoldText =
+ TextUtils.concat(getContext().getText(R.string.notification_on_hold).toString(), " • ");
+ statusTextView.setText(onHoldText);
+ statusTextView.setVisibility(View.VISIBLE);
+
+ int onHoldColor = getContext().getColor(R.color.dialer_secondary_text_color_hiden);
+ nameTextView.setTextColor(onHoldColor);
+ numberTextView.setTextColor(onHoldColor);
+ numberTypeTextView.setTextColor(onHoldColor);
+
+ TypedValue alpha = new TypedValue();
+ getContext().getResources().getValue(R.dimen.alpha_hiden, alpha, true);
+ photoView.setAlpha(alpha.getFloat());
+ }
+
+ private void setViewsNotOnHold(
+ ImageView photoView,
+ TextView statusTextView,
+ TextView nameTextView,
+ TextView numberTextView,
+ TextView numberTypeTextView) {
+ statusTextView.setVisibility(View.GONE);
+
+ nameTextView.setTextColor(
+ getContext().getColor(R.color.conference_call_manager_caller_name_text_color));
+ numberTextView.setTextColor(
+ getContext().getColor(R.color.conference_call_manager_secondary_text_color));
+ numberTypeTextView.setTextColor(
+ getContext().getColor(R.color.conference_call_manager_secondary_text_color));
+
+ TypedValue alpha = new TypedValue();
+ getContext().getResources().getValue(R.dimen.alpha_enabled, alpha, true);
+ photoView.setAlpha(alpha.getFloat());
+ }
+
/**
* Updates the participant info list which is bound to the ListView. Stores the call and contact
* info for all entries. The list is sorted alphabetically by participant name.
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 82a29ee84..d393b4211 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -706,6 +706,10 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa
}
}
+ public int getNonConferenceState() {
+ return mState;
+ }
+
public void setState(int state) {
if (state == State.INCOMING) {
mLogState.isIncoming = true;
diff --git a/java/com/android/incallui/res/layout/caller_in_conference.xml b/java/com/android/incallui/res/layout/caller_in_conference.xml
index 4f4b2f043..37918188f 100644
--- a/java/com/android/incallui/res/layout/caller_in_conference.xml
+++ b/java/com/android/incallui/res/layout/caller_in_conference.xml
@@ -62,6 +62,15 @@
android:gravity="bottom"
android:orientation="horizontal">
+ <!-- Status (only support on hold now) -->
+ <TextView
+ android:id="@+id/conferenceCallerStatus"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/SecondaryText"
+ android:textColor="@color/dialer_secondary_text_color_hiden"
+ android:visibility="gone"/>
+
<!-- Number -->
<TextView
android:id="@+id/conferenceCallerNumber"