summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorerfanian <erfanian@google.com>2018-05-11 11:02:53 -0700
committerCopybara-Service <copybara-piper@google.com>2018-05-11 11:44:36 -0700
commit3887ab03fe22d9dba2ac43e4e667a60ef9b7aeb2 (patch)
tree196ddc7a51621cb7b8f0e1bf69a740cb082aea98
parent5e8b10b2c3b68f432a55216d1c1a06617142b2f8 (diff)
Use listeners to drive fragment lifecycles.
Test: tap PiperOrigin-RevId: 196278370 Change-Id: Ied6072caf4a6e87da5ba6395db8c0b0fa55b3f97
-rw-r--r--java/com/android/incallui/AnswerScreenPresenter.java3
-rw-r--r--java/com/android/incallui/InCallPresenter.java7
-rw-r--r--java/com/android/incallui/call/CallList.java10
-rw-r--r--java/com/android/incallui/call/DialerCall.java5
-rw-r--r--java/com/android/incallui/call/DialerCallListener.java2
5 files changed, 24 insertions, 3 deletions
diff --git a/java/com/android/incallui/AnswerScreenPresenter.java b/java/com/android/incallui/AnswerScreenPresenter.java
index e41bac606..8b789f317 100644
--- a/java/com/android/incallui/AnswerScreenPresenter.java
+++ b/java/com/android/incallui/AnswerScreenPresenter.java
@@ -176,9 +176,6 @@ public class AnswerScreenPresenter
return;
}
incomingCall.setIsSpeakEasyCall(true);
- InCallActivity inCallActivity =
- (InCallActivity) answerScreen.getAnswerScreenFragment().getActivity();
- inCallActivity.onPrimaryCallStateChanged();
}
@Override
diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java
index ccc564806..da5d20fa3 100644
--- a/java/com/android/incallui/InCallPresenter.java
+++ b/java/com/android/incallui/InCallPresenter.java
@@ -990,6 +990,13 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.Aud
}
@Override
+ public void onSpeakEasyStateChange() {
+ if (inCallActivity != null) {
+ inCallActivity.onPrimaryCallStateChanged();
+ }
+ }
+
+ @Override
public void onSessionModificationStateChange(DialerCall call) {
int newState = call.getVideoTech().getSessionModificationState();
LogUtil.i("InCallPresenter.onSessionModificationStateChange", "state: %d", newState);
diff --git a/java/com/android/incallui/call/CallList.java b/java/com/android/incallui/call/CallList.java
index 4d737e544..13be252dd 100644
--- a/java/com/android/incallui/call/CallList.java
+++ b/java/com/android/incallui/call/CallList.java
@@ -820,6 +820,9 @@ public class CallList implements DialerCallDelegate {
*/
default void onUpgradeToRtt(DialerCall call, int rttRequestId) {}
+ /** Called when the SpeakEasy state of a Dialer call is mutated. */
+ default void onSpeakEasyStateChange() {}
+
/** Called when the session modification state of a call changes. */
void onSessionModificationStateChange(DialerCall call);
@@ -898,6 +901,13 @@ public class CallList implements DialerCallDelegate {
}
@Override
+ public void onDialerCallSpeakEasyStateChange() {
+ for (Listener listener : listeners) {
+ listener.onSpeakEasyStateChange();
+ }
+ }
+
+ @Override
public void onDialerCallUpgradeToVideo() {
for (Listener listener : listeners) {
listener.onUpgradeToVideo(call);
diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java
index 4db55478f..431634a0c 100644
--- a/java/com/android/incallui/call/DialerCall.java
+++ b/java/com/android/incallui/call/DialerCall.java
@@ -1726,6 +1726,11 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa
/** Sets the user preference for SpeakEasy */
public void setIsSpeakEasyCall(boolean isSpeakEasyCall) {
this.isSpeakEasyCall = isSpeakEasyCall;
+ if (listeners != null) {
+ for (DialerCallListener listener : listeners) {
+ listener.onDialerCallSpeakEasyStateChange();
+ }
+ }
}
/**
diff --git a/java/com/android/incallui/call/DialerCallListener.java b/java/com/android/incallui/call/DialerCallListener.java
index 37c30d30c..a42ccbd66 100644
--- a/java/com/android/incallui/call/DialerCallListener.java
+++ b/java/com/android/incallui/call/DialerCallListener.java
@@ -31,6 +31,8 @@ public interface DialerCallListener {
default void onDialerCallUpgradeToRtt(int rttRequestId) {}
+ default void onDialerCallSpeakEasyStateChange() {}
+
void onDialerCallSessionModificationStateChange();
void onWiFiToLteHandover();