forked from organicmaps/organicmaps
[booking] return sorted vector of features
This commit is contained in:
parent
077cafe7b1
commit
d7abb80100
2 changed files with 18 additions and 12 deletions
|
@ -4,6 +4,10 @@
|
|||
|
||||
#include "platform/safe_callback.hpp"
|
||||
|
||||
#include "indexer/feature_decl.hpp"
|
||||
|
||||
#include <vector>
|
||||
|
||||
namespace search
|
||||
{
|
||||
class Results;
|
||||
|
@ -15,7 +19,8 @@ namespace filter
|
|||
{
|
||||
namespace availability
|
||||
{
|
||||
using Results = platform::SafeCallback<void(search::Results const &results)>;
|
||||
using Results = platform::SafeCallback<void(AvailabilityParams const & params,
|
||||
std::vector<FeatureID> const & featuresSorted)>;
|
||||
|
||||
struct Params
|
||||
{
|
||||
|
|
|
@ -3347,32 +3347,33 @@ void Framework::FilterSearchResultsOnBooking(booking::filter::availability::Para
|
|||
{
|
||||
using namespace booking::filter;
|
||||
|
||||
auto const & p = params.m_params;
|
||||
auto const & cb = params.m_callback;
|
||||
availability::internal::Params paramsInternal
|
||||
{
|
||||
params.m_params,
|
||||
[this, cb, inViewport](search::Results const & results)
|
||||
p,
|
||||
[this, p, cb, inViewport](search::Results const & results)
|
||||
{
|
||||
if (results.GetCount() == 0)
|
||||
return;
|
||||
|
||||
std::vector<FeatureID> features;
|
||||
for (auto const & r : results)
|
||||
{
|
||||
features.push_back(r.GetFeatureID());
|
||||
}
|
||||
|
||||
std::sort(features.begin(), features.end());
|
||||
|
||||
if (inViewport)
|
||||
{
|
||||
std::vector<FeatureID> features;
|
||||
for (auto const & r : results)
|
||||
{
|
||||
features.push_back(r.GetFeatureID());
|
||||
}
|
||||
|
||||
std::sort(features.begin(), features.end());
|
||||
|
||||
GetPlatform().RunTask(Platform::Thread::Gui, [this, features]()
|
||||
{
|
||||
m_searchMarks.SetPreparingState(features, false /* isPreparing */);
|
||||
});
|
||||
}
|
||||
|
||||
cb(results);
|
||||
cb(p, features);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue