Merge change 22318 into eclair
* changes: Framework changes to support HSDPA/HSUPA/HSPA HSDPA: High-Speed Downlink Packet Access HSUPA: High-Speend Uplink Packet Access HSPA: High-Speed Packet Access
This commit is contained in:
@@ -275,9 +275,21 @@ public class MobileDataStateTracker extends NetworkStateTracker {
|
||||
case TelephonyManager.NETWORK_TYPE_UMTS:
|
||||
networkTypeStr = "umts";
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_HSDPA:
|
||||
networkTypeStr = "hsdpa";
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_HSUPA:
|
||||
networkTypeStr = "hsupa";
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_HSPA:
|
||||
networkTypeStr = "hspa";
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_CDMA:
|
||||
networkTypeStr = "cdma";
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_1xRTT:
|
||||
networkTypeStr = "1xrtt";
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_EVDO_0:
|
||||
networkTypeStr = "evdo";
|
||||
break;
|
||||
|
||||
BIN
core/res/res/drawable/stat_sys_data_connected_h.png
Normal file
BIN
core/res/res/drawable/stat_sys_data_connected_h.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 642 B |
BIN
core/res/res/drawable/stat_sys_data_in_h.png
Normal file
BIN
core/res/res/drawable/stat_sys_data_in_h.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 669 B |
BIN
core/res/res/drawable/stat_sys_data_inandout_h.png
Normal file
BIN
core/res/res/drawable/stat_sys_data_inandout_h.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 655 B |
BIN
core/res/res/drawable/stat_sys_data_out_h.png
Normal file
BIN
core/res/res/drawable/stat_sys_data_out_h.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 654 B |
@@ -262,6 +262,14 @@ public class StatusBarPolicy {
|
||||
com.android.internal.R.drawable.stat_sys_data_out_e,
|
||||
com.android.internal.R.drawable.stat_sys_data_inandout_e,
|
||||
};
|
||||
//3.5G
|
||||
private static final int[] sDataNetType_h = new int[] {
|
||||
com.android.internal.R.drawable.stat_sys_data_connected_h,
|
||||
com.android.internal.R.drawable.stat_sys_data_in_h,
|
||||
com.android.internal.R.drawable.stat_sys_data_out_h,
|
||||
com.android.internal.R.drawable.stat_sys_data_inandout_h,
|
||||
};
|
||||
|
||||
//CDMA
|
||||
private static final int[] sDataNetType_evdo = new int[] {
|
||||
com.android.internal.R.drawable.stat_sys_data_connected_evdo,
|
||||
@@ -968,6 +976,11 @@ public class StatusBarPolicy {
|
||||
case TelephonyManager.NETWORK_TYPE_UMTS:
|
||||
mDataIconList = sDataNetType_3g;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_HSDPA:
|
||||
case TelephonyManager.NETWORK_TYPE_HSUPA:
|
||||
case TelephonyManager.NETWORK_TYPE_HSPA:
|
||||
mDataIconList = sDataNetType_h;
|
||||
break;
|
||||
case TelephonyManager.NETWORK_TYPE_CDMA:
|
||||
// display 1xRTT for IS95A/B
|
||||
mDataIconList = this.sDataNetType_1xrtt;
|
||||
|
||||
@@ -83,6 +83,12 @@ public class ServiceState implements Parcelable {
|
||||
public static final int RADIO_TECHNOLOGY_EVDO_0 = 7;
|
||||
/** @hide */
|
||||
public static final int RADIO_TECHNOLOGY_EVDO_A = 8;
|
||||
/** @hide */
|
||||
public static final int RADIO_TECHNOLOGY_HSDPA = 9;
|
||||
/** @hide */
|
||||
public static final int RADIO_TECHNOLOGY_HSUPA = 10;
|
||||
/** @hide */
|
||||
public static final int RADIO_TECHNOLOGY_HSPA = 11;
|
||||
|
||||
/**
|
||||
* Available registration states for GSM, UMTS and CDMA.
|
||||
@@ -366,6 +372,15 @@ public class ServiceState implements Parcelable {
|
||||
case 8:
|
||||
radioTechnology = "EvDo rev. A";
|
||||
break;
|
||||
case 9:
|
||||
radioTechnology = "HSDPA";
|
||||
break;
|
||||
case 10:
|
||||
radioTechnology = "HSUPA";
|
||||
break;
|
||||
case 11:
|
||||
radioTechnology = "HSPA";
|
||||
break;
|
||||
default:
|
||||
Log.w(LOG_TAG, "mRadioTechnology variable out of range.");
|
||||
break;
|
||||
|
||||
@@ -382,6 +382,15 @@ public class TelephonyManager {
|
||||
/** Current network is 1xRTT*/
|
||||
/** @hide */
|
||||
public static final int NETWORK_TYPE_1xRTT = 7;
|
||||
/** Current network is HSDPA */
|
||||
/** @hide */
|
||||
public static final int NETWORK_TYPE_HSDPA = 8;
|
||||
/** Current network is HSUPA */
|
||||
/** @hide */
|
||||
public static final int NETWORK_TYPE_HSUPA = 9;
|
||||
/** Current network is HSPA */
|
||||
/** @hide */
|
||||
public static final int NETWORK_TYPE_HSPA = 10;
|
||||
|
||||
/**
|
||||
* Returns a constant indicating the radio technology (network type)
|
||||
@@ -392,35 +401,25 @@ public class TelephonyManager {
|
||||
* @see #NETWORK_TYPE_GPRS
|
||||
* @see #NETWORK_TYPE_EDGE
|
||||
* @see #NETWORK_TYPE_UMTS
|
||||
* @see #NETWORK_TYPE_HSDPA
|
||||
* @see #NETWORK_TYPE_HSUPA
|
||||
* @see #NETWORK_TYPE_HSPA
|
||||
* @see #NETWORK_TYPE_CDMA
|
||||
* @see #NETWORK_TYPE_EVDO_0
|
||||
* @see #NETWORK_TYPE_EVDO_A
|
||||
* @see #NETWORK_TYPE_1xRTT
|
||||
*/
|
||||
public int getNetworkType() {
|
||||
String prop = SystemProperties.get(TelephonyProperties.PROPERTY_DATA_NETWORK_TYPE);
|
||||
if ("GPRS".equals(prop)) {
|
||||
return NETWORK_TYPE_GPRS;
|
||||
}
|
||||
else if ("EDGE".equals(prop)) {
|
||||
return NETWORK_TYPE_EDGE;
|
||||
}
|
||||
else if ("UMTS".equals(prop)) {
|
||||
return NETWORK_TYPE_UMTS;
|
||||
}
|
||||
else if ("CDMA".equals(prop)) {
|
||||
return NETWORK_TYPE_CDMA;
|
||||
}
|
||||
else if ("CDMA - EvDo rev. 0".equals(prop)) {
|
||||
return NETWORK_TYPE_EVDO_0;
|
||||
try{
|
||||
ITelephony telephony = getITelephony();
|
||||
if (telephony != null) {
|
||||
return telephony.getNetworkType();
|
||||
} else {
|
||||
// This can happen when the ITelephony interface is not up yet.
|
||||
return NETWORK_TYPE_UNKNOWN;
|
||||
}
|
||||
else if ("CDMA - EvDo rev. A".equals(prop)) {
|
||||
return NETWORK_TYPE_EVDO_A;
|
||||
}
|
||||
else if ("CDMA - 1xRTT".equals(prop)) {
|
||||
return NETWORK_TYPE_1xRTT;
|
||||
}
|
||||
else {
|
||||
} catch(RemoteException ex){
|
||||
// This shouldn't happen in the normal case
|
||||
return NETWORK_TYPE_UNKNOWN;
|
||||
}
|
||||
}
|
||||
@@ -440,6 +439,12 @@ public class TelephonyManager {
|
||||
return "EDGE";
|
||||
case NETWORK_TYPE_UMTS:
|
||||
return "UMTS";
|
||||
case NETWORK_TYPE_HSDPA:
|
||||
return "HSDPA";
|
||||
case NETWORK_TYPE_HSUPA:
|
||||
return "HSUPA";
|
||||
case NETWORK_TYPE_HSPA:
|
||||
return "HSPA";
|
||||
case NETWORK_TYPE_CDMA:
|
||||
return "CDMA";
|
||||
case NETWORK_TYPE_EVDO_0:
|
||||
|
||||
@@ -243,5 +243,9 @@ interface ITelephony {
|
||||
*/
|
||||
int getVoiceMessageCount();
|
||||
|
||||
/**
|
||||
* Returns the network type
|
||||
*/
|
||||
int getNetworkType();
|
||||
}
|
||||
|
||||
|
||||
@@ -34,6 +34,14 @@ public abstract class ServiceStateTracker extends Handler {
|
||||
* 1 = GPRS only
|
||||
* 2 = EDGE
|
||||
* 3 = UMTS
|
||||
* 4 = IS95A
|
||||
* 5 = IS95B
|
||||
* 6 = 1xRTT
|
||||
* 7 = EvDo_0
|
||||
* 8 = EvDo_A
|
||||
* 9 = HSDPA
|
||||
* 10 = HSUPA
|
||||
* 11 = HSPA
|
||||
*/
|
||||
protected static final int DATA_ACCESS_UNKNOWN = 0;
|
||||
protected static final int DATA_ACCESS_GPRS = 1;
|
||||
@@ -44,6 +52,9 @@ public abstract class ServiceStateTracker extends Handler {
|
||||
protected static final int DATA_ACCESS_CDMA_1xRTT = 6;
|
||||
protected static final int DATA_ACCESS_CDMA_EvDo_0 = 7;
|
||||
protected static final int DATA_ACCESS_CDMA_EvDo_A = 8;
|
||||
protected static final int DATA_ACCESS_HSDPA = 9;
|
||||
protected static final int DATA_ACCESS_HSUPA = 10;
|
||||
protected static final int DATA_ACCESS_HSPA = 11;
|
||||
//***** Instance Variables
|
||||
|
||||
protected CommandsInterface cm;
|
||||
|
||||
@@ -677,6 +677,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
newGPRSState = regCodeToServiceState(regState);
|
||||
newDataRoaming = regCodeIsRoaming(regState);
|
||||
newNetworkType = type;
|
||||
newSS.setRadioTechnology(type);
|
||||
break;
|
||||
|
||||
case EVENT_POLL_STATE_OPERATOR:
|
||||
@@ -810,6 +811,15 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
case DATA_ACCESS_UMTS:
|
||||
ret = "UMTS";
|
||||
break;
|
||||
case DATA_ACCESS_HSDPA:
|
||||
ret = "HSDPA";
|
||||
break;
|
||||
case DATA_ACCESS_HSUPA:
|
||||
ret = "HSUPA";
|
||||
break;
|
||||
case DATA_ACCESS_HSPA:
|
||||
ret = "HSPA";
|
||||
break;
|
||||
default:
|
||||
Log.e(LOG_TAG, "Wrong network type: " + Integer.toString(type));
|
||||
break;
|
||||
@@ -1288,7 +1298,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
||||
* that could support voice and data simultaniously.
|
||||
*/
|
||||
boolean isConcurrentVoiceAndData() {
|
||||
return (networkType == DATA_ACCESS_UMTS);
|
||||
return (networkType >= DATA_ACCESS_UMTS);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user