GpsLocationProvider: Read data enabled status from TelephonyManager.

Bug: 18814559
Change-Id: I0333050d2a5b8d484466e1b1914dcfb9965398c9
diff --git a/services/core/java/com/android/server/location/GpsLocationProvider.java b/services/core/java/com/android/server/location/GpsLocationProvider.java
index bec0e22..5ae6300 100644
--- a/services/core/java/com/android/server/location/GpsLocationProvider.java
+++ b/services/core/java/com/android/server/location/GpsLocationProvider.java
@@ -788,9 +788,7 @@
         }
 
         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) {
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 513359b..db0da61 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -3669,12 +3669,12 @@
     /** @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;