diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt index a0363ac785e2f..3afbafe2b099c 100644 --- a/config/hiddenapi-light-greylist.txt +++ b/config/hiddenapi-light-greylist.txt @@ -3209,7 +3209,6 @@ Lcom/android/internal/telephony/ITelephony;->getCallState()I Lcom/android/internal/telephony/ITelephony;->getDataActivity()I Lcom/android/internal/telephony/ITelephony;->getDataState()I Lcom/android/internal/telephony/ITelephony;->getNetworkType()I -Lcom/android/internal/telephony/ITelephony;->getVoiceMessageCount()I Lcom/android/internal/telephony/ITelephony;->handlePinMmi(Ljava/lang/String;)Z Lcom/android/internal/telephony/ITelephony;->handlePinMmiForSubscriber(ILjava/lang/String;)Z Lcom/android/internal/telephony/ITelephony;->hasIccCard()Z diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index a0bfcc36992ff..4d3bc3840ad13 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -4192,7 +4192,8 @@ public class TelephonyManager { } /** - * Returns the voice mail count for a subscription. Return 0 if unavailable. + * Returns the voice mail count for a subscription. Return 0 if unavailable or the caller does + * not have the READ_PHONE_STATE permission. * @param subId whose voice message count is returned * @hide */ @@ -4203,7 +4204,7 @@ public class TelephonyManager { ITelephony telephony = getITelephony(); if (telephony == null) return 0; - return telephony.getVoiceMessageCountForSubscriber(subId); + return telephony.getVoiceMessageCountForSubscriber(subId, getOpPackageName()); } catch (RemoteException ex) { return 0; } catch (NullPointerException ex) { diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 4d5b79539da6d..1b17a8aabc07b 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -392,17 +392,12 @@ interface ITelephony { */ int getDataActivationState(int subId, String callingPackage); - /** - * Returns the unread count of voicemails - */ - int getVoiceMessageCount(); - /** * Returns the unread count of voicemails for a subId. * @param subId user preferred subId. * Returns the unread count of voicemails */ - int getVoiceMessageCountForSubscriber(int subId); + int getVoiceMessageCountForSubscriber(int subId, String callingPackage); /** * Returns true if current state supports both voice and data