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);
}
}