diff options
| author | 2016-01-27 09:59:59 -0800 | |
|---|---|---|
| committer | 2016-01-27 09:59:59 -0800 | |
| commit | 0491c46227d94ad51a70c549d1529616cea9170b (patch) | |
| tree | 8d6285b8f275583ef9da2934ab563f8882b2567b | |
| parent | b84954cf92dbedd7ef3c4cd6868cad9e5b637d7d (diff) | |
[DO NOT MERGE] Cellinfo: Update to version 12
Add support for:
GSM: arfcn, bsic, ta
WCDMA: uarfcn
LTE: earfcn
Updated public APIs for getting above fields.
Bug: 23528586
Change-Id: I1e741ec73f2f683a796d430898b62921fe6e75e9
| -rw-r--r-- | api/current.txt | 4 | ||||
| -rw-r--r-- | api/system-current.txt | 4 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CellIdentityGsm.java | 50 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CellIdentityLte.java | 33 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CellIdentityWcdma.java | 33 | ||||
| -rw-r--r-- | telephony/java/android/telephony/CellSignalStrengthGsm.java | 27 |
6 files changed, 146 insertions, 5 deletions
diff --git a/api/current.txt b/api/current.txt index 5a099ea95570..e29d5ec28543 100644 --- a/api/current.txt +++ b/api/current.txt @@ -30675,6 +30675,8 @@ package android.telephony { public final class CellIdentityGsm implements android.os.Parcelable { method public int describeContents(); + method public int getArfcn(); + method public int getBsic(); method public int getCid(); method public int getLac(); method public int getMcc(); @@ -30687,6 +30689,7 @@ package android.telephony { public final class CellIdentityLte implements android.os.Parcelable { method public int describeContents(); method public int getCi(); + method public int getEarfcn(); method public int getMcc(); method public int getMnc(); method public int getPci(); @@ -30702,6 +30705,7 @@ package android.telephony { method public int getMcc(); method public int getMnc(); method public int getPsc(); + method public int getUarfcn(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityWcdma> CREATOR; } diff --git a/api/system-current.txt b/api/system-current.txt index 58e4880cccbe..47aeee3944a5 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -32922,6 +32922,8 @@ package android.telephony { public final class CellIdentityGsm implements android.os.Parcelable { method public int describeContents(); + method public int getArfcn(); + method public int getBsic(); method public int getCid(); method public int getLac(); method public int getMcc(); @@ -32934,6 +32936,7 @@ package android.telephony { public final class CellIdentityLte implements android.os.Parcelable { method public int describeContents(); method public int getCi(); + method public int getEarfcn(); method public int getMcc(); method public int getMnc(); method public int getPci(); @@ -32949,6 +32952,7 @@ package android.telephony { method public int getMcc(); method public int getMnc(); method public int getPsc(); + method public int getUarfcn(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityWcdma> CREATOR; } diff --git a/telephony/java/android/telephony/CellIdentityGsm.java b/telephony/java/android/telephony/CellIdentityGsm.java index 90d2aa0223a0..74f11719d237 100644 --- a/telephony/java/android/telephony/CellIdentityGsm.java +++ b/telephony/java/android/telephony/CellIdentityGsm.java @@ -38,6 +38,10 @@ public final class CellIdentityGsm implements Parcelable { private final int mLac; // 16-bit GSM Cell Identity described in TS 27.007, 0..65535 private final int mCid; + // 16-bit GSM Absolute RF Channel Number + private final int mArfcn; + // 6-bit Base Station Identity Code + private final int mBsic; /** * @hide @@ -47,6 +51,8 @@ public final class CellIdentityGsm implements Parcelable { mMnc = Integer.MAX_VALUE; mLac = Integer.MAX_VALUE; mCid = Integer.MAX_VALUE; + mArfcn = Integer.MAX_VALUE; + mBsic = Integer.MAX_VALUE; } /** * public constructor @@ -58,10 +64,27 @@ public final class CellIdentityGsm implements Parcelable { * @hide */ public CellIdentityGsm (int mcc, int mnc, int lac, int cid) { + this(mcc, mnc, lac, cid, Integer.MAX_VALUE, Integer.MAX_VALUE); + } + + /** + * public constructor + * @param mcc 3-digit Mobile Country Code, 0..999 + * @param mnc 2 or 3-digit Mobile Network Code, 0..999 + * @param lac 16-bit Location Area Code, 0..65535 + * @param cid 16-bit GSM Cell Identity or 28-bit UMTS Cell Identity + * @param arfcn 16-bit GSM Absolute RF Channel Number + * @param bsic 6-bit Base Station Identity Code + * + * @hide + */ + public CellIdentityGsm (int mcc, int mnc, int lac, int cid, int arfcn, int bsic) { mMcc = mcc; mMnc = mnc; mLac = lac; mCid = cid; + mArfcn = arfcn; + mBsic = bsic; } private CellIdentityGsm(CellIdentityGsm cid) { @@ -69,6 +92,8 @@ public final class CellIdentityGsm implements Parcelable { mMnc = cid.mMnc; mLac = cid.mLac; mCid = cid.mCid; + mArfcn = cid.mArfcn; + mBsic = cid.mBsic; } CellIdentityGsm copy() { @@ -106,6 +131,21 @@ public final class CellIdentityGsm implements Parcelable { } /** + * @return 16-bit GSM Absolute RF Channel Number, Integer.MAX_VALUE if unknown + */ + public int getArfcn() { + return mArfcn; + } + + /** + * @return 6-bit Base Station Identity Code, Integer.MAX_VALUE if unknown + */ + public int getBsic() { + return mBsic; + } + + + /** * @return Integer.MAX_VALUE, undefined for GSM */ @Deprecated @@ -132,7 +172,9 @@ public final class CellIdentityGsm implements Parcelable { return mMcc == o.mMcc && mMnc == o.mMnc && mLac == o.mLac && - mCid == o.mCid; + mCid == o.mCid && + mArfcn == o.mArfcn && + mBsic == o.mBsic; } @Override @@ -142,6 +184,8 @@ public final class CellIdentityGsm implements Parcelable { sb.append(" mMnc=").append(mMnc); sb.append(" mLac=").append(mLac); sb.append(" mCid=").append(mCid); + sb.append(" mArfcn=").append(mArfcn); + sb.append(" mBsic=").append("0x").append(Integer.toHexString(mBsic)); sb.append("}"); return sb.toString(); @@ -161,6 +205,8 @@ public final class CellIdentityGsm implements Parcelable { dest.writeInt(mMnc); dest.writeInt(mLac); dest.writeInt(mCid); + dest.writeInt(mArfcn); + dest.writeInt(mBsic); } /** Construct from Parcel, type has already been processed */ @@ -169,6 +215,8 @@ public final class CellIdentityGsm implements Parcelable { mMnc = in.readInt(); mLac = in.readInt(); mCid = in.readInt(); + mArfcn = in.readInt(); + mBsic = in.readInt(); if (DBG) log("CellIdentityGsm(Parcel): " + toString()); } diff --git a/telephony/java/android/telephony/CellIdentityLte.java b/telephony/java/android/telephony/CellIdentityLte.java index 1e7ac08b3e43..ce7438354a50 100644 --- a/telephony/java/android/telephony/CellIdentityLte.java +++ b/telephony/java/android/telephony/CellIdentityLte.java @@ -40,6 +40,8 @@ public final class CellIdentityLte implements Parcelable { private final int mPci; // 16-bit tracking area code private final int mTac; + // 18-bit Absolute RF Channel Number + private final int mEarfcn; /** * @hide @@ -50,6 +52,7 @@ public final class CellIdentityLte implements Parcelable { mCi = Integer.MAX_VALUE; mPci = Integer.MAX_VALUE; mTac = Integer.MAX_VALUE; + mEarfcn = Integer.MAX_VALUE; } /** @@ -63,11 +66,27 @@ public final class CellIdentityLte implements Parcelable { * @hide */ public CellIdentityLte (int mcc, int mnc, int ci, int pci, int tac) { + this(mcc, mnc, ci, pci, tac, Integer.MAX_VALUE); + } + + /** + * + * @param mcc 3-digit Mobile Country Code, 0..999 + * @param mnc 2 or 3-digit Mobile Network Code, 0..999 + * @param ci 28-bit Cell Identity + * @param pci Physical Cell Id 0..503 + * @param tac 16-bit Tracking Area Code + * @param earfcn 18-bit LTE Absolute RF Channel Number + * + * @hide + */ + public CellIdentityLte (int mcc, int mnc, int ci, int pci, int tac, int earfcn) { mMcc = mcc; mMnc = mnc; mCi = ci; mPci = pci; mTac = tac; + mEarfcn = earfcn; } private CellIdentityLte(CellIdentityLte cid) { @@ -76,6 +95,7 @@ public final class CellIdentityLte implements Parcelable { mCi = cid.mCi; mPci = cid.mPci; mTac = cid.mTac; + mEarfcn = cid.mEarfcn; } CellIdentityLte copy() { @@ -117,6 +137,13 @@ public final class CellIdentityLte implements Parcelable { return mTac; } + /** + * @return 18-bit Absolute RF Channel Number, Integer.MAX_VALUE if unknown + */ + public int getEarfcn() { + return mEarfcn; + } + @Override public int hashCode() { return Objects.hash(mMcc, mMnc, mCi, mPci, mTac); @@ -137,7 +164,8 @@ public final class CellIdentityLte implements Parcelable { mMnc == o.mMnc && mCi == o.mCi && mPci == o.mPci && - mTac == o.mTac; + mTac == o.mTac && + mEarfcn == o.mEarfcn; } @Override @@ -148,6 +176,7 @@ public final class CellIdentityLte implements Parcelable { sb.append(" mCi="); sb.append(mCi); sb.append(" mPci="); sb.append(mPci); sb.append(" mTac="); sb.append(mTac); + sb.append(" mEarfcn="); sb.append(mEarfcn); sb.append("}"); return sb.toString(); @@ -168,6 +197,7 @@ public final class CellIdentityLte implements Parcelable { dest.writeInt(mCi); dest.writeInt(mPci); dest.writeInt(mTac); + dest.writeInt(mEarfcn); } /** Construct from Parcel, type has already been processed */ @@ -177,6 +207,7 @@ public final class CellIdentityLte implements Parcelable { mCi = in.readInt(); mPci = in.readInt(); mTac = in.readInt(); + mEarfcn = in.readInt(); if (DBG) log("CellIdentityLte(Parcel): " + toString()); } diff --git a/telephony/java/android/telephony/CellIdentityWcdma.java b/telephony/java/android/telephony/CellIdentityWcdma.java index 56ee8c9df138..0d13efd279c9 100644 --- a/telephony/java/android/telephony/CellIdentityWcdma.java +++ b/telephony/java/android/telephony/CellIdentityWcdma.java @@ -40,6 +40,8 @@ public final class CellIdentityWcdma implements Parcelable { private final int mCid; // 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511 private final int mPsc; + // 16-bit UMTS Absolute RF Channel Number + private final int mUarfcn; /** * @hide @@ -50,6 +52,7 @@ public final class CellIdentityWcdma implements Parcelable { mLac = Integer.MAX_VALUE; mCid = Integer.MAX_VALUE; mPsc = Integer.MAX_VALUE; + mUarfcn = Integer.MAX_VALUE; } /** * public constructor @@ -62,11 +65,27 @@ public final class CellIdentityWcdma implements Parcelable { * @hide */ public CellIdentityWcdma (int mcc, int mnc, int lac, int cid, int psc) { + this(mcc, mnc, lac, cid, psc, Integer.MAX_VALUE); + } + + /** + * public constructor + * @param mcc 3-digit Mobile Country Code, 0..999 + * @param mnc 2 or 3-digit Mobile Network Code, 0..999 + * @param lac 16-bit Location Area Code, 0..65535 + * @param cid 28-bit UMTS Cell Identity + * @param psc 9-bit UMTS Primary Scrambling Code + * @param uarfcn 16-bit UMTS Absolute RF Channel Number + * + * @hide + */ + public CellIdentityWcdma (int mcc, int mnc, int lac, int cid, int psc, int uarfcn) { mMcc = mcc; mMnc = mnc; mLac = lac; mCid = cid; mPsc = psc; + mUarfcn = uarfcn; } private CellIdentityWcdma(CellIdentityWcdma cid) { @@ -75,6 +94,7 @@ public final class CellIdentityWcdma implements Parcelable { mLac = cid.mLac; mCid = cid.mCid; mPsc = cid.mPsc; + mUarfcn = cid.mUarfcn; } CellIdentityWcdma copy() { @@ -123,6 +143,13 @@ public final class CellIdentityWcdma implements Parcelable { return Objects.hash(mMcc, mMnc, mLac, mCid, mPsc); } + /** + * @return 16-bit UMTS Absolute RF Channel Number, Integer.MAX_VALUE if unknown + */ + public int getUarfcn() { + return mUarfcn; + } + @Override public boolean equals(Object other) { if (this == other) { @@ -138,7 +165,8 @@ public final class CellIdentityWcdma implements Parcelable { mMnc == o.mMnc && mLac == o.mLac && mCid == o.mCid && - mPsc == o.mPsc; + mPsc == o.mPsc && + mUarfcn == o.mUarfcn; } @Override @@ -149,6 +177,7 @@ public final class CellIdentityWcdma implements Parcelable { sb.append(" mLac=").append(mLac); sb.append(" mCid=").append(mCid); sb.append(" mPsc=").append(mPsc); + sb.append(" mUarfcn=").append(mUarfcn); sb.append("}"); return sb.toString(); @@ -169,6 +198,7 @@ public final class CellIdentityWcdma implements Parcelable { dest.writeInt(mLac); dest.writeInt(mCid); dest.writeInt(mPsc); + dest.writeInt(mUarfcn); } /** Construct from Parcel, type has already been processed */ @@ -178,6 +208,7 @@ public final class CellIdentityWcdma implements Parcelable { mLac = in.readInt(); mCid = in.readInt(); mPsc = in.readInt(); + mUarfcn = in.readInt(); if (DBG) log("CellIdentityWcdma(Parcel): " + toString()); } diff --git a/telephony/java/android/telephony/CellSignalStrengthGsm.java b/telephony/java/android/telephony/CellSignalStrengthGsm.java index d27fcec38351..addf7ef025aa 100644 --- a/telephony/java/android/telephony/CellSignalStrengthGsm.java +++ b/telephony/java/android/telephony/CellSignalStrengthGsm.java @@ -34,6 +34,7 @@ public final class CellSignalStrengthGsm extends CellSignalStrength implements P private int mSignalStrength; // Valid values are (0-31, 99) as defined in TS 27.007 8.5 private int mBitErrorRate; // bit error rate (0-7, 99) as defined in TS 27.007 8.5 + private int mTimingAdvance; /** * Empty constructor @@ -75,6 +76,22 @@ public final class CellSignalStrengthGsm extends CellSignalStrength implements P public void initialize(int ss, int ber) { mSignalStrength = ss; mBitErrorRate = ber; + mTimingAdvance = Integer.MAX_VALUE; + } + + /** + * Initialize all the values + * + * @param ss SignalStrength as ASU value + * @param ber is Bit Error Rate + * @param ta timing advance + * + * @hide + */ + public void initialize(int ss, int ber, int ta) { + mSignalStrength = ss; + mBitErrorRate = ber; + mTimingAdvance = ta; } /** @@ -83,6 +100,7 @@ public final class CellSignalStrengthGsm extends CellSignalStrength implements P protected void copyFrom(CellSignalStrengthGsm s) { mSignalStrength = s.mSignalStrength; mBitErrorRate = s.mBitErrorRate; + mTimingAdvance = s.mTimingAdvance; } /** @@ -98,6 +116,7 @@ public final class CellSignalStrengthGsm extends CellSignalStrength implements P public void setDefaultValues() { mSignalStrength = Integer.MAX_VALUE; mBitErrorRate = Integer.MAX_VALUE; + mTimingAdvance = Integer.MAX_VALUE; } /** @@ -174,7 +193,8 @@ public final class CellSignalStrengthGsm extends CellSignalStrength implements P return false; } - return mSignalStrength == s.mSignalStrength && mBitErrorRate == s.mBitErrorRate; + return mSignalStrength == s.mSignalStrength && mBitErrorRate == s.mBitErrorRate && + s.mTimingAdvance == mTimingAdvance; } /** @@ -184,7 +204,8 @@ public final class CellSignalStrengthGsm extends CellSignalStrength implements P public String toString() { return "CellSignalStrengthGsm:" + " ss=" + mSignalStrength - + " ber=" + mBitErrorRate; + + " ber=" + mBitErrorRate + + " mTa=" + mTimingAdvance; } /** Implement the Parcelable interface */ @@ -193,6 +214,7 @@ public final class CellSignalStrengthGsm extends CellSignalStrength implements P if (DBG) log("writeToParcel(Parcel, int): " + toString()); dest.writeInt(mSignalStrength); dest.writeInt(mBitErrorRate); + dest.writeInt(mTimingAdvance); } /** @@ -202,6 +224,7 @@ public final class CellSignalStrengthGsm extends CellSignalStrength implements P private CellSignalStrengthGsm(Parcel in) { mSignalStrength = in.readInt(); mBitErrorRate = in.readInt(); + mTimingAdvance = in.readInt(); if (DBG) log("CellSignalStrengthGsm(Parcel): " + toString()); } |