summaryrefslogtreecommitdiffstats
path: root/java/com/android/incallui/InCallPresenter.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/InCallPresenter.java')
-rw-r--r--java/com/android/incallui/InCallPresenter.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java
index 150499f73..aecf8911f 100644
--- a/java/com/android/incallui/InCallPresenter.java
+++ b/java/com/android/incallui/InCallPresenter.java
@@ -127,6 +127,7 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.Aud
private StatusBarNotifier statusBarNotifier;
private ExternalCallNotifier externalCallNotifier;
+ private InCallVibrationHandler vibrationHandler;
private ContactInfoCache contactInfoCache;
private Context context;
private final OnCheckBlockedListener onCheckBlockedListener =
@@ -361,6 +362,9 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.Aud
.getEnrichedCallManager()
.registerStateChangedListener(this.statusBarNotifier);
+ vibrationHandler = new InCallVibrationHandler(context);
+ addListener(vibrationHandler);
+
this.proximitySensor = proximitySensor;
addListener(this.proximitySensor);
@@ -1648,6 +1652,11 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.Aud
}
statusBarNotifier = null;
+ if (vibrationHandler != null) {
+ removeListener(vibrationHandler);
+ }
+ vibrationHandler = null;
+
if (callList != null) {
callList.removeListener(this);
callList.removeListener(spamCallListListener);