Merge commit 'e593d0a' into merge_work

Change-Id: I4f8ae40fc446cd9cda4d5c6ec99469a98dda595b
This commit is contained in:
Prerepa Viswanadham
2015-04-10 15:58:10 -07:00
45 changed files with 1284 additions and 304 deletions

View File

@@ -270,7 +270,6 @@ public class ImsCallProfile implements Parcelable {
return "{ serviceType=" + mServiceType +
", callType=" + mCallType +
", restrictCause=" + mRestrictCause +
//", callExtras=" + mCallExtras.toString() +
", mediaProfile=" + mMediaProfile.toString() + " }";
}
@@ -313,22 +312,31 @@ public class ImsCallProfile implements Parcelable {
* @param callType The call type.
* @return The video state.
*/
public static int getVideoStateFromCallType(int callType) {
switch (callType) {
case CALL_TYPE_VT_NODIR:
return VideoProfile.VideoState.PAUSED |
VideoProfile.VideoState.BIDIRECTIONAL;
public static int getVideoStateFromImsCallProfile(ImsCallProfile callProfile) {
int videostate = VideoProfile.VideoState.AUDIO_ONLY;
switch (callProfile.mCallType) {
case CALL_TYPE_VT_TX:
return VideoProfile.VideoState.TX_ENABLED;
videostate = VideoProfile.VideoState.TX_ENABLED;
break;
case CALL_TYPE_VT_RX:
return VideoProfile.VideoState.RX_ENABLED;
videostate = VideoProfile.VideoState.RX_ENABLED;
break;
case CALL_TYPE_VT:
return VideoProfile.VideoState.BIDIRECTIONAL;
videostate = VideoProfile.VideoState.BIDIRECTIONAL;
break;
case CALL_TYPE_VOICE:
return VideoProfile.VideoState.AUDIO_ONLY;
videostate = VideoProfile.VideoState.AUDIO_ONLY;
break;
default:
return VideoProfile.VideoState.AUDIO_ONLY;
videostate = VideoProfile.VideoState.AUDIO_ONLY;
break;
}
if (callProfile.isVideoPaused() && videostate != VideoProfile.VideoState.AUDIO_ONLY) {
videostate |= VideoProfile.VideoState.PAUSED;
} else {
videostate &= ~VideoProfile.VideoState.PAUSED;
}
return videostate;
}
/**
@@ -386,6 +394,14 @@ public class ImsCallProfile implements Parcelable {
}
}
/**
* Checks if video call is paused
* @return true if call is video paused
*/
public boolean isVideoPaused() {
return mMediaProfile.mVideoDirection == ImsStreamMediaProfile.DIRECTION_INACTIVE;
}
/**
* Determines if a video state is set in a video state bit-mask.
*

View File

@@ -48,4 +48,26 @@ oneway interface ImsConfigListener {
* @return void.
*/
void onSetFeatureResponse(int feature, int network, int value, int status);
}
/**
* Notifies client the value of the get operation result on the video quality item.
*
* @param status. as defined in com.android.ims.ImsConfig#OperationStatusConstants.
* @param quality. as defined in com.android.ims.ImsConfig#OperationValuesConstants.
* @return void
*
* @throws ImsException if calling the IMS service results in an error.
*/
void onGetVideoQuality(int status, int quality);
/**
* Notifies client the set value operation result for video quality item.
* Used by clients that need to be notified the set operation result.
*
* @param status. as defined in com.android.ims.ImsConfig#OperationStatusConstants.
* @return void
*
* @throws ImsException if calling the IMS service results in an error.
*/
void onSetVideoQuality(int status);
}

View File

@@ -255,4 +255,11 @@ interface IImsCallSession {
* @return {@code True} if the session is multiparty.
*/
boolean isMultiparty();
/**
* Gets the call substate for this session.
*
* @return the call substate for this session.
*/
int getCallSubstate();
}

View File

@@ -100,4 +100,24 @@ interface IImsConfig {
* @return void
*/
boolean getVolteProvisioned();
/**
*
* Gets the value for ims fature item video quality.
*
* @param listener. Video quality value returned asynchronously through listener.
* @return void
*/
oneway void getVideoQuality(ImsConfigListener listener);
/**
* Sets the value for IMS feature item video quality.
*
* @param quality, defines the value of video quality.
* @param listener, provided if caller needs to be notified for set result.
* @return void
*
* @throws ImsException if calling the IMS service results in an error.
*/
oneway void setVideoQuality(int quality, ImsConfigListener listener);
}

View File

@@ -41,7 +41,9 @@ oneway interface IImsVideoCallCallback {
void changePeerDimensions(int width, int height);
void changeCallDataUsage(int dataUsage);
void changeCallDataUsage(long dataUsage);
void changeCameraCapabilities(in CameraCapabilities cameraCapabilities);
void changeVideoQuality(int videoQuality);
}

View File

@@ -186,4 +186,11 @@ public class PhoneConstants {
//FIXME maybe this shouldn't be here - sprout only
public static final int CAPABILITY_3G = 1;
/**
* Values for the adb property "persist.radio.videocall.audio.output"
*/
public static final int AUDIO_OUTPUT_ENABLE_SPEAKER = 0;
public static final int AUDIO_OUTPUT_DISABLE_SPEAKER = 1;
public static final int AUDIO_OUTPUT_DEFAULT = AUDIO_OUTPUT_ENABLE_SPEAKER;
}

View File

@@ -204,4 +204,17 @@ public interface TelephonyProperties
* Type: string ( default = silent, enable to = prompt )
*/
static final String PROPERTY_MMS_TRANSACTION = "mms.transaction";
/**
* Set to the sim count.
*/
static final String PROPERTY_SIM_COUNT = "ro.telephony.sim.count";
/**
* Controls audio route for video calls.
* 0 - Use the default audio routing strategy.
* 1 - Disable the speaker. Route the audio to Headset or Bluetooth
* or Earpiece, based on the default audio routing strategy.
*/
static final String PROPERTY_VIDEOCALL_AUDIO_OUTPUT = "persist.radio.call.audio.output";
}