/*
* Artcodes recognises a different marker scheme that allows the
* creation of aesthetically pleasing, even beautiful, codes.
* Copyright (C) 2013-2016 The University of Nottingham
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package uk.ac.horizon.artcodes.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import uk.ac.horizon.artcodes.GoogleAnalytics;
import uk.ac.horizon.artcodes.R;
import uk.ac.horizon.artcodes.adapter.ExperienceAdapter;
import uk.ac.horizon.artcodes.adapter.ExperienceListAdapter;
import uk.ac.horizon.artcodes.databinding.ListBinding;
public class ExperienceSearchFragment extends ArtcodeFragmentBase
{
private ExperienceAdapter adapter;
private String query;
@NonNull
@Override
public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
final ListBinding binding = ListBinding.inflate(inflater, container, false);
adapter = new ExperienceListAdapter(getActivity(), getServer());
adapter.setEmptyIcon(R.drawable.ic_search_144dp);
binding.setAdapter(adapter);
return binding.getRoot();
}
@Override
public void onResume()
{
super.onResume();
GoogleAnalytics.trackScreen("View Search");
if (getArguments() != null)
{
String query = getArguments().getString("query");
if (query != null)
{
search(query);
}
}
//getActivity().setTitle(R.string.nav_recent);
}
public void search(String query)
{
if (query != null)
{
final String queryString = query.trim();
if (!queryString.isEmpty() && (this.query == null || !this.query.equals(queryString)))
{
adapter.loadStarted();
adapter.setEmptyMessage(getString(R.string.search_empty, queryString));
getServer().search(queryString, adapter);
this.query = queryString;
}
}
}
}