package com.amaze.filemanager.utils.share; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; 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.afollestad.materialdialogs.MaterialDialog; import com.amaze.filemanager.R; import com.amaze.filemanager.adapters.RecyclerArrayAdapter; import java.util.ArrayList; /** * Created by Arpit on 01-07-2015. */ class ShareAdapter extends RecyclerArrayAdapter<Intent, ShareAdapter.ViewHolder> { private MaterialDialog dialog; private ArrayList<String> labels; private ArrayList<Drawable> drawables; private Context context; void updateMatDialog(MaterialDialog b) { this.dialog = b; } ShareAdapter(Context context, ArrayList<Intent> intents, ArrayList<String> labels, ArrayList<Drawable> arrayList1) { addAll(intents); this.context = context; this.labels = labels; this.drawables = arrayList1; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.simplerow, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.render(position); } class ViewHolder extends RecyclerView.ViewHolder { private View rootView; private TextView textView; private ImageView imageView; ViewHolder(View view) { super(view); rootView = view; textView = ((TextView) view.findViewById(R.id.firstline)); imageView = (ImageView) view.findViewById(R.id.icon); } void render(final int position) { if (drawables.get(position) != null) imageView.setImageDrawable(drawables.get(position)); textView.setVisibility(View.VISIBLE); textView.setText(labels.get(position)); rootView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (dialog != null && dialog.isShowing()) dialog.dismiss(); context.startActivity(getItem(position)); } }); } } }