am 6c6d822f: Merge change 22318 into eclair
Merge commit '6c6d822f7b7ec967aeff3e4d2afde0ff25732aa6' into eclair-plus-aosp * commit '6c6d822f7b7ec967aeff3e4d2afde0ff25732aa6': Framework changes to support HSDPA/HSUPA/HSPA
This commit is contained in:
@@ -275,9 +275,21 @@ public class MobileDataStateTracker extends NetworkStateTracker {
|
|||||||
case TelephonyManager.NETWORK_TYPE_UMTS:
|
case TelephonyManager.NETWORK_TYPE_UMTS:
|
||||||
networkTypeStr = "umts";
|
networkTypeStr = "umts";
|
||||||
break;
|
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:
|
case TelephonyManager.NETWORK_TYPE_CDMA:
|
||||||
networkTypeStr = "cdma";
|
networkTypeStr = "cdma";
|
||||||
break;
|
break;
|
||||||
|
case TelephonyManager.NETWORK_TYPE_1xRTT:
|
||||||
|
networkTypeStr = "1xrtt";
|
||||||
|
break;
|
||||||
case TelephonyManager.NETWORK_TYPE_EVDO_0:
|
case TelephonyManager.NETWORK_TYPE_EVDO_0:
|
||||||
networkTypeStr = "evdo";
|
networkTypeStr = "evdo";
|
||||||
break;
|
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_out_e,
|
||||||
com.android.internal.R.drawable.stat_sys_data_inandout_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
|
//CDMA
|
||||||
private static final int[] sDataNetType_evdo = new int[] {
|
private static final int[] sDataNetType_evdo = new int[] {
|
||||||
com.android.internal.R.drawable.stat_sys_data_connected_evdo,
|
com.android.internal.R.drawable.stat_sys_data_connected_evdo,
|
||||||
@@ -968,6 +976,11 @@ public class StatusBarPolicy {
|
|||||||
case TelephonyManager.NETWORK_TYPE_UMTS:
|
case TelephonyManager.NETWORK_TYPE_UMTS:
|
||||||
mDataIconList = sDataNetType_3g;
|
mDataIconList = sDataNetType_3g;
|
||||||
break;
|
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:
|
case TelephonyManager.NETWORK_TYPE_CDMA:
|
||||||
// display 1xRTT for IS95A/B
|
// display 1xRTT for IS95A/B
|
||||||
mDataIconList = this.sDataNetType_1xrtt;
|
mDataIconList = this.sDataNetType_1xrtt;
|
||||||
|
|||||||
@@ -83,6 +83,12 @@ public class ServiceState implements Parcelable {
|
|||||||
public static final int RADIO_TECHNOLOGY_EVDO_0 = 7;
|
public static final int RADIO_TECHNOLOGY_EVDO_0 = 7;
|
||||||
/** @hide */
|
/** @hide */
|
||||||
public static final int RADIO_TECHNOLOGY_EVDO_A = 8;
|
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.
|
* Available registration states for GSM, UMTS and CDMA.
|
||||||
@@ -366,6 +372,15 @@ public class ServiceState implements Parcelable {
|
|||||||
case 8:
|
case 8:
|
||||||
radioTechnology = "EvDo rev. A";
|
radioTechnology = "EvDo rev. A";
|
||||||
break;
|
break;
|
||||||
|
case 9:
|
||||||
|
radioTechnology = "HSDPA";
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
radioTechnology = "HSUPA";
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
radioTechnology = "HSPA";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Log.w(LOG_TAG, "mRadioTechnology variable out of range.");
|
Log.w(LOG_TAG, "mRadioTechnology variable out of range.");
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -382,6 +382,15 @@ public class TelephonyManager {
|
|||||||
/** Current network is 1xRTT*/
|
/** Current network is 1xRTT*/
|
||||||
/** @hide */
|
/** @hide */
|
||||||
public static final int NETWORK_TYPE_1xRTT = 7;
|
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)
|
* Returns a constant indicating the radio technology (network type)
|
||||||
@@ -392,35 +401,25 @@ public class TelephonyManager {
|
|||||||
* @see #NETWORK_TYPE_GPRS
|
* @see #NETWORK_TYPE_GPRS
|
||||||
* @see #NETWORK_TYPE_EDGE
|
* @see #NETWORK_TYPE_EDGE
|
||||||
* @see #NETWORK_TYPE_UMTS
|
* @see #NETWORK_TYPE_UMTS
|
||||||
|
* @see #NETWORK_TYPE_HSDPA
|
||||||
|
* @see #NETWORK_TYPE_HSUPA
|
||||||
|
* @see #NETWORK_TYPE_HSPA
|
||||||
* @see #NETWORK_TYPE_CDMA
|
* @see #NETWORK_TYPE_CDMA
|
||||||
* @see #NETWORK_TYPE_EVDO_0
|
* @see #NETWORK_TYPE_EVDO_0
|
||||||
* @see #NETWORK_TYPE_EVDO_A
|
* @see #NETWORK_TYPE_EVDO_A
|
||||||
* @see #NETWORK_TYPE_1xRTT
|
* @see #NETWORK_TYPE_1xRTT
|
||||||
*/
|
*/
|
||||||
public int getNetworkType() {
|
public int getNetworkType() {
|
||||||
String prop = SystemProperties.get(TelephonyProperties.PROPERTY_DATA_NETWORK_TYPE);
|
try{
|
||||||
if ("GPRS".equals(prop)) {
|
ITelephony telephony = getITelephony();
|
||||||
return NETWORK_TYPE_GPRS;
|
if (telephony != null) {
|
||||||
}
|
return telephony.getNetworkType();
|
||||||
else if ("EDGE".equals(prop)) {
|
} else {
|
||||||
return NETWORK_TYPE_EDGE;
|
// This can happen when the ITelephony interface is not up yet.
|
||||||
}
|
return NETWORK_TYPE_UNKNOWN;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
else if ("CDMA - EvDo rev. A".equals(prop)) {
|
} catch(RemoteException ex){
|
||||||
return NETWORK_TYPE_EVDO_A;
|
// This shouldn't happen in the normal case
|
||||||
}
|
|
||||||
else if ("CDMA - 1xRTT".equals(prop)) {
|
|
||||||
return NETWORK_TYPE_1xRTT;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return NETWORK_TYPE_UNKNOWN;
|
return NETWORK_TYPE_UNKNOWN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -440,6 +439,12 @@ public class TelephonyManager {
|
|||||||
return "EDGE";
|
return "EDGE";
|
||||||
case NETWORK_TYPE_UMTS:
|
case NETWORK_TYPE_UMTS:
|
||||||
return "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:
|
case NETWORK_TYPE_CDMA:
|
||||||
return "CDMA";
|
return "CDMA";
|
||||||
case NETWORK_TYPE_EVDO_0:
|
case NETWORK_TYPE_EVDO_0:
|
||||||
|
|||||||
@@ -243,5 +243,9 @@ interface ITelephony {
|
|||||||
*/
|
*/
|
||||||
int getVoiceMessageCount();
|
int getVoiceMessageCount();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the network type
|
||||||
|
*/
|
||||||
|
int getNetworkType();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,14 @@ public abstract class ServiceStateTracker extends Handler {
|
|||||||
* 1 = GPRS only
|
* 1 = GPRS only
|
||||||
* 2 = EDGE
|
* 2 = EDGE
|
||||||
* 3 = UMTS
|
* 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_UNKNOWN = 0;
|
||||||
protected static final int DATA_ACCESS_GPRS = 1;
|
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_1xRTT = 6;
|
||||||
protected static final int DATA_ACCESS_CDMA_EvDo_0 = 7;
|
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_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
|
//***** Instance Variables
|
||||||
|
|
||||||
protected CommandsInterface cm;
|
protected CommandsInterface cm;
|
||||||
|
|||||||
@@ -677,6 +677,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
|||||||
newGPRSState = regCodeToServiceState(regState);
|
newGPRSState = regCodeToServiceState(regState);
|
||||||
newDataRoaming = regCodeIsRoaming(regState);
|
newDataRoaming = regCodeIsRoaming(regState);
|
||||||
newNetworkType = type;
|
newNetworkType = type;
|
||||||
|
newSS.setRadioTechnology(type);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EVENT_POLL_STATE_OPERATOR:
|
case EVENT_POLL_STATE_OPERATOR:
|
||||||
@@ -810,6 +811,15 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
|||||||
case DATA_ACCESS_UMTS:
|
case DATA_ACCESS_UMTS:
|
||||||
ret = "UMTS";
|
ret = "UMTS";
|
||||||
break;
|
break;
|
||||||
|
case DATA_ACCESS_HSDPA:
|
||||||
|
ret = "HSDPA";
|
||||||
|
break;
|
||||||
|
case DATA_ACCESS_HSUPA:
|
||||||
|
ret = "HSUPA";
|
||||||
|
break;
|
||||||
|
case DATA_ACCESS_HSPA:
|
||||||
|
ret = "HSPA";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Log.e(LOG_TAG, "Wrong network type: " + Integer.toString(type));
|
Log.e(LOG_TAG, "Wrong network type: " + Integer.toString(type));
|
||||||
break;
|
break;
|
||||||
@@ -1288,7 +1298,7 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
|
|||||||
* that could support voice and data simultaniously.
|
* that could support voice and data simultaniously.
|
||||||
*/
|
*/
|
||||||
boolean isConcurrentVoiceAndData() {
|
boolean isConcurrentVoiceAndData() {
|
||||||
return (networkType == DATA_ACCESS_UMTS);
|
return (networkType >= DATA_ACCESS_UMTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user