[android] MAPSME-15120: hide PP in case of opening filters

This commit is contained in:
Alexey Osminin 2020-10-23 17:44:37 +03:00 committed by Alexander Boriskov
parent 95a709f205
commit e0f4b3012a
3 changed files with 39 additions and 9 deletions

View file

@ -134,6 +134,7 @@ import com.mapswithme.maps.taxi.TaxiManager;
import com.mapswithme.maps.tips.Tutorial;
import com.mapswithme.maps.tips.TutorialAction;
import com.mapswithme.maps.widget.FadeView;
import com.mapswithme.maps.widget.SearchToolbarController;
import com.mapswithme.maps.widget.menu.BaseMenu;
import com.mapswithme.maps.widget.menu.MainMenu;
import com.mapswithme.maps.widget.menu.MainMenuOptionListener;
@ -201,7 +202,8 @@ public class MwmActivity extends BaseMwmFragmentActivity
OnGuidesLayerToggleListener,
GuidesGalleryListener,
NoConnectionListener,
MapWidgetOffsetsProvider
MapWidgetOffsetsProvider,
SearchToolbarController.RoomsGuestsMenuStateCallback
{
private static final Logger LOGGER = LoggerFactory.INSTANCE.getLogger(LoggerFactory.Type.MISC);
private static final String TAG = MwmActivity.class.getSimpleName();
@ -573,7 +575,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
this);
mMainMenuController.initialize(findViewById(R.id.coordinator));
mSearchController = new FloatingSearchToolbarController(this, this);
mSearchController = new FloatingSearchToolbarController(this, this, this);
mSearchController.getToolbar()
.getViewTreeObserver()
.addOnGlobalLayoutListener(new ToolbarLayoutChangeListener());
@ -2684,6 +2686,13 @@ public class MwmActivity extends BaseMwmFragmentActivity
showSearch(query);
}
@Override
public void onRoomsGuestsMenuStateChange(boolean isOpen)
{
if (isOpen)
closePlacePage();
}
public void showIntroductionScreenForDeeplink(@NonNull String deepLink,
@NonNull IntroductionScreenFactory factory)
{

View file

@ -1,9 +1,9 @@
package com.mapswithme.maps.search;
import android.app.Activity;
import androidx.annotation.Nullable;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.mapswithme.maps.api.ParsedMwmRequest;
import com.mapswithme.maps.widget.SearchToolbarController;
import com.mapswithme.util.UiUtils;
@ -20,9 +20,11 @@ public class FloatingSearchToolbarController extends SearchToolbarController
void onSearchVisibilityChanged(boolean visible);
}
public FloatingSearchToolbarController(Activity activity, @Nullable SearchToolbarListener listener)
public FloatingSearchToolbarController(@NonNull Activity activity,
@Nullable SearchToolbarListener listener,
@Nullable RoomsGuestsMenuStateCallback callback)
{
super(activity.getWindow().getDecorView(), activity);
super(activity.getWindow().getDecorView(), activity, callback);
mListener = listener;
}

View file

@ -152,8 +152,14 @@ public class SearchToolbarController extends ToolbarController
SearchToolbarController getController();
}
public SearchToolbarController(@NonNull View root, @NonNull Activity activity)
{
this(root, activity, null);
}
public SearchToolbarController(View root, Activity activity)
public SearchToolbarController(@NonNull View root,
@NonNull Activity activity,
@Nullable RoomsGuestsMenuStateCallback callback)
{
super(root, activity);
mToolbarContainer = getToolbar().findViewById(R.id.toolbar_container);
@ -194,7 +200,7 @@ public class SearchToolbarController extends ToolbarController
if (coordinatorLayout != null
&& coordinatorLayout.findViewById(R.id.guests_and_rooms_menu_sheet) != null)
{
MenuStateObserver stateObserver = new RoomsGuestsMenuStateObserver(requireActivity());
MenuStateObserver stateObserver = new RoomsGuestsMenuStateObserver(requireActivity(), callback);
mGuestsRoomsMenuController
= MenuControllerFactory.createGuestsRoomsMenuController(this, stateObserver, this);
mGuestsRoomsMenuController.initialize(requireActivity().findViewById(R.id.coordinator));
@ -479,10 +485,14 @@ public class SearchToolbarController extends ToolbarController
{
@NonNull
private final Activity mActivity;
@NonNull
private final RoomsGuestsMenuStateCallback mCallback;
private RoomsGuestsMenuStateObserver(@NonNull Activity activity)
private RoomsGuestsMenuStateObserver(@NonNull Activity activity,
@Nullable RoomsGuestsMenuStateCallback callback)
{
mActivity = activity;
mCallback = callback;
}
@Override
@ -493,6 +503,8 @@ public class SearchToolbarController extends ToolbarController
return;
fadeView.fadeIn();
if (mCallback != null)
mCallback.onRoomsGuestsMenuStateChange(true);
}
@Override
@ -502,7 +514,14 @@ public class SearchToolbarController extends ToolbarController
if (fadeView == null)
return;
if (mCallback != null)
mCallback.onRoomsGuestsMenuStateChange(false);
fadeView.fadeOut();
}
}
public static interface RoomsGuestsMenuStateCallback
{
public void onRoomsGuestsMenuStateChange(boolean isOpen);
}
}