Merge "Always assume evdoXxxx signal strength values are correct." into eclair

This commit is contained in:
Wink Saville
2010-02-13 09:36:17 -08:00
committed by Android (Google) Code Review

View File

@@ -1170,32 +1170,23 @@ final class CdmaServiceStateTracker extends ServiceStateTracker {
} else { } else {
int[] ints = (int[])ar.result; int[] ints = (int[])ar.result;
int offset = 2; int offset = 2;
int cdmaDbm = (ints[offset] > 0) ? -ints[offset] : -120; int cdmaDbm = (ints[offset] > 0) ? -ints[offset] : -120;
int cdmaEcio = (ints[offset+1] > 0) ? -ints[offset+1] : -160; int cdmaEcio = (ints[offset+1] > 0) ? -ints[offset+1] : -160;
int evdoRssi = (ints[offset+2] > 0) ? -ints[offset+2] : -120;
int evdoEcio = (ints[offset+3] > 0) ? -ints[offset+3] : -1;
int evdoSnr = ((ints[offset+4] > 0) && (ints[offset+4] <= 8)) ? ints[offset+4] : -1;
int evdoRssi = -1; //log(String.format("onSignalStrengthResult cdmaDbm=%d cdmaEcio=%d evdoRssi=%d evdoEcio=%d evdoSnr=%d",
int evdoEcio = -1; // cdmaDbm, cdmaEcio, evdoRssi, evdoEcio, evdoSnr));
int evdoSnr = -1;
if ((networkType == ServiceState.RADIO_TECHNOLOGY_EVDO_0)
|| (networkType == ServiceState.RADIO_TECHNOLOGY_EVDO_A)) {
evdoRssi = (ints[offset+2] > 0) ? -ints[offset+2] : -120;
evdoEcio = (ints[offset+3] > 0) ? -ints[offset+3] : -1;
evdoSnr = ((ints[offset+4] > 0) && (ints[offset+4] <= 8)) ? ints[offset+4] : -1;
}
mSignalStrength = new SignalStrength(99, -1, cdmaDbm, cdmaEcio, mSignalStrength = new SignalStrength(99, -1, cdmaDbm, cdmaEcio,
evdoRssi, evdoEcio, evdoSnr, false); evdoRssi, evdoEcio, evdoSnr, false);
} }
if (!mSignalStrength.equals(oldSignalStrength)) { try {
try { // This takes care of delayed EVENT_POLL_SIGNAL_STRENGTH (scheduled after phone.notifySignalStrength();
// POLL_PERIOD_MILLIS) during Radio Technology Change) } catch (NullPointerException ex) {
phone.notifySignalStrength(); log("onSignalStrengthResult() Phone already destroyed: " + ex
} catch (NullPointerException ex) { + "SignalStrength not notified");
log("onSignalStrengthResult() Phone already destroyed: " + ex
+ "SignalStrength not notified");
}
} }
} }