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