summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/answer
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/answer')
-rw-r--r--java/com/android/incallui/answer/impl/AnswerFragment.java12
-rw-r--r--java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java2
-rw-r--r--java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java2
-rw-r--r--java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java2
-rw-r--r--java/com/android/incallui/answer/protocol/AnswerScreen.java2
-rw-r--r--java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java3
6 files changed, 19 insertions, 4 deletions
diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java
index 6be79305d..44310536d 100644
--- a/java/com/android/incallui/answer/impl/AnswerFragment.java
+++ b/java/com/android/incallui/answer/impl/AnswerFragment.java
@@ -216,6 +216,7 @@ public class AnswerFragment extends Fragment
private void performAnswerAndRelease() {
restoreAnswerAndReleaseButtonAnimation();
answerScreenDelegate.onAnswerAndReleaseCall();
+ buttonAcceptClicked = true;
}
private void restoreAnswerAndReleaseButtonAnimation() {
@@ -359,6 +360,11 @@ public class AnswerFragment extends Fragment
}
@Override
+ public boolean isActionTimeout() {
+ return (buttonAcceptClicked || buttonRejectClicked) && answerScreenDelegate.isActionTimeout();
+ }
+
+ @Override
@NonNull
public String getCallId() {
return Assert.isNotNull(getArguments().getString(ARG_CALL_ID));
@@ -526,6 +532,7 @@ public class AnswerFragment extends Fragment
if (!isAdded()) {
return;
}
+ LogUtil.enterBlock("AnswerFragment.updateDataFragment");
Fragment current = getChildFragmentManager().findFragmentById(R.id.incall_data_container);
Fragment newFragment = null;
@@ -542,6 +549,7 @@ public class AnswerFragment extends Fragment
|| !Objects.equals(((MultimediaFragment) current).getSubject(), subject)
|| !Objects.equals(((MultimediaFragment) current).getImageUri(), imageUri)
|| !Objects.equals(((MultimediaFragment) current).getLocation(), location)) {
+ LogUtil.i("AnswerFragment.updateDataFragment", "Replacing multimedia fragment");
// Needs replacement
newFragment =
MultimediaFragment.newInstance(
@@ -553,12 +561,14 @@ public class AnswerFragment extends Fragment
} else if (shouldShowAvatar()) {
// Needs Avatar
if (!(current instanceof AvatarFragment)) {
+ LogUtil.i("AnswerFragment.updateDataFragment", "Replacing avatar fragment");
// Needs replacement
newFragment = new AvatarFragment();
}
} else {
// Needs empty
if (current != null) {
+ LogUtil.i("AnswerFragment.updateDataFragment", "Removing current fragment");
getChildFragmentManager().beginTransaction().remove(current).commitNow();
}
contactGridManager.setAvatarImageView(null, 0, false);
@@ -1021,7 +1031,7 @@ public class AnswerFragment extends Fragment
}
private void updateImportanceBadgeVisibility() {
- if (!isAdded()) {
+ if (!isAdded() || getView() == null) {
return;
}
diff --git a/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java b/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java
index 1d3d7ef22..5e83dfc78 100644
--- a/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java
+++ b/java/com/android/incallui/answer/impl/classifier/HumanInteractionClassifier.java
@@ -20,7 +20,7 @@ import android.content.Context;
import android.hardware.SensorEvent;
import android.util.DisplayMetrics;
import android.view.MotionEvent;
-import com.android.dialer.common.ConfigProviderBindings;
+import com.android.dialer.configprovider.ConfigProviderBindings;
/** An classifier trying to determine whether it is a human interacting with the phone or not. */
class HumanInteractionClassifier extends Classifier {
diff --git a/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java b/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java
index 9c33b5de6..94cf893f0 100644
--- a/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java
+++ b/java/com/android/incallui/answer/impl/hint/AnswerHintFactory.java
@@ -23,8 +23,8 @@ import android.os.Build;
import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.util.DialerUtils;
import com.android.incallui.util.AccessibilityUtil;
diff --git a/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java b/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java
index 3b4512c4f..204c4e131 100644
--- a/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java
+++ b/java/com/android/incallui/answer/impl/hint/PawSecretCodeListener.java
@@ -25,8 +25,8 @@ import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import android.widget.Toast;
import com.android.dialer.common.Assert;
-import com.android.dialer.common.ConfigProviderBindings;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.logging.DialerImpression.Type;
import com.android.dialer.logging.Logger;
import com.android.dialer.util.DialerUtils;
diff --git a/java/com/android/incallui/answer/protocol/AnswerScreen.java b/java/com/android/incallui/answer/protocol/AnswerScreen.java
index 8bcad6e35..5ad500200 100644
--- a/java/com/android/incallui/answer/protocol/AnswerScreen.java
+++ b/java/com/android/incallui/answer/protocol/AnswerScreen.java
@@ -30,6 +30,8 @@ public interface AnswerScreen {
boolean allowAnswerAndRelease();
+ boolean isActionTimeout();
+
void setTextResponses(List<String> textResponses);
boolean hasPendingDialogs();
diff --git a/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java b/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
index 10a3413af..5d2c415ed 100644
--- a/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
+++ b/java/com/android/incallui/answer/protocol/AnswerScreenDelegate.java
@@ -46,4 +46,7 @@ public interface AnswerScreenDelegate {
* @param progress float from -1 to 1. -1 is fully rejected, 1 is fully accepted, and 0 is neutral
*/
void updateWindowBackgroundColor(@FloatRange(from = -1f, to = 1.0f) float progress);
+
+ /** Returns true if any answer/reject action timed out. */
+ boolean isActionTimeout();
}