Using unified item view in search fragment
This commit is contained in:
parent
a80bf2265a
commit
2e6fc7a0a5
@ -6,8 +6,12 @@ import android.widget.BaseAdapter;
|
|||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import de.danoeh.antennapod.activity.MainActivity;
|
import de.danoeh.antennapod.activity.MainActivity;
|
||||||
import de.danoeh.antennapod.core.event.PlaybackPositionEvent;
|
import de.danoeh.antennapod.core.event.PlaybackPositionEvent;
|
||||||
|
import de.danoeh.antennapod.core.feed.Feed;
|
||||||
|
import de.danoeh.antennapod.core.feed.FeedComponent;
|
||||||
import de.danoeh.antennapod.core.feed.FeedItem;
|
import de.danoeh.antennapod.core.feed.FeedItem;
|
||||||
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
|
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
|
||||||
|
import de.danoeh.antennapod.view.viewholder.FeedComponentViewHolder;
|
||||||
|
import de.danoeh.antennapod.view.viewholder.FeedViewHolder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List adapter for items of feeds that the user has already subscribed to.
|
* List adapter for items of feeds that the user has already subscribed to.
|
||||||
@ -21,10 +25,8 @@ public class FeedItemlistAdapter extends BaseAdapter {
|
|||||||
|
|
||||||
private int currentlyPlayingItem = -1;
|
private int currentlyPlayingItem = -1;
|
||||||
|
|
||||||
public FeedItemlistAdapter(MainActivity activity,
|
public FeedItemlistAdapter(MainActivity activity, ItemAccess itemAccess,
|
||||||
ItemAccess itemAccess,
|
boolean showIcons, boolean makePlayedItemsTransparent) {
|
||||||
boolean showIcons,
|
|
||||||
boolean makePlayedItemsTransparent) {
|
|
||||||
super();
|
super();
|
||||||
this.activity = activity;
|
this.activity = activity;
|
||||||
this.itemAccess = itemAccess;
|
this.itemAccess = itemAccess;
|
||||||
@ -44,14 +46,38 @@ public class FeedItemlistAdapter extends BaseAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FeedItem getItem(int position) {
|
public FeedComponent getItem(int position) {
|
||||||
return itemAccess.getItem(position);
|
return itemAccess.getItem(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getView(final int position, View convertView, ViewGroup parent) {
|
public View getView(final int position, View convertView, ViewGroup parent) {
|
||||||
|
final FeedComponent item = getItem(position);
|
||||||
|
if (item instanceof Feed) {
|
||||||
|
return getView((Feed) item, convertView, parent);
|
||||||
|
} else {
|
||||||
|
final FeedItem feeditem = (FeedItem) item;
|
||||||
|
if (feeditem.getMedia() != null && feeditem.getMedia().isCurrentlyPlaying()) {
|
||||||
|
currentlyPlayingItem = position;
|
||||||
|
}
|
||||||
|
return getView(feeditem, convertView, parent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private View getView(Feed item, View convertView, ViewGroup parent) {
|
||||||
|
FeedViewHolder holder;
|
||||||
|
if (convertView == null || !(convertView.getTag() instanceof FeedViewHolder)) {
|
||||||
|
holder = new FeedViewHolder(activity, parent);
|
||||||
|
} else {
|
||||||
|
holder = (FeedViewHolder) convertView.getTag();
|
||||||
|
}
|
||||||
|
holder.bind(item);
|
||||||
|
return holder.itemView;
|
||||||
|
}
|
||||||
|
|
||||||
|
private View getView(final FeedItem item, View convertView, ViewGroup parent) {
|
||||||
EpisodeItemViewHolder holder;
|
EpisodeItemViewHolder holder;
|
||||||
if (convertView == null) {
|
if (convertView == null || !(convertView.getTag() instanceof EpisodeItemViewHolder)) {
|
||||||
holder = new EpisodeItemViewHolder(activity, parent);
|
holder = new EpisodeItemViewHolder(activity, parent);
|
||||||
} else {
|
} else {
|
||||||
holder = (EpisodeItemViewHolder) convertView.getTag();
|
holder = (EpisodeItemViewHolder) convertView.getTag();
|
||||||
@ -61,7 +87,6 @@ public class FeedItemlistAdapter extends BaseAdapter {
|
|||||||
holder.coverHolder.setVisibility(View.GONE);
|
holder.coverHolder.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
final FeedItem item = getItem(position);
|
|
||||||
holder.bind(item);
|
holder.bind(item);
|
||||||
holder.dragHandle.setVisibility(View.GONE);
|
holder.dragHandle.setVisibility(View.GONE);
|
||||||
|
|
||||||
@ -69,9 +94,6 @@ public class FeedItemlistAdapter extends BaseAdapter {
|
|||||||
holder.itemView.setAlpha(1.0f);
|
holder.itemView.setAlpha(1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item.getMedia() != null && item.getMedia().isCurrentlyPlaying()) {
|
|
||||||
currentlyPlayingItem = position;
|
|
||||||
}
|
|
||||||
holder.hideSeparatorIfNecessary();
|
holder.hideSeparatorIfNecessary();
|
||||||
return holder.itemView;
|
return holder.itemView;
|
||||||
}
|
}
|
||||||
@ -91,7 +113,7 @@ public class FeedItemlistAdapter extends BaseAdapter {
|
|||||||
public interface ItemAccess {
|
public interface ItemAccess {
|
||||||
int getCount();
|
int getCount();
|
||||||
|
|
||||||
FeedItem getItem(int position);
|
FeedComponent getItem(int position);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,123 +0,0 @@
|
|||||||
package de.danoeh.antennapod.adapter;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Build;
|
|
||||||
import android.text.Layout;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.BaseAdapter;
|
|
||||||
import android.widget.ImageView;
|
|
||||||
import android.widget.TextView;
|
|
||||||
import com.bumptech.glide.Glide;
|
|
||||||
import com.bumptech.glide.request.RequestOptions;
|
|
||||||
import de.danoeh.antennapod.R;
|
|
||||||
import de.danoeh.antennapod.core.feed.Feed;
|
|
||||||
import de.danoeh.antennapod.core.feed.FeedComponent;
|
|
||||||
import de.danoeh.antennapod.core.feed.FeedItem;
|
|
||||||
import de.danoeh.antennapod.core.glide.ApGlideSettings;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* List adapter for search activity.
|
|
||||||
*/
|
|
||||||
public class SearchlistAdapter extends BaseAdapter {
|
|
||||||
|
|
||||||
private final Context context;
|
|
||||||
private final ItemAccess itemAccess;
|
|
||||||
|
|
||||||
|
|
||||||
public SearchlistAdapter(Context context, ItemAccess itemAccess) {
|
|
||||||
this.context = context;
|
|
||||||
this.itemAccess = itemAccess;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getCount() {
|
|
||||||
return itemAccess.getCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public FeedComponent getItem(int position) {
|
|
||||||
return itemAccess.getItem(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public long getItemId(int position) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public View getView(int position, View convertView, ViewGroup parent) {
|
|
||||||
final Holder holder;
|
|
||||||
FeedComponent component = getItem(position);
|
|
||||||
|
|
||||||
// Inflate Layout
|
|
||||||
if (convertView == null) {
|
|
||||||
holder = new Holder();
|
|
||||||
LayoutInflater inflater = (LayoutInflater) context
|
|
||||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
|
||||||
|
|
||||||
convertView = inflater.inflate(R.layout.searchlist_item, parent, false);
|
|
||||||
holder.title = convertView.findViewById(R.id.txtvTitle);
|
|
||||||
if(Build.VERSION.SDK_INT >= 23) {
|
|
||||||
holder.title.setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_FULL);
|
|
||||||
}
|
|
||||||
holder.cover = convertView
|
|
||||||
.findViewById(R.id.imgvFeedimage);
|
|
||||||
holder.subtitle = convertView
|
|
||||||
.findViewById(R.id.txtvSubtitle);
|
|
||||||
|
|
||||||
convertView.setTag(holder);
|
|
||||||
} else {
|
|
||||||
holder = (Holder) convertView.getTag();
|
|
||||||
}
|
|
||||||
if (component.getClass() == Feed.class) {
|
|
||||||
final Feed feed = (Feed) component;
|
|
||||||
holder.title.setText(feed.getTitle());
|
|
||||||
holder.subtitle.setVisibility(View.GONE);
|
|
||||||
|
|
||||||
Glide.with(context)
|
|
||||||
.load(feed.getImageLocation())
|
|
||||||
.apply(new RequestOptions()
|
|
||||||
.placeholder(R.color.light_gray)
|
|
||||||
.error(R.color.light_gray)
|
|
||||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
|
||||||
.fitCenter()
|
|
||||||
.dontAnimate())
|
|
||||||
.into(holder.cover);
|
|
||||||
|
|
||||||
} else if (component.getClass() == FeedItem.class) {
|
|
||||||
final FeedItem item = (FeedItem) component;
|
|
||||||
holder.title.setText(item.getTitle());
|
|
||||||
holder.subtitle.setVisibility(View.VISIBLE);
|
|
||||||
|
|
||||||
convertView.setAlpha(item.isPlayed() ? 0.5f : 1.0f);
|
|
||||||
|
|
||||||
Glide.with(context)
|
|
||||||
.load(item.getFeed().getImageLocation())
|
|
||||||
.apply(new RequestOptions()
|
|
||||||
.placeholder(R.color.light_gray)
|
|
||||||
.error(R.color.light_gray)
|
|
||||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
|
||||||
.fitCenter()
|
|
||||||
.dontAnimate())
|
|
||||||
.into(holder.cover);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return convertView;
|
|
||||||
}
|
|
||||||
|
|
||||||
static class Holder {
|
|
||||||
ImageView cover;
|
|
||||||
TextView title;
|
|
||||||
TextView subtitle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface ItemAccess {
|
|
||||||
int getCount();
|
|
||||||
|
|
||||||
FeedComponent getItem(int position);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -289,7 +289,7 @@ public class FeedItemlistFragment extends ListFragment {
|
|||||||
AdapterView.AdapterContextMenuInfo adapterInfo = (AdapterView.AdapterContextMenuInfo) menuInfo;
|
AdapterView.AdapterContextMenuInfo adapterInfo = (AdapterView.AdapterContextMenuInfo) menuInfo;
|
||||||
|
|
||||||
// because of addHeaderView(), positions are increased by 1!
|
// because of addHeaderView(), positions are increased by 1!
|
||||||
FeedItem item = itemAccess.getItem(adapterInfo.position-1);
|
FeedItem item = (FeedItem) itemAccess.getItem(adapterInfo.position - 1);
|
||||||
|
|
||||||
MenuInflater inflater = getActivity().getMenuInflater();
|
MenuInflater inflater = getActivity().getMenuInflater();
|
||||||
inflater.inflate(R.menu.feeditemlist_context, menu);
|
inflater.inflate(R.menu.feeditemlist_context, menu);
|
||||||
@ -305,11 +305,11 @@ public class FeedItemlistFragment extends ListFragment {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onContextItemSelected(MenuItem item) {
|
public boolean onContextItemSelected(MenuItem item) {
|
||||||
AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
|
AdapterView.AdapterContextMenuInfo menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
|
||||||
if(menuInfo == null) {
|
if (menuInfo == null) {
|
||||||
menuInfo = lastMenuInfo;
|
menuInfo = lastMenuInfo;
|
||||||
}
|
}
|
||||||
// because of addHeaderView(), positions are increased by 1!
|
// because of addHeaderView(), positions are increased by 1!
|
||||||
FeedItem selectedItem = itemAccess.getItem(menuInfo.position-1);
|
FeedItem selectedItem = feed.getItemAtIndex(menuInfo.position - 1);
|
||||||
|
|
||||||
if (selectedItem == null) {
|
if (selectedItem == null) {
|
||||||
Log.i(TAG, "Selected item at position " + menuInfo.position + " was null, ignoring selection");
|
Log.i(TAG, "Selected item at position " + menuInfo.position + " was null, ignoring selection");
|
||||||
|
@ -20,11 +20,12 @@ import androidx.core.view.MenuItemCompat;
|
|||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import de.danoeh.antennapod.R;
|
import de.danoeh.antennapod.R;
|
||||||
import de.danoeh.antennapod.activity.MainActivity;
|
import de.danoeh.antennapod.activity.MainActivity;
|
||||||
import de.danoeh.antennapod.adapter.SearchlistAdapter;
|
import de.danoeh.antennapod.adapter.FeedItemlistAdapter;
|
||||||
import de.danoeh.antennapod.core.event.UnreadItemsUpdateEvent;
|
import de.danoeh.antennapod.core.event.UnreadItemsUpdateEvent;
|
||||||
import de.danoeh.antennapod.core.feed.Feed;
|
import de.danoeh.antennapod.core.feed.Feed;
|
||||||
import de.danoeh.antennapod.core.feed.FeedComponent;
|
import de.danoeh.antennapod.core.feed.FeedComponent;
|
||||||
import de.danoeh.antennapod.core.feed.FeedItem;
|
import de.danoeh.antennapod.core.feed.FeedItem;
|
||||||
|
import de.danoeh.antennapod.core.storage.DBTasks;
|
||||||
import de.danoeh.antennapod.core.storage.FeedSearcher;
|
import de.danoeh.antennapod.core.storage.FeedSearcher;
|
||||||
import de.danoeh.antennapod.view.EmptyViewHandler;
|
import de.danoeh.antennapod.view.EmptyViewHandler;
|
||||||
import io.reactivex.Observable;
|
import io.reactivex.Observable;
|
||||||
@ -33,6 +34,9 @@ import io.reactivex.disposables.Disposable;
|
|||||||
import io.reactivex.schedulers.Schedulers;
|
import io.reactivex.schedulers.Schedulers;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
import java.util.concurrent.FutureTask;
|
||||||
|
|
||||||
import org.greenrobot.eventbus.EventBus;
|
import org.greenrobot.eventbus.EventBus;
|
||||||
import org.greenrobot.eventbus.Subscribe;
|
import org.greenrobot.eventbus.Subscribe;
|
||||||
|
|
||||||
@ -45,7 +49,7 @@ public class SearchFragment extends Fragment implements AdapterView.OnItemClickL
|
|||||||
private static final String ARG_QUERY = "query";
|
private static final String ARG_QUERY = "query";
|
||||||
private static final String ARG_FEED = "feed";
|
private static final String ARG_FEED = "feed";
|
||||||
|
|
||||||
private SearchlistAdapter searchAdapter;
|
private FeedItemlistAdapter searchAdapter;
|
||||||
private List<FeedComponent> searchResults = new ArrayList<>();
|
private List<FeedComponent> searchResults = new ArrayList<>();
|
||||||
private Disposable disposable;
|
private Disposable disposable;
|
||||||
private ProgressBar progressBar;
|
private ProgressBar progressBar;
|
||||||
@ -105,7 +109,7 @@ public class SearchFragment extends Fragment implements AdapterView.OnItemClickL
|
|||||||
View layout = inflater.inflate(R.layout.search_fragment, container, false);
|
View layout = inflater.inflate(R.layout.search_fragment, container, false);
|
||||||
ListView listView = layout.findViewById(R.id.listview);
|
ListView listView = layout.findViewById(R.id.listview);
|
||||||
progressBar = layout.findViewById(R.id.progressBar);
|
progressBar = layout.findViewById(R.id.progressBar);
|
||||||
searchAdapter = new SearchlistAdapter(getActivity(), itemAccess);
|
searchAdapter = new FeedItemlistAdapter((MainActivity) getActivity(), itemAccess, true, true);
|
||||||
listView.setAdapter(searchAdapter);
|
listView.setAdapter(searchAdapter);
|
||||||
listView.setOnItemClickListener(this);
|
listView.setOnItemClickListener(this);
|
||||||
|
|
||||||
@ -172,7 +176,7 @@ public class SearchFragment extends Fragment implements AdapterView.OnItemClickL
|
|||||||
emptyViewHandler.setMessage(getString(R.string.no_results_for_query, query));
|
emptyViewHandler.setMessage(getString(R.string.no_results_for_query, query));
|
||||||
}
|
}
|
||||||
|
|
||||||
private final SearchlistAdapter.ItemAccess itemAccess = new SearchlistAdapter.ItemAccess() {
|
private final FeedItemlistAdapter.ItemAccess itemAccess = new FeedItemlistAdapter.ItemAccess() {
|
||||||
@Override
|
@Override
|
||||||
public int getCount() {
|
public int getCount() {
|
||||||
return searchResults.size();
|
return searchResults.size();
|
||||||
|
@ -2,34 +2,16 @@ package de.danoeh.antennapod.view.viewholder;
|
|||||||
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.text.Layout;
|
import android.text.Layout;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.ProgressBar;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import androidx.cardview.widget.CardView;
|
import androidx.cardview.widget.CardView;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import com.joanzapata.iconify.Iconify;
|
|
||||||
import de.danoeh.antennapod.R;
|
import de.danoeh.antennapod.R;
|
||||||
import de.danoeh.antennapod.activity.MainActivity;
|
import de.danoeh.antennapod.activity.MainActivity;
|
||||||
import de.danoeh.antennapod.adapter.CoverLoader;
|
import de.danoeh.antennapod.adapter.CoverLoader;
|
||||||
import de.danoeh.antennapod.adapter.QueueRecyclerAdapter;
|
|
||||||
import de.danoeh.antennapod.adapter.actionbutton.ItemActionButton;
|
|
||||||
import de.danoeh.antennapod.core.event.PlaybackPositionEvent;
|
|
||||||
import de.danoeh.antennapod.core.feed.Feed;
|
import de.danoeh.antennapod.core.feed.Feed;
|
||||||
import de.danoeh.antennapod.core.feed.FeedItem;
|
|
||||||
import de.danoeh.antennapod.core.feed.FeedMedia;
|
|
||||||
import de.danoeh.antennapod.core.feed.MediaType;
|
|
||||||
import de.danoeh.antennapod.core.feed.util.ImageResourceUtils;
|
|
||||||
import de.danoeh.antennapod.core.service.download.DownloadRequest;
|
|
||||||
import de.danoeh.antennapod.core.storage.DownloadRequester;
|
|
||||||
import de.danoeh.antennapod.core.util.Converter;
|
|
||||||
import de.danoeh.antennapod.core.util.DateUtils;
|
|
||||||
import de.danoeh.antennapod.core.util.NetworkUtils;
|
|
||||||
import de.danoeh.antennapod.core.util.ThemeUtils;
|
|
||||||
import de.danoeh.antennapod.view.CircularProgressBar;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the view which shows feeds.
|
* Holds the view which shows feeds.
|
||||||
@ -37,14 +19,9 @@ import de.danoeh.antennapod.view.CircularProgressBar;
|
|||||||
public class FeedViewHolder extends FeedComponentViewHolder {
|
public class FeedViewHolder extends FeedComponentViewHolder {
|
||||||
private static final String TAG = "FeedViewHolder";
|
private static final String TAG = "FeedViewHolder";
|
||||||
|
|
||||||
private final View container;
|
|
||||||
public final ImageView dragHandle;
|
|
||||||
private final TextView placeholder;
|
private final TextView placeholder;
|
||||||
private final ImageView cover;
|
private final ImageView cover;
|
||||||
private final TextView title;
|
private final TextView title;
|
||||||
public final View secondaryActionButton;
|
|
||||||
public final ImageView secondaryActionIcon;
|
|
||||||
private final CircularProgressBar secondaryActionProgress;
|
|
||||||
public final CardView coverHolder;
|
public final CardView coverHolder;
|
||||||
|
|
||||||
private final MainActivity activity;
|
private final MainActivity activity;
|
||||||
@ -53,21 +30,18 @@ public class FeedViewHolder extends FeedComponentViewHolder {
|
|||||||
public FeedViewHolder(MainActivity activity, ViewGroup parent) {
|
public FeedViewHolder(MainActivity activity, ViewGroup parent) {
|
||||||
super(LayoutInflater.from(activity).inflate(R.layout.feeditemlist_item, parent, false));
|
super(LayoutInflater.from(activity).inflate(R.layout.feeditemlist_item, parent, false));
|
||||||
this.activity = activity;
|
this.activity = activity;
|
||||||
container = itemView.findViewById(R.id.container);
|
|
||||||
dragHandle = itemView.findViewById(R.id.drag_handle);
|
|
||||||
placeholder = itemView.findViewById(R.id.txtvPlaceholder);
|
placeholder = itemView.findViewById(R.id.txtvPlaceholder);
|
||||||
cover = itemView.findViewById(R.id.imgvCover);
|
cover = itemView.findViewById(R.id.imgvCover);
|
||||||
|
coverHolder = itemView.findViewById(R.id.coverHolder);
|
||||||
title = itemView.findViewById(R.id.txtvTitle);
|
title = itemView.findViewById(R.id.txtvTitle);
|
||||||
if (Build.VERSION.SDK_INT >= 23) {
|
if (Build.VERSION.SDK_INT >= 23) {
|
||||||
title.setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_FULL);
|
title.setHyphenationFrequency(Layout.HYPHENATION_FREQUENCY_FULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
itemView.findViewById(R.id.secondaryActionButton).setVisibility(View.GONE);
|
||||||
itemView.findViewById(R.id.status).setVisibility(View.GONE);
|
itemView.findViewById(R.id.status).setVisibility(View.GONE);
|
||||||
itemView.findViewById(R.id.progress).setVisibility(View.GONE);
|
itemView.findViewById(R.id.progress).setVisibility(View.GONE);
|
||||||
secondaryActionProgress = itemView.findViewById(R.id.secondaryActionProgress);
|
itemView.findViewById(R.id.drag_handle).setVisibility(View.GONE);
|
||||||
secondaryActionButton = itemView.findViewById(R.id.secondaryActionButton);
|
|
||||||
secondaryActionIcon = itemView.findViewById(R.id.secondaryActionIcon);
|
|
||||||
coverHolder = itemView.findViewById(R.id.coverHolder);
|
|
||||||
itemView.setTag(this);
|
itemView.setTag(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,11 +50,6 @@ public class FeedViewHolder extends FeedComponentViewHolder {
|
|||||||
placeholder.setText(feed.getTitle());
|
placeholder.setText(feed.getTitle());
|
||||||
title.setText(feed.getTitle());
|
title.setText(feed.getTitle());
|
||||||
|
|
||||||
/*ItemActionButton actionButton = ItemActionButton.forItem(item, true, true);
|
|
||||||
actionButton.configure(secondaryActionButton, secondaryActionIcon, activity);
|
|
||||||
secondaryActionButton.setFocusable(false);
|
|
||||||
secondaryActionProgress.setPercentage(0, null);*/
|
|
||||||
|
|
||||||
if (coverHolder.getVisibility() == View.VISIBLE) {
|
if (coverHolder.getVisibility() == View.VISIBLE) {
|
||||||
new CoverLoader(activity)
|
new CoverLoader(activity)
|
||||||
.withUri(feed.getImageLocation())
|
.withUri(feed.getImageLocation())
|
||||||
|
@ -13,8 +13,5 @@
|
|||||||
<ListView
|
<ListView
|
||||||
android:id="@+id/listview"
|
android:id="@+id/listview"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent" />
|
||||||
android:clipToPadding="false"
|
|
||||||
android:paddingLeft="@dimen/list_vertical_padding"
|
|
||||||
android:paddingRight="@dimen/list_vertical_padding" />
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
@ -35,11 +35,12 @@ public class FeedSearcher {
|
|||||||
final List<FeedComponent> result = new ArrayList<>();
|
final List<FeedComponent> result = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
FutureTask<List<FeedItem>> itemSearchTask = DBTasks.searchFeedItems(context, selectedFeed, query);
|
FutureTask<List<FeedItem>> itemSearchTask = DBTasks.searchFeedItems(context, selectedFeed, query);
|
||||||
FutureTask<List<Feed>> feedSearchTask = DBTasks.searchFeeds(context, query);
|
|
||||||
itemSearchTask.run();
|
itemSearchTask.run();
|
||||||
feedSearchTask.run();
|
if (selectedFeed == 0) {
|
||||||
|
FutureTask<List<Feed>> feedSearchTask = DBTasks.searchFeeds(context, query);
|
||||||
result.addAll(feedSearchTask.get());
|
feedSearchTask.run();
|
||||||
|
result.addAll(feedSearchTask.get());
|
||||||
|
}
|
||||||
result.addAll(itemSearchTask.get());
|
result.addAll(itemSearchTask.get());
|
||||||
} catch (InterruptedException | ExecutionException e) {
|
} catch (InterruptedException | ExecutionException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user