diff options
author | Robert Greenwalt <rgreenwalt@google.com> | 2015-07-10 09:08:13 -0700 |
---|---|---|
committer | Robert Greenwalt <rgreenwalt@google.com> | 2015-07-10 09:42:08 -0700 |
commit | 9bc8299ca0b2e8396b9f2f027c440cda164ba75e (patch) | |
tree | 68696fab7b8ecc7cf7c7252d7a09054da3af8ff6 /telephony | |
parent | 4d8134c1b9e11c2b3a92195fb753da7b144bad1e (diff) | |
download | frameworks_base-9bc8299ca0b2e8396b9f2f027c440cda164ba75e.zip frameworks_base-9bc8299ca0b2e8396b9f2f027c440cda164ba75e.tar.gz frameworks_base-9bc8299ca0b2e8396b9f2f027c440cda164ba75e.tar.bz2 |
Fix permissions.
Legacy API should not need new permissions.
Also found some more hidden/system that should have permissions.
bug:22379438
bug:19257083
Change-Id: I24be0a90dffcffe03d25982a9b02eedcf03fbd59
Diffstat (limited to 'telephony')
-rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 61 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/ITelephony.aidl | 12 |
2 files changed, 63 insertions, 10 deletions
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index e74344c..89e9d2e 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1339,7 +1339,21 @@ public class TelephonyManager { * @return the NETWORK_TYPE_xxxx for current data connection. */ public int getNetworkType() { - return getDataNetworkType(); + try { + ITelephony telephony = getITelephony(); + if (telephony != null) { + return telephony.getNetworkType(); + } else { + // This can happen when the ITelephony interface is not up yet. + return NETWORK_TYPE_UNKNOWN; + } + } catch(RemoteException ex) { + // This shouldn't happen in the normal case + return NETWORK_TYPE_UNKNOWN; + } catch (NullPointerException ex) { + // This could happen before phone restarts due to crashing + return NETWORK_TYPE_UNKNOWN; + } } /** @@ -1365,6 +1379,10 @@ public class TelephonyManager { * @see #NETWORK_TYPE_LTE * @see #NETWORK_TYPE_EHRPD * @see #NETWORK_TYPE_HSPAP + * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ /** {@hide} */ public int getNetworkType(int subId) { @@ -1407,6 +1425,9 @@ public class TelephonyManager { * @see #NETWORK_TYPE_EHRPD * @see #NETWORK_TYPE_HSPAP * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} * @hide */ public int getDataNetworkType() { @@ -1419,6 +1440,10 @@ public class TelephonyManager { * @return the network type * * @param subId for which network type is returned + * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ /** {@hide} */ public int getDataNetworkType(int subId) { @@ -1442,6 +1467,9 @@ public class TelephonyManager { /** * Returns the NETWORK_TYPE_xxxx for voice * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} * @hide */ public int getVoiceNetworkType() { @@ -1451,13 +1479,16 @@ public class TelephonyManager { /** * Returns the NETWORK_TYPE_xxxx for voice for a subId * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ /** {@hide} */ public int getVoiceNetworkType(int subId) { try{ ITelephony telephony = getITelephony(); if (telephony != null) { - return telephony.getVoiceNetworkTypeForSubscriber(subId); + return telephony.getVoiceNetworkTypeForSubscriber(subId, getOpPackageName()); } else { // This can happen when the ITelephony interface is not up yet. return NETWORK_TYPE_UNKNOWN; @@ -1897,6 +1928,10 @@ public class TelephonyManager { * @return {@link PhoneConstants#LTE_ON_CDMA_UNKNOWN}, {@link PhoneConstants#LTE_ON_CDMA_FALSE} * or {@link PhoneConstants#LTE_ON_CDMA_TRUE} * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} + * * @hide */ public int getLteOnCdmaMode() { @@ -1912,6 +1947,9 @@ public class TelephonyManager { * @return {@link PhoneConstants#LTE_ON_CDMA_UNKNOWN}, {@link PhoneConstants#LTE_ON_CDMA_FALSE} * or {@link PhoneConstants#LTE_ON_CDMA_TRUE} * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ /** {@hide} */ public int getLteOnCdmaMode(int subId) { @@ -2642,6 +2680,9 @@ public class TelephonyManager { /** * Returns the CDMA ERI icon index to display * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} * @hide */ public int getCdmaEriIconIndex() { @@ -2650,6 +2691,9 @@ public class TelephonyManager { /** * Returns the CDMA ERI icon index to display for a subscription + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ /** {@hide} */ public int getCdmaEriIconIndex(int subId) { @@ -2671,6 +2715,9 @@ public class TelephonyManager { * 0 - ON * 1 - FLASHING * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} * @hide */ public int getCdmaEriIconMode() { @@ -2681,6 +2728,10 @@ public class TelephonyManager { * Returns the CDMA ERI icon mode for a subscription. * 0 - ON * 1 - FLASHING + * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ /** {@hide} */ public int getCdmaEriIconMode(int subId) { @@ -2700,6 +2751,9 @@ public class TelephonyManager { /** * Returns the CDMA ERI text, * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} * @hide */ public String getCdmaEriText() { @@ -2709,6 +2763,9 @@ public class TelephonyManager { /** * Returns the CDMA ERI text, of a subscription * + * <p> + * Requires Permission: + * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} */ /** {@hide} */ public String getCdmaEriText(int subId) { diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 6db88a7..a93e465 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -455,9 +455,9 @@ interface ITelephony { /** * Returns the network type for data transmission - * @param callingPackage package making the call. + * Legacy call, permission-free */ - int getNetworkType(String callingPackage); + int getNetworkType(); /** * Returns the network type of a subId. @@ -480,16 +480,12 @@ interface ITelephony { int getDataNetworkTypeForSubscriber(int subId, String callingPackage); /** - * Returns the network type for voice - */ - int getVoiceNetworkType(); - - /** * Returns the voice network type of a subId * @param subId user preferred subId. + * @param callingPackage package making the call. * Returns the network type */ - int getVoiceNetworkTypeForSubscriber(int subId); + int getVoiceNetworkTypeForSubscriber(int subId, String callingPackage); /** * Return true if an ICC card is present |