diff options
author | yueg <yueg@google.com> | 2018-03-15 12:12:50 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-15 12:19:01 -0700 |
commit | 448dc9060e5106a896c8347b660d258732bd79fa (patch) | |
tree | a870c496c72921a2e4132b34b3b42d4feccf5864 /java | |
parent | 9dc2477968f0ed0b1ead99c896353c5365a33fc2 (diff) |
Fix bubble not showing on device restart.
Test: ReturnToCallControllerTest
PiperOrigin-RevId: 189225436
Change-Id: I845855d0b66941e311f3db239d10249015473c65
Diffstat (limited to 'java')
-rw-r--r-- | java/com/android/incallui/InCallServiceImpl.java | 6 | ||||
-rw-r--r-- | java/com/android/incallui/ReturnToCallController.java | 23 |
2 files changed, 23 insertions, 6 deletions
diff --git a/java/com/android/incallui/InCallServiceImpl.java b/java/com/android/incallui/InCallServiceImpl.java index 959f13f2e..2b147e7f8 100644 --- a/java/com/android/incallui/InCallServiceImpl.java +++ b/java/com/android/incallui/InCallServiceImpl.java @@ -111,10 +111,8 @@ public class InCallServiceImpl extends InCallService { InCallPresenter.getInstance().onServiceBind(); InCallPresenter.getInstance().maybeStartRevealAnimation(intent); TelecomAdapter.getInstance().setInCallService(this); - if (ReturnToCallController.isEnabled(this)) { - returnToCallController = - new ReturnToCallController(this, ContactInfoCache.getInstance(context)); - } + returnToCallController = + new ReturnToCallController(this, ContactInfoCache.getInstance(context)); feedbackListener = FeedbackComponent.get(context).getCallFeedbackListener(); CallList.getInstance().addListener(feedbackListener); diff --git a/java/com/android/incallui/ReturnToCallController.java b/java/com/android/incallui/ReturnToCallController.java index 6227c77bd..9dfb73bae 100644 --- a/java/com/android/incallui/ReturnToCallController.java +++ b/java/com/android/incallui/ReturnToCallController.java @@ -108,6 +108,11 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio @Override public void onUiShowing(boolean showing) { + if (!isEnabled(context)) { + hide(); + return; + } + LogUtil.i("ReturnToCallController.onUiShowing", "showing: " + showing); if (showing) { LogUtil.i("ReturnToCallController.onUiShowing", "going to hide"); @@ -155,8 +160,7 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio canShowBubblesForTesting = canShowBubbles; } - @VisibleForTesting - public Bubble startBubble() { + private Bubble startBubble() { if (!canShowBubbles(context)) { LogUtil.i("ReturnToCallController.startBubble", "can't show bubble, no permission"); return null; @@ -178,6 +182,11 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio @Override public void onCallListChange(CallList callList) { + if (!isEnabled(context)) { + hide(); + return; + } + if ((bubble == null || !bubble.isVisible()) && getCall() != null && !InCallPresenter.getInstance().isShowingInCallUi()) { @@ -188,6 +197,11 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio @Override public void onDisconnect(DialerCall call) { + if (!isEnabled(context)) { + hide(); + return; + } + LogUtil.enterBlock("ReturnToCallController.onDisconnect"); if (bubble != null && bubble.isVisible() && (getCall() == null)) { // Show "Call ended" and hide bubble when there is no outgoing, active or background call @@ -214,6 +228,11 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio @Override public void onAudioStateChanged(CallAudioState audioState) { + if (!isEnabled(context)) { + hide(); + return; + } + this.audioState = audioState; if (bubble != null) { bubble.updateActions(generateActions()); |