From 0efc840171da8739359b326249978d0a44df540b Mon Sep 17 00:00:00 2001 From: twyen Date: Tue, 7 Nov 2017 15:39:15 -0800 Subject: Hook up pre-call actions This CL replaces all instance of CallIntentBuilder.build() with PreCall.getIntent(), which when run as an activity, will finish building the intent with user interaction. Bug: 64216442 Test: manual PiperOrigin-RevId: 174924323 Change-Id: If41868df4c7ed078d03bd3431fa85b8947056a01 --- java/com/android/dialer/precall/PreCall.java | 9 +++++++++ java/com/android/dialer/precall/PreCallCoordinator.java | 3 +++ java/com/android/dialer/precall/impl/PreCallCoordinatorImpl.java | 2 -- java/com/android/dialer/precall/impl/PreCallImpl.java | 3 ++- 4 files changed, 14 insertions(+), 3 deletions(-) (limited to 'java/com/android/dialer/precall') diff --git a/java/com/android/dialer/precall/PreCall.java b/java/com/android/dialer/precall/PreCall.java index 93fd8e9b6..4f021f142 100644 --- a/java/com/android/dialer/precall/PreCall.java +++ b/java/com/android/dialer/precall/PreCall.java @@ -21,6 +21,7 @@ import android.content.Intent; import android.support.annotation.MainThread; import android.support.annotation.NonNull; import com.android.dialer.callintent.CallIntentBuilder; +import com.android.dialer.util.DialerUtils; import com.google.common.collect.ImmutableList; /** Interface to prepare a {@link CallIntentBuilder} before placing the call with telecom. */ @@ -41,4 +42,12 @@ public interface PreCall { @NonNull @MainThread Intent buildIntent(Context context, CallIntentBuilder builder); + + static Intent getIntent(Context context, CallIntentBuilder builder) { + return PreCallComponent.get(context).getPreCall().buildIntent(context, builder); + } + + static void start(Context context, CallIntentBuilder builder) { + DialerUtils.startActivityWithErrorToast(context, getIntent(context, builder)); + } } diff --git a/java/com/android/dialer/precall/PreCallCoordinator.java b/java/com/android/dialer/precall/PreCallCoordinator.java index b5e9e8594..40b909a51 100644 --- a/java/com/android/dialer/precall/PreCallCoordinator.java +++ b/java/com/android/dialer/precall/PreCallCoordinator.java @@ -19,6 +19,7 @@ package com.android.dialer.precall; import android.app.Activity; import android.support.annotation.MainThread; import android.support.annotation.NonNull; +import android.support.annotation.VisibleForTesting; import com.android.dialer.callintent.CallIntentBuilder; /** @@ -27,6 +28,8 @@ import com.android.dialer.callintent.CallIntentBuilder; */ public interface PreCallCoordinator { + @VisibleForTesting public String EXTRA_CALL_INTENT_BUILDER = "extra_call_intent_builder"; + @NonNull CallIntentBuilder getBuilder(); diff --git a/java/com/android/dialer/precall/impl/PreCallCoordinatorImpl.java b/java/com/android/dialer/precall/impl/PreCallCoordinatorImpl.java index 25083ef0b..6302a2395 100644 --- a/java/com/android/dialer/precall/impl/PreCallCoordinatorImpl.java +++ b/java/com/android/dialer/precall/impl/PreCallCoordinatorImpl.java @@ -38,8 +38,6 @@ public class PreCallCoordinatorImpl implements PreCallCoordinator { private static final String SAVED_STATE_CURRENT_ACTION = "current_action"; - static final String EXTRA_CALL_INTENT_BUILDER = "extra_call_intent_builder"; - @NonNull private final Activity activity; private CallIntentBuilder builder; diff --git a/java/com/android/dialer/precall/impl/PreCallImpl.java b/java/com/android/dialer/precall/impl/PreCallImpl.java index fc2eff8b1..21c5dc9e2 100644 --- a/java/com/android/dialer/precall/impl/PreCallImpl.java +++ b/java/com/android/dialer/precall/impl/PreCallImpl.java @@ -22,6 +22,7 @@ import android.support.annotation.NonNull; import com.android.dialer.callintent.CallIntentBuilder; import com.android.dialer.precall.PreCall; import com.android.dialer.precall.PreCallAction; +import com.android.dialer.precall.PreCallCoordinator; import com.google.common.collect.ImmutableList; import javax.inject.Inject; @@ -40,7 +41,7 @@ public class PreCallImpl implements PreCall { @Override public Intent buildIntent(Context context, CallIntentBuilder builder) { Intent intent = new Intent(context, PreCallActivity.class); - intent.putExtra(PreCallCoordinatorImpl.EXTRA_CALL_INTENT_BUILDER, builder); + intent.putExtra(PreCallCoordinator.EXTRA_CALL_INTENT_BUILDER, builder); return intent; } } -- cgit v1.2.3