summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/enrichedcall
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/enrichedcall')
-rw-r--r--java/com/android/dialer/enrichedcall/EnrichedCallComponent.java3
-rw-r--r--java/com/android/dialer/enrichedcall/EnrichedCallManager.java24
-rw-r--r--java/com/android/dialer/enrichedcall/RcsVideoShareFactory.java (renamed from java/com/android/dialer/enrichedcall/VideoShareSession.java)15
-rw-r--r--java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java25
-rw-r--r--java/com/android/dialer/enrichedcall/stub/StubEnrichedCallModule.java7
5 files changed, 46 insertions, 28 deletions
diff --git a/java/com/android/dialer/enrichedcall/EnrichedCallComponent.java b/java/com/android/dialer/enrichedcall/EnrichedCallComponent.java
index c773a2dfa..2ed2e94dc 100644
--- a/java/com/android/dialer/enrichedcall/EnrichedCallComponent.java
+++ b/java/com/android/dialer/enrichedcall/EnrichedCallComponent.java
@@ -28,6 +28,9 @@ public abstract class EnrichedCallComponent {
@NonNull
public abstract EnrichedCallManager getEnrichedCallManager();
+ @NonNull
+ public abstract RcsVideoShareFactory getRcsVideoShareFactory();
+
public static EnrichedCallComponent get(Context context) {
return ((HasComponent) ((HasRootComponent) context.getApplicationContext()).component())
.enrichedCallComponent();
diff --git a/java/com/android/dialer/enrichedcall/EnrichedCallManager.java b/java/com/android/dialer/enrichedcall/EnrichedCallManager.java
index a36b2cc0d..978fb1346 100644
--- a/java/com/android/dialer/enrichedcall/EnrichedCallManager.java
+++ b/java/com/android/dialer/enrichedcall/EnrichedCallManager.java
@@ -20,7 +20,6 @@ import android.support.annotation.IntDef;
import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import android.support.annotation.WorkerThread;
import com.android.dialer.calldetails.nano.CallDetailsEntries;
import com.android.dialer.calldetails.nano.CallDetailsEntries.CallDetailsEntry;
import com.android.dialer.enrichedcall.historyquery.proto.nano.HistoryResult;
@@ -184,14 +183,23 @@ public interface EnrichedCallManager {
Session getSession(long sessionId);
/**
- * Returns a mapping of enriched call data for all of the given {@link CallDetailsEntries}.
+ * Starts an asynchronous process to get all historical data for the given number and set of
+ * {@link CallDetailsEntries}.
+ */
+ @MainThread
+ void requestAllHistoricalData(@NonNull String number, @NonNull CallDetailsEntries entries);
+
+ /**
+ * Returns a mapping of enriched call data for all of the given {@link CallDetailsEntries}, which
+ * should not be modified. A {@code null} return indicates that clients should call {@link
+ * #requestAllHistoricalData(String, CallDetailsEntries)}.
*
* <p>The mapping is created by finding the HistoryResults whose timestamps occurred during or
* close after a CallDetailsEntry. A CallDetailsEntry can have multiple HistoryResults in the
* event that both a CallComposer message and PostCall message were sent for the same call.
*/
- @WorkerThread
- @NonNull
+ @Nullable
+ @MainThread
Map<CallDetailsEntry, List<HistoryResult>> getAllHistoricalData(
@NonNull String number, @NonNull CallDetailsEntries entries);
@@ -295,12 +303,4 @@ public interface EnrichedCallManager {
*/
@MainThread
void endVideoShareSession(long sessionId);
-
- /**
- * Returns the {@link VideoShareSession} for the given sessionId, or {@code null} if no session
- * exists.
- */
- @MainThread
- @Nullable
- VideoShareSession getVideoShareSession(long sessionId);
}
diff --git a/java/com/android/dialer/enrichedcall/VideoShareSession.java b/java/com/android/dialer/enrichedcall/RcsVideoShareFactory.java
index 07bc4ed09..566d9f339 100644
--- a/java/com/android/dialer/enrichedcall/VideoShareSession.java
+++ b/java/com/android/dialer/enrichedcall/RcsVideoShareFactory.java
@@ -13,8 +13,17 @@
* See the License for the specific language governing permissions and
* limitations under the License
*/
-
package com.android.dialer.enrichedcall;
-/** Holds state information and data about video share sessions. */
-public interface VideoShareSession {}
+import android.support.annotation.NonNull;
+import com.android.incallui.videotech.VideoTech;
+import com.android.incallui.videotech.VideoTech.VideoTechListener;
+
+/** Interface for creating new RCS video tech instances. */
+public interface RcsVideoShareFactory {
+
+ VideoTech newRcsVideoShare(
+ @NonNull EnrichedCallManager enrichedCallManager,
+ @NonNull VideoTechListener videoTechListener,
+ @NonNull String number);
+}
diff --git a/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java b/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java
index 01d1f2aac..bedfdae34 100644
--- a/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java
+++ b/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java
@@ -16,17 +16,15 @@
package com.android.dialer.enrichedcall.stub;
+import android.support.annotation.MainThread;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import android.support.annotation.WorkerThread;
-import android.util.ArrayMap;
import com.android.dialer.calldetails.nano.CallDetailsEntries;
import com.android.dialer.calldetails.nano.CallDetailsEntries.CallDetailsEntry;
import com.android.dialer.common.Assert;
import com.android.dialer.enrichedcall.EnrichedCallCapabilities;
import com.android.dialer.enrichedcall.EnrichedCallManager;
import com.android.dialer.enrichedcall.Session;
-import com.android.dialer.enrichedcall.VideoShareSession;
import com.android.dialer.enrichedcall.historyquery.proto.nano.HistoryResult;
import com.android.dialer.enrichedcall.videoshare.VideoShareListener;
import com.android.dialer.multimedia.MultimediaData;
@@ -86,13 +84,20 @@ public final class EnrichedCallManagerStub implements EnrichedCallManager {
return null;
}
- @NonNull
+ @Nullable
@Override
- @WorkerThread
+ @MainThread
public Map<CallDetailsEntry, List<HistoryResult>> getAllHistoricalData(
@NonNull String number, @NonNull CallDetailsEntries entries) {
- Assert.isWorkerThread();
- return new ArrayMap<>();
+ Assert.isMainThread();
+ return null;
+ }
+
+ @MainThread
+ @Override
+ public void requestAllHistoricalData(
+ @NonNull String number, @NonNull CallDetailsEntries entries) {
+ Assert.isMainThread();
}
@Override
@@ -136,10 +141,4 @@ public final class EnrichedCallManagerStub implements EnrichedCallManager {
@Override
public void endVideoShareSession(long sessionId) {}
-
- @Nullable
- @Override
- public VideoShareSession getVideoShareSession(long sessionId) {
- return null;
- }
}
diff --git a/java/com/android/dialer/enrichedcall/stub/StubEnrichedCallModule.java b/java/com/android/dialer/enrichedcall/stub/StubEnrichedCallModule.java
index 0ec72111e..6ee1a86a9 100644
--- a/java/com/android/dialer/enrichedcall/stub/StubEnrichedCallModule.java
+++ b/java/com/android/dialer/enrichedcall/stub/StubEnrichedCallModule.java
@@ -17,6 +17,7 @@
package com.android.dialer.enrichedcall.stub;
import com.android.dialer.enrichedcall.EnrichedCallManager;
+import com.android.dialer.enrichedcall.RcsVideoShareFactory;
import dagger.Module;
import dagger.Provides;
import javax.inject.Singleton;
@@ -31,5 +32,11 @@ public class StubEnrichedCallModule {
return new EnrichedCallManagerStub();
}
+ @Provides
+ @Singleton
+ static RcsVideoShareFactory providesRcsVideoShareFactory() {
+ return (enrichedCallManager, videoTechListener, number) -> null;
+ }
+
private StubEnrichedCallModule() {}
}