diff options
Diffstat (limited to 'app/src/main/java/app/fedilab/android/drawers/StatusReportAdapter.java')
-rw-r--r-- | app/src/main/java/app/fedilab/android/drawers/StatusReportAdapter.java | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusReportAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusReportAdapter.java new file mode 100644 index 000000000..8052f0810 --- /dev/null +++ b/app/src/main/java/app/fedilab/android/drawers/StatusReportAdapter.java @@ -0,0 +1,99 @@ +package app.fedilab.android.drawers; +/* Copyright 2019 Thomas Schneider + * + * This file is a part of Fedilab + * + * This program 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. + * + * Fedilab 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. + * + * You should have received a copy of the GNU General Public License along with Fedilab; if not, + * see <http://www.gnu.org/licenses>. */ + +import android.content.Context; +import android.os.Build; +import android.text.Html; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.recyclerview.widget.RecyclerView; + +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +import app.fedilab.android.R; + +public class StatusReportAdapter extends RecyclerView.Adapter<StatusReportAdapter.ViewHolder> { + + private List<String> mData; + private LayoutInflater mInflater; + private ItemClickListener mClickListener; + + + public StatusReportAdapter(Context context, List<String> data) { + this.mInflater = LayoutInflater.from(context); + this.mData = data; + } + + + @NotNull + @Override + public ViewHolder onCreateViewHolder(@NotNull ViewGroup parent, int viewType) { + View view = mInflater.inflate(R.layout.drawer_status_report, parent, false); + return new ViewHolder(view); + } + + + @Override + public void onBindViewHolder(@NotNull ViewHolder holder, int position) { + String content; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + content = Html.fromHtml(mData.get(position), Html.FROM_HTML_MODE_LEGACY).toString(); + else + content = Html.fromHtml(mData.get(position)).toString(); + holder.report_content.setText(content); + } + + // total number of rows + @Override + public int getItemCount() { + return mData.size(); + } + + + + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + TextView report_content; + + ViewHolder(View itemView) { + super(itemView); + report_content = itemView.findViewById(R.id.report_content); + itemView.setOnClickListener(this); + } + + @Override + public void onClick(View view) { + if (mClickListener != null) mClickListener.onItemClick(view, getAdapterPosition()); + } + } + + String getItem(int id) { + return mData.get(id); + } + + void setClickListener(ItemClickListener itemClickListener) { + this.mClickListener = itemClickListener; + } + + public interface ItemClickListener { + void onItemClick(View view, int position); + } +}
\ No newline at end of file |