From 5e5172c41d6f246bf216a68b3625dd9553af74d5 Mon Sep 17 00:00:00 2001 From: yueg Date: Tue, 27 Feb 2018 13:36:16 -0800 Subject: Implement contacts promo in NUI. Bug: 72525950 Test: ContactsPromoFragmentTest, MainSearchControllerTest, OldGoogleMainActivityPeerTest PiperOrigin-RevId: 187224361 Change-Id: Idc43255ccc673c6c5c17b70d1f367d1a4802bfd0 --- .../dialer/main/impl/MainSearchController.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'java/com/android/dialer/main') diff --git a/java/com/android/dialer/main/impl/MainSearchController.java b/java/com/android/dialer/main/impl/MainSearchController.java index 33e0981dd..4f3ee6032 100644 --- a/java/com/android/dialer/main/impl/MainSearchController.java +++ b/java/com/android/dialer/main/impl/MainSearchController.java @@ -52,6 +52,7 @@ import com.android.dialer.searchfragment.list.NewSearchFragment.SearchFragmentLi import com.android.dialer.smartdial.util.SmartDialNameMatcher; import com.google.common.base.Optional; import java.util.ArrayList; +import java.util.List; /** * Search controller for handling all the logic related to entering and exiting the search UI. @@ -83,6 +84,8 @@ public class MainSearchController implements SearchBarListener { private final MainToolbar toolbar; private final View toolbarShadow; + private final List onSearchShowListenerList = new ArrayList<>(); + public MainSearchController( MainActivity mainActivity, BottomNavBar bottomNav, @@ -142,6 +145,8 @@ public class MainSearchController implements SearchBarListener { transaction.show(dialpadFragment); } transaction.commit(); + + notifyListenersOnSearchOpen(); } /** @@ -288,6 +293,8 @@ public class MainSearchController implements SearchBarListener { if (getDialpadFragment() != null) { getDialpadFragment().clearDialpad(); } + + notifyListenersOnSearchClose(); } @Nullable @@ -356,6 +363,8 @@ public class MainSearchController implements SearchBarListener { searchFragment.setQuery( query.isPresent() ? query.get() : "", CallInitiationType.Type.REGULAR_SEARCH); transaction.commit(); + + notifyListenersOnSearchOpen(); } @Override @@ -455,4 +464,31 @@ public class MainSearchController implements SearchBarListener { toolbar.slideUp(false); } } + + public void addOnSearchShowListener(OnSearchShowListener listener) { + onSearchShowListenerList.add(listener); + } + + public void removeOnSearchShowListener(OnSearchShowListener listener) { + onSearchShowListenerList.remove(listener); + } + + private void notifyListenersOnSearchOpen() { + for (OnSearchShowListener listener : onSearchShowListenerList) { + listener.onSearchOpen(); + } + } + + private void notifyListenersOnSearchClose() { + for (OnSearchShowListener listener : onSearchShowListenerList) { + listener.onSearchClose(); + } + } + + /** Listener for search fragment show states change */ + public interface OnSearchShowListener { + void onSearchOpen(); + + void onSearchClose(); + } } -- cgit v1.2.3