summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/precall/PreCall.java
diff options
context:
space:
mode:
authortwyen <twyen@google.com>2017-11-07 14:19:23 -0800
committerZachary Heidepriem <zachh@google.com>2017-11-11 12:19:01 -0800
commitb0ed171b1c9d5b5d5e686b31be623c99ced15cf0 (patch)
treea2cfecc9e0c1d1e920487a04f1e91acc8e7dfd8b /java/com/android/dialer/precall/PreCall.java
parentfe23fd3894e266095d8c882b8dd66065f7092d5d (diff)
Implement PreCallCoordinator
When the user makes a call, the PreCallCoordinator will get a list of actions to perform from PreCallActionProviderComponent and apply them to the pending CallIntentBuilder, before sending the built intent to telecom Bug: 64216442 Test: PreCallExecutorImplTest PiperOrigin-RevId: 174911537 Change-Id: Ide5ec431d4e6e7879fcdfdbbbd7ea5eed9963b2c
Diffstat (limited to 'java/com/android/dialer/precall/PreCall.java')
-rw-r--r--java/com/android/dialer/precall/PreCall.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/java/com/android/dialer/precall/PreCall.java b/java/com/android/dialer/precall/PreCall.java
new file mode 100644
index 000000000..93fd8e9b6
--- /dev/null
+++ b/java/com/android/dialer/precall/PreCall.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.dialer.precall;
+
+import android.content.Context;
+import android.content.Intent;
+import android.support.annotation.MainThread;
+import android.support.annotation.NonNull;
+import com.android.dialer.callintent.CallIntentBuilder;
+import com.google.common.collect.ImmutableList;
+
+/** Interface to prepare a {@link CallIntentBuilder} before placing the call with telecom. */
+public interface PreCall {
+
+ /**
+ * @return a list of {@link PreCallAction} in execution order for the {@link PreCallCoordinator}
+ * to run.
+ */
+ @NonNull
+ ImmutableList<PreCallAction> getActions();
+
+ /**
+ * @return a intent when started as activity, will perform the pre-call actions and then place a
+ * call. TODO(twyen): if all actions do not require an UI, return a intent that will place the
+ * call directly instead.
+ */
+ @NonNull
+ @MainThread
+ Intent buildIntent(Context context, CallIntentBuilder builder);
+}