summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/main
diff options
context:
space:
mode:
authoryueg <yueg@google.com>2018-02-27 13:36:16 -0800
committerCopybara-Service <copybara-piper@google.com>2018-02-27 14:15:26 -0800
commit5e5172c41d6f246bf216a68b3625dd9553af74d5 (patch)
tree84597a3d9385d3a43de68cb6fe7041c6b9c9fdc1 /java/com/android/dialer/main
parent82393b8382b39fbbf94cb2fcc7fc61b1cb62588d (diff)
Implement contacts promo in NUI.
Bug: 72525950 Test: ContactsPromoFragmentTest, MainSearchControllerTest, OldGoogleMainActivityPeerTest PiperOrigin-RevId: 187224361 Change-Id: Idc43255ccc673c6c5c17b70d1f367d1a4802bfd0
Diffstat (limited to 'java/com/android/dialer/main')
-rw-r--r--java/com/android/dialer/main/impl/MainSearchController.java36
1 files changed, 36 insertions, 0 deletions
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<OnSearchShowListener> 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();
+ }
}