Loading api/system-current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -10592,6 +10592,17 @@ package android.telephony { field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR; } public final class CarrierBandwidth implements android.os.Parcelable { ctor public CarrierBandwidth(int, int, int, int); method public int describeContents(); method public int getPrimaryDownlinkCapacityKbps(); method public int getPrimaryUplinkCapacityKbps(); method public int getSecondaryDownlinkCapacityKbps(); method public int getSecondaryUplinkCapacityKbps(); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierBandwidth> CREATOR; field public static final int INVALID = -1; // 0xffffffff } public class CarrierConfigManager { method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName(); method @NonNull public static android.os.PersistableBundle getDefaultConfig(); Loading Loading @@ -11208,6 +11219,7 @@ package android.telephony { method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallWaitingStatus(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>); method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierBandwidth getCarrierBandwidth(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int); core/api/system-current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -9474,6 +9474,17 @@ package android.telephony { field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR; } public final class CarrierBandwidth implements android.os.Parcelable { ctor public CarrierBandwidth(int, int, int, int); method public int describeContents(); method public int getPrimaryDownlinkCapacityKbps(); method public int getPrimaryUplinkCapacityKbps(); method public int getSecondaryDownlinkCapacityKbps(); method public int getSecondaryUplinkCapacityKbps(); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierBandwidth> CREATOR; field public static final int INVALID = -1; // 0xffffffff } public class CarrierConfigManager { method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName(); method @NonNull public static android.os.PersistableBundle getDefaultConfig(); Loading Loading @@ -10090,6 +10101,7 @@ package android.telephony { method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallWaitingStatus(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>); method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierBandwidth getCarrierBandwidth(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int); telephony/java/android/telephony/CarrierBandwidth.aidl 0 → 100644 +17 −0 Original line number Diff line number Diff line /* * Copyright 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; parcelable CarrierBandwidth; No newline at end of file telephony/java/android/telephony/CarrierBandwidth.java 0 → 100644 +208 −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; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; import java.util.Objects; /** * Defines downlink and uplink capacity of a network in kbps * @hide */ @SystemApi public final class CarrierBandwidth implements Parcelable { /** * Any field that is not reported shall be set to INVALID */ public static final int INVALID = -1; /** * Estimated downlink capacity in kbps of the primary carrier. * This bandwidth estimate shall be the estimated maximum sustainable link bandwidth. * This will be {@link #INVALID} if the network is not connected */ private int mPrimaryDownlinkCapacityKbps; /** * Estimated uplink capacity in kbps of the primary carrier. * This bandwidth estimate shall be the estimated maximum sustainable link bandwidth. * This will be {@link #INVALID} if the network is not connected */ private int mPrimaryUplinkCapacityKbps; /** * Estimated downlink capacity in kbps of the secondary carrier in a dual connected network. * This bandwidth estimate shall be the estimated maximum sustainable link bandwidth. * This will be {@link #INVALID} if the network is not connected */ private int mSecondaryDownlinkCapacityKbps; /** * Estimated uplink capacity in kbps of the secondary carrier in a dual connected network. * This bandwidth estimate shall be the estimated maximum sustainable link bandwidth. * This will be {@link #INVALID} if the network is not connected */ private int mSecondaryUplinkCapacityKbps; /** @hide **/ public CarrierBandwidth(Parcel in) { mPrimaryDownlinkCapacityKbps = in.readInt(); mPrimaryUplinkCapacityKbps = in.readInt(); mSecondaryDownlinkCapacityKbps = in.readInt(); mSecondaryUplinkCapacityKbps = in.readInt(); } /** @hide **/ public CarrierBandwidth() { mPrimaryDownlinkCapacityKbps = INVALID; mPrimaryUplinkCapacityKbps = INVALID; mSecondaryDownlinkCapacityKbps = INVALID; mSecondaryUplinkCapacityKbps = INVALID; } /** * Constructor. * * @param primaryDownlinkCapacityKbps Estimated downlink capacity in kbps of * the primary carrier. * @param primaryUplinkCapacityKbps Estimated uplink capacity in kbps of * the primary carrier. * @param secondaryDownlinkCapacityKbps Estimated downlink capacity in kbps of * the secondary carrier * @param secondaryUplinkCapacityKbps Estimated uplink capacity in kbps of * the secondary carrier */ public CarrierBandwidth(int primaryDownlinkCapacityKbps, int primaryUplinkCapacityKbps, int secondaryDownlinkCapacityKbps, int secondaryUplinkCapacityKbps) { mPrimaryDownlinkCapacityKbps = primaryDownlinkCapacityKbps; mPrimaryUplinkCapacityKbps = primaryUplinkCapacityKbps; mSecondaryDownlinkCapacityKbps = secondaryDownlinkCapacityKbps; mSecondaryUplinkCapacityKbps = secondaryUplinkCapacityKbps; } /** * Retrieves the upstream bandwidth for the primary network in Kbps. This always only refers to * the estimated first hop transport bandwidth. * This will be INVALID if the network is not connected * * @return The estimated first hop upstream (device to network) bandwidth. */ public int getPrimaryDownlinkCapacityKbps() { return mPrimaryDownlinkCapacityKbps; } /** * Retrieves the downstream bandwidth for the primary network in Kbps. This always only refers * to the estimated first hop transport bandwidth. * This will be INVALID if the network is not connected * * @return The estimated first hop downstream (network to device) bandwidth. */ public int getPrimaryUplinkCapacityKbps() { return mPrimaryUplinkCapacityKbps; } /** * Retrieves the upstream bandwidth for the secondary network in Kbps. This always only refers * to the estimated first hop transport bandwidth. * This will be INVALID if the network is not connected * * @return The estimated first hop upstream (device to network) bandwidth. */ public int getSecondaryDownlinkCapacityKbps() { return mSecondaryDownlinkCapacityKbps; } /** * Retrieves the downstream bandwidth for the secondary network in Kbps. This always only * refers to the estimated first hop transport bandwidth. * This will be INVALID if the network is not connected * * @return The estimated first hop downstream (network to device) bandwidth. */ public int getSecondaryUplinkCapacityKbps() { return mSecondaryUplinkCapacityKbps; } @NonNull @Override public String toString() { return "CarrierBandwidth: {primaryDownlinkCapacityKbps=" + mPrimaryDownlinkCapacityKbps + " primaryUplinkCapacityKbps=" + mPrimaryUplinkCapacityKbps + " secondaryDownlinkCapacityKbps=" + mSecondaryDownlinkCapacityKbps + " secondaryUplinkCapacityKbps=" + mSecondaryUplinkCapacityKbps + "}"; } @Override public int hashCode() { return Objects.hash( mPrimaryDownlinkCapacityKbps, mPrimaryUplinkCapacityKbps, mSecondaryDownlinkCapacityKbps, mSecondaryUplinkCapacityKbps); } @Override public boolean equals(@Nullable Object o) { if (o == null || !(o instanceof CallQuality) || hashCode() != o.hashCode()) { return false; } if (this == o) { return true; } CarrierBandwidth s = (CarrierBandwidth) o; return (mPrimaryDownlinkCapacityKbps == s.mPrimaryDownlinkCapacityKbps && mPrimaryUplinkCapacityKbps == s.mPrimaryUplinkCapacityKbps && mSecondaryDownlinkCapacityKbps == s.mSecondaryDownlinkCapacityKbps && mSecondaryDownlinkCapacityKbps == s.mSecondaryDownlinkCapacityKbps); } /** * {@link Parcelable#describeContents} */ public int describeContents() { return 0; } /** * {@link Parcelable#writeToParcel} * @hide */ public void writeToParcel(Parcel dest, int flags) { dest.writeInt(mPrimaryDownlinkCapacityKbps); dest.writeInt(mPrimaryUplinkCapacityKbps); dest.writeInt(mSecondaryDownlinkCapacityKbps); dest.writeInt(mSecondaryUplinkCapacityKbps); } public static final @android.annotation.NonNull Parcelable.Creator<CarrierBandwidth> CREATOR = new Parcelable.Creator() { public CarrierBandwidth createFromParcel(Parcel in) { return new CarrierBandwidth(in); } public CarrierBandwidth[] newArray(int size) { return new CarrierBandwidth[size]; } }; } telephony/java/android/telephony/TelephonyManager.java +27 −0 Original line number Diff line number Diff line Loading @@ -13439,6 +13439,33 @@ public class TelephonyManager { return 0; } /** * Get carrier bandwidth. In case of Dual connected network this will report * bandwidth per primary and secondary network. * @return CarrierBandwidth with bandwidth of both primary and secondary carrier. * @throws IllegalStateException if the Telephony process is not currently available. * @hide */ @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @NonNull public CarrierBandwidth getCarrierBandwidth() { try { ITelephony service = getITelephony(); if (service != null) { return service.getCarrierBandwidth(getSubId()); } else { throw new IllegalStateException("telephony service is null."); } } catch (RemoteException ex) { Log.e(TAG, "getCarrierBandwidth RemoteException", ex); ex.rethrowFromSystemServer(); } //Should not reach. Adding return statement to make compiler happy return null; } /** * Called when userActivity is signalled in the power manager. * This should only be called from system Uid. Loading
api/system-current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -10592,6 +10592,17 @@ package android.telephony { field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR; } public final class CarrierBandwidth implements android.os.Parcelable { ctor public CarrierBandwidth(int, int, int, int); method public int describeContents(); method public int getPrimaryDownlinkCapacityKbps(); method public int getPrimaryUplinkCapacityKbps(); method public int getSecondaryDownlinkCapacityKbps(); method public int getSecondaryUplinkCapacityKbps(); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierBandwidth> CREATOR; field public static final int INVALID = -1; // 0xffffffff } public class CarrierConfigManager { method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName(); method @NonNull public static android.os.PersistableBundle getDefaultConfig(); Loading Loading @@ -11208,6 +11219,7 @@ package android.telephony { method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallWaitingStatus(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>); method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierBandwidth getCarrierBandwidth(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
core/api/system-current.txt +12 −0 Original line number Diff line number Diff line Loading @@ -9474,6 +9474,17 @@ package android.telephony { field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR; } public final class CarrierBandwidth implements android.os.Parcelable { ctor public CarrierBandwidth(int, int, int, int); method public int describeContents(); method public int getPrimaryDownlinkCapacityKbps(); method public int getPrimaryUplinkCapacityKbps(); method public int getSecondaryDownlinkCapacityKbps(); method public int getSecondaryUplinkCapacityKbps(); field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierBandwidth> CREATOR; field public static final int INVALID = -1; // 0xffffffff } public class CarrierConfigManager { method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName(); method @NonNull public static android.os.PersistableBundle getDefaultConfig(); Loading Loading @@ -10090,6 +10101,7 @@ package android.telephony { method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallWaitingStatus(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>); method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierBandwidth getCarrierBandwidth(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
telephony/java/android/telephony/CarrierBandwidth.aidl 0 → 100644 +17 −0 Original line number Diff line number Diff line /* * Copyright 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; parcelable CarrierBandwidth; No newline at end of file
telephony/java/android/telephony/CarrierBandwidth.java 0 → 100644 +208 −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; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; import java.util.Objects; /** * Defines downlink and uplink capacity of a network in kbps * @hide */ @SystemApi public final class CarrierBandwidth implements Parcelable { /** * Any field that is not reported shall be set to INVALID */ public static final int INVALID = -1; /** * Estimated downlink capacity in kbps of the primary carrier. * This bandwidth estimate shall be the estimated maximum sustainable link bandwidth. * This will be {@link #INVALID} if the network is not connected */ private int mPrimaryDownlinkCapacityKbps; /** * Estimated uplink capacity in kbps of the primary carrier. * This bandwidth estimate shall be the estimated maximum sustainable link bandwidth. * This will be {@link #INVALID} if the network is not connected */ private int mPrimaryUplinkCapacityKbps; /** * Estimated downlink capacity in kbps of the secondary carrier in a dual connected network. * This bandwidth estimate shall be the estimated maximum sustainable link bandwidth. * This will be {@link #INVALID} if the network is not connected */ private int mSecondaryDownlinkCapacityKbps; /** * Estimated uplink capacity in kbps of the secondary carrier in a dual connected network. * This bandwidth estimate shall be the estimated maximum sustainable link bandwidth. * This will be {@link #INVALID} if the network is not connected */ private int mSecondaryUplinkCapacityKbps; /** @hide **/ public CarrierBandwidth(Parcel in) { mPrimaryDownlinkCapacityKbps = in.readInt(); mPrimaryUplinkCapacityKbps = in.readInt(); mSecondaryDownlinkCapacityKbps = in.readInt(); mSecondaryUplinkCapacityKbps = in.readInt(); } /** @hide **/ public CarrierBandwidth() { mPrimaryDownlinkCapacityKbps = INVALID; mPrimaryUplinkCapacityKbps = INVALID; mSecondaryDownlinkCapacityKbps = INVALID; mSecondaryUplinkCapacityKbps = INVALID; } /** * Constructor. * * @param primaryDownlinkCapacityKbps Estimated downlink capacity in kbps of * the primary carrier. * @param primaryUplinkCapacityKbps Estimated uplink capacity in kbps of * the primary carrier. * @param secondaryDownlinkCapacityKbps Estimated downlink capacity in kbps of * the secondary carrier * @param secondaryUplinkCapacityKbps Estimated uplink capacity in kbps of * the secondary carrier */ public CarrierBandwidth(int primaryDownlinkCapacityKbps, int primaryUplinkCapacityKbps, int secondaryDownlinkCapacityKbps, int secondaryUplinkCapacityKbps) { mPrimaryDownlinkCapacityKbps = primaryDownlinkCapacityKbps; mPrimaryUplinkCapacityKbps = primaryUplinkCapacityKbps; mSecondaryDownlinkCapacityKbps = secondaryDownlinkCapacityKbps; mSecondaryUplinkCapacityKbps = secondaryUplinkCapacityKbps; } /** * Retrieves the upstream bandwidth for the primary network in Kbps. This always only refers to * the estimated first hop transport bandwidth. * This will be INVALID if the network is not connected * * @return The estimated first hop upstream (device to network) bandwidth. */ public int getPrimaryDownlinkCapacityKbps() { return mPrimaryDownlinkCapacityKbps; } /** * Retrieves the downstream bandwidth for the primary network in Kbps. This always only refers * to the estimated first hop transport bandwidth. * This will be INVALID if the network is not connected * * @return The estimated first hop downstream (network to device) bandwidth. */ public int getPrimaryUplinkCapacityKbps() { return mPrimaryUplinkCapacityKbps; } /** * Retrieves the upstream bandwidth for the secondary network in Kbps. This always only refers * to the estimated first hop transport bandwidth. * This will be INVALID if the network is not connected * * @return The estimated first hop upstream (device to network) bandwidth. */ public int getSecondaryDownlinkCapacityKbps() { return mSecondaryDownlinkCapacityKbps; } /** * Retrieves the downstream bandwidth for the secondary network in Kbps. This always only * refers to the estimated first hop transport bandwidth. * This will be INVALID if the network is not connected * * @return The estimated first hop downstream (network to device) bandwidth. */ public int getSecondaryUplinkCapacityKbps() { return mSecondaryUplinkCapacityKbps; } @NonNull @Override public String toString() { return "CarrierBandwidth: {primaryDownlinkCapacityKbps=" + mPrimaryDownlinkCapacityKbps + " primaryUplinkCapacityKbps=" + mPrimaryUplinkCapacityKbps + " secondaryDownlinkCapacityKbps=" + mSecondaryDownlinkCapacityKbps + " secondaryUplinkCapacityKbps=" + mSecondaryUplinkCapacityKbps + "}"; } @Override public int hashCode() { return Objects.hash( mPrimaryDownlinkCapacityKbps, mPrimaryUplinkCapacityKbps, mSecondaryDownlinkCapacityKbps, mSecondaryUplinkCapacityKbps); } @Override public boolean equals(@Nullable Object o) { if (o == null || !(o instanceof CallQuality) || hashCode() != o.hashCode()) { return false; } if (this == o) { return true; } CarrierBandwidth s = (CarrierBandwidth) o; return (mPrimaryDownlinkCapacityKbps == s.mPrimaryDownlinkCapacityKbps && mPrimaryUplinkCapacityKbps == s.mPrimaryUplinkCapacityKbps && mSecondaryDownlinkCapacityKbps == s.mSecondaryDownlinkCapacityKbps && mSecondaryDownlinkCapacityKbps == s.mSecondaryDownlinkCapacityKbps); } /** * {@link Parcelable#describeContents} */ public int describeContents() { return 0; } /** * {@link Parcelable#writeToParcel} * @hide */ public void writeToParcel(Parcel dest, int flags) { dest.writeInt(mPrimaryDownlinkCapacityKbps); dest.writeInt(mPrimaryUplinkCapacityKbps); dest.writeInt(mSecondaryDownlinkCapacityKbps); dest.writeInt(mSecondaryUplinkCapacityKbps); } public static final @android.annotation.NonNull Parcelable.Creator<CarrierBandwidth> CREATOR = new Parcelable.Creator() { public CarrierBandwidth createFromParcel(Parcel in) { return new CarrierBandwidth(in); } public CarrierBandwidth[] newArray(int size) { return new CarrierBandwidth[size]; } }; }
telephony/java/android/telephony/TelephonyManager.java +27 −0 Original line number Diff line number Diff line Loading @@ -13439,6 +13439,33 @@ public class TelephonyManager { return 0; } /** * Get carrier bandwidth. In case of Dual connected network this will report * bandwidth per primary and secondary network. * @return CarrierBandwidth with bandwidth of both primary and secondary carrier. * @throws IllegalStateException if the Telephony process is not currently available. * @hide */ @SystemApi @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @NonNull public CarrierBandwidth getCarrierBandwidth() { try { ITelephony service = getITelephony(); if (service != null) { return service.getCarrierBandwidth(getSubId()); } else { throw new IllegalStateException("telephony service is null."); } } catch (RemoteException ex) { Log.e(TAG, "getCarrierBandwidth RemoteException", ex); ex.rethrowFromSystemServer(); } //Should not reach. Adding return statement to make compiler happy return null; } /** * Called when userActivity is signalled in the power manager. * This should only be called from system Uid.