From 5e685035897403343fc6a005ebf869894c344e13 Mon Sep 17 00:00:00 2001 From: roldenburg Date: Tue, 11 Jul 2017 15:41:00 -0700 Subject: Move VideoShareSession to third_party to remove bad cast in VideoShareManager It was odd that we were casting and was causing some crashes. This CL makes things work more as is typical in Dialer. We previously did not do this because there are some parts of the VideoShareSession which are not open-sourceable. Turns out we can simplify those parts out of the interface. Bug: 63523694 Test: existing tests PiperOrigin-RevId: 161593028 Change-Id: I8f1379fc46f4e9d41413b731787dbf37e0901da9 --- .../dialer/enrichedcall/EnrichedCallManager.java | 9 +++++ .../enrichedcall/stub/EnrichedCallManagerStub.java | 9 +++++ .../videoshare/VideoShareListener.java | 1 + .../enrichedcall/videoshare/VideoShareSession.java | 39 ++++++++++++++++++++++ 4 files changed, 58 insertions(+) create mode 100644 java/com/android/dialer/enrichedcall/videoshare/VideoShareSession.java (limited to 'java/com/android/dialer') diff --git a/java/com/android/dialer/enrichedcall/EnrichedCallManager.java b/java/com/android/dialer/enrichedcall/EnrichedCallManager.java index f1057be1d..4d00854ef 100644 --- a/java/com/android/dialer/enrichedcall/EnrichedCallManager.java +++ b/java/com/android/dialer/enrichedcall/EnrichedCallManager.java @@ -23,6 +23,7 @@ import com.android.dialer.calldetails.CallDetailsEntries; import com.android.dialer.calldetails.CallDetailsEntries.CallDetailsEntry; import com.android.dialer.enrichedcall.historyquery.proto.HistoryResult; import com.android.dialer.enrichedcall.videoshare.VideoShareListener; +import com.android.dialer.enrichedcall.videoshare.VideoShareSession; import com.android.dialer.multimedia.MultimediaData; import java.util.List; import java.util.Map; @@ -298,6 +299,14 @@ public interface EnrichedCallManager { @MainThread long getVideoShareInviteSessionId(@NonNull String number); + /** + * Returns the {@link VideoShareSession} for the given sessionId, or {@code null} if no session + * exists. + */ + @MainThread + @Nullable + VideoShareSession getVideoShareSession(long sessionId); + /** * Ends the given video share session. * diff --git a/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java b/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java index 1f2b00514..de95e0725 100644 --- a/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java +++ b/java/com/android/dialer/enrichedcall/stub/EnrichedCallManagerStub.java @@ -27,6 +27,7 @@ import com.android.dialer.enrichedcall.EnrichedCallManager; import com.android.dialer.enrichedcall.Session; import com.android.dialer.enrichedcall.historyquery.proto.HistoryResult; import com.android.dialer.enrichedcall.videoshare.VideoShareListener; +import com.android.dialer.enrichedcall.videoshare.VideoShareSession; import com.android.dialer.multimedia.MultimediaData; import java.util.Collections; import java.util.List; @@ -169,6 +170,14 @@ public final class EnrichedCallManagerStub implements EnrichedCallManager { return Session.NO_SESSION_ID; } + @MainThread + @Nullable + @Override + public VideoShareSession getVideoShareSession(long sessionId) { + Assert.isMainThread(); + return null; + } + @Override public void endVideoShareSession(long sessionId) {} } diff --git a/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java b/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java index f24724afd..0e5f79f2b 100644 --- a/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java +++ b/java/com/android/dialer/enrichedcall/videoshare/VideoShareListener.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package com.android.dialer.enrichedcall.videoshare; import android.support.annotation.MainThread; diff --git a/java/com/android/dialer/enrichedcall/videoshare/VideoShareSession.java b/java/com/android/dialer/enrichedcall/videoshare/VideoShareSession.java new file mode 100644 index 000000000..b0f24ff28 --- /dev/null +++ b/java/com/android/dialer/enrichedcall/videoshare/VideoShareSession.java @@ -0,0 +1,39 @@ +/* + * 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.enrichedcall.videoshare; + +import android.support.annotation.NonNull; +import android.view.SurfaceView; + +/** Holds state information and data about video share sessions. */ +public interface VideoShareSession { + void setSessionId(long sessionId); + + long getSessionId(); + + int getState(); + + void pause(); + + void unpause(); + + void dispose(); + + void setSurfaceView(@NonNull SurfaceView surfaceView); + + void setCamera(String cameraId); +} -- cgit v1.2.3