summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-05-18 22:26:25 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-05-18 22:26:25 -0700
commit2f11599eb317887a8cca14d8e66bfc485e5169e7 (patch)
treeaff8975073de4d008a513466f6d53385a0189e89 /core/java
parent15e74b9da8b4cda11ee54da1e77a02d1a86c944a (diff)
parente9b06d754af03faf27012fbed1e7559ec1ba7c79 (diff)
downloadframeworks_base-2f11599eb317887a8cca14d8e66bfc485e5169e7.zip
frameworks_base-2f11599eb317887a8cca14d8e66bfc485e5169e7.tar.gz
frameworks_base-2f11599eb317887a8cca14d8e66bfc485e5169e7.tar.bz2
Merge change 1579 into donut
* changes: Teleca 2b changes
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/provider/Settings.java22
-rw-r--r--core/java/android/webkit/gears/AndroidRadioDataProvider.java10
-rw-r--r--core/java/com/android/internal/app/IBatteryStats.aidl4
-rw-r--r--core/java/com/android/internal/os/BatteryStatsImpl.java24
4 files changed, 47 insertions, 13 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index ed5520d..2a47b42 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -2069,15 +2069,31 @@ public final class Settings {
public static final String CURRENT_ACTIVE_PHONE = "current_active_phone";
/**
- * The preferred network mode 7 = Global, CDMA default
- * 4 = CDMA only
- * 3 = GSM/UMTS only
+ * The preferred network mode 7 = Global
+ * 6 = EvDo only
+ * 5 = CDMA w/o EvDo
+ * 4 = CDMA / EvDo auto
+ * 3 = GSM / WCDMA auto
+ * 2 = WCDMA only
+ * 1 = GSM only
+ * 0 = GSM / WCDMA preferred
* @hide
*/
public static final String PREFERRED_NETWORK_MODE =
"preferred_network_mode";
/**
+ * The preferred TTY mode 0 = TTy Off, CDMA default
+ * 1 = TTY Full
+ * 2 = TTY HCO
+ * 3 = TTY VCO
+ * @hide
+ */
+ public static final String PREFERRED_TTY_MODE =
+ "preferred_tty_mode";
+
+
+ /**
* CDMA Cell Broadcast SMS
* 0 = CDMA Cell Broadcast SMS disabled
* 1 = CDMA Cell Broadcast SMS enabled
diff --git a/core/java/android/webkit/gears/AndroidRadioDataProvider.java b/core/java/android/webkit/gears/AndroidRadioDataProvider.java
index 2d431a8..1384042 100644
--- a/core/java/android/webkit/gears/AndroidRadioDataProvider.java
+++ b/core/java/android/webkit/gears/AndroidRadioDataProvider.java
@@ -28,6 +28,7 @@ package android.webkit.gears;
import android.content.Context;
import android.telephony.CellLocation;
import android.telephony.ServiceState;
+import android.telephony.SignalStrength;
import android.telephony.gsm.GsmCellLocation;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
@@ -54,6 +55,7 @@ public final class AndroidRadioDataProvider extends PhoneStateListener {
public static final class RadioData {
public int cellId = -1;
public int locationAreaCode = -1;
+ // TODO: use new SignalStrength instead of asu
public int signalStrength = -1;
public int mobileCountryCode = -1;
public int mobileNetworkCode = -1;
@@ -179,6 +181,7 @@ public final class AndroidRadioDataProvider extends PhoneStateListener {
private CellLocation cellLocation = null;
/** The last known signal strength */
+ // TODO: use new SignalStrength instead of asu
private int signalStrength = -1;
/** The last known serviceState */
@@ -207,7 +210,7 @@ public final class AndroidRadioDataProvider extends PhoneStateListener {
// Register for cell id, signal strength and service state changed
// notifications.
telephonyManager.listen(this, PhoneStateListener.LISTEN_CELL_LOCATION
- | PhoneStateListener.LISTEN_SIGNAL_STRENGTH
+ | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS
| PhoneStateListener.LISTEN_SERVICE_STATE);
}
@@ -226,8 +229,9 @@ public final class AndroidRadioDataProvider extends PhoneStateListener {
}
@Override
- public void onSignalStrengthChanged(int asu) {
- signalStrength = asu;
+ public void onSignalStrengthsChanged(SignalStrength ss) {
+ int gsmSignalStrength = ss.getGsmSignalStrength();
+ signalStrength = (gsmSignalStrength == 99 ? -1 : gsmSignalStrength);
notifyListeners();
}
diff --git a/core/java/com/android/internal/app/IBatteryStats.aidl b/core/java/com/android/internal/app/IBatteryStats.aidl
index e1ff2a5..ce32754 100644
--- a/core/java/com/android/internal/app/IBatteryStats.aidl
+++ b/core/java/com/android/internal/app/IBatteryStats.aidl
@@ -18,6 +18,8 @@ package com.android.internal.app;
import com.android.internal.os.BatteryStatsImpl;
+import android.telephony.SignalStrength;
+
interface IBatteryStats {
byte[] getStatistics();
void noteStartWakelock(int uid, String name, int type);
@@ -33,7 +35,7 @@ interface IBatteryStats {
void noteUserActivity(int uid, int event);
void notePhoneOn();
void notePhoneOff();
- void notePhoneSignalStrength(int asu);
+ void notePhoneSignalStrength(in SignalStrength signalStrength);
void notePhoneDataConnectionState(int dataType, boolean hasData);
void noteWifiOn(int uid);
void noteWifiOff(int uid);
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index e8356a2..edc9ec9 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -23,6 +23,7 @@ import android.os.ParcelFormatException;
import android.os.Parcelable;
import android.os.Process;
import android.os.SystemClock;
+import android.telephony.SignalStrength;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.util.PrintWriterPrinter;
@@ -982,14 +983,25 @@ public final class BatteryStatsImpl extends BatteryStats {
}
}
- public void notePhoneSignalStrengthLocked(int asu) {
+ public void notePhoneSignalStrengthLocked(SignalStrength signalStrength) {
// Bin the strength.
int bin;
- if (asu < 0 || asu >= 99) bin = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
- else if (asu >= 16) bin = SIGNAL_STRENGTH_GREAT;
- else if (asu >= 8) bin = SIGNAL_STRENGTH_GOOD;
- else if (asu >= 4) bin = SIGNAL_STRENGTH_MODERATE;
- else bin = SIGNAL_STRENGTH_POOR;
+
+ if (!signalStrength.isGsm()) {
+ int dBm = signalStrength.getCdmaDbm();
+ if (dBm >= -75) bin = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
+ else if (dBm >= -85) bin = SIGNAL_STRENGTH_GREAT;
+ else if (dBm >= -95) bin = SIGNAL_STRENGTH_GOOD;
+ else if (dBm >= -100) bin = SIGNAL_STRENGTH_MODERATE;
+ else bin = SIGNAL_STRENGTH_POOR;
+ } else {
+ int asu = signalStrength.getGsmSignalStrength();
+ if (asu < 0 || asu >= 99) bin = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
+ else if (asu >= 16) bin = SIGNAL_STRENGTH_GREAT;
+ else if (asu >= 8) bin = SIGNAL_STRENGTH_GOOD;
+ else if (asu >= 4) bin = SIGNAL_STRENGTH_MODERATE;
+ else bin = SIGNAL_STRENGTH_POOR;
+ }
if (mPhoneSignalStrengthBin != bin) {
if (mPhoneSignalStrengthBin >= 0) {
mPhoneSignalStrengthsTimer[mPhoneSignalStrengthBin].stopRunningLocked(this);