Fixes for APi review

Move CameraCapabilities into VideoProfile
Make PhoneAccount and PhoneAccountHandle final

Bug: 21040387
Bug: 21066505
Change-Id: I72453c89ae3765f9b9cf263938fce96d5978d2e0
This commit is contained in:
Yorke Lee
2015-05-12 13:31:25 -07:00
parent 3d8c678136
commit 400470fab9
15 changed files with 180 additions and 219 deletions

View File

@@ -30094,15 +30094,6 @@ package android.telecom {
field public static final int PROPERTY_WIFI = 8; // 0x8
}
public final class CameraCapabilities implements android.os.Parcelable {
ctor public CameraCapabilities(int, int);
method public int describeContents();
method public int getHeight();
method public int getWidth();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.telecom.CameraCapabilities> CREATOR;
}
public abstract class Conference implements android.telecom.Conferenceable {
ctor public Conference(android.telecom.PhoneAccountHandle);
method public final boolean addConnection(android.telecom.Connection);
@@ -30229,7 +30220,7 @@ package android.telecom {
public static abstract class Connection.VideoProvider {
ctor public Connection.VideoProvider();
method public void changeCallDataUsage(long);
method public void changeCameraCapabilities(android.telecom.CameraCapabilities);
method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
method public void changePeerDimensions(int, int);
method public void changeVideoQuality(int);
method public void handleCallSessionEvent(int);
@@ -30361,14 +30352,14 @@ package android.telecom {
ctor public InCallService.VideoCall.Callback();
method public abstract void onCallDataUsageChanged(long);
method public abstract void onCallSessionEvent(int);
method public abstract void onCameraCapabilitiesChanged(android.telecom.CameraCapabilities);
method public abstract void onCameraCapabilitiesChanged(android.telecom.VideoProfile.CameraCapabilities);
method public abstract void onPeerDimensionsChanged(int, int);
method public abstract void onSessionModifyRequestReceived(android.telecom.VideoProfile);
method public abstract void onSessionModifyResponseReceived(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
method public abstract void onVideoQualityChanged(int);
}
public class PhoneAccount implements android.os.Parcelable {
public final class PhoneAccount implements android.os.Parcelable {
method public static android.telecom.PhoneAccount.Builder builder(android.telecom.PhoneAccountHandle, java.lang.CharSequence);
method public android.graphics.drawable.Drawable createIconDrawable(android.content.Context);
method public int describeContents();
@@ -30420,7 +30411,7 @@ package android.telecom {
method public android.telecom.PhoneAccount.Builder setSupportedUriSchemes(java.util.List<java.lang.String>);
}
public class PhoneAccountHandle implements android.os.Parcelable {
public final class PhoneAccountHandle implements android.os.Parcelable {
ctor public PhoneAccountHandle(android.content.ComponentName, java.lang.String);
ctor public PhoneAccountHandle(android.content.ComponentName, java.lang.String, android.os.UserHandle);
method public int describeContents();
@@ -30578,6 +30569,15 @@ package android.telecom {
field public static final int QUALITY_MEDIUM = 2; // 0x2
}
public static final class VideoProfile.CameraCapabilities implements android.os.Parcelable {
ctor public VideoProfile.CameraCapabilities(int, int);
method public int describeContents();
method public int getHeight();
method public int getWidth();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.telecom.VideoProfile.CameraCapabilities> CREATOR;
}
public static class VideoProfile.VideoState {
ctor public VideoProfile.VideoState();
method public static boolean isAudioOnly(int);

View File

@@ -32224,15 +32224,6 @@ package android.telecom {
ctor public Call.Listener();
}
public final class CameraCapabilities implements android.os.Parcelable {
ctor public CameraCapabilities(int, int);
method public int describeContents();
method public int getHeight();
method public int getWidth();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.telecom.CameraCapabilities> CREATOR;
}
public abstract class Conference implements android.telecom.Conferenceable {
ctor public Conference(android.telecom.PhoneAccountHandle);
method public final boolean addConnection(android.telecom.Connection);
@@ -32359,7 +32350,7 @@ package android.telecom {
public static abstract class Connection.VideoProvider {
ctor public Connection.VideoProvider();
method public void changeCallDataUsage(long);
method public void changeCameraCapabilities(android.telecom.CameraCapabilities);
method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
method public void changePeerDimensions(int, int);
method public void changeVideoQuality(int);
method public void handleCallSessionEvent(int);
@@ -32494,7 +32485,7 @@ package android.telecom {
ctor public InCallService.VideoCall.Callback();
method public abstract void onCallDataUsageChanged(long);
method public abstract void onCallSessionEvent(int);
method public abstract void onCameraCapabilitiesChanged(android.telecom.CameraCapabilities);
method public abstract void onCameraCapabilitiesChanged(android.telecom.VideoProfile.CameraCapabilities);
method public abstract void onPeerDimensionsChanged(int, int);
method public abstract void onSessionModifyRequestReceived(android.telecom.VideoProfile);
method public abstract void onSessionModifyResponseReceived(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
@@ -32520,7 +32511,7 @@ package android.telecom {
method public void onCanAddCallChanged(android.telecom.Phone, boolean);
}
public class PhoneAccount implements android.os.Parcelable {
public final class PhoneAccount implements android.os.Parcelable {
method public static android.telecom.PhoneAccount.Builder builder(android.telecom.PhoneAccountHandle, java.lang.CharSequence);
method public android.graphics.drawable.Drawable createIconDrawable(android.content.Context);
method public int describeContents();
@@ -32573,7 +32564,7 @@ package android.telecom {
method public android.telecom.PhoneAccount.Builder setSupportedUriSchemes(java.util.List<java.lang.String>);
}
public class PhoneAccountHandle implements android.os.Parcelable {
public final class PhoneAccountHandle implements android.os.Parcelable {
ctor public PhoneAccountHandle(android.content.ComponentName, java.lang.String);
ctor public PhoneAccountHandle(android.content.ComponentName, java.lang.String, android.os.UserHandle);
method public int describeContents();
@@ -32750,6 +32741,15 @@ package android.telecom {
field public static final int QUALITY_MEDIUM = 2; // 0x2
}
public static final class VideoProfile.CameraCapabilities implements android.os.Parcelable {
ctor public VideoProfile.CameraCapabilities(int, int);
method public int describeContents();
method public int getHeight();
method public int getWidth();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.telecom.VideoProfile.CameraCapabilities> CREATOR;
}
public static class VideoProfile.VideoState {
ctor public VideoProfile.VideoState();
method public static boolean isAudioOnly(int);

View File

@@ -1,22 +0,0 @@
/*
* Copyright (C) 2014 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 android.telecom;
/**
* {@hide}
*/
parcelable CameraCapabilities;

View File

@@ -1,157 +0,0 @@
/*
* Copyright (C) 2014 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 android.telecom;
import android.os.Parcel;
import android.os.Parcelable;
/**
* Represents the camera capabilities important to a Video Telephony provider.
*/
public final class CameraCapabilities implements Parcelable {
/**
* The width of the camera video in pixels.
*/
private final int mWidth;
/**
* The height of the camera video in pixels.
*/
private final int mHeight;
/**
* Whether the camera supports zoom.
*/
private final boolean mZoomSupported;
/**
* The maximum zoom supported by the camera.
*/
private final float mMaxZoom;
/**
* Create a call camera capabilities instance.
*
* @param width The width of the camera video (in pixels).
* @param height The height of the camera video (in pixels).
*/
public CameraCapabilities(int width, int height) {
this(width, height, false, 1.0f);
}
/**
* Create a call camera capabilities instance that optionally
* supports zoom.
*
* @param width The width of the camera video (in pixels).
* @param height The height of the camera video (in pixels).
* @param zoomSupported True when camera supports zoom.
* @param maxZoom Maximum zoom supported by camera.
* @hide
*/
public CameraCapabilities(int width, int height, boolean zoomSupported, float maxZoom) {
mWidth = width;
mHeight = height;
mZoomSupported = zoomSupported;
mMaxZoom = maxZoom;
}
/**
* Responsible for creating CallCameraCapabilities objects from deserialized Parcels.
**/
public static final Parcelable.Creator<CameraCapabilities> CREATOR =
new Parcelable.Creator<CameraCapabilities> () {
/**
* Creates a CallCameraCapabilities instances from a parcel.
*
* @param source The parcel.
* @return The CallCameraCapabilities.
*/
@Override
public CameraCapabilities createFromParcel(Parcel source) {
int width = source.readInt();
int height = source.readInt();
boolean supportsZoom = source.readByte() != 0;
float maxZoom = source.readFloat();
return new CameraCapabilities(width, height, supportsZoom, maxZoom);
}
@Override
public CameraCapabilities[] newArray(int size) {
return new CameraCapabilities[size];
}
};
/**
* Describe the kinds of special objects contained in this Parcelable's
* marshalled representation.
*
* @return a bitmask indicating the set of special object types marshalled
* by the Parcelable.
*/
@Override
public int describeContents() {
return 0;
}
/**
* Flatten this object in to a Parcel.
*
* @param dest The Parcel in which the object should be written.
* @param flags Additional flags about how the object should be written.
* May be 0 or {@link #PARCELABLE_WRITE_RETURN_VALUE}.
*/
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(getWidth());
dest.writeInt(getHeight());
dest.writeByte((byte) (isZoomSupported() ? 1 : 0));
dest.writeFloat(getMaxZoom());
}
/**
* The width of the camera video in pixels.
*/
public int getWidth() {
return mWidth;
}
/**
* The height of the camera video in pixels.
*/
public int getHeight() {
return mHeight;
}
/**
* Whether the camera supports zoom.
* @hide
*/
public boolean isZoomSupported() {
return mZoomSupported;
}
/**
* The maximum zoom supported by the camera.
* @hide
*/
public float getMaxZoom() {
return mMaxZoom;
}
}

View File

@@ -742,7 +742,7 @@ public abstract class Connection implements Conferenceable {
*
* @param cameraCapabilities The changed camera capabilities.
*/
public void changeCameraCapabilities(CameraCapabilities cameraCapabilities) {
public void changeCameraCapabilities(VideoProfile.CameraCapabilities cameraCapabilities) {
if (mVideoCallbacks != null) {
try {
for (IVideoCallback callback : mVideoCallbacks.values()) {

View File

@@ -546,7 +546,8 @@ public abstract class InCallService extends Service {
*
* @param cameraCapabilities The changed camera capabilities.
*/
public abstract void onCameraCapabilitiesChanged(CameraCapabilities cameraCapabilities);
public abstract void onCameraCapabilitiesChanged(
VideoProfile.CameraCapabilities cameraCapabilities);
}
}
}

View File

@@ -47,7 +47,7 @@ import java.util.MissingResourceException;
* should supply a valid {@link PhoneAccountHandle} that references the connection service
* implementation Telecom will use to interact with the app.
*/
public class PhoneAccount implements Parcelable {
public final class PhoneAccount implements Parcelable {
/**
* Flag indicating that this {@code PhoneAccount} can act as a connection manager for

View File

@@ -35,7 +35,7 @@ import java.util.Objects;
*
* See {@link PhoneAccount}, {@link TelecomManager}.
*/
public class PhoneAccountHandle implements Parcelable {
public final class PhoneAccountHandle implements Parcelable {
private final ComponentName mComponentName;
private final String mId;
private final UserHandle mUserHandle;

View File

@@ -220,7 +220,7 @@ public final class RemoteConnection {
public void onCameraCapabilitiesChanged(
VideoProvider videoProvider,
CameraCapabilities cameraCapabilities) {}
VideoProfile.CameraCapabilities cameraCapabilities) {}
public void onVideoQualityChanged(VideoProvider videoProvider, int videoQuality) {}
}
@@ -267,7 +267,8 @@ public final class RemoteConnection {
}
@Override
public void changeCameraCapabilities(CameraCapabilities cameraCapabilities) {
public void changeCameraCapabilities(
VideoProfile.CameraCapabilities cameraCapabilities) {
for (Listener l : mListeners) {
l.onCameraCapabilitiesChanged(VideoProvider.this, cameraCapabilities);
}

View File

@@ -98,7 +98,7 @@ public class VideoCallImpl extends VideoCall {
}
@Override
public void changeCameraCapabilities(CameraCapabilities cameraCapabilities) {
public void changeCameraCapabilities(VideoProfile.CameraCapabilities cameraCapabilities) {
mHandler.obtainMessage(MessageHandler.MSG_CHANGE_CAMERA_CAPABILITIES,
cameraCapabilities).sendToTarget();
}
@@ -160,7 +160,7 @@ public class VideoCallImpl extends VideoCall {
break;
case MSG_CHANGE_CAMERA_CAPABILITIES:
mCallback.onCameraCapabilitiesChanged(
(CameraCapabilities) msg.obj);
(VideoProfile.CameraCapabilities) msg.obj);
break;
case MSG_CHANGE_VIDEO_QUALITY:
mVideoQuality = msg.arg1;

View File

@@ -98,7 +98,7 @@ final class VideoCallbackServant {
break;
}
case MSG_CHANGE_CAMERA_CAPABILITIES: {
mDelegate.changeCameraCapabilities((CameraCapabilities) msg.obj);
mDelegate.changeCameraCapabilities((VideoProfile.CameraCapabilities) msg.obj);
break;
}
case MSG_CHANGE_VIDEO_QUALITY: {
@@ -148,7 +148,8 @@ final class VideoCallbackServant {
}
@Override
public void changeCameraCapabilities(CameraCapabilities cameraCapabilities)
public void changeCameraCapabilities(
VideoProfile.CameraCapabilities cameraCapabilities)
throws RemoteException {
mHandler.obtainMessage(MSG_CHANGE_CAMERA_CAPABILITIES, cameraCapabilities)
.sendToTarget();

View File

@@ -21,3 +21,4 @@ package android.telecom;
* {@hide}
*/
parcelable VideoProfile;
parcelable VideoProfile.CameraCapabilities;

View File

@@ -278,4 +278,142 @@ public class VideoProfile implements Parcelable {
return sb.toString();
}
}
/**
* Represents the camera capabilities important to a Video Telephony provider.
*/
public static final class CameraCapabilities implements Parcelable {
/**
* The width of the camera video in pixels.
*/
private final int mWidth;
/**
* The height of the camera video in pixels.
*/
private final int mHeight;
/**
* Whether the camera supports zoom.
*/
private final boolean mZoomSupported;
/**
* The maximum zoom supported by the camera.
*/
private final float mMaxZoom;
/**
* Create a call camera capabilities instance.
*
* @param width The width of the camera video (in pixels).
* @param height The height of the camera video (in pixels).
*/
public CameraCapabilities(int width, int height) {
this(width, height, false, 1.0f);
}
/**
* Create a call camera capabilities instance that optionally
* supports zoom.
*
* @param width The width of the camera video (in pixels).
* @param height The height of the camera video (in pixels).
* @param zoomSupported True when camera supports zoom.
* @param maxZoom Maximum zoom supported by camera.
* @hide
*/
public CameraCapabilities(int width, int height, boolean zoomSupported, float maxZoom) {
mWidth = width;
mHeight = height;
mZoomSupported = zoomSupported;
mMaxZoom = maxZoom;
}
/**
* Responsible for creating CallCameraCapabilities objects from deserialized Parcels.
**/
public static final Parcelable.Creator<CameraCapabilities> CREATOR =
new Parcelable.Creator<CameraCapabilities> () {
/**
* Creates a CallCameraCapabilities instances from a parcel.
*
* @param source The parcel.
* @return The CallCameraCapabilities.
*/
@Override
public CameraCapabilities createFromParcel(Parcel source) {
int width = source.readInt();
int height = source.readInt();
boolean supportsZoom = source.readByte() != 0;
float maxZoom = source.readFloat();
return new CameraCapabilities(width, height, supportsZoom, maxZoom);
}
@Override
public CameraCapabilities[] newArray(int size) {
return new CameraCapabilities[size];
}
};
/**
* Describe the kinds of special objects contained in this Parcelable's
* marshalled representation.
*
* @return a bitmask indicating the set of special object types marshalled
* by the Parcelable.
*/
@Override
public int describeContents() {
return 0;
}
/**
* Flatten this object in to a Parcel.
*
* @param dest The Parcel in which the object should be written.
* @param flags Additional flags about how the object should be written.
* May be 0 or {@link #PARCELABLE_WRITE_RETURN_VALUE}.
*/
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(getWidth());
dest.writeInt(getHeight());
dest.writeByte((byte) (isZoomSupported() ? 1 : 0));
dest.writeFloat(getMaxZoom());
}
/**
* The width of the camera video in pixels.
*/
public int getWidth() {
return mWidth;
}
/**
* The height of the camera video in pixels.
*/
public int getHeight() {
return mHeight;
}
/**
* Whether the camera supports zoom.
* @hide
*/
public boolean isZoomSupported() {
return mZoomSupported;
}
/**
* The maximum zoom supported by the camera.
* @hide
*/
public float getMaxZoom() {
return mMaxZoom;
}
}
}

View File

@@ -16,7 +16,6 @@
package com.android.internal.telecom;
import android.telecom.CameraCapabilities;
import android.telecom.VideoProfile;
/**
@@ -41,7 +40,7 @@ oneway interface IVideoCallback {
void changeCallDataUsage(long dataUsage);
void changeCameraCapabilities(in CameraCapabilities cameraCapabilities);
void changeCameraCapabilities(in VideoProfile.CameraCapabilities cameraCapabilities);
void changeVideoQuality(int videoQuality);
}

View File

@@ -16,7 +16,6 @@
package com.android.ims.internal;
import android.telecom.CameraCapabilities;
import android.telecom.VideoProfile;
/**
@@ -43,7 +42,7 @@ oneway interface IImsVideoCallCallback {
void changeCallDataUsage(long dataUsage);
void changeCameraCapabilities(in CameraCapabilities cameraCapabilities);
void changeCameraCapabilities(in VideoProfile.CameraCapabilities cameraCapabilities);
void changeVideoQuality(int videoQuality);
}