diff options
| -rw-r--r-- | api/current.txt | 30 | ||||
| -rw-r--r-- | api/system-current.txt | 30 | ||||
| -rw-r--r-- | telecomm/java/android/telecom/RemoteConnection.java | 47 |
3 files changed, 81 insertions, 26 deletions
diff --git a/api/current.txt b/api/current.txt index 774374ef6018..de75e03fd48c 100644 --- a/api/current.txt +++ b/api/current.txt @@ -30418,6 +30418,8 @@ package android.telecom { method public final android.os.Bundle getExtras(); method public int getState(); method public android.telecom.StatusHints getStatusHints(); + method public final android.telecom.RemoteConnection.VideoProvider getVideoProvider(); + method public int getVideoState(); method public void hold(); method public boolean isRingbackRequested(); method public boolean isVoipAudioMode(); @@ -30447,9 +30449,37 @@ package android.telecom { method public void onRingbackRequested(android.telecom.RemoteConnection, boolean); method public void onStateChanged(android.telecom.RemoteConnection, int); method public void onStatusHintsChanged(android.telecom.RemoteConnection, android.telecom.StatusHints); + method public void onVideoProviderChanged(android.telecom.RemoteConnection, android.telecom.RemoteConnection.VideoProvider); + method public void onVideoStateChanged(android.telecom.RemoteConnection, int); method public void onVoipAudioChanged(android.telecom.RemoteConnection, boolean); } + public static class RemoteConnection.VideoProvider { + method public void registerCallback(android.telecom.RemoteConnection.VideoProvider.Callback); + method public void requestCallDataUsage(); + method public void requestCameraCapabilities(); + method public void sendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile); + method public void sendSessionModifyResponse(android.telecom.VideoProfile); + method public void setCamera(java.lang.String); + method public void setDeviceOrientation(int); + method public void setDisplaySurface(android.view.Surface); + method public void setPauseImage(android.net.Uri); + method public void setPreviewSurface(android.view.Surface); + method public void setZoom(float); + method public void unregisterCallback(android.telecom.RemoteConnection.VideoProvider.Callback); + } + + public static abstract class RemoteConnection.VideoProvider.Callback { + ctor public RemoteConnection.VideoProvider.Callback(); + method public void onCallDataUsageChanged(android.telecom.RemoteConnection.VideoProvider, long); + method public void onCallSessionEvent(android.telecom.RemoteConnection.VideoProvider, int); + method public void onCameraCapabilitiesChanged(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile.CameraCapabilities); + method public void onPeerDimensionsChanged(android.telecom.RemoteConnection.VideoProvider, int, int); + method public void onSessionModifyRequestReceived(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile); + method public void onSessionModifyResponseReceived(android.telecom.RemoteConnection.VideoProvider, int, android.telecom.VideoProfile, android.telecom.VideoProfile); + method public void onVideoQualityChanged(android.telecom.RemoteConnection.VideoProvider, int); + } + public final class StatusHints implements android.os.Parcelable { ctor public StatusHints(java.lang.CharSequence, android.graphics.drawable.Icon, android.os.Bundle); method public int describeContents(); diff --git a/api/system-current.txt b/api/system-current.txt index d75a9a08069d..e6a57df7fdc6 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -32602,6 +32602,8 @@ package android.telecom { method public final android.os.Bundle getExtras(); method public int getState(); method public android.telecom.StatusHints getStatusHints(); + method public final android.telecom.RemoteConnection.VideoProvider getVideoProvider(); + method public int getVideoState(); method public void hold(); method public boolean isRingbackRequested(); method public boolean isVoipAudioMode(); @@ -32632,9 +32634,37 @@ package android.telecom { method public void onRingbackRequested(android.telecom.RemoteConnection, boolean); method public void onStateChanged(android.telecom.RemoteConnection, int); method public void onStatusHintsChanged(android.telecom.RemoteConnection, android.telecom.StatusHints); + method public void onVideoProviderChanged(android.telecom.RemoteConnection, android.telecom.RemoteConnection.VideoProvider); + method public void onVideoStateChanged(android.telecom.RemoteConnection, int); method public void onVoipAudioChanged(android.telecom.RemoteConnection, boolean); } + public static class RemoteConnection.VideoProvider { + method public void registerCallback(android.telecom.RemoteConnection.VideoProvider.Callback); + method public void requestCallDataUsage(); + method public void requestCameraCapabilities(); + method public void sendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile); + method public void sendSessionModifyResponse(android.telecom.VideoProfile); + method public void setCamera(java.lang.String); + method public void setDeviceOrientation(int); + method public void setDisplaySurface(android.view.Surface); + method public void setPauseImage(android.net.Uri); + method public void setPreviewSurface(android.view.Surface); + method public void setZoom(float); + method public void unregisterCallback(android.telecom.RemoteConnection.VideoProvider.Callback); + } + + public static abstract class RemoteConnection.VideoProvider.Callback { + ctor public RemoteConnection.VideoProvider.Callback(); + method public void onCallDataUsageChanged(android.telecom.RemoteConnection.VideoProvider, long); + method public void onCallSessionEvent(android.telecom.RemoteConnection.VideoProvider, int); + method public void onCameraCapabilitiesChanged(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile.CameraCapabilities); + method public void onPeerDimensionsChanged(android.telecom.RemoteConnection.VideoProvider, int, int); + method public void onSessionModifyRequestReceived(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile); + method public void onSessionModifyResponseReceived(android.telecom.RemoteConnection.VideoProvider, int, android.telecom.VideoProfile, android.telecom.VideoProfile); + method public void onVideoQualityChanged(android.telecom.RemoteConnection.VideoProvider, int); + } + public final class StatusHints implements android.os.Parcelable { ctor public deprecated StatusHints(android.content.ComponentName, java.lang.CharSequence, int, android.os.Bundle); ctor public StatusHints(java.lang.CharSequence, android.graphics.drawable.Icon, android.os.Bundle); diff --git a/telecomm/java/android/telecom/RemoteConnection.java b/telecomm/java/android/telecom/RemoteConnection.java index 9003ed173d54..2feb3804ecaf 100644 --- a/telecomm/java/android/telecom/RemoteConnection.java +++ b/telecomm/java/android/telecom/RemoteConnection.java @@ -152,7 +152,6 @@ public final class RemoteConnection { * * @param connection The {@code RemoteConnection} invoking this method. * @param videoState The new video state of the {@code RemoteConnection}. - * @hide */ public void onVideoStateChanged(RemoteConnection connection, int videoState) {} @@ -183,7 +182,6 @@ public final class RemoteConnection { * @param connection The {@code RemoteConnection} invoking this method. * @param videoProvider The new {@code VideoProvider} associated with this * {@code RemoteConnection}. - * @hide */ public void onVideoProviderChanged( RemoteConnection connection, VideoProvider videoProvider) {} @@ -209,21 +207,20 @@ public final class RemoteConnection { public void onExtrasChanged(RemoteConnection connection, @Nullable Bundle extras) {} } - /** @hide */ public static class VideoProvider { - public abstract static class Listener { - public void onReceiveSessionModifyRequest( + public abstract static class Callback { + public void onSessionModifyRequestReceived( VideoProvider videoProvider, VideoProfile videoProfile) {} - public void onReceiveSessionModifyResponse( + public void onSessionModifyResponseReceived( VideoProvider videoProvider, int status, VideoProfile requestedProfile, VideoProfile responseProfile) {} - public void onHandleCallSessionEvent(VideoProvider videoProvider, int event) {} + public void onCallSessionEvent(VideoProvider videoProvider, int event) {} public void onPeerDimensionsChanged(VideoProvider videoProvider, int width, int height) {} @@ -239,16 +236,16 @@ public final class RemoteConnection { private final IVideoCallback mVideoCallbackDelegate = new IVideoCallback() { @Override public void receiveSessionModifyRequest(VideoProfile videoProfile) { - for (Listener l : mListeners) { - l.onReceiveSessionModifyRequest(VideoProvider.this, videoProfile); + for (Callback l : mCallbacks) { + l.onSessionModifyRequestReceived(VideoProvider.this, videoProfile); } } @Override public void receiveSessionModifyResponse(int status, VideoProfile requestedProfile, VideoProfile responseProfile) { - for (Listener l : mListeners) { - l.onReceiveSessionModifyResponse( + for (Callback l : mCallbacks) { + l.onSessionModifyResponseReceived( VideoProvider.this, status, requestedProfile, @@ -258,21 +255,21 @@ public final class RemoteConnection { @Override public void handleCallSessionEvent(int event) { - for (Listener l : mListeners) { - l.onHandleCallSessionEvent(VideoProvider.this, event); + for (Callback l : mCallbacks) { + l.onCallSessionEvent(VideoProvider.this, event); } } @Override public void changePeerDimensions(int width, int height) { - for (Listener l : mListeners) { + for (Callback l : mCallbacks) { l.onPeerDimensionsChanged(VideoProvider.this, width, height); } } @Override public void changeCallDataUsage(long dataUsage) { - for (Listener l : mListeners) { + for (Callback l : mCallbacks) { l.onCallDataUsageChanged(VideoProvider.this, dataUsage); } } @@ -280,14 +277,14 @@ public final class RemoteConnection { @Override public void changeCameraCapabilities( VideoProfile.CameraCapabilities cameraCapabilities) { - for (Listener l : mListeners) { + for (Callback l : mCallbacks) { l.onCameraCapabilitiesChanged(VideoProvider.this, cameraCapabilities); } } @Override public void changeVideoQuality(int videoQuality) { - for (Listener l : mListeners) { + for (Callback l : mCallbacks) { l.onVideoQualityChanged(VideoProvider.this, videoQuality); } } @@ -308,10 +305,10 @@ public final class RemoteConnection { * load factor before resizing, 1 means we only expect a single thread to * access the map so make only a single shard */ - private final Set<Listener> mListeners = Collections.newSetFromMap( - new ConcurrentHashMap<Listener, Boolean>(8, 0.9f, 1)); + private final Set<Callback> mCallbacks = Collections.newSetFromMap( + new ConcurrentHashMap<Callback, Boolean>(8, 0.9f, 1)); - public VideoProvider(IVideoProvider videoProviderBinder) { + VideoProvider(IVideoProvider videoProviderBinder) { mVideoProviderBinder = videoProviderBinder; try { mVideoProviderBinder.addVideoCallback(mVideoCallbackServant.getStub().asBinder()); @@ -319,12 +316,12 @@ public final class RemoteConnection { } } - public void addListener(Listener l) { - mListeners.add(l); + public void registerCallback(Callback l) { + mCallbacks.add(l); } - public void removeListener(Listener l) { - mListeners.remove(l); + public void unregisterCallback(Callback l) { + mCallbacks.remove(l); } public void setCamera(String cameraId) { @@ -609,7 +606,6 @@ public final class RemoteConnection { * Obtains the video state of this {@code RemoteConnection}. * * @return The video state of the {@code RemoteConnection}. See {@link VideoProfile.VideoState}. - * @hide */ public int getVideoState() { return mVideoState; @@ -618,7 +614,6 @@ public final class RemoteConnection { /** * Obtains the video provider of this {@code RemoteConnection}. * @return The video provider associated with this {@code RemoteConnection}. - * @hide */ public final VideoProvider getVideoProvider() { return mVideoProvider; |