OSDN Git Service

GpsLocationProvider: Read data enabled status from TelephonyManager.
authorShishir Agrawal <shishir@google.com>
Wed, 11 Feb 2015 03:02:38 +0000 (19:02 -0800)
committerShishir Agrawal <shishir@google.com>
Wed, 11 Feb 2015 03:20:16 +0000 (19:20 -0800)
Bug: 18814559
Change-Id: I0333050d2a5b8d484466e1b1914dcfb9965398c9

services/core/java/com/android/server/location/GpsLocationProvider.java
telephony/java/android/telephony/TelephonyManager.java

index bec0e22..5ae6300 100644 (file)
@@ -788,9 +788,7 @@ public class GpsLocationProvider implements LocationProviderInterface {
         }
 
         if (info != null) {
-            boolean dataEnabled = TelephonyManager.getIntWithSubId(mContext.getContentResolver(),
-                    Settings.Global.MOBILE_DATA, SubscriptionManager.getDefaultSubId(),
-                    1) == 1;
+            boolean dataEnabled = TelephonyManager.getDefault().getDataEnabled();
             boolean networkAvailable = info.isAvailable() && dataEnabled;
             String defaultApn = getSelectedApn();
             if (defaultApn == null) {
index 513359b..db0da61 100644 (file)
@@ -3669,12 +3669,12 @@ public class TelephonyManager {
     /** @hide */
     @SystemApi
     public boolean getDataEnabled(int subId) {
-        boolean retVal;
+        boolean retVal = false;
         try {
             retVal = getITelephony().getDataEnabled(subId);
         } catch (RemoteException e) {
             Log.e(TAG, "Error calling ITelephony#getDataEnabled", e);
-            retVal = false;
+        } catch (NullPointerException e) {
         }
         Log.d(TAG, "getDataEnabled: retVal=" + retVal);
         return retVal;