am 9c118c80: Update CID in NeighboringCellInfo
Merge commit '9c118c80fd0a5416051f2a49f515301f2cf3fd6f' into eclair-plus-aosp * commit '9c118c80fd0a5416051f2a49f515301f2cf3fd6f': Update CID in NeighboringCellInfo
This commit is contained in:
@@ -122805,7 +122805,7 @@
|
|||||||
type="android.telephony.NeighboringCellInfo"
|
type="android.telephony.NeighboringCellInfo"
|
||||||
static="false"
|
static="false"
|
||||||
final="false"
|
final="false"
|
||||||
deprecated="not deprecated"
|
deprecated="deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
</constructor>
|
</constructor>
|
||||||
@@ -122813,7 +122813,7 @@
|
|||||||
type="android.telephony.NeighboringCellInfo"
|
type="android.telephony.NeighboringCellInfo"
|
||||||
static="false"
|
static="false"
|
||||||
final="false"
|
final="false"
|
||||||
deprecated="not deprecated"
|
deprecated="deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="rssi" type="int">
|
<parameter name="rssi" type="int">
|
||||||
@@ -122853,6 +122853,39 @@
|
|||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="getLac"
|
||||||
|
return="int"
|
||||||
|
abstract="false"
|
||||||
|
native="false"
|
||||||
|
synchronized="false"
|
||||||
|
static="false"
|
||||||
|
final="false"
|
||||||
|
deprecated="not deprecated"
|
||||||
|
visibility="public"
|
||||||
|
>
|
||||||
|
</method>
|
||||||
|
<method name="getNetworkType"
|
||||||
|
return="int"
|
||||||
|
abstract="false"
|
||||||
|
native="false"
|
||||||
|
synchronized="false"
|
||||||
|
static="false"
|
||||||
|
final="false"
|
||||||
|
deprecated="not deprecated"
|
||||||
|
visibility="public"
|
||||||
|
>
|
||||||
|
</method>
|
||||||
|
<method name="getPsc"
|
||||||
|
return="int"
|
||||||
|
abstract="false"
|
||||||
|
native="false"
|
||||||
|
synchronized="false"
|
||||||
|
static="false"
|
||||||
|
final="false"
|
||||||
|
deprecated="not deprecated"
|
||||||
|
visibility="public"
|
||||||
|
>
|
||||||
|
</method>
|
||||||
<method name="getRssi"
|
<method name="getRssi"
|
||||||
return="int"
|
return="int"
|
||||||
abstract="false"
|
abstract="false"
|
||||||
@@ -122871,7 +122904,7 @@
|
|||||||
synchronized="false"
|
synchronized="false"
|
||||||
static="false"
|
static="false"
|
||||||
final="false"
|
final="false"
|
||||||
deprecated="not deprecated"
|
deprecated="deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="cid" type="int">
|
<parameter name="cid" type="int">
|
||||||
@@ -122884,7 +122917,7 @@
|
|||||||
synchronized="false"
|
synchronized="false"
|
||||||
static="false"
|
static="false"
|
||||||
final="false"
|
final="false"
|
||||||
deprecated="not deprecated"
|
deprecated="deprecated"
|
||||||
visibility="public"
|
visibility="public"
|
||||||
>
|
>
|
||||||
<parameter name="rssi" type="int">
|
<parameter name="rssi" type="int">
|
||||||
|
|||||||
@@ -18,6 +18,15 @@ package android.telephony;
|
|||||||
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the neighboring cell information, including
|
* Represents the neighboring cell information, including
|
||||||
@@ -34,60 +43,202 @@ public class NeighboringCellInfo implements Parcelable
|
|||||||
*/
|
*/
|
||||||
static final public int UNKNOWN_CID = -1;
|
static final public int UNKNOWN_CID = -1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In GSM, mRssi is the Received RSSI;
|
||||||
|
* In UMTS, mRssi is the Level index of CPICH Received Signal Code Power
|
||||||
|
*/
|
||||||
private int mRssi;
|
private int mRssi;
|
||||||
|
/**
|
||||||
|
* CID in 16 bits format in GSM. Return UNKNOWN_CID in UMTS and CMDA.
|
||||||
|
*/
|
||||||
private int mCid;
|
private int mCid;
|
||||||
|
/**
|
||||||
|
* LAC in 16 bits format in GSM. Return UNKNOWN_CID in UMTS and CMDA.
|
||||||
|
*/
|
||||||
|
private int mLac;
|
||||||
|
/**
|
||||||
|
* Primary Scrambling Code in 9 bits format in UMTS
|
||||||
|
* Return UNKNOWN_CID in GSM and CMDA.
|
||||||
|
*/
|
||||||
|
private int mPsc;
|
||||||
|
/**
|
||||||
|
* Radio network type, value is one of following
|
||||||
|
* TelephonyManager.NETWORK_TYPE_XXXXXX.
|
||||||
|
*/
|
||||||
|
private int mNetworkType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @deprecated
|
||||||
* Empty constructor. Initializes the RSSI and CID.
|
* Empty constructor. Initializes the RSSI and CID.
|
||||||
|
*
|
||||||
|
* NeighboringCellInfo is one time shot for the neighboring cells based on
|
||||||
|
* the radio network type at that moment. Its constructor needs radio network
|
||||||
|
* type.
|
||||||
*/
|
*/
|
||||||
public NeighboringCellInfo() {
|
public NeighboringCellInfo() {
|
||||||
mRssi = UNKNOWN_RSSI;
|
mRssi = UNKNOWN_RSSI;
|
||||||
|
mLac = UNKNOWN_CID;
|
||||||
mCid = UNKNOWN_CID;
|
mCid = UNKNOWN_CID;
|
||||||
|
mPsc = UNKNOWN_CID;
|
||||||
|
mNetworkType = NETWORK_TYPE_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @deprecated
|
||||||
* Initialize the object from rssi and cid.
|
* Initialize the object from rssi and cid.
|
||||||
|
*
|
||||||
|
* NeighboringCellInfo is one time shot for the neighboring cells based on
|
||||||
|
* the radio network type at that moment. Its constructor needs radio network
|
||||||
|
* type.
|
||||||
*/
|
*/
|
||||||
public NeighboringCellInfo(int rssi, int cid) {
|
public NeighboringCellInfo(int rssi, int cid) {
|
||||||
mRssi = rssi;
|
mRssi = rssi;
|
||||||
mCid = cid;
|
mCid = cid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @hide
|
||||||
|
* Initialize the object from rssi, location string, and radioType
|
||||||
|
* radioType is one of following
|
||||||
|
* {@link TelephonyManager#NETWORK_TYPE_GPRS TelephonyManager.NETWORK_TYPE_GPRS},
|
||||||
|
* {@link TelephonyManager#NETWORK_TYPE_EDGE TelephonyManager.NETWORK_TYPE_EDGE},
|
||||||
|
* {@link TelephonyManager#NETWORK_TYPE_UMTS TelephonyManager.NETWORK_TYPE_UMTS},
|
||||||
|
* {@link TelephonyManager#NETWORK_TYPE_HSDPA TelephonyManager.NETWORK_TYPE_HSDPA},
|
||||||
|
* {@link TelephonyManager#NETWORK_TYPE_HSUPA TelephonyManager.NETWORK_TYPE_HSUPA},
|
||||||
|
* and {@link TelephonyManager#NETWORK_TYPE_HSPA TelephonyManager.NETWORK_TYPE_HSPA}.
|
||||||
|
*/
|
||||||
|
public NeighboringCellInfo(int rssi, String location, int radioType) {
|
||||||
|
// set default value
|
||||||
|
mRssi = rssi;
|
||||||
|
mNetworkType = NETWORK_TYPE_UNKNOWN;
|
||||||
|
mPsc = UNKNOWN_CID;
|
||||||
|
mLac = UNKNOWN_CID;
|
||||||
|
mCid = UNKNOWN_CID;
|
||||||
|
|
||||||
|
|
||||||
|
// pad location string with leading "0"
|
||||||
|
int l = location.length();
|
||||||
|
if (l > 8) return;
|
||||||
|
if (l < 8) {
|
||||||
|
for (int i = 0; i < (8-l); i++) {
|
||||||
|
location = "0" + location;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {// set LAC/CID or PSC based on radioType
|
||||||
|
switch (radioType) {
|
||||||
|
case NETWORK_TYPE_GPRS:
|
||||||
|
case NETWORK_TYPE_EDGE:
|
||||||
|
mNetworkType = radioType;
|
||||||
|
mLac = Integer.valueOf(location.substring(0, 4), 16);
|
||||||
|
mCid = Integer.valueOf(location.substring(4), 16);
|
||||||
|
break;
|
||||||
|
case NETWORK_TYPE_UMTS:
|
||||||
|
case NETWORK_TYPE_HSDPA:
|
||||||
|
case NETWORK_TYPE_HSUPA:
|
||||||
|
case NETWORK_TYPE_HSPA:
|
||||||
|
mNetworkType = radioType;
|
||||||
|
mPsc = Integer.valueOf(location, 16);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
// parsing location error
|
||||||
|
mPsc = UNKNOWN_CID;
|
||||||
|
mLac = UNKNOWN_CID;
|
||||||
|
mCid = UNKNOWN_CID;
|
||||||
|
mNetworkType = NETWORK_TYPE_UNKNOWN;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize the object from a parcel.
|
* Initialize the object from a parcel.
|
||||||
*/
|
*/
|
||||||
public NeighboringCellInfo(Parcel in) {
|
public NeighboringCellInfo(Parcel in) {
|
||||||
mRssi = in.readInt();
|
mRssi = in.readInt();
|
||||||
|
mLac = in.readInt();
|
||||||
mCid = in.readInt();
|
mCid = in.readInt();
|
||||||
|
mPsc = in.readInt();
|
||||||
|
mNetworkType = in.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return received signal strength in "asu", ranging from 0 - 31,
|
* @return received signal strength or UNKNOWN_RSSI if unknown
|
||||||
* or UNKNOWN_RSSI if unknown
|
|
||||||
*
|
*
|
||||||
* For GSM, dBm = -113 + 2*asu,
|
* For GSM, it is in "asu" ranging from 0 to 31 (dBm = -113 + 2*asu)
|
||||||
* 0 means "-113 dBm or less" and 31 means "-51 dBm or greater"
|
* 0 means "-113 dBm or less" and 31 means "-51 dBm or greater"
|
||||||
|
* For UMTS, it is the Level index of CPICH RSCP defined in TS 25.125
|
||||||
*/
|
*/
|
||||||
public int getRssi() {
|
public int getRssi() {
|
||||||
return mRssi;
|
return mRssi;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return cell id, UNKNOWN_CID if unknown, 0xffffffff max legal value
|
* @return LAC in GSM, 0xffff max legal value
|
||||||
|
* UNKNOWN_CID if in UMTS or CMDA or unknown
|
||||||
|
*/
|
||||||
|
public int getLac() {
|
||||||
|
return mLac;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return cell id in GSM, 0xffff max legal value
|
||||||
|
* UNKNOWN_CID if in UMTS or CDMA or unknown
|
||||||
*/
|
*/
|
||||||
public int getCid() {
|
public int getCid() {
|
||||||
return mCid;
|
return mCid;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @return Primary Scrambling Code in 9 bits format in UMTS, 0x1ff max value
|
||||||
|
* UNKNOWN_CID if in GSM or CMDA or unknown
|
||||||
|
*/
|
||||||
|
public int getPsc() {
|
||||||
|
return mPsc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Radio network type while neighboring cell location is stored.
|
||||||
|
*
|
||||||
|
* Return {@link TelephonyManager#NETWORK_TYPE_UNKNOWN TelephonyManager.NETWORK_TYPE_UNKNOWN}
|
||||||
|
* means that the location information is unavailable.
|
||||||
|
*
|
||||||
|
* Return {@link TelephonyManager#NETWORK_TYPE_GPRS TelephonyManager.NETWORK_TYPE_GPRS} or
|
||||||
|
* {@link TelephonyManager#NETWORK_TYPE_EDGE TelephonyManager.NETWORK_TYPE_EDGE}
|
||||||
|
* means that Neighboring Cell information is stored for GSM network, in
|
||||||
|
* which {@link NeighboringCellInfo#getLac NeighboringCellInfo.getLac} and
|
||||||
|
* {@link NeighboringCellInfo#getCid NeighboringCellInfo.getCid} should be
|
||||||
|
* called to access location.
|
||||||
|
*
|
||||||
|
* Return {@link TelephonyManager#NETWORK_TYPE_UMTS TelephonyManager.NETWORK_TYPE_UMTS},
|
||||||
|
* {@link TelephonyManager#NETWORK_TYPE_HSDPA TelephonyManager.NETWORK_TYPE_HSDPA},
|
||||||
|
* {@link TelephonyManager#NETWORK_TYPE_HSUPA TelephonyManager.NETWORK_TYPE_HSUPA},
|
||||||
|
* or {@link TelephonyManager#NETWORK_TYPE_HSPA TelephonyManager.NETWORK_TYPE_HSPA}
|
||||||
|
* means that Neighboring Cell information is stored for UMTS network, in
|
||||||
|
* which {@link NeighboringCellInfo#getPsc NeighboringCellInfo.getPsc}
|
||||||
|
* should be called to access location.
|
||||||
|
*/
|
||||||
|
public int getNetworkType() {
|
||||||
|
return mNetworkType;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
* Set the cell id.
|
* Set the cell id.
|
||||||
|
*
|
||||||
|
* NeighboringCellInfo is a one time shot for the neighboring cells based on
|
||||||
|
* the radio network type at that moment. It shouldn't be changed after
|
||||||
|
* creation.
|
||||||
*/
|
*/
|
||||||
public void setCid(int cid) {
|
public void setCid(int cid) {
|
||||||
mCid = cid;
|
mCid = cid;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @deprecated
|
||||||
* Set the signal strength of the cell.
|
* Set the signal strength of the cell.
|
||||||
|
*
|
||||||
|
* NeighboringCellInfo is a one time shot for the neighboring cells based on
|
||||||
|
* the radio network type at that moment. It shouldn't be changed after
|
||||||
|
* creation.
|
||||||
*/
|
*/
|
||||||
public void setRssi(int rssi) {
|
public void setRssi(int rssi) {
|
||||||
mRssi = rssi;
|
mRssi = rssi;
|
||||||
@@ -95,8 +246,20 @@ public class NeighboringCellInfo implements Parcelable
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "["+ ((mCid == UNKNOWN_CID) ? "/" : Integer.toHexString(mCid))
|
StringBuilder sb = new StringBuilder();
|
||||||
+ " at " + ((mRssi == UNKNOWN_RSSI)? "/" : mRssi) + "]";
|
|
||||||
|
sb.append("[");
|
||||||
|
if (mPsc != UNKNOWN_CID) {
|
||||||
|
sb.append(Integer.toHexString(mPsc))
|
||||||
|
.append("@").append(((mRssi == UNKNOWN_RSSI)? "-" : mRssi));
|
||||||
|
} else if(mLac != UNKNOWN_CID && mCid != UNKNOWN_CID) {
|
||||||
|
sb.append(Integer.toHexString(mLac))
|
||||||
|
.append(Integer.toHexString(mCid))
|
||||||
|
.append("@").append(((mRssi == UNKNOWN_RSSI)? "-" : mRssi));
|
||||||
|
}
|
||||||
|
sb.append("]");
|
||||||
|
|
||||||
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int describeContents() {
|
public int describeContents() {
|
||||||
@@ -105,7 +268,10 @@ public class NeighboringCellInfo implements Parcelable
|
|||||||
|
|
||||||
public void writeToParcel(Parcel dest, int flags) {
|
public void writeToParcel(Parcel dest, int flags) {
|
||||||
dest.writeInt(mRssi);
|
dest.writeInt(mRssi);
|
||||||
|
dest.writeInt(mLac);
|
||||||
dest.writeInt(mCid);
|
dest.writeInt(mCid);
|
||||||
|
dest.writeInt(mPsc);
|
||||||
|
dest.writeInt(mNetworkType);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Parcelable.Creator<NeighboringCellInfo> CREATOR
|
public static final Parcelable.Creator<NeighboringCellInfo> CREATOR
|
||||||
@@ -118,6 +284,4 @@ public class NeighboringCellInfo implements Parcelable
|
|||||||
return new NeighboringCellInfo[size];
|
return new NeighboringCellInfo[size];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -254,13 +254,13 @@ public class TelephonyManager {
|
|||||||
* (@link android.Manifest.permission#ACCESS_COARSE_UPDATES}
|
* (@link android.Manifest.permission#ACCESS_COARSE_UPDATES}
|
||||||
*/
|
*/
|
||||||
public List<NeighboringCellInfo> getNeighboringCellInfo() {
|
public List<NeighboringCellInfo> getNeighboringCellInfo() {
|
||||||
try {
|
try {
|
||||||
return getITelephony().getNeighboringCellInfo();
|
return getITelephony().getNeighboringCellInfo();
|
||||||
} catch (RemoteException ex) {
|
} catch (RemoteException ex) {
|
||||||
return null;
|
return null;
|
||||||
} catch (NullPointerException ex) {
|
} catch (NullPointerException ex) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** No phone radio. */
|
/** No phone radio. */
|
||||||
|
|||||||
@@ -17,6 +17,14 @@
|
|||||||
package com.android.internal.telephony;
|
package com.android.internal.telephony;
|
||||||
|
|
||||||
import static com.android.internal.telephony.RILConstants.*;
|
import static com.android.internal.telephony.RILConstants.*;
|
||||||
|
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 android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -30,6 +38,7 @@ import android.os.Looper;
|
|||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
import android.os.SystemProperties;
|
||||||
import android.os.PowerManager.WakeLock;
|
import android.os.PowerManager.WakeLock;
|
||||||
import android.telephony.NeighboringCellInfo;
|
import android.telephony.NeighboringCellInfo;
|
||||||
import android.telephony.PhoneNumberUtils;
|
import android.telephony.PhoneNumberUtils;
|
||||||
@@ -2876,21 +2885,44 @@ public final class RIL extends BaseCommands implements CommandsInterface {
|
|||||||
|
|
||||||
private Object
|
private Object
|
||||||
responseCellList(Parcel p) {
|
responseCellList(Parcel p) {
|
||||||
int num;
|
int num, rssi;
|
||||||
|
String location;
|
||||||
ArrayList<NeighboringCellInfo> response;
|
ArrayList<NeighboringCellInfo> response;
|
||||||
NeighboringCellInfo cell;
|
NeighboringCellInfo cell;
|
||||||
|
|
||||||
num = p.readInt();
|
num = p.readInt();
|
||||||
response = new ArrayList<NeighboringCellInfo>(num);
|
response = new ArrayList<NeighboringCellInfo>();
|
||||||
|
|
||||||
for (int i = 0 ; i < num ; i++) {
|
// Determine the radio access type
|
||||||
int rssi = p.readInt();
|
String radioString = SystemProperties.get(
|
||||||
int cid = Integer.valueOf(p.readString(), 16);
|
TelephonyProperties.PROPERTY_DATA_NETWORK_TYPE, "unknown");
|
||||||
cell = new NeighboringCellInfo(rssi, cid);
|
int radioType;
|
||||||
response.add(cell);
|
if (radioString.equals("GPRS")) {
|
||||||
|
radioType = NETWORK_TYPE_GPRS;
|
||||||
|
} else if (radioString.equals("EDGE")) {
|
||||||
|
radioType = NETWORK_TYPE_EDGE;
|
||||||
|
} else if (radioString.equals("UMTS")) {
|
||||||
|
radioType = NETWORK_TYPE_UMTS;
|
||||||
|
} else if (radioString.equals("HSDPA")) {
|
||||||
|
radioType = NETWORK_TYPE_HSDPA;
|
||||||
|
} else if (radioString.equals("HSUPA")) {
|
||||||
|
radioType = NETWORK_TYPE_HSUPA;
|
||||||
|
} else if (radioString.equals("HSPA")) {
|
||||||
|
radioType = NETWORK_TYPE_HSPA;
|
||||||
|
} else {
|
||||||
|
radioType = NETWORK_TYPE_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
return response;
|
// Interpret the location based on radio access type
|
||||||
|
if (radioType != NETWORK_TYPE_UNKNOWN) {
|
||||||
|
for (int i = 0 ; i < num ; i++) {
|
||||||
|
rssi = p.readInt();
|
||||||
|
location = p.readString();
|
||||||
|
cell = new NeighboringCellInfo(rssi, location, radioType);
|
||||||
|
response.add(cell);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Object responseGmsBroadcastConfig(Parcel p) {
|
private Object responseGmsBroadcastConfig(Parcel p) {
|
||||||
|
|||||||
@@ -15,41 +15,65 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.unit_tests;
|
package com.android.unit_tests;
|
||||||
|
|
||||||
|
import android.os.Parcel;
|
||||||
import android.test.AndroidTestCase;
|
import android.test.AndroidTestCase;
|
||||||
import android.telephony.NeighboringCellInfo;
|
import android.telephony.NeighboringCellInfo;
|
||||||
import android.test. suitebuilder.annotation.SmallTest;
|
import android.test. suitebuilder.annotation.SmallTest;
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
public class NeighboringCellInfoTest extends AndroidTestCase {
|
public class NeighboringCellInfoTest extends AndroidTestCase {
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public void testConstructor() {
|
public void testConstructor() {
|
||||||
NeighboringCellInfo empty = new NeighboringCellInfo();
|
|
||||||
assertEquals(NeighboringCellInfo.UNKNOWN_RSSI, empty.getRssi());
|
|
||||||
assertEquals(NeighboringCellInfo.UNKNOWN_CID, empty.getCid());
|
|
||||||
|
|
||||||
int rssi = 31;
|
int rssi = 31;
|
||||||
int cid = 0xffffffff;
|
NeighboringCellInfo nc;
|
||||||
NeighboringCellInfo max = new NeighboringCellInfo(rssi, cid);
|
|
||||||
assertEquals(rssi, max.getRssi());
|
|
||||||
assertEquals(cid, max.getCid());
|
|
||||||
}
|
|
||||||
|
|
||||||
@SmallTest
|
nc = new NeighboringCellInfo(rssi, "FFFFFFF", NETWORK_TYPE_EDGE);
|
||||||
public void testGetAndSet() {
|
assertEquals(NETWORK_TYPE_EDGE, nc.getNetworkType());
|
||||||
int rssi = 16;
|
|
||||||
int cid = 0x12345678;
|
|
||||||
NeighboringCellInfo nc = new NeighboringCellInfo();
|
|
||||||
nc.setRssi(rssi);
|
|
||||||
nc.setCid(cid);
|
|
||||||
assertEquals(rssi, nc.getRssi());
|
assertEquals(rssi, nc.getRssi());
|
||||||
assertEquals(cid, nc.getCid());
|
assertEquals(0xfff, nc.getLac());
|
||||||
|
assertEquals(0xffff, nc.getCid());
|
||||||
|
assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getPsc());
|
||||||
|
|
||||||
|
nc = new NeighboringCellInfo(rssi, "1FF", NETWORK_TYPE_UMTS);
|
||||||
|
assertEquals(NETWORK_TYPE_UMTS, nc.getNetworkType());
|
||||||
|
assertEquals(rssi, nc.getRssi());
|
||||||
|
assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getCid());
|
||||||
|
assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getLac());
|
||||||
|
assertEquals(0x1ff, nc.getPsc());
|
||||||
|
|
||||||
|
nc = new NeighboringCellInfo(rssi, "1FF", NETWORK_TYPE_UNKNOWN);
|
||||||
|
assertEquals(NETWORK_TYPE_UNKNOWN, nc.getNetworkType());
|
||||||
|
assertEquals(rssi, nc.getRssi());
|
||||||
|
assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getCid());
|
||||||
|
assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getLac());
|
||||||
|
assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getPsc());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SmallTest
|
@SmallTest
|
||||||
public void testToString() {
|
public void testParcel() {
|
||||||
NeighboringCellInfo empty = new NeighboringCellInfo();
|
int rssi = 20;
|
||||||
assertEquals("[/ at /]", empty.toString());
|
|
||||||
|
|
||||||
NeighboringCellInfo nc = new NeighboringCellInfo(16, 0x12345678);
|
NeighboringCellInfo nc = new NeighboringCellInfo(rssi, "12345678", NETWORK_TYPE_GPRS);
|
||||||
assertEquals("[12345678 at 16]", nc.toString());
|
assertEquals(NETWORK_TYPE_GPRS, nc.getNetworkType());
|
||||||
}
|
assertEquals(rssi, nc.getRssi());
|
||||||
|
assertEquals(0x1234, nc.getLac());
|
||||||
|
assertEquals(0x5678, nc.getCid());
|
||||||
|
assertEquals(NeighboringCellInfo.UNKNOWN_CID, nc.getPsc());
|
||||||
|
|
||||||
|
Parcel p = Parcel.obtain();
|
||||||
|
p.setDataPosition(0);
|
||||||
|
nc.writeToParcel(p, 0);
|
||||||
|
|
||||||
|
p.setDataPosition(0);
|
||||||
|
NeighboringCellInfo nw = new NeighboringCellInfo(p);
|
||||||
|
assertEquals(NETWORK_TYPE_GPRS, nw.getNetworkType());
|
||||||
|
assertEquals(rssi, nw.getRssi());
|
||||||
|
assertEquals(0x1234, nw.getLac());
|
||||||
|
assertEquals(0x5678, nw.getCid());
|
||||||
|
assertEquals(NeighboringCellInfo.UNKNOWN_CID, nw.getPsc());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user