diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/ThemeSettingsController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/ThemeSettingsController.java index f7fba8a2..e3e75eb3 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/ThemeSettingsController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/ThemeSettingsController.java @@ -232,16 +232,16 @@ public class ThemeSettingsController extends Controller implements View.OnClickL } @Override - public void onSearchVisibilityChanged(boolean visible) { + public void onSearchVisibilityChanged(NavigationItem item, boolean visible) { } @Override - public String getSearchHint() { + public String getSearchHint(NavigationItem item) { return null; } @Override - public void onSearchEntered(String entered) { + public void onSearchEntered(NavigationItem item, String entered) { } }); toolbar.setBackgroundColor(theme.primaryColor.color); diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/ToolbarNavigationController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/ToolbarNavigationController.java index 6e5fc8f0..47da4660 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/ToolbarNavigationController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/ToolbarNavigationController.java @@ -24,6 +24,7 @@ import org.floens.chan.R; import org.floens.chan.controller.Controller; import org.floens.chan.controller.ControllerTransition; import org.floens.chan.controller.NavigationController; +import org.floens.chan.ui.toolbar.NavigationItem; import org.floens.chan.ui.toolbar.Toolbar; public abstract class ToolbarNavigationController extends NavigationController implements Toolbar.ToolbarCallback { @@ -96,23 +97,27 @@ public abstract class ToolbarNavigationController extends NavigationController i } @Override - public String getSearchHint() { + public String getSearchHint(NavigationItem item) { return context.getString(R.string.search_hint); } @Override - public void onSearchVisibilityChanged(boolean visible) { - Controller top = getTop(); - if (top instanceof ToolbarSearchCallback) { - ((ToolbarSearchCallback) top).onSearchVisibilityChanged(visible); + public void onSearchVisibilityChanged(NavigationItem item, boolean visible) { + for (Controller controller : childControllers) { + if (controller.navigationItem == item) { + ((ToolbarSearchCallback) controller).onSearchVisibilityChanged(visible); + break; + } } } @Override - public void onSearchEntered(String entered) { - Controller top = getTop(); - if (top instanceof ToolbarSearchCallback) { - ((ToolbarSearchCallback) top).onSearchEntered(entered); + public void onSearchEntered(NavigationItem item, String entered) { + for (Controller controller : childControllers) { + if (controller.navigationItem == item) { + ((ToolbarSearchCallback) controller).onSearchEntered(entered); + break; + } } } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/toolbar/Toolbar.java b/Clover/app/src/main/java/org/floens/chan/ui/toolbar/Toolbar.java index ba216d1d..e50c99e6 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/toolbar/Toolbar.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/toolbar/Toolbar.java @@ -279,7 +279,7 @@ public class Toolbar extends LinearLayout implements View.OnClickListener { toItem.search = true; openKeyboardAfterSearchViewCreated = true; setNavigationItemInternal(true, false, toItem); - callback.onSearchVisibilityChanged(true); + callback.onSearchVisibilityChanged(toItem, true); return true; } else { return false; @@ -291,7 +291,7 @@ public class Toolbar extends LinearLayout implements View.OnClickListener { toItem.search = false; toItem.searchText = null; setNavigationItemInternal(true, false, toItem); - callback.onSearchVisibilityChanged(false); + callback.onSearchVisibilityChanged(toItem, false); return true; } else { return false; @@ -388,7 +388,7 @@ public class Toolbar extends LinearLayout implements View.OnClickListener { @Override public void onSearchEntered(String entered) { item.searchText = entered; - callback.onSearchEntered(entered); + callback.onSearchEntered(item, entered); } }); @@ -396,7 +396,7 @@ public class Toolbar extends LinearLayout implements View.OnClickListener { searchLayout.setText(item.searchText); } - searchLayout.setHint(callback.getSearchHint()); + searchLayout.setHint(callback.getSearchHint(item)); if (openKeyboardAfterSearchViewCreated) { openKeyboardAfterSearchViewCreated = false; @@ -486,10 +486,10 @@ public class Toolbar extends LinearLayout implements View.OnClickListener { public interface ToolbarCallback { void onMenuOrBackClicked(boolean isArrow); - void onSearchVisibilityChanged(boolean visible); + void onSearchVisibilityChanged(NavigationItem item, boolean visible); - String getSearchHint(); + String getSearchHint(NavigationItem item); - void onSearchEntered(String entered); + void onSearchEntered(NavigationItem item, String entered); } }