[android] Fixed showing the filter panel on map when user comes back from discovery more button

This commit is contained in:
alexzatsepin 2020-09-09 17:00:04 +03:00 committed by Arsentiy Milchakov
parent c4b84bdc12
commit 591333ea20
4 changed files with 24 additions and 15 deletions

View file

@ -1035,7 +1035,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
case REQ_CODE_SHOW_SIMILAR_HOTELS:
if (mIsTabletLayout)
{
showTabletSearch(data, getString(R.string.hotel));
showTabletSearch(data, FilterUtils.getHotelCategoryString(this));
return;
}
handleFilterResult(data);
@ -1162,23 +1162,24 @@ public class MwmActivity extends BaseMwmFragmentActivity
if (data == null || mFilterController == null)
return;
setupSearchQuery(data);
String query;
if (data.hasExtra(DiscoveryActivity.EXTRA_FILTER_SEARCH_QUERY))
query = data.getStringExtra(DiscoveryActivity.EXTRA_FILTER_SEARCH_QUERY);
else
query = FilterUtils.getHotelCategoryString(this) + " ";
mSearchController.setQuery(query);
mFilterController.setFilter(data.getParcelableExtra(FilterActivity.EXTRA_FILTER));
BookingFilterParams params = mSearchController.getFilterParams() == null
? FilterUtils.createDefaultParams()
: mSearchController.getFilterParams();
mFilterController.setFilterParams(params);
if (query.trim().equals(FilterUtils.getHotelCategoryString(this)))
{
BookingFilterParams params = mSearchController.getFilterParams() == null
? FilterUtils.createDefaultParams()
: mSearchController.getFilterParams();
mFilterController.setFilterParams(params);
}
mFilterController.updateFilterButtonsVisibility(mFilterController.isSatisfiedForSearch());
runSearch();
}
private void setupSearchQuery(@NonNull Intent data)
{
String query = data.getStringExtra(DiscoveryActivity.EXTRA_FILTER_SEARCH_QUERY);
mSearchController.setQuery(TextUtils.isEmpty(query) ? getString(R.string.hotel) + " " : query);
}
@Override
public void onRouteToDiscoveredObject(@NonNull final MapObject object)
{

View file

@ -12,6 +12,7 @@ import com.mapswithme.maps.bookmarks.BookmarkCategoriesActivity;
import com.mapswithme.maps.bookmarks.data.MapObject;
import com.mapswithme.maps.gallery.Items;
import com.mapswithme.maps.search.FilterActivity;
import com.mapswithme.maps.search.FilterUtils;
public class DiscoveryActivity extends BaseMwmFragmentActivity
implements CustomNavigateUpListener, DiscoveryFragment.DiscoveryListener
@ -86,7 +87,7 @@ public class DiscoveryActivity extends BaseMwmFragmentActivity
return;
data.setAction(ACTION_SHOW_FILTER_RESULTS);
data.putExtra(EXTRA_FILTER_SEARCH_QUERY, getString(R.string.hotel));
data.putExtra(EXTRA_FILTER_SEARCH_QUERY, FilterUtils.getHotelCategoryString(this));
setResult(Activity.RESULT_OK, data);
finish();
break;

View file

@ -426,6 +426,12 @@ public class FilterUtils
return BookingFilterParams.createParams(checkinMillis, checkoutMillis, toCounts(Room.DEFAULT));
}
@NonNull
public static String getHotelCategoryString(@NonNull Context context)
{
return context.getString(R.string.hotel);
}
public static class RoomGuestCounts
{
private final int mRooms;

View file

@ -7,6 +7,7 @@ import com.mapswithme.maps.bookmarks.BookmarkCategoriesActivity;
import com.mapswithme.maps.bookmarks.BookmarksCatalogActivity;
import com.mapswithme.maps.bookmarks.data.BookmarkManager;
import com.mapswithme.maps.maplayer.Mode;
import com.mapswithme.maps.search.FilterUtils;
import com.mapswithme.util.UTM;
class ClickInterceptorFactory
@ -99,7 +100,7 @@ class ClickInterceptorFactory
@Override
public void onInterceptClickInternal(@NonNull MwmActivity activity)
{
activity.showSearch(activity.getString(R.string.hotel));
activity.showSearch(FilterUtils.getHotelCategoryString(activity));
}
}