Construct NeighboringCellInfo from CellInfo

As part of removing neighboring cell info this
CL adds support for constructing a NeighboringCellInfo
object from a CellInfo object.

Bug: 62490173
Test: tested manually using SL4A with both O-MR1 and current
    target SDKs
Change-Id: I278487e506b07ab97589da85f69f1188c73b6eb9
This commit is contained in:
Nathan Harold
2017-12-04 09:55:56 -08:00
parent bb67bab55f
commit 45fb10525e
2 changed files with 39 additions and 6 deletions

View File

@@ -16,16 +16,16 @@
package android.telephony;
import android.os.Parcel;
import android.os.Parcelable;
import static android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN;
import static android.telephony.TelephonyManager.NETWORK_TYPE_EDGE;
import static android.telephony.TelephonyManager.NETWORK_TYPE_GPRS;
import static android.telephony.TelephonyManager.NETWORK_TYPE_UMTS;
import static android.telephony.TelephonyManager.NETWORK_TYPE_HSDPA;
import static android.telephony.TelephonyManager.NETWORK_TYPE_HSUPA;
import static android.telephony.TelephonyManager.NETWORK_TYPE_HSPA;
import static android.telephony.TelephonyManager.NETWORK_TYPE_HSUPA;
import static android.telephony.TelephonyManager.NETWORK_TYPE_UMTS;
import static android.telephony.TelephonyManager.NETWORK_TYPE_UNKNOWN;
import android.os.Parcel;
import android.os.Parcelable;
/**
@@ -100,6 +100,39 @@ public class NeighboringCellInfo implements Parcelable
mCid = cid;
}
/** @hide */
public NeighboringCellInfo(final CellInfoGsm info) {
mNetworkType = TelephonyManager.NETWORK_TYPE_GPRS;
mRssi = info.getCellSignalStrength().getAsuLevel();
if (mRssi == Integer.MAX_VALUE) mRssi = UNKNOWN_RSSI;
mLac = info.getCellIdentity().getLac();
if (mLac == Integer.MAX_VALUE) mLac = UNKNOWN_CID;
mCid = info.getCellIdentity().getCid();
if (mCid == Integer.MAX_VALUE) mCid = UNKNOWN_CID;
mPsc = UNKNOWN_CID;
}
/** @hide */
public NeighboringCellInfo(final CellInfoWcdma info) {
mNetworkType = TelephonyManager.NETWORK_TYPE_UMTS;
mRssi = info.getCellSignalStrength().getAsuLevel();
if (mRssi == Integer.MAX_VALUE) mRssi = UNKNOWN_RSSI;
mLac = info.getCellIdentity().getLac();
if (mLac == Integer.MAX_VALUE) mLac = UNKNOWN_CID;
mCid = info.getCellIdentity().getCid();
if (mCid == Integer.MAX_VALUE) mCid = UNKNOWN_CID;
mPsc = info.getCellIdentity().getPsc();
if (mPsc == Integer.MAX_VALUE) mPsc = UNKNOWN_CID;
}
/**
* Initialize the object from rssi, location string, and radioType
* radioType is one of following

View File

@@ -1462,7 +1462,7 @@ public class TelephonyManager {
* @return List of NeighboringCellInfo or null if info unavailable.
*
* @deprecated Use {@link #getAllCellInfo} which returns a superset of the information
* from NeighboringCellInfo.
* from NeighboringCellInfo, including LTE cell information.
*/
@Deprecated
@RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION)