Dialer: Fix In-Call vibrations

* We need to specify not only an effect but somehow also provide
  proper attributes

Change-Id: I29700ef2890c7e8c7fee97ee0f647770c2f01be1
diff --git a/java/com/android/dialer/dialpadview/PseudoEmergencyAnimator.java b/java/com/android/dialer/dialpadview/PseudoEmergencyAnimator.java
index bc45cb8..be6c257 100644
--- a/java/com/android/dialer/dialpadview/PseudoEmergencyAnimator.java
+++ b/java/com/android/dialer/dialpadview/PseudoEmergencyAnimator.java
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2015 The Android Open Source Project
+ * Copyright (C) 2023-2024 The LineageOS Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,6 +27,7 @@
 import android.graphics.LightingColorFilter;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.VibrationAttributes;
 import android.os.VibrationEffect;
 import android.os.Vibrator;
 import android.view.View;
@@ -130,8 +132,11 @@
     if (context != null) {
       Vibrator vibrator = context.getSystemService(Vibrator.class);
       if (vibrator != null && vibrator.hasVibrator()) {
-        vibrator.vibrate(VibrationEffect.createOneShot(milliseconds,
-                VibrationEffect.DEFAULT_AMPLITUDE));
+        VibrationEffect effect = VibrationEffect.createOneShot(milliseconds,
+                VibrationEffect.DEFAULT_AMPLITUDE);
+        VibrationAttributes attributes = VibrationAttributes.createForUsage(
+                VibrationAttributes.USAGE_COMMUNICATION_REQUEST);
+        vibrator.vibrate(effect, attributes);
       }
     }
   }
diff --git a/java/com/android/incallui/InCallVibrationHandler.java b/java/com/android/incallui/InCallVibrationHandler.java
index ffd8f69..37244e3 100644
--- a/java/com/android/incallui/InCallVibrationHandler.java
+++ b/java/com/android/incallui/InCallVibrationHandler.java
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2014 The CyanogenMod Project
- * Copyright (C) 2023 The LineageOS Project
+ * Copyright (C) 2023-2024 The LineageOS Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,6 +22,7 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
+import android.os.VibrationAttributes;
 import android.os.VibrationEffect;
 import android.os.Vibrator;
 import android.os.VibratorManager;
@@ -145,6 +146,8 @@
       0, v1, p1, v2
     };
     VibrationEffect effect = VibrationEffect.createWaveform(pattern, -1);
-    vibrator.vibrate(effect);
+    VibrationAttributes attributes = VibrationAttributes.createForUsage(
+            VibrationAttributes.USAGE_COMMUNICATION_REQUEST);
+    vibrator.vibrate(effect, attributes);
   }
 }