diff --git a/api/system-current.txt b/api/system-current.txt index b306c0f2539e9..7f8c57bedc030 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -8556,7 +8556,7 @@ package android.telephony { } public final class ModemActivityInfo implements android.os.Parcelable { - ctor public ModemActivityInfo(long, int, int, @NonNull int[], int); + ctor public ModemActivityInfo(long, int, int, @Nullable int[], int); method public int describeContents(); method public int getIdleTimeMillis(); method public int getReceiveTimeMillis(); diff --git a/telephony/java/android/telephony/ModemActivityInfo.java b/telephony/java/android/telephony/ModemActivityInfo.java index d105fe3ddc71b..16fbae25199bb 100644 --- a/telephony/java/android/telephony/ModemActivityInfo.java +++ b/telephony/java/android/telephony/ModemActivityInfo.java @@ -17,6 +17,7 @@ package android.telephony; import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; @@ -59,7 +60,7 @@ public final class ModemActivityInfo implements Parcelable { private int mRxTimeMs; public ModemActivityInfo(long timestamp, int sleepTimeMs, int idleTimeMs, - @NonNull int[] txTimeMs, int rxTimeMs) { + @Nullable int[] txTimeMs, int rxTimeMs) { mTimestamp = timestamp; mSleepTimeMs = sleepTimeMs; mIdleTimeMs = idleTimeMs; @@ -68,10 +69,13 @@ public final class ModemActivityInfo implements Parcelable { } /** helper API to populate tx power range for each bucket **/ - private void populateTransmitPowerRange(@NonNull int[] transmitPowerMs) { + private void populateTransmitPowerRange(@Nullable int[] transmitPowerMs) { int i = 0; - for ( ; i < Math.min(transmitPowerMs.length, TX_POWER_LEVELS); i++) { - mTransmitPowerInfo.add(i, new TransmitPower(TX_POWER_RANGES[i], transmitPowerMs[i])); + if (transmitPowerMs != null) { + for ( ; i < Math.min(transmitPowerMs.length, TX_POWER_LEVELS); i++) { + mTransmitPowerInfo.add(i, + new TransmitPower(TX_POWER_RANGES[i], transmitPowerMs[i])); + } } // Make sure that mTransmitPowerInfo is fully initialized. for ( ; i < TX_POWER_LEVELS; i++) { @@ -94,7 +98,7 @@ public final class ModemActivityInfo implements Parcelable { return 0; } - public static final @android.annotation.NonNull Parcelable.Creator CREATOR = + public static final @NonNull Parcelable.Creator CREATOR = new Parcelable.Creator() { public ModemActivityInfo createFromParcel(Parcel in) { long timestamp = in.readLong(); @@ -149,7 +153,7 @@ public final class ModemActivityInfo implements Parcelable { } /** @hide */ - public void setTransmitTimeMillis(int[] txTimeMs) { + public void setTransmitTimeMillis(@Nullable int[] txTimeMs) { populateTransmitPowerRange(txTimeMs); }