Loading api/system-current.txt +13 −0 Original line number Diff line number Diff line Loading @@ -11735,6 +11735,17 @@ package android.telephony.euicc { package android.telephony.ims { public final class AudioCodecAttributes implements android.os.Parcelable { ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>); method public int describeContents(); method public float getBandwidthKhz(); method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz(); method public float getBitrateKbps(); method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR; } public final class ImsCallForwardInfo implements android.os.Parcelable { ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int); method public int describeContents(); Loading Loading @@ -12103,6 +12114,7 @@ package android.telephony.ims { ctor public ImsStreamMediaProfile(int, int, int, int, int); method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile); method public int describeContents(); method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes(); method public int getAudioDirection(); method public int getAudioQuality(); method public int getRttMode(); Loading @@ -12110,6 +12122,7 @@ package android.telephony.ims { method public int getVideoQuality(); method public boolean isReceivingRttAudio(); method public boolean isRttCall(); method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes); method public void setReceivingRttAudio(boolean); method public void setRttMode(int); method public void writeToParcel(android.os.Parcel, int); core/api/system-current.txt +13 −0 Original line number Diff line number Diff line Loading @@ -10617,6 +10617,17 @@ package android.telephony.euicc { package android.telephony.ims { public final class AudioCodecAttributes implements android.os.Parcelable { ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>); method public int describeContents(); method public float getBandwidthKhz(); method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz(); method public float getBitrateKbps(); method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR; } public final class ImsCallForwardInfo implements android.os.Parcelable { ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int); method public int describeContents(); Loading Loading @@ -10985,6 +10996,7 @@ package android.telephony.ims { ctor public ImsStreamMediaProfile(int, int, int, int, int); method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile); method public int describeContents(); method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes(); method public int getAudioDirection(); method public int getAudioQuality(); method public int getRttMode(); Loading @@ -10992,6 +11004,7 @@ package android.telephony.ims { method public int getVideoQuality(); method public boolean isReceivingRttAudio(); method public boolean isRttCall(); method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes); method public void setReceivingRttAudio(boolean); method public void setRttMode(int); method public void writeToParcel(android.os.Parcel, int); telephony/java/android/telephony/ims/AudioCodecAttributes.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /* * Copyright (c) 2020 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.telephony.ims; parcelable AudioCodecAttributes; telephony/java/android/telephony/ims/AudioCodecAttributes.java 0 → 100644 +131 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 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.telephony.ims; import android.annotation.NonNull; import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; import android.util.Range; /** * Parcelable object to handle audio codec attributes. * It provides the audio codec bitrate, bandwidth and their upper/lower bound. * * @hide */ @SystemApi public final class AudioCodecAttributes implements Parcelable { // The audio codec bitrate in kbps. private float mBitrateKbps; // The range of the audio codec bitrate in kbps. private Range<Float> mBitrateRangeKbps; // The audio codec bandwidth in kHz. private float mBandwidthKhz; // The range of the audio codec bandwidth in kHz. private Range<Float> mBandwidthRangeKhz; /** * Constructor. * * @param bitrateKbps The audio codec bitrate in kbps. * @param bitrateRangeKbps The range of the audio codec bitrate in kbps. * @param bandwidthKhz The audio codec bandwidth in kHz. * @param bandwidthRangeKhz The range of the audio codec bandwidth in kHz. */ public AudioCodecAttributes(float bitrateKbps, @NonNull Range<Float> bitrateRangeKbps, float bandwidthKhz, @NonNull Range<Float> bandwidthRangeKhz) { mBitrateKbps = bitrateKbps; mBitrateRangeKbps = bitrateRangeKbps; mBandwidthKhz = bandwidthKhz; mBandwidthRangeKhz = bandwidthRangeKhz; } private AudioCodecAttributes(Parcel in) { mBitrateKbps = in.readFloat(); mBitrateRangeKbps = new Range<>(in.readFloat(), in.readFloat()); mBandwidthKhz = in.readFloat(); mBandwidthRangeKhz = new Range<>(in.readFloat(), in.readFloat()); } @Override public void writeToParcel(@NonNull Parcel out, int flags) { out.writeFloat(mBitrateKbps); out.writeFloat(mBitrateRangeKbps.getLower()); out.writeFloat(mBitrateRangeKbps.getUpper()); out.writeFloat(mBandwidthKhz); out.writeFloat(mBandwidthRangeKhz.getLower()); out.writeFloat(mBandwidthRangeKhz.getUpper()); } @Override public int describeContents() { return 0; } public static final @NonNull Creator<AudioCodecAttributes> CREATOR = new Creator<AudioCodecAttributes>() { @Override public AudioCodecAttributes createFromParcel(Parcel in) { return new AudioCodecAttributes(in); } @Override public AudioCodecAttributes[] newArray(int size) { return new AudioCodecAttributes[size]; } }; /** * @return the exact value of the audio codec bitrate in kbps. */ public float getBitrateKbps() { return mBitrateKbps; } /** * @return the range of the audio codec bitrate in kbps */ public @NonNull Range<Float> getBitrateRangeKbps() { return mBitrateRangeKbps; } /** * @return the exact value of the audio codec bandwidth in kHz. */ public float getBandwidthKhz() { return mBandwidthKhz; } /** * @return the range of the audio codec bandwidth in kHz. */ public @NonNull Range<Float> getBandwidthRangeKhz() { return mBandwidthRangeKhz; } @NonNull @Override public String toString() { return "{ bitrateKbps=" + mBitrateKbps + ", bitrateRangeKbps=" + mBitrateRangeKbps + ", bandwidthKhz=" + mBandwidthKhz + ", bandwidthRangeKhz=" + mBandwidthRangeKhz + " }"; } } telephony/java/android/telephony/ims/ImsStreamMediaProfile.java +31 −6 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.telephony.ims; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.compat.annotation.UnsupportedAppUsage; import android.os.Parcel; Loading Loading @@ -89,6 +90,9 @@ public final class ImsStreamMediaProfile implements Parcelable { /** @hide */ @UnsupportedAppUsage public int mAudioDirection; // Audio codec attributes private AudioCodecAttributes mAudioCodecAttributes; // Video related information /** @hide */ public int mVideoQuality; Loading Loading @@ -190,6 +194,7 @@ public final class ImsStreamMediaProfile implements Parcelable { public void copyFrom(ImsStreamMediaProfile profile) { mAudioQuality = profile.mAudioQuality; mAudioDirection = profile.mAudioDirection; mAudioCodecAttributes = profile.mAudioCodecAttributes; mVideoQuality = profile.mVideoQuality; mVideoDirection = profile.mVideoDirection; mRttMode = profile.mRttMode; Loading @@ -198,12 +203,13 @@ public final class ImsStreamMediaProfile implements Parcelable { @NonNull @Override public String toString() { return "{ audioQuality=" + mAudioQuality + ", audioDirection=" + mAudioDirection + ", videoQuality=" + mVideoQuality + ", videoDirection=" + mVideoDirection + ", rttMode=" + mRttMode + ", hasRttAudioSpeech=" + mIsReceivingRttAudio + " }"; return "{ audioQuality=" + mAudioQuality + ", audioDirection=" + mAudioDirection + ", audioCodecAttribute=" + mAudioCodecAttributes + ", videoQuality=" + mVideoQuality + ", videoDirection=" + mVideoDirection + ", rttMode=" + mRttMode + ", hasRttAudioSpeech=" + mIsReceivingRttAudio + " }"; } @Override Loading @@ -215,6 +221,7 @@ public final class ImsStreamMediaProfile implements Parcelable { public void writeToParcel(Parcel out, int flags) { out.writeInt(mAudioQuality); out.writeInt(mAudioDirection); out.writeTypedObject(mAudioCodecAttributes, flags); out.writeInt(mVideoQuality); out.writeInt(mVideoDirection); out.writeInt(mRttMode); Loading @@ -224,6 +231,7 @@ public final class ImsStreamMediaProfile implements Parcelable { private void readFromParcel(Parcel in) { mAudioQuality = in.readInt(); mAudioDirection = in.readInt(); mAudioCodecAttributes = in.readTypedObject(AudioCodecAttributes.CREATOR); mVideoQuality = in.readInt(); mVideoDirection = in.readInt(); mRttMode = in.readInt(); Loading Loading @@ -274,6 +282,23 @@ public final class ImsStreamMediaProfile implements Parcelable { return mAudioDirection; } /** * Get the audio codec attributes {@link AudioCodecAttributes} which may be {@code null} if * ImsService doesn't support this information. * @return audio codec attributes */ public @Nullable AudioCodecAttributes getAudioCodecAttributes() { return mAudioCodecAttributes; } /** * Set the audio codec attributes {@link AudioCodecAttributes} which includes bitrate and * bandwidth information. */ public void setAudioCodecAttributes(@NonNull AudioCodecAttributes audioCodecAttributes) { mAudioCodecAttributes = audioCodecAttributes; } public int getVideoQuality() { return mVideoQuality; } Loading Loading
api/system-current.txt +13 −0 Original line number Diff line number Diff line Loading @@ -11735,6 +11735,17 @@ package android.telephony.euicc { package android.telephony.ims { public final class AudioCodecAttributes implements android.os.Parcelable { ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>); method public int describeContents(); method public float getBandwidthKhz(); method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz(); method public float getBitrateKbps(); method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR; } public final class ImsCallForwardInfo implements android.os.Parcelable { ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int); method public int describeContents(); Loading Loading @@ -12103,6 +12114,7 @@ package android.telephony.ims { ctor public ImsStreamMediaProfile(int, int, int, int, int); method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile); method public int describeContents(); method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes(); method public int getAudioDirection(); method public int getAudioQuality(); method public int getRttMode(); Loading @@ -12110,6 +12122,7 @@ package android.telephony.ims { method public int getVideoQuality(); method public boolean isReceivingRttAudio(); method public boolean isRttCall(); method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes); method public void setReceivingRttAudio(boolean); method public void setRttMode(int); method public void writeToParcel(android.os.Parcel, int);
core/api/system-current.txt +13 −0 Original line number Diff line number Diff line Loading @@ -10617,6 +10617,17 @@ package android.telephony.euicc { package android.telephony.ims { public final class AudioCodecAttributes implements android.os.Parcelable { ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>); method public int describeContents(); method public float getBandwidthKhz(); method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz(); method public float getBitrateKbps(); method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR; } public final class ImsCallForwardInfo implements android.os.Parcelable { ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int); method public int describeContents(); Loading Loading @@ -10985,6 +10996,7 @@ package android.telephony.ims { ctor public ImsStreamMediaProfile(int, int, int, int, int); method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile); method public int describeContents(); method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes(); method public int getAudioDirection(); method public int getAudioQuality(); method public int getRttMode(); Loading @@ -10992,6 +11004,7 @@ package android.telephony.ims { method public int getVideoQuality(); method public boolean isReceivingRttAudio(); method public boolean isRttCall(); method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes); method public void setReceivingRttAudio(boolean); method public void setRttMode(int); method public void writeToParcel(android.os.Parcel, int);
telephony/java/android/telephony/ims/AudioCodecAttributes.aidl 0 → 100644 +20 −0 Original line number Diff line number Diff line /* * Copyright (c) 2020 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.telephony.ims; parcelable AudioCodecAttributes;
telephony/java/android/telephony/ims/AudioCodecAttributes.java 0 → 100644 +131 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 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.telephony.ims; import android.annotation.NonNull; import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; import android.util.Range; /** * Parcelable object to handle audio codec attributes. * It provides the audio codec bitrate, bandwidth and their upper/lower bound. * * @hide */ @SystemApi public final class AudioCodecAttributes implements Parcelable { // The audio codec bitrate in kbps. private float mBitrateKbps; // The range of the audio codec bitrate in kbps. private Range<Float> mBitrateRangeKbps; // The audio codec bandwidth in kHz. private float mBandwidthKhz; // The range of the audio codec bandwidth in kHz. private Range<Float> mBandwidthRangeKhz; /** * Constructor. * * @param bitrateKbps The audio codec bitrate in kbps. * @param bitrateRangeKbps The range of the audio codec bitrate in kbps. * @param bandwidthKhz The audio codec bandwidth in kHz. * @param bandwidthRangeKhz The range of the audio codec bandwidth in kHz. */ public AudioCodecAttributes(float bitrateKbps, @NonNull Range<Float> bitrateRangeKbps, float bandwidthKhz, @NonNull Range<Float> bandwidthRangeKhz) { mBitrateKbps = bitrateKbps; mBitrateRangeKbps = bitrateRangeKbps; mBandwidthKhz = bandwidthKhz; mBandwidthRangeKhz = bandwidthRangeKhz; } private AudioCodecAttributes(Parcel in) { mBitrateKbps = in.readFloat(); mBitrateRangeKbps = new Range<>(in.readFloat(), in.readFloat()); mBandwidthKhz = in.readFloat(); mBandwidthRangeKhz = new Range<>(in.readFloat(), in.readFloat()); } @Override public void writeToParcel(@NonNull Parcel out, int flags) { out.writeFloat(mBitrateKbps); out.writeFloat(mBitrateRangeKbps.getLower()); out.writeFloat(mBitrateRangeKbps.getUpper()); out.writeFloat(mBandwidthKhz); out.writeFloat(mBandwidthRangeKhz.getLower()); out.writeFloat(mBandwidthRangeKhz.getUpper()); } @Override public int describeContents() { return 0; } public static final @NonNull Creator<AudioCodecAttributes> CREATOR = new Creator<AudioCodecAttributes>() { @Override public AudioCodecAttributes createFromParcel(Parcel in) { return new AudioCodecAttributes(in); } @Override public AudioCodecAttributes[] newArray(int size) { return new AudioCodecAttributes[size]; } }; /** * @return the exact value of the audio codec bitrate in kbps. */ public float getBitrateKbps() { return mBitrateKbps; } /** * @return the range of the audio codec bitrate in kbps */ public @NonNull Range<Float> getBitrateRangeKbps() { return mBitrateRangeKbps; } /** * @return the exact value of the audio codec bandwidth in kHz. */ public float getBandwidthKhz() { return mBandwidthKhz; } /** * @return the range of the audio codec bandwidth in kHz. */ public @NonNull Range<Float> getBandwidthRangeKhz() { return mBandwidthRangeKhz; } @NonNull @Override public String toString() { return "{ bitrateKbps=" + mBitrateKbps + ", bitrateRangeKbps=" + mBitrateRangeKbps + ", bandwidthKhz=" + mBandwidthKhz + ", bandwidthRangeKhz=" + mBandwidthRangeKhz + " }"; } }
telephony/java/android/telephony/ims/ImsStreamMediaProfile.java +31 −6 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.telephony.ims; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.compat.annotation.UnsupportedAppUsage; import android.os.Parcel; Loading Loading @@ -89,6 +90,9 @@ public final class ImsStreamMediaProfile implements Parcelable { /** @hide */ @UnsupportedAppUsage public int mAudioDirection; // Audio codec attributes private AudioCodecAttributes mAudioCodecAttributes; // Video related information /** @hide */ public int mVideoQuality; Loading Loading @@ -190,6 +194,7 @@ public final class ImsStreamMediaProfile implements Parcelable { public void copyFrom(ImsStreamMediaProfile profile) { mAudioQuality = profile.mAudioQuality; mAudioDirection = profile.mAudioDirection; mAudioCodecAttributes = profile.mAudioCodecAttributes; mVideoQuality = profile.mVideoQuality; mVideoDirection = profile.mVideoDirection; mRttMode = profile.mRttMode; Loading @@ -198,12 +203,13 @@ public final class ImsStreamMediaProfile implements Parcelable { @NonNull @Override public String toString() { return "{ audioQuality=" + mAudioQuality + ", audioDirection=" + mAudioDirection + ", videoQuality=" + mVideoQuality + ", videoDirection=" + mVideoDirection + ", rttMode=" + mRttMode + ", hasRttAudioSpeech=" + mIsReceivingRttAudio + " }"; return "{ audioQuality=" + mAudioQuality + ", audioDirection=" + mAudioDirection + ", audioCodecAttribute=" + mAudioCodecAttributes + ", videoQuality=" + mVideoQuality + ", videoDirection=" + mVideoDirection + ", rttMode=" + mRttMode + ", hasRttAudioSpeech=" + mIsReceivingRttAudio + " }"; } @Override Loading @@ -215,6 +221,7 @@ public final class ImsStreamMediaProfile implements Parcelable { public void writeToParcel(Parcel out, int flags) { out.writeInt(mAudioQuality); out.writeInt(mAudioDirection); out.writeTypedObject(mAudioCodecAttributes, flags); out.writeInt(mVideoQuality); out.writeInt(mVideoDirection); out.writeInt(mRttMode); Loading @@ -224,6 +231,7 @@ public final class ImsStreamMediaProfile implements Parcelable { private void readFromParcel(Parcel in) { mAudioQuality = in.readInt(); mAudioDirection = in.readInt(); mAudioCodecAttributes = in.readTypedObject(AudioCodecAttributes.CREATOR); mVideoQuality = in.readInt(); mVideoDirection = in.readInt(); mRttMode = in.readInt(); Loading Loading @@ -274,6 +282,23 @@ public final class ImsStreamMediaProfile implements Parcelable { return mAudioDirection; } /** * Get the audio codec attributes {@link AudioCodecAttributes} which may be {@code null} if * ImsService doesn't support this information. * @return audio codec attributes */ public @Nullable AudioCodecAttributes getAudioCodecAttributes() { return mAudioCodecAttributes; } /** * Set the audio codec attributes {@link AudioCodecAttributes} which includes bitrate and * bandwidth information. */ public void setAudioCodecAttributes(@NonNull AudioCodecAttributes audioCodecAttributes) { mAudioCodecAttributes = audioCodecAttributes; } public int getVideoQuality() { return mVideoQuality; } Loading