/*
* Copyright (C) 2015 Naman Dwivedi
*
* Licensed under the GNU General Public License v3
*
* This is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
* This software 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 General Public License for more details.
*/
package com.wm.remusic.adapter;
import android.app.Activity;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.wm.remusic.R;
import com.wm.remusic.fragmentnet.SearchWords;
import com.wm.remusic.provider.SearchHistory;
import java.util.ArrayList;
public class RecentSearchAdapter extends RecyclerView.Adapter<RecentSearchAdapter.ItemHolder> {
private Context mContext;
private ArrayList<String> recentSearches = new ArrayList<>();
private SearchWords searchWords;
public RecentSearchAdapter(Activity context) {
mContext = context;
recentSearches = SearchHistory.getInstance(context).getRecentSearches();
}
public void setListenter(SearchWords search) {
searchWords = search;
}
@Override
public ItemHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {
View v0 = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recent_search_item, null);
ItemHolder ml0 = new ItemHolder(v0);
return ml0;
}
@Override
public void onBindViewHolder(final ItemHolder itemHolder, int i) {
itemHolder.title.setText(recentSearches.get(i));
setOnPopupMenuListener(itemHolder, i);
}
@Override
public void onViewRecycled(ItemHolder itemHolder) {
}
@Override
public int getItemCount() {
return recentSearches.size();
}
private void setOnPopupMenuListener(ItemHolder itemHolder, final int position) {
itemHolder.menu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SearchHistory.getInstance(mContext).deleteRecentSearches(recentSearches.get(position));
recentSearches = SearchHistory.getInstance(mContext).getRecentSearches();
notifyDataSetChanged();
}
});
}
public class ItemHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView title;
ImageView menu;
public ItemHolder(View view) {
super(view);
this.title = (TextView) view.findViewById(R.id.title);
this.menu = (ImageView) view.findViewById(R.id.menu);
view.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (searchWords != null) {
searchWords.onSearch(recentSearches.get(getAdapterPosition()));
}
}
}
}