Check READ_PHONE_STATE for isVoicemailAvailable()
TelecomUtil.has*Permission() pass if the dialer is the default dialer. In reality most API does not allow the default dialer do whatever they want. PermissionUtil should be used instead.
TEST=uabdullah please fix your "Temporary" @Ignore
Bug: 77907588
Test: uabdullah please fix your "Temporary" @Ignore
PiperOrigin-RevId: 197442842
Change-Id: Idff3fda855ab0dfc330e963557776461aac677e1
diff --git a/java/com/android/dialer/main/impl/OldMainActivityPeer.java b/java/com/android/dialer/main/impl/OldMainActivityPeer.java
index 402edb3..a0e92a8 100644
--- a/java/com/android/dialer/main/impl/OldMainActivityPeer.java
+++ b/java/com/android/dialer/main/impl/OldMainActivityPeer.java
@@ -372,7 +372,7 @@
private static boolean isVoicemailAvailable(
Context context, PhoneAccountHandle defaultUserSelectedAccount) {
- if (!TelecomUtil.hasReadPhoneStatePermission(context)) {
+ if (!PermissionsUtil.hasReadPhoneStatePermissions(context)) {
LogUtil.i(
"OldMainActivityPeer.isVoicemailAvailable",
"No read phone permisison or not the default dialer.");
diff --git a/java/com/android/dialer/telecom/TelecomUtil.java b/java/com/android/dialer/telecom/TelecomUtil.java
index 8c00909..c088146 100644
--- a/java/com/android/dialer/telecom/TelecomUtil.java
+++ b/java/com/android/dialer/telecom/TelecomUtil.java
@@ -275,15 +275,21 @@
&& hasPermission(context, Manifest.permission.WRITE_VOICEMAIL));
}
+ /** @deprecated use {@link com.android.dialer.util.PermissionsUtil} */
+ @Deprecated
public static boolean hasModifyPhoneStatePermission(Context context) {
return isDefaultDialer(context)
|| hasPermission(context, Manifest.permission.MODIFY_PHONE_STATE);
}
+ /** @deprecated use {@link com.android.dialer.util.PermissionsUtil} */
+ @Deprecated
public static boolean hasReadPhoneStatePermission(Context context) {
return isDefaultDialer(context) || hasPermission(context, Manifest.permission.READ_PHONE_STATE);
}
+ /** @deprecated use {@link com.android.dialer.util.PermissionsUtil} */
+ @Deprecated
public static boolean hasCallPhonePermission(Context context) {
return isDefaultDialer(context) || hasPermission(context, Manifest.permission.CALL_PHONE);
}