Skip to content
Snippets Groups Projects
Commit b0cc218a authored by Geoffrey Métais's avatar Geoffrey Métais
Browse files

Update Extensions display

parent 29e7bab3
No related branches found
No related tags found
No related merge requests found
package org.videolan.vlc.gui.browser;
import android.content.res.Resources;
import android.databinding.DataBindingUtil;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import org.videolan.medialibrary.media.MediaWrapper;
import org.videolan.vlc.R;
import org.videolan.vlc.databinding.ExtensionItemViewBinding;
import org.videolan.vlc.extensions.api.VLCExtensionItem;
import org.videolan.vlc.gui.helpers.AsyncImageLoader;
import org.videolan.vlc.media.MediaUtils;
import org.videolan.medialibrary.media.MediaWrapper;
import org.videolan.vlc.util.HttpImageLoader;
import java.util.ArrayList;
import java.util.List;
public class ExtensionAdapter extends RecyclerView.Adapter<ExtensionAdapter.ViewHolder> {
private static final String TAG = "VLC/ExtensionAdapter";
ExtensionBrowser mFragment;
List<VLCExtensionItem> mItemsList = new ArrayList<>();
......@@ -34,7 +29,6 @@ public class ExtensionAdapter extends RecyclerView.Adapter<ExtensionAdapter.View
public ViewHolder(ExtensionItemViewBinding binding) {
super(binding.getRoot());
this.binding = binding;
itemView.setOnLongClickListener(this);
binding.setHolder(this);
}
......@@ -79,14 +73,9 @@ public class ExtensionAdapter extends RecyclerView.Adapter<ExtensionAdapter.View
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
final ViewHolder vh = holder;
final VLCExtensionItem item = getItem(position);
vh.binding.setItem(item);
vh.binding.executePendingBindings();
Resources res = holder.itemView.getContext().getResources();
vh.binding.setImage(new BitmapDrawable(res, BitmapFactory.decodeResource(res, getIconResId(item))));
if (item.imageUri != null && (TextUtils.equals("http", item.imageUri.getScheme())))
AsyncImageLoader.LoadImage(new HttpImageLoader(item.getImageUri().toString(), holder.binding), null);
holder.binding.setItem(item);
holder.binding.executePendingBindings();
}
private int getIconResId(VLCExtensionItem item) {
......
......@@ -7,7 +7,6 @@ import android.os.Message;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.view.ContextMenu;
import android.view.LayoutInflater;
......@@ -18,7 +17,6 @@ import android.widget.TextView;
import org.videolan.medialibrary.media.MediaWrapper;
import org.videolan.vlc.R;
import org.videolan.vlc.VLCApplication;
import org.videolan.vlc.extensions.ExtensionListing;
import org.videolan.vlc.extensions.ExtensionManagerService;
import org.videolan.vlc.extensions.Utils;
......@@ -49,7 +47,6 @@ public class ExtensionBrowser extends Fragment implements View.OnClickListener,
private FloatingActionButton mAddDirectoryFAB;
private ExtensionAdapter mAdapter;
protected ContextMenuRecyclerView mRecyclerView;
protected LinearLayoutManager mLayoutManager;
protected TextView mEmptyView;
protected SwipeRefreshLayout mSwipeRefreshLayout;
......@@ -85,9 +82,7 @@ public class ExtensionBrowser extends Fragment implements View.OnClickListener,
mRecyclerView = v.findViewById(R.id.network_list);
mEmptyView = v.findViewById(android.R.id.empty);
mEmptyView.setText(R.string.extension_empty);
mLayoutManager = new LinearLayoutManager(getActivity());
mRecyclerView.addItemDecoration(new DividerItemDecoration(VLCApplication.getAppContext(), DividerItemDecoration.VERTICAL));
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
mRecyclerView.setAdapter(mAdapter);
registerForContextMenu(mRecyclerView);
......
......@@ -67,6 +67,8 @@ public class AsyncImageLoader {
@BindingAdapter({"imageUri"})
public static void downloadIcon(final View v, final Uri imageUri) {
if (imageUri == null || !imageUri.getScheme().equals("http"))
return;
AsyncImageLoader.LoadImage(new CoverFetcher(null) {
@Override
public Bitmap getImage() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment