Loading api/current.txt +32 −0 Original line number Diff line number Diff line Loading @@ -42188,6 +42188,16 @@ package android.telephony { field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityLte> CREATOR; } public final class CellIdentityNr extends android.telephony.CellIdentity { method public int getChannelNumber(); method public java.lang.String getMccString(); method public java.lang.String getMncString(); method public int getPci(); method public int getTac(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityNr> CREATOR; } public final class CellIdentityTdscdma extends android.telephony.CellIdentity { method public int getCid(); method public int getCpid(); Loading Loading @@ -42247,6 +42257,13 @@ package android.telephony { field public static final android.os.Parcelable.Creator<android.telephony.CellInfoLte> CREATOR; } public final class CellInfoNr extends android.telephony.CellInfo { method public android.telephony.CellIdentity getCellIdentity(); method public android.telephony.CellSignalStrength getCellSignalStrength(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.CellInfoNr> CREATOR; } public final class CellInfoWcdma extends android.telephony.CellInfo implements android.os.Parcelable { method public android.telephony.CellIdentityWcdma getCellIdentity(); method public android.telephony.CellSignalStrengthWcdma getCellSignalStrength(); Loading Loading @@ -42314,6 +42331,21 @@ package android.telephony { field public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthLte> CREATOR; } public final class CellSignalStrengthNr extends android.telephony.CellSignalStrength implements android.os.Parcelable { method public int describeContents(); method public int getAsuLevel(); method public int getCsiRsrp(); method public int getCsiRsrq(); method public int getCsiSinr(); method public int getDbm(); method public int getLevel(); method public int getSsRsrp(); method public int getSsRsrq(); method public int getSsSinr(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthNr> CREATOR; } public final class CellSignalStrengthWcdma extends android.telephony.CellSignalStrength implements android.os.Parcelable { method public int describeContents(); method public int getAsuLevel(); telephony/java/android/telephony/CellIdentity.java +1 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,7 @@ public abstract class CellIdentity implements Parcelable { case CellInfo.TYPE_LTE: return CellIdentityLte.createFromParcelBody(in); case CellInfo.TYPE_TDSCDMA: return CellIdentityTdscdma.createFromParcelBody(in); case CellInfo.TYPE_NR: return CellIdentityNr.createFromParcelBody(in); default: throw new IllegalArgumentException("Bad Cell identity Parcel"); } } Loading telephony/java/android/telephony/CellIdentityNr.java 0 → 100644 +167 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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.os.Parcel; import android.telephony.gsm.GsmCellLocation; import java.util.Objects; /** * Information to represent a unique 5G NR cell. */ public final class CellIdentityNr extends CellIdentity { private static final String TAG = "CellIdentityNr"; private final int mNrArfcn; private final int mPci; private final int mTac; /** * * @param pci Physical Cell Id in range [0, 1007]. * @param tac 16-bit Tracking Area Code. * @param nrArfcn NR Absolute Radio Frequency Channel Number, in range [0, 3279165]. * @param mccStr 3-digit Mobile Country Code in string format. * @param mncStr 2 or 3-digit Mobile Network Code in string format. * @param alphal long alpha Operator Name String or Enhanced Operator Name String. * @param alphas short alpha Operator Name String or Enhanced Operator Name String. * * @hide */ public CellIdentityNr(int pci, int tac, int nrArfcn, String mccStr, String mncStr, String alphal, String alphas) { super(TAG, CellInfo.TYPE_NR, mccStr, mncStr, alphal, alphas); mPci = pci; mTac = tac; mNrArfcn = nrArfcn; } /** * @return a CellLocation object for this CellIdentity. * @hide */ @Override public CellLocation asCellLocation() { return new GsmCellLocation(); } @Override public int hashCode() { return Objects.hash(super.hashCode(), mPci, mTac, mNrArfcn); } @Override public boolean equals(Object other) { if (!(other instanceof CellIdentityNr)) { return false; } CellIdentityNr o = (CellIdentityNr) other; return super.equals(o) && mPci == o.mPci && mTac == o.mTac && mNrArfcn == o.mNrArfcn; } /** * Get the Absolute Radio Frequency Channel Number. * @return Integer value in range [0, 3279165] or {@link CellInfo#UNAVAILABLE} if unknown. */ @Override public int getChannelNumber() { return mNrArfcn; } /** * Get the physical cell id. * @return Integer value in range [0, 1007] or {@link CellInfo#UNAVAILABLE} if unknown. */ public int getPci() { return mPci; } /** * Get the tracking area code. * @return a 16 bit integer or {@link CellInfo#UNAVAILABLE} if unknown. */ public int getTac() { return mTac; } /** * @return Mobile Country Code in string format, or {@code null} if unknown. */ public String getMccString() { return mMccStr; } /** * @return Mobile Network Code in string fomrat, or {@code null} if unknown. */ public String getMncString() { return mMncStr; } @Override public String toString() { return new StringBuilder(TAG + ":{") .append(" mPci = ").append(mPci) .append(" mTac = ").append(mTac) .append(" mNrArfcn = ").append(mNrArfcn) .append(" mMcc = ").append(mMccStr) .append(" mMnc = ").append(mMncStr) .append(" mAlphaLong = ").append(mAlphaLong) .append(" mAlphaShort = ").append(mAlphaShort) .append(" }") .toString(); } @Override public void writeToParcel(Parcel dest, int type) { super.writeToParcel(dest, CellInfo.TYPE_NR); dest.writeInt(mPci); dest.writeInt(mTac); dest.writeInt(mNrArfcn); } /** Construct from Parcel, type has already been processed */ private CellIdentityNr(Parcel in) { super(TAG, CellInfo.TYPE_NR, in); mPci = in.readInt(); mTac = in.readInt(); mNrArfcn = in.readInt(); } /** Implement the Parcelable interface */ public static final Creator<CellIdentityNr> CREATOR = new Creator<CellIdentityNr>() { @Override public CellIdentityNr createFromParcel(Parcel in) { // Skip the type info. in.readInt(); return createFromParcelBody(in); } @Override public CellIdentityNr[] newArray(int size) { return new CellIdentityNr[size]; } }; /** @hide */ protected static CellIdentityNr createFromParcelBody(Parcel in) { return new CellIdentityNr(in); } } telephony/java/android/telephony/CellInfo.java +21 −7 Original line number Diff line number Diff line Loading @@ -42,39 +42,52 @@ public abstract class CellInfo implements Parcelable { * @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(prefix = "TYPE_", value = {TYPE_GSM, TYPE_CDMA, TYPE_LTE, TYPE_WCDMA, TYPE_TDSCDMA}) @IntDef(prefix = "TYPE_", value = {TYPE_GSM, TYPE_CDMA, TYPE_LTE, TYPE_WCDMA, TYPE_TDSCDMA, TYPE_NR}) public @interface Type {} /** * Unknown cell identity type * @hide */ public static final int TYPE_UNKNOWN = 0; /** * GSM cell identity type * @hide */ public static final int TYPE_GSM = 1; /** * CDMA cell identity type * @hide */ public static final int TYPE_CDMA = 2; /** * LTE cell identity type * @hide */ public static final int TYPE_LTE = 3; /** * WCDMA cell identity type * @hide */ public static final int TYPE_WCDMA = 4; /** * TD-SCDMA cell identity type * @hide */ public static final int TYPE_TDSCDMA = 5; /** * 5G cell identity type * @hide */ public static final int TYPE_NR = 6; // Type to distinguish where time stamp gets recorded. /** @hide */ Loading Loading @@ -277,6 +290,7 @@ public abstract class CellInfo implements Parcelable { case TYPE_LTE: return CellInfoLte.createFromParcelBody(in); case TYPE_WCDMA: return CellInfoWcdma.createFromParcelBody(in); case TYPE_TDSCDMA: return CellInfoTdscdma.createFromParcelBody(in); case TYPE_NR: return CellInfoNr.createFromParcelBody(in); default: throw new RuntimeException("Bad CellInfo Parcel"); } } Loading telephony/java/android/telephony/CellInfoNr.java 0 → 100644 +100 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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.os.Parcel; import java.util.Objects; /** * A {@link CellInfo} representing an 5G NR cell that provides identity and measurement info. */ public final class CellInfoNr extends CellInfo { private static final String TAG = "CellInfoNr"; private final CellIdentityNr mCellIdentity; private final CellSignalStrengthNr mCellSignalStrength; private CellInfoNr(Parcel in) { super(in); mCellIdentity = CellIdentityNr.CREATOR.createFromParcel(in); mCellSignalStrength = CellSignalStrengthNr.CREATOR.createFromParcel(in); } @Override public CellIdentity getCellIdentity() { return mCellIdentity; } @Override public CellSignalStrength getCellSignalStrength() { return mCellSignalStrength; } @Override public int hashCode() { return Objects.hash(super.hashCode(), mCellIdentity, mCellSignalStrength); } @Override public boolean equals(Object other) { if (!(other instanceof CellInfoNr)) { return false; } CellInfoNr o = (CellInfoNr) other; return super.equals(o) && mCellIdentity.equals(o.mCellIdentity) && mCellSignalStrength.equals(o.mCellSignalStrength); } @Override public String toString() { return new StringBuilder() .append(TAG + ":{") .append(" " + super.toString()) .append(" " + mCellIdentity) .append(" " + mCellSignalStrength) .append(" }") .toString(); } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags, TYPE_NR); mCellIdentity.writeToParcel(dest, flags); mCellSignalStrength.writeToParcel(dest, flags); } public static final Creator<CellInfoNr> CREATOR = new Creator<CellInfoNr>() { @Override public CellInfoNr createFromParcel(Parcel in) { // Skip the type info. in.readInt(); return new CellInfoNr(in); } @Override public CellInfoNr[] newArray(int size) { return new CellInfoNr[size]; } }; /** @hide */ protected static CellInfoNr createFromParcelBody(Parcel in) { return new CellInfoNr(in); } } Loading
api/current.txt +32 −0 Original line number Diff line number Diff line Loading @@ -42188,6 +42188,16 @@ package android.telephony { field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityLte> CREATOR; } public final class CellIdentityNr extends android.telephony.CellIdentity { method public int getChannelNumber(); method public java.lang.String getMccString(); method public java.lang.String getMncString(); method public int getPci(); method public int getTac(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityNr> CREATOR; } public final class CellIdentityTdscdma extends android.telephony.CellIdentity { method public int getCid(); method public int getCpid(); Loading Loading @@ -42247,6 +42257,13 @@ package android.telephony { field public static final android.os.Parcelable.Creator<android.telephony.CellInfoLte> CREATOR; } public final class CellInfoNr extends android.telephony.CellInfo { method public android.telephony.CellIdentity getCellIdentity(); method public android.telephony.CellSignalStrength getCellSignalStrength(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.CellInfoNr> CREATOR; } public final class CellInfoWcdma extends android.telephony.CellInfo implements android.os.Parcelable { method public android.telephony.CellIdentityWcdma getCellIdentity(); method public android.telephony.CellSignalStrengthWcdma getCellSignalStrength(); Loading Loading @@ -42314,6 +42331,21 @@ package android.telephony { field public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthLte> CREATOR; } public final class CellSignalStrengthNr extends android.telephony.CellSignalStrength implements android.os.Parcelable { method public int describeContents(); method public int getAsuLevel(); method public int getCsiRsrp(); method public int getCsiRsrq(); method public int getCsiSinr(); method public int getDbm(); method public int getLevel(); method public int getSsRsrp(); method public int getSsRsrq(); method public int getSsSinr(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthNr> CREATOR; } public final class CellSignalStrengthWcdma extends android.telephony.CellSignalStrength implements android.os.Parcelable { method public int describeContents(); method public int getAsuLevel();
telephony/java/android/telephony/CellIdentity.java +1 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,7 @@ public abstract class CellIdentity implements Parcelable { case CellInfo.TYPE_LTE: return CellIdentityLte.createFromParcelBody(in); case CellInfo.TYPE_TDSCDMA: return CellIdentityTdscdma.createFromParcelBody(in); case CellInfo.TYPE_NR: return CellIdentityNr.createFromParcelBody(in); default: throw new IllegalArgumentException("Bad Cell identity Parcel"); } } Loading
telephony/java/android/telephony/CellIdentityNr.java 0 → 100644 +167 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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.os.Parcel; import android.telephony.gsm.GsmCellLocation; import java.util.Objects; /** * Information to represent a unique 5G NR cell. */ public final class CellIdentityNr extends CellIdentity { private static final String TAG = "CellIdentityNr"; private final int mNrArfcn; private final int mPci; private final int mTac; /** * * @param pci Physical Cell Id in range [0, 1007]. * @param tac 16-bit Tracking Area Code. * @param nrArfcn NR Absolute Radio Frequency Channel Number, in range [0, 3279165]. * @param mccStr 3-digit Mobile Country Code in string format. * @param mncStr 2 or 3-digit Mobile Network Code in string format. * @param alphal long alpha Operator Name String or Enhanced Operator Name String. * @param alphas short alpha Operator Name String or Enhanced Operator Name String. * * @hide */ public CellIdentityNr(int pci, int tac, int nrArfcn, String mccStr, String mncStr, String alphal, String alphas) { super(TAG, CellInfo.TYPE_NR, mccStr, mncStr, alphal, alphas); mPci = pci; mTac = tac; mNrArfcn = nrArfcn; } /** * @return a CellLocation object for this CellIdentity. * @hide */ @Override public CellLocation asCellLocation() { return new GsmCellLocation(); } @Override public int hashCode() { return Objects.hash(super.hashCode(), mPci, mTac, mNrArfcn); } @Override public boolean equals(Object other) { if (!(other instanceof CellIdentityNr)) { return false; } CellIdentityNr o = (CellIdentityNr) other; return super.equals(o) && mPci == o.mPci && mTac == o.mTac && mNrArfcn == o.mNrArfcn; } /** * Get the Absolute Radio Frequency Channel Number. * @return Integer value in range [0, 3279165] or {@link CellInfo#UNAVAILABLE} if unknown. */ @Override public int getChannelNumber() { return mNrArfcn; } /** * Get the physical cell id. * @return Integer value in range [0, 1007] or {@link CellInfo#UNAVAILABLE} if unknown. */ public int getPci() { return mPci; } /** * Get the tracking area code. * @return a 16 bit integer or {@link CellInfo#UNAVAILABLE} if unknown. */ public int getTac() { return mTac; } /** * @return Mobile Country Code in string format, or {@code null} if unknown. */ public String getMccString() { return mMccStr; } /** * @return Mobile Network Code in string fomrat, or {@code null} if unknown. */ public String getMncString() { return mMncStr; } @Override public String toString() { return new StringBuilder(TAG + ":{") .append(" mPci = ").append(mPci) .append(" mTac = ").append(mTac) .append(" mNrArfcn = ").append(mNrArfcn) .append(" mMcc = ").append(mMccStr) .append(" mMnc = ").append(mMncStr) .append(" mAlphaLong = ").append(mAlphaLong) .append(" mAlphaShort = ").append(mAlphaShort) .append(" }") .toString(); } @Override public void writeToParcel(Parcel dest, int type) { super.writeToParcel(dest, CellInfo.TYPE_NR); dest.writeInt(mPci); dest.writeInt(mTac); dest.writeInt(mNrArfcn); } /** Construct from Parcel, type has already been processed */ private CellIdentityNr(Parcel in) { super(TAG, CellInfo.TYPE_NR, in); mPci = in.readInt(); mTac = in.readInt(); mNrArfcn = in.readInt(); } /** Implement the Parcelable interface */ public static final Creator<CellIdentityNr> CREATOR = new Creator<CellIdentityNr>() { @Override public CellIdentityNr createFromParcel(Parcel in) { // Skip the type info. in.readInt(); return createFromParcelBody(in); } @Override public CellIdentityNr[] newArray(int size) { return new CellIdentityNr[size]; } }; /** @hide */ protected static CellIdentityNr createFromParcelBody(Parcel in) { return new CellIdentityNr(in); } }
telephony/java/android/telephony/CellInfo.java +21 −7 Original line number Diff line number Diff line Loading @@ -42,39 +42,52 @@ public abstract class CellInfo implements Parcelable { * @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(prefix = "TYPE_", value = {TYPE_GSM, TYPE_CDMA, TYPE_LTE, TYPE_WCDMA, TYPE_TDSCDMA}) @IntDef(prefix = "TYPE_", value = {TYPE_GSM, TYPE_CDMA, TYPE_LTE, TYPE_WCDMA, TYPE_TDSCDMA, TYPE_NR}) public @interface Type {} /** * Unknown cell identity type * @hide */ public static final int TYPE_UNKNOWN = 0; /** * GSM cell identity type * @hide */ public static final int TYPE_GSM = 1; /** * CDMA cell identity type * @hide */ public static final int TYPE_CDMA = 2; /** * LTE cell identity type * @hide */ public static final int TYPE_LTE = 3; /** * WCDMA cell identity type * @hide */ public static final int TYPE_WCDMA = 4; /** * TD-SCDMA cell identity type * @hide */ public static final int TYPE_TDSCDMA = 5; /** * 5G cell identity type * @hide */ public static final int TYPE_NR = 6; // Type to distinguish where time stamp gets recorded. /** @hide */ Loading Loading @@ -277,6 +290,7 @@ public abstract class CellInfo implements Parcelable { case TYPE_LTE: return CellInfoLte.createFromParcelBody(in); case TYPE_WCDMA: return CellInfoWcdma.createFromParcelBody(in); case TYPE_TDSCDMA: return CellInfoTdscdma.createFromParcelBody(in); case TYPE_NR: return CellInfoNr.createFromParcelBody(in); default: throw new RuntimeException("Bad CellInfo Parcel"); } } Loading
telephony/java/android/telephony/CellInfoNr.java 0 → 100644 +100 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 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.os.Parcel; import java.util.Objects; /** * A {@link CellInfo} representing an 5G NR cell that provides identity and measurement info. */ public final class CellInfoNr extends CellInfo { private static final String TAG = "CellInfoNr"; private final CellIdentityNr mCellIdentity; private final CellSignalStrengthNr mCellSignalStrength; private CellInfoNr(Parcel in) { super(in); mCellIdentity = CellIdentityNr.CREATOR.createFromParcel(in); mCellSignalStrength = CellSignalStrengthNr.CREATOR.createFromParcel(in); } @Override public CellIdentity getCellIdentity() { return mCellIdentity; } @Override public CellSignalStrength getCellSignalStrength() { return mCellSignalStrength; } @Override public int hashCode() { return Objects.hash(super.hashCode(), mCellIdentity, mCellSignalStrength); } @Override public boolean equals(Object other) { if (!(other instanceof CellInfoNr)) { return false; } CellInfoNr o = (CellInfoNr) other; return super.equals(o) && mCellIdentity.equals(o.mCellIdentity) && mCellSignalStrength.equals(o.mCellSignalStrength); } @Override public String toString() { return new StringBuilder() .append(TAG + ":{") .append(" " + super.toString()) .append(" " + mCellIdentity) .append(" " + mCellSignalStrength) .append(" }") .toString(); } @Override public void writeToParcel(Parcel dest, int flags) { super.writeToParcel(dest, flags, TYPE_NR); mCellIdentity.writeToParcel(dest, flags); mCellSignalStrength.writeToParcel(dest, flags); } public static final Creator<CellInfoNr> CREATOR = new Creator<CellInfoNr>() { @Override public CellInfoNr createFromParcel(Parcel in) { // Skip the type info. in.readInt(); return new CellInfoNr(in); } @Override public CellInfoNr[] newArray(int size) { return new CellInfoNr[size]; } }; /** @hide */ protected static CellInfoNr createFromParcelBody(Parcel in) { return new CellInfoNr(in); } }