Merge "add post_notification permission to manifest so the package can send notifications on T+"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 727019d..a106e12 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -23,6 +23,8 @@
     android:minSdkVersion="24"
     android:targetSdkVersion="30"/>
 
+
+  <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
   <uses-permission android:name="android.permission.CALL_PHONE"/>
   <uses-permission android:name="android.permission.READ_CONTACTS"/>
   <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
diff --git a/java/com/android/dialer/phonenumberutil/PhoneNumberHelper.java b/java/com/android/dialer/phonenumberutil/PhoneNumberHelper.java
index df7716c..9e30394 100644
--- a/java/com/android/dialer/phonenumberutil/PhoneNumberHelper.java
+++ b/java/com/android/dialer/phonenumberutil/PhoneNumberHelper.java
@@ -202,6 +202,9 @@
     if (presentation == CallLog.Calls.PRESENTATION_RESTRICTED) {
       return false;
     }
+    if (presentation == CallLog.Calls.PRESENTATION_UNAVAILABLE) {
+      return false;
+    }
     if (presentation == CallLog.Calls.PRESENTATION_PAYPHONE) {
       return false;
     }
diff --git a/java/com/android/dialer/simulator/impl/SimulatorDialogFragment.java b/java/com/android/dialer/simulator/impl/SimulatorDialogFragment.java
index 96ea627..dcf8032 100644
--- a/java/com/android/dialer/simulator/impl/SimulatorDialogFragment.java
+++ b/java/com/android/dialer/simulator/impl/SimulatorDialogFragment.java
@@ -27,7 +27,7 @@
 public final class SimulatorDialogFragment extends DialogFragment {
 
   private final String[] callerIdPresentationItems = {
-    "ALLOWED", "PAYPHONE", "RESTRICTED", "UNKNOWN"
+    "ALLOWED", "PAYPHONE", "RESTRICTED", "UNKNOWN", "UNAVAILABLE"
   };
   private int callerIdPresentationChoice = 1;
 
@@ -68,6 +68,9 @@
                 case 3:
                   callerIdPresentationChoice = TelecomManager.PRESENTATION_UNKNOWN;
                   break;
+                case 4:
+                  callerIdPresentationChoice = TelecomManager.PRESENTATION_UNAVAILABLE;
+                  break;
                 default:
                   throw new IllegalStateException("Unknown presentation choice selected!");
               }
diff --git a/java/com/android/incallui/audiomode/AudioModeProvider.java b/java/com/android/incallui/audiomode/AudioModeProvider.java
index 6bdd239..47b021e 100644
--- a/java/com/android/incallui/audiomode/AudioModeProvider.java
+++ b/java/com/android/incallui/audiomode/AudioModeProvider.java
@@ -85,6 +85,7 @@
       switch (info.getType()) {
         case AudioDeviceInfo.TYPE_BLUETOOTH_A2DP:
         case AudioDeviceInfo.TYPE_BLUETOOTH_SCO:
+        case AudioDeviceInfo.TYPE_BLE_HEADSET:
           hasBluetooth = true;
           continue;
         case AudioDeviceInfo.TYPE_WIRED_HEADSET: