diff options
Diffstat (limited to 'InCallUI')
-rw-r--r-- | InCallUI/src/com/android/incallui/InCallPresenter.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/InCallUI/src/com/android/incallui/InCallPresenter.java b/InCallUI/src/com/android/incallui/InCallPresenter.java index 6f3d1b399..36668cc0a 100644 --- a/InCallUI/src/com/android/incallui/InCallPresenter.java +++ b/InCallUI/src/com/android/incallui/InCallPresenter.java @@ -69,6 +69,8 @@ public class InCallPresenter implements CallList.Listener, InCallPhoneListener { private final List<IncomingCallListener> mIncomingCallListeners = new CopyOnWriteArrayList<>(); private final Set<InCallDetailsListener> mDetailsListeners = Collections.newSetFromMap( new ConcurrentHashMap<InCallDetailsListener, Boolean>(8, 0.9f, 1)); + private final Set<InCallUiListener> mInCallUiListeners = Collections.newSetFromMap( + new ConcurrentHashMap<InCallUiListener, Boolean>(8, 0.9f, 1)); private final Set<InCallOrientationListener> mOrientationListeners = Collections.newSetFromMap( new ConcurrentHashMap<InCallOrientationListener, Boolean>(8, 0.9f, 1)); private final Set<InCallEventListener> mInCallEventListeners = Collections.newSetFromMap( @@ -624,6 +626,18 @@ public class InCallPresenter implements CallList.Listener, InCallPhoneListener { if (showing) { mIsActivityPreviouslyStarted = true; } + + for (InCallUiListener listener : mInCallUiListeners) { + listener.onUiShowing(showing); + } + } + + public void addInCallUiListener(InCallUiListener listener) { + mInCallUiListeners.add(listener); + } + + public boolean removeInCallUiListener(InCallUiListener listener) { + return mInCallUiListeners.remove(listener); } /** @@ -1153,4 +1167,8 @@ public class InCallPresenter implements CallList.Listener, InCallPhoneListener { public interface InCallEventListener { public void onFullScreenVideoStateChanged(boolean isFullScreenVideo); } + + public interface InCallUiListener { + void onUiShowing(boolean showing); + } } |