summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/answer/impl/AnswerFragment.java
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-07-10 20:56:34 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-07-10 20:56:34 +0000
commite0dbd9f9074559d73e93aeacc3ba27f65e820670 (patch)
tree7d98ebc6935ef764aa392f340a2dab4b69132d79 /java/com/android/incallui/answer/impl/AnswerFragment.java
parent127998d2dde1014930e10d6dbd8841ab2c8228e4 (diff)
parent57ac221e28cd86ecd2b114ab1a0a9465d1c757de (diff)
Merge changes from topic "ui-update"
* changes: Revert "Ignore display cutout for in call UI." Revert "UI refresh for ringing screen." Revert "Internal change" Revert "UI refresh for voice call screen." Revert "Fix color for disabled button in voice call." Revert "Update style for important call badge." Revert "Change reply with sms to chip." Revert "Update emergency call map and device number UI." Revert "UI refresh for search bar." Revert "UI refersh for status bar." Revert "UI refresh for search fragment." Revert "UI refresh for FAB." Revert "UI refresh for bottom nav bar." Revert "UI refresh for reply with sms bottom sheet." Revert "UI refresh for call log items." Revert "UI Refresh for contacts."
Diffstat (limited to 'java/com/android/incallui/answer/impl/AnswerFragment.java')
-rw-r--r--java/com/android/incallui/answer/impl/AnswerFragment.java77
1 files changed, 36 insertions, 41 deletions
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index 8bfdcbaf6..8d8b08791 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -50,12 +50,11 @@ import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
import android.widget.ImageView;
import android.widget.LinearLayout;
-import android.widget.TextView;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.MathUtil;
-import com.android.dialer.logging.DialerImpression.Type;
+import com.android.dialer.logging.DialerImpression;
import com.android.dialer.logging.Logger;
import com.android.dialer.multimedia.MultimediaData;
import com.android.dialer.telecom.TelecomUtil;
@@ -84,15 +83,15 @@ import com.android.incallui.incalluilock.InCallUiLock;
import com.android.incallui.maps.MapsComponent;
import com.android.incallui.sessiondata.AvatarPresenter;
import com.android.incallui.sessiondata.MultimediaFragment;
-import com.android.incallui.sessiondata.MultimediaFragment.Holder;
+import com.android.incallui.speakeasy.Annotations.SpeakEasyChipResourceId;
import com.android.incallui.speakeasy.SpeakEasyComponent;
import com.android.incallui.util.AccessibilityUtil;
import com.android.incallui.video.protocol.VideoCallScreen;
import com.android.incallui.videotech.utils.VideoUtils;
+import com.google.common.base.Optional;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
-import java.util.Optional;
/** The new version of the incoming call screen. */
@SuppressLint("ClickableViewAccessibility")
@@ -102,7 +101,7 @@ public class AnswerFragment extends Fragment
SmsSheetHolder,
CreateCustomSmsHolder,
AnswerMethodHolder,
- Holder {
+ MultimediaFragment.Holder {
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
static final String ARG_CALL_ID = "call_id";
@@ -433,11 +432,6 @@ public class AnswerFragment extends Fragment
secondaryButton.setFocusable(AccessibilityUtil.isAccessibilityEnabled(getContext()));
secondaryButton.setAccessibilityDelegate(accessibilityDelegate);
- // TODO(wangqi): Remove this when all secondary behavior is migrated to chip button.
- if (secondaryBehavior.equals(SecondaryBehavior.REJECT_WITH_SMS)) {
- secondaryButton.setVisibility(View.INVISIBLE);
- }
-
if (isVideoUpgradeRequest()) {
secondaryButton.setVisibility(View.INVISIBLE);
} else if (isVideoCall()) {
@@ -467,39 +461,26 @@ public class AnswerFragment extends Fragment
});
}
- private void addSecondaryActionChip(
- @DrawableRes int iconRes, @StringRes int textRes, OnClickListener onClickListener) {
- LinearLayout button =
- (LinearLayout)
- getLayoutInflater().inflate(R.layout.secondary_action_chip, chipContainer, false);
-
- ImageView icon = button.findViewById(R.id.secondary_action_icon);
- icon.setImageResource(iconRes);
- TextView text = button.findViewById(R.id.secondary_action_text);
- text.setText(textRes);
- button.setOnClickListener(onClickListener);
- chipContainer.addView(button);
- }
-
/** Initialize chip buttons */
private void initChips() {
- if (allowSpeakEasy()) {
- Optional<Integer> speakEasyIconOptional =
- SpeakEasyComponent.get(getContext()).speakEasyIconResource();
- Optional<Integer> speakEasyTextOptional =
- SpeakEasyComponent.get(getContext()).speakEasyTextResource();
- if (speakEasyIconOptional.isPresent() && speakEasyTextOptional.isPresent()) {
- addSecondaryActionChip(
- speakEasyIconOptional.get(), speakEasyTextOptional.get(), this::performSpeakEasy);
- }
+
+ if (!allowSpeakEasy()) {
+ chipContainer.setVisibility(View.GONE);
+ return;
}
- if (!isVideoCall() && !isVideoUpgradeRequest()) {
- addSecondaryActionChip(
- R.drawable.quantum_ic_message_white_24,
- R.string.call_incoming_reply_with_sms,
- v -> performSecondaryButtonAction());
+ chipContainer.setVisibility(View.VISIBLE);
+
+ @SpeakEasyChipResourceId
+ Optional<Integer> chipLayoutOptional = SpeakEasyComponent.get(getContext()).speakEasyChip();
+ if (chipLayoutOptional.isPresent()) {
+
+ LinearLayout chipLayout =
+ (LinearLayout) getLayoutInflater().inflate(chipLayoutOptional.get(), null);
+
+ chipLayout.setOnClickListener(this::performSpeakEasy);
+
+ chipContainer.addView(chipLayout);
}
- chipContainer.setVisibility(chipContainer.getChildCount() > 0 ? View.VISIBLE : View.GONE);
}
@Override
@@ -899,6 +880,8 @@ public class AnswerFragment extends Fragment
if (primaryCallState != null) {
contactGridManager.setCallState(primaryCallState);
}
+
+ restoreBackgroundMaskColor();
}
@Override
@@ -917,6 +900,12 @@ public class AnswerFragment extends Fragment
@Override
public void onAnswerProgressUpdate(@FloatRange(from = -1f, to = 1f) float answerProgress) {
+ // Don't fade the window background for call waiting or video upgrades. Fading the background
+ // shows the system wallpaper which looks bad because on reject we switch to another call.
+ if (primaryCallState.state() == DialerCallState.INCOMING && !isVideoCall()) {
+ answerScreenDelegate.updateWindowBackgroundColor(answerProgress);
+ }
+
// Fade and scale contact name and video call text
float startDelay = .25f;
// Header progress is zero over positiveAdjustedProgress = [0, startDelay],
@@ -945,6 +934,7 @@ public class AnswerFragment extends Fragment
@Override
public void resetAnswerProgress() {
affordanceHolderLayout.reset(true);
+ restoreBackgroundMaskColor();
}
private void animateEntry(@NonNull View rootView) {
@@ -1005,13 +995,18 @@ public class AnswerFragment extends Fragment
"AnswerFragment.rejectCall",
"Null context when rejecting call. Logger call was skipped");
} else {
- Logger.get(context).logImpression(Type.REJECT_INCOMING_CALL_FROM_ANSWER_SCREEN);
+ Logger.get(context)
+ .logImpression(DialerImpression.Type.REJECT_INCOMING_CALL_FROM_ANSWER_SCREEN);
}
buttonRejectClicked = true;
answerScreenDelegate.onReject();
}
}
+ private void restoreBackgroundMaskColor() {
+ answerScreenDelegate.updateWindowBackgroundColor(0);
+ }
+
private void restoreSwipeHintTexts() {
if (getAnswerMethod() != null) {
if (allowAnswerAndRelease()) {
@@ -1156,7 +1151,7 @@ public class AnswerFragment extends Fragment
public void onViewCreated(View view, @Nullable Bundle bundle) {
super.onViewCreated(view, bundle);
avatarImageView = ((ImageView) view.findViewById(R.id.contactgrid_avatar));
- FragmentUtils.getParentUnsafe(this, Holder.class).updateAvatar(this);
+ FragmentUtils.getParentUnsafe(this, MultimediaFragment.Holder.class).updateAvatar(this);
}
@NonNull