Fix permissions on getDataEnabled.

This data was available before via TelephonyManager and ConnectivityManager.
They used different permissions.  Change TM to accept either permission before
giving out this data.

bug: 15176602
Change-Id: If7b99b57571d6fdd9ff29c27adad563a2a124173
(cherry picked from commit ffbe08f9ba668d2e615f4615304d0a6f391fe748)
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index e79ad3c..8ec32bb 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -1403,13 +1403,23 @@
     }
 
     /**
-     * Get whether mobile data is enabled
+     * Get whether mobile data is enabled.
+     *
+     * Note that this used to be available from ConnectivityService, gated by
+     * ACCESS_NETWORK_STATE permission, so this will accept either that or
+     * our MODIFY_PHONE_STATE.
      *
      * @return {@code true} if data is enabled else {@code false}
      */
     @Override
     public boolean getDataEnabled() {
-        enforceModifyPermission();
+        try {
+            mApp.enforceCallingOrSelfPermission(android.Manifest.permission.ACCESS_NETWORK_STATE,
+                    null);
+        } catch (Exception e) {
+            mApp.enforceCallingOrSelfPermission(android.Manifest.permission.MODIFY_PHONE_STATE,
+                    null);
+        }
         return mPhone.getDataEnabled();
     }
 }