Fix no data issue after system server crash
FW was checking "Radio Available" instead of "Radio On" when broadcasting data availability. This was causing an issue in a certain recovery case (system server restart/phone process restart) where "Radio (modem) is available" but radio was turned off. This patch obsolete the use of mRadioAvailable attribute and use RadioState from RIL directly to check if Radio is ON. Bug:5077346 Change-Id: Ie7ac05e3d5e328e3d5303541ca41326754f309c1
This commit is contained in:
committed by
John Huang
parent
37f770f03f
commit
b1a3f0ca4b
@ -122,7 +122,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
||||
static final Uri PREFERAPN_URI = Uri.parse("content://telephony/carriers/preferapn");
|
||||
static final String APN_ID = "apn_id";
|
||||
private boolean canSetPreferApn = false;
|
||||
private boolean mRadioAvailable = false;
|
||||
|
||||
@Override
|
||||
protected void onActionIntentReconnectAlarm(Intent intent) {
|
||||
@ -1571,7 +1570,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
||||
private void onRecordsLoaded() {
|
||||
if (DBG) log("onRecordsLoaded: createAllApnList");
|
||||
createAllApnList();
|
||||
if (mRadioAvailable) {
|
||||
if (mPhone.mCM.getRadioState().isOn()) {
|
||||
if (DBG) log("onRecordsLoaded: notifying data availability");
|
||||
notifyDataAvailability(Phone.REASON_SIM_LOADED);
|
||||
}
|
||||
@ -1703,7 +1702,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
||||
@Override
|
||||
protected void onRadioAvailable() {
|
||||
if (DBG) log("onRadioAvailable");
|
||||
mRadioAvailable = true;
|
||||
if (mPhone.getSimulatedRadioControl() != null) {
|
||||
// Assume data is connected on the simulator
|
||||
// FIXME this can be improved
|
||||
@ -1731,7 +1729,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
||||
dc.resetRetryCount();
|
||||
}
|
||||
mReregisterOnReconnectFailure = false;
|
||||
mRadioAvailable = false;
|
||||
|
||||
if (mPhone.getSimulatedRadioControl() != null) {
|
||||
// Assume data is connected on the simulator
|
||||
|
Reference in New Issue
Block a user