diff options
author | roldenburg <roldenburg@google.com> | 2017-07-11 15:41:00 -0700 |
---|---|---|
committer | Eric Erfanian <erfanian@google.com> | 2017-07-12 09:42:17 -0700 |
commit | 5e685035897403343fc6a005ebf869894c344e13 (patch) | |
tree | c7593cdd45ef87d3b5a18265194601761f8e0480 /java | |
parent | a33fbaf4077f712253e8ba62f491d095c8cbc82c (diff) |
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
Diffstat (limited to 'java')
4 files changed, 58 insertions, 0 deletions
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; @@ -299,6 +300,14 @@ public interface EnrichedCallManager { 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. * * @param sessionId the id of the session to end 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); +} |