OSDN Git Service

Make sure to update data availability in call setup capable triggers.
authorKazuhiro Ondo <kazuhiro.ondo@motorola.com>
Wed, 29 Jun 2011 02:15:17 +0000 (21:15 -0500)
committerWink Saville <wink@google.com>
Wed, 29 Jun 2011 22:37:26 +0000 (15:37 -0700)
As "startUsingNetworkFeature()" now can trigger the initial data
connection instead of default data, FW needs to make sure each
MobileDataStateTracker is updated with the data availability
on each "data-setup capable" trigger.

Bug: 4970825
Change-Id: I6a7e479ecc1534cd723a2e8beece6b8bcd398ea7

telephony/java/com/android/internal/telephony/gsm/GsmDataConnectionTracker.java

index 4f847b8..67f5158 100644 (file)
@@ -556,6 +556,9 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
             if (DBG) log("onDataConnectionAttached: start polling notify attached");
             startNetStatPoll();
             notifyDataConnection(Phone.REASON_DATA_ATTACHED);
+        } else {
+            // update APN availability so that APN can be enabled.
+            notifyDataAvailability(Phone.REASON_DATA_ATTACHED);
         }
 
         setupDataOnReadyApns(Phone.REASON_DATA_ATTACHED);
@@ -1528,7 +1531,7 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
         createAllApnList();
         if (mRadioAvailable) {
             if (DBG) log("onRecordsLoaded: notifying data availability");
-            notifyDataAvailability(null);
+            notifyDataAvailability(Phone.REASON_SIM_LOADED);
         }
         setupDataOnReadyApns(Phone.REASON_SIM_LOADED);
     }
@@ -1635,11 +1638,17 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
     @Override
     protected void onRoamingOff() {
         if (DBG) log("onRoamingOff");
+        // Notify data availability so APN can be enabled.
+        notifyDataAvailability(Phone.REASON_ROAMING_OFF);
+
         setupDataOnReadyApns(Phone.REASON_ROAMING_OFF);
     }
 
     @Override
     protected void onRoamingOn() {
+        // Notify data availability so APN can be enabled.
+        notifyDataAvailability(Phone.REASON_ROAMING_ON);
+
         if (getDataOnRoamingEnabled()) {
             if (DBG) log("onRoamingOn: setup data on roaming");
             setupDataOnReadyApns(Phone.REASON_ROAMING_ON);