forked from organicmaps/organicmaps
[android] Fixed showing the filter panel on map when user comes back from discovery more button
This commit is contained in:
parent
c4b84bdc12
commit
591333ea20
4 changed files with 24 additions and 15 deletions
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue