diff options
author | Andrew Lee <anwlee@google.com> | 2014-07-29 20:37:09 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-07-24 15:37:54 +0000 |
commit | 8b4eae77538b0ffcc3835ee908e495ad8c8b4f5b (patch) | |
tree | 03ca2b489a84517b6956a16ef54d134aabb4413f | |
parent | 489d2dfc2931dcf51358fd51e4bee6901bff30ac (diff) | |
parent | 48332d622b138aeb3a198efe29bb3d4705411f62 (diff) | |
download | frameworks_base-8b4eae77538b0ffcc3835ee908e495ad8c8b4f5b.zip frameworks_base-8b4eae77538b0ffcc3835ee908e495ad8c8b4f5b.tar.gz frameworks_base-8b4eae77538b0ffcc3835ee908e495ad8c8b4f5b.tar.bz2 |
Merge "Convert VideoState into an inner class." into lmp-dev
-rw-r--r-- | api/current.txt | 19 | ||||
-rw-r--r-- | telecomm/java/android/telecomm/Connection.java | 16 | ||||
-rw-r--r-- | telecomm/java/android/telecomm/ConnectionRequest.java | 8 | ||||
-rw-r--r-- | telecomm/java/android/telecomm/TelecommManager.java | 8 | ||||
-rw-r--r-- | telecomm/java/android/telecomm/VideoCallProfile.java | 127 | ||||
-rw-r--r-- | telephony/java/com/android/ims/ImsCallProfile.java | 20 |
6 files changed, 134 insertions, 64 deletions
diff --git a/api/current.txt b/api/current.txt index cb02599..639cb75 100644 --- a/api/current.txt +++ b/api/current.txt @@ -28996,11 +28996,20 @@ package android.telecomm { field public static final int QUALITY_HIGH = 1; // 0x1 field public static final int QUALITY_LOW = 3; // 0x3 field public static final int QUALITY_MEDIUM = 2; // 0x2 - field public static final int VIDEO_STATE_AUDIO_ONLY = 0; // 0x0 - field public static final int VIDEO_STATE_BIDIRECTIONAL = 3; // 0x3 - field public static final int VIDEO_STATE_PAUSED = 4; // 0x4 - field public static final int VIDEO_STATE_RX_ENABLED = 2; // 0x2 - field public static final int VIDEO_STATE_TX_ENABLED = 1; // 0x1 + } + + public static class VideoCallProfile.VideoState { + ctor public VideoCallProfile.VideoState(); + method public static boolean isAudioOnly(int); + method public static boolean isPaused(int); + method public static boolean isReceptionEnabled(int); + method public static boolean isBidirectional(int); + method public static boolean isTransmissionEnabled(int); + field public static final int AUDIO_ONLY = 0; // 0x0 + field public static final int BIDIRECTIONAL = 3; // 0x3 + field public static final int PAUSED = 4; // 0x4 + field public static final int RX_ENABLED = 2; // 0x2 + field public static final int TX_ENABLED = 1; // 0x1 } } diff --git a/telecomm/java/android/telecomm/Connection.java b/telecomm/java/android/telecomm/Connection.java index 7123e09..8845821 100644 --- a/telecomm/java/android/telecomm/Connection.java +++ b/telecomm/java/android/telecomm/Connection.java @@ -130,10 +130,10 @@ public abstract class Connection { /** * Returns the video state of the call. - * Valid values: {@link android.telecomm.VideoCallProfile#VIDEO_STATE_AUDIO_ONLY}, - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_BIDIRECTIONAL}, - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_TX_ENABLED}, - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_RX_ENABLED}. + * Valid values: {@link android.telecomm.VideoCallProfile.VideoState#AUDIO_ONLY}, + * {@link android.telecomm.VideoCallProfile.VideoState#BIDIRECTIONAL}, + * {@link android.telecomm.VideoCallProfile.VideoState#TX_ENABLED}, + * {@link android.telecomm.VideoCallProfile.VideoState#RX_ENABLED}. * * @return The video state of the call. */ @@ -357,10 +357,10 @@ public abstract class Connection { /** * Set the video state for the connection. - * Valid values: {@link android.telecomm.VideoCallProfile#VIDEO_STATE_AUDIO_ONLY}, - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_BIDIRECTIONAL}, - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_TX_ENABLED}, - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_RX_ENABLED}. + * Valid values: {@link android.telecomm.VideoCallProfile.VideoState#AUDIO_ONLY}, + * {@link android.telecomm.VideoCallProfile.VideoState#BIDIRECTIONAL}, + * {@link android.telecomm.VideoCallProfile.VideoState#TX_ENABLED}, + * {@link android.telecomm.VideoCallProfile.VideoState#RX_ENABLED}. * * @param videoState The new video state. */ diff --git a/telecomm/java/android/telecomm/ConnectionRequest.java b/telecomm/java/android/telecomm/ConnectionRequest.java index 020b692..1016091 100644 --- a/telecomm/java/android/telecomm/ConnectionRequest.java +++ b/telecomm/java/android/telecomm/ConnectionRequest.java @@ -101,10 +101,10 @@ public final class ConnectionRequest implements Parcelable { /** * Determines the video state for the connection. - * Valid values: {@link VideoCallProfile#VIDEO_STATE_AUDIO_ONLY}, - * {@link VideoCallProfile#VIDEO_STATE_BIDIRECTIONAL}, - * {@link VideoCallProfile#VIDEO_STATE_TX_ENABLED}, - * {@link VideoCallProfile#VIDEO_STATE_RX_ENABLED}. + * Valid values: {@link VideoCallProfile.VideoState#AUDIO_ONLY}, + * {@link VideoCallProfile.VideoState#BIDIRECTIONAL}, + * {@link VideoCallProfile.VideoState#TX_ENABLED}, + * {@link VideoCallProfile.VideoState#RX_ENABLED}. * * @return The video state for the connection. */ diff --git a/telecomm/java/android/telecomm/TelecommManager.java b/telecomm/java/android/telecomm/TelecommManager.java index 49f95a6..0f31c52 100644 --- a/telecomm/java/android/telecomm/TelecommManager.java +++ b/telecomm/java/android/telecomm/TelecommManager.java @@ -72,10 +72,10 @@ public class TelecommManager { * Optional extra for {@link android.content.Intent#ACTION_CALL} containing an integer that * determines the desired video state for an outgoing call. * Valid options: - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_AUDIO_ONLY}, - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_BIDIRECTIONAL}, - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_RX_ENABLED}, - * {@link android.telecomm.VideoCallProfile#VIDEO_STATE_TX_ENABLED}. + * {@link android.telecomm.VideoCallProfile.VideoState#AUDIO_ONLY}, + * {@link android.telecomm.VideoCallProfile.VideoState#BIDIRECTIONAL}, + * {@link android.telecomm.VideoCallProfile.VideoState#RX_ENABLED}, + * {@link android.telecomm.VideoCallProfile.VideoState#TX_ENABLED}. */ public static final String EXTRA_START_CALL_WITH_VIDEO_STATE = "android.intent.extra.START_CALL_WITH_VIDEO_STATE"; diff --git a/telecomm/java/android/telecomm/VideoCallProfile.java b/telecomm/java/android/telecomm/VideoCallProfile.java index 5b15e4a..24c6996 100644 --- a/telecomm/java/android/telecomm/VideoCallProfile.java +++ b/telecomm/java/android/telecomm/VideoCallProfile.java @@ -24,32 +24,6 @@ import android.os.Parcelable; */ public class VideoCallProfile implements Parcelable { /** - * Call is currently in an audio-only mode with no video transmission or receipt. - */ - public static final int VIDEO_STATE_AUDIO_ONLY = 0x0; - - /** - * Video transmission is enabled. - */ - public static final int VIDEO_STATE_TX_ENABLED = 0x1; - - /** - * Video reception is enabled. - */ - public static final int VIDEO_STATE_RX_ENABLED = 0x2; - - /** - * Video signal is bi-directional. - */ - public static final int VIDEO_STATE_BIDIRECTIONAL = - VIDEO_STATE_TX_ENABLED | VIDEO_STATE_RX_ENABLED; - - /** - * Video is paused. - */ - public static final int VIDEO_STATE_PAUSED = 0x4; - - /** * "High" video quality. */ public static final int QUALITY_HIGH = 1; @@ -94,13 +68,12 @@ public class VideoCallProfile implements Parcelable { } /** - * The video state of the call. Stored as a bit-field describing whether video transmission and - * receipt it enabled, as well as whether the video is currently muted. - * Valid values: {@link VideoCallProfile#VIDEO_STATE_AUDIO_ONLY}, - * {@link VideoCallProfile#VIDEO_STATE_BIDIRECTIONAL}, - * {@link VideoCallProfile#VIDEO_STATE_TX_ENABLED}, - * {@link VideoCallProfile#VIDEO_STATE_RX_ENABLED}, - * {@link VideoCallProfile#VIDEO_STATE_PAUSED}. + * The video state of the call. + * Valid values: {@link VideoCallProfile.VideoState#AUDIO_ONLY}, + * {@link VideoCallProfile.VideoState#BIDIRECTIONAL}, + * {@link VideoCallProfile.VideoState#TX_ENABLED}, + * {@link VideoCallProfile.VideoState#RX_ENABLED}, + * {@link VideoCallProfile.VideoState#PAUSED}. */ public int getVideoState() { return mVideoState; @@ -165,4 +138,92 @@ public class VideoCallProfile implements Parcelable { dest.writeInt(mVideoState); dest.writeInt(mQuality); } + + /** + * The video state of the call, stored as a bit-field describing whether video transmission and + * receipt it enabled, as well as whether the video is currently muted. + */ + public static class VideoState { + /** + * Call is currently in an audio-only mode with no video transmission or receipt. + */ + public static final int AUDIO_ONLY = 0x0; + + /** + * Video transmission is enabled. + */ + public static final int TX_ENABLED = 0x1; + + /** + * Video reception is enabled. + */ + public static final int RX_ENABLED = 0x2; + + /** + * Video signal is bi-directional. + */ + public static final int BIDIRECTIONAL = TX_ENABLED | RX_ENABLED; + + /** + * Video is paused. + */ + public static final int PAUSED = 0x4; + + /** + * Whether the video state is audio only. + * @param videoState The video state. + * @return Returns true if the video state is audio only. + */ + public static boolean isAudioOnly(int videoState) { + return !hasState(videoState, TX_ENABLED) && !hasState(videoState, RX_ENABLED); + } + + /** + * Whether the video transmission is enabled. + * @param videoState The video state. + * @return Returns true if the video transmission is enabled. + */ + public static boolean isTransmissionEnabled(int videoState) { + return hasState(videoState, TX_ENABLED); + } + + /** + * Whether the video reception is enabled. + * @param videoState The video state. + * @return Returns true if the video transmission is enabled. + */ + public static boolean isReceptionEnabled(int videoState) { + return hasState(videoState, RX_ENABLED); + } + + /** + * Whether the video signal is bi-directional. + * @param videoState + * @return Returns true if the video signal is bi-directional. + */ + public static boolean isBidirectional(int videoState) { + return hasState(videoState, BIDIRECTIONAL); + } + + /** + * Whether the video is paused. + * @param videoState The video state. + * @return Returns true if the video is paused. + */ + public static boolean isPaused(int videoState) { + return hasState(videoState, PAUSED); + } + + /** + * Determines if a specified state is set in a videoState bit-mask. + * + * @param videoState The video state bit-mask. + * @param state The state to check. + * @return {@code True} if the state is set. + * {@hide} + */ + private static boolean hasState(int videoState, int state) { + return (videoState & state) == state; + } + } } diff --git a/telephony/java/com/android/ims/ImsCallProfile.java b/telephony/java/com/android/ims/ImsCallProfile.java index 6896f4d..adcb435 100644 --- a/telephony/java/com/android/ims/ImsCallProfile.java +++ b/telephony/java/com/android/ims/ImsCallProfile.java @@ -298,18 +298,18 @@ public class ImsCallProfile implements Parcelable { public static int getVideoStateFromCallType(int callType) { switch (callType) { case CALL_TYPE_VT_NODIR: - return VideoCallProfile.VIDEO_STATE_PAUSED | - VideoCallProfile.VIDEO_STATE_BIDIRECTIONAL; + return VideoCallProfile.VideoState.PAUSED | + VideoCallProfile.VideoState.BIDIRECTIONAL; case CALL_TYPE_VT_TX: - return VideoCallProfile.VIDEO_STATE_TX_ENABLED; + return VideoCallProfile.VideoState.TX_ENABLED; case CALL_TYPE_VT_RX: - return VideoCallProfile.VIDEO_STATE_RX_ENABLED; + return VideoCallProfile.VideoState.RX_ENABLED; case CALL_TYPE_VT: - return VideoCallProfile.VIDEO_STATE_BIDIRECTIONAL; + return VideoCallProfile.VideoState.BIDIRECTIONAL; case CALL_TYPE_VOICE: - return VideoCallProfile.VIDEO_STATE_AUDIO_ONLY; + return VideoCallProfile.VideoState.AUDIO_ONLY; default: - return VideoCallProfile.VIDEO_STATE_AUDIO_ONLY; + return VideoCallProfile.VideoState.AUDIO_ONLY; } } @@ -321,9 +321,9 @@ public class ImsCallProfile implements Parcelable { * @return The call type. */ public static int getCallTypeFromVideoState(int videoState) { - boolean videoTx = isVideoStateSet(videoState, VideoCallProfile.VIDEO_STATE_TX_ENABLED); - boolean videoRx = isVideoStateSet(videoState, VideoCallProfile.VIDEO_STATE_RX_ENABLED); - boolean isPaused = isVideoStateSet(videoState, VideoCallProfile.VIDEO_STATE_PAUSED); + boolean videoTx = isVideoStateSet(videoState, VideoCallProfile.VideoState.TX_ENABLED); + boolean videoRx = isVideoStateSet(videoState, VideoCallProfile.VideoState.RX_ENABLED); + boolean isPaused = isVideoStateSet(videoState, VideoCallProfile.VideoState.PAUSED); if (isPaused) { return ImsCallProfile.CALL_TYPE_VT_NODIR; } else if (videoTx && !videoRx) { |