internal change
Bug: 68825005
Test: Added unit tests on CallFeedbackListenerImpl, CallFeedbackNotificationManager and DialerCall. Also manually verified the change.
PiperOrigin-RevId: 184211115
Change-Id: I50927036c3cd5d47862704376e2eef108c473fbf
diff --git a/java/com/android/incallui/InCallServiceImpl.java b/java/com/android/incallui/InCallServiceImpl.java
index 539dba8..1cb6c47 100644
--- a/java/com/android/incallui/InCallServiceImpl.java
+++ b/java/com/android/incallui/InCallServiceImpl.java
@@ -24,6 +24,7 @@
import android.telecom.CallAudioState;
import android.telecom.InCallService;
import com.android.dialer.blocking.FilteredNumberAsyncQueryHandler;
+import com.android.dialer.feedback.FeedbackComponent;
import com.android.incallui.audiomode.AudioModeProvider;
import com.android.incallui.call.CallList;
import com.android.incallui.call.ExternalCallList;
@@ -39,6 +40,7 @@
private ReturnToCallController returnToCallController;
private NewReturnToCallController newReturnToCallController;
+ private CallList.Listener feedbackListener;
@Override
public void onCallAudioStateChanged(CallAudioState audioState) {
@@ -102,6 +104,8 @@
newReturnToCallController =
new NewReturnToCallController(this, ContactInfoCache.getInstance(context));
}
+ feedbackListener = FeedbackComponent.get(context).getCallFeedbackListener();
+ CallList.getInstance().addListener(feedbackListener);
IBinder iBinder = super.onBind(intent);
Trace.endSection();
@@ -134,6 +138,10 @@
newReturnToCallController.tearDown();
newReturnToCallController = null;
}
+ if (feedbackListener != null) {
+ CallList.getInstance().removeListener(feedbackListener);
+ feedbackListener = null;
+ }
Trace.endSection();
}
}