// Path: app/src/main/java/org/mazhuang/guanggoo/base/FragmentCallBack.java
// public interface FragmentCallBack {
//     /**
//      * 根据 url 打开标题为 title 的 Fragment
//      * @param url 网页链接或自定义链接
//      * @param title 页面标题
//      */
//     void openPage(String url, String title);
// 
//     /**
//      * 根据 url 打开标题为 title 的 Fragment，并可传入扩展参数
//      * @param url 网页链接或自定义链接
//      * @param title 页面标题
//      * @param bundle 扩展参数集
//      */
//     void openPage(String url, String title, Bundle bundle);
// 
//     /**
//      * 登录状态发生变化时调用
//      * @param isLogin 已登录为 true
//      */
//     void onLoginStatusChanged(boolean isLogin);
// 
//     /**
//      * 显示 loading 动画
//      */
//     void startLoading();
// 
//     /**
//      * 隐藏 loading 动画
//      */
//     void stopLoading();
// 
//     /**
//      * loading 动画是否正在显示
//      * @return 正在显示返回 true
//      */
//     boolean isLoading();
// }
// 
// Path: app/src/main/java/org/mazhuang/guanggoo/data/entity/Node.java
// public class Node {
//     private String title;
//     private String url;
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         this.url = url;
//     }
// }
// 
// Path: app/src/main/java/org/mazhuang/guanggoo/data/entity/Topic.java
// public class Topic {
//     private String title;
//     private String url;
//     private String avatar;
//     private Meta meta;
//     private int count;
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         this.url = url;
//     }
// 
//     public Meta getMeta() {
//         return meta;
//     }
// 
//     public void setMeta(Meta meta) {
//         this.meta = meta;
//     }
// 
//     public String getAvatar() {
//         return avatar;
//     }
// 
//     public void setAvatar(String avatar) {
//         this.avatar = avatar;
//     }
// 
//     public int getCount() {
//         return count;
//     }
// 
//     public void setCount(int count) {
//         this.count = count;
//     }
// 
//     public String getLastReplyUserName() {
//         if (meta != null && meta.getLastReplyUser() != null) {
//             return meta.getLastReplyUser().getUsername();
//         }
// 
//         return null;
//     }
// }
// 
// Path: app/src/main/java/org/mazhuang/guanggoo/util/GlideUtil.java
// public class GlideUtil {
//     private GlideUtil() {}
// 
//     public static void loadImage(ImageView imageView, String url) {
//         GlideApp.with(imageView.getContext())
//                 .load(url)
//                 .centerCrop()
//                 .into(imageView);
//     }
// }


import android.content.Context;
import androidx.recyclerview.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import org.mazhuang.guanggoo.R;
import org.mazhuang.guanggoo.base.FragmentCallBack;
import org.mazhuang.guanggoo.data.entity.Node;
import org.mazhuang.guanggoo.data.entity.Topic;
import org.mazhuang.guanggoo.util.GlideUtil;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
package org.mazhuang.guanggoo.topiclist;





/**
 * @author mazhuang
 */
public class TopicListAdapter extends RecyclerView.Adapter<TopicListAdapter.ViewHolder> {

    private List<Topic> mData;
    private final FragmentCallBack mListener;

    TopicListAdapter(FragmentCallBack listener) {
        mListener = listener;
    }

    public void setData(List<Topic> data) {
        if (data == mData) {
            return;
        }

        mData = data;
        notifyDataSetChanged();
    }

    void addData(List<Topic> data) {
// Path: app/src/main/java/org/mazhuang/guanggoo/base/FragmentCallBack.java
// public interface FragmentCallBack {
//     /**
//      * 根据 url 打开标题为 title 的 Fragment
//      * @param url 网页链接或自定义链接
//      * @param title 页面标题
//      */
//     void openPage(String url, String title);
// 
//     /**
//      * 根据 url 打开标题为 title 的 Fragment，并可传入扩展参数
//      * @param url 网页链接或自定义链接
//      * @param title 页面标题
//      * @param bundle 扩展参数集
//      */
//     void openPage(String url, String title, Bundle bundle);
// 
//     /**
//      * 登录状态发生变化时调用
//      * @param isLogin 已登录为 true
//      */
//     void onLoginStatusChanged(boolean isLogin);
// 
//     /**
//      * 显示 loading 动画
//      */
//     void startLoading();
// 
//     /**
//      * 隐藏 loading 动画
//      */
//     void stopLoading();
// 
//     /**
//      * loading 动画是否正在显示
//      * @return 正在显示返回 true
//      */
//     boolean isLoading();
// }
// 
// Path: app/src/main/java/org/mazhuang/guanggoo/data/entity/Node.java
// public class Node {
//     private String title;
//     private String url;
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         this.url = url;
//     }
// }
// 
// Path: app/src/main/java/org/mazhuang/guanggoo/data/entity/Topic.java
// public class Topic {
//     private String title;
//     private String url;
//     private String avatar;
//     private Meta meta;
//     private int count;
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getUrl() {
//         return url;
//     }
// 
//     public void setUrl(String url) {
//         this.url = url;
//     }
// 
//     public Meta getMeta() {
//         return meta;
//     }
// 
//     public void setMeta(Meta meta) {
//         this.meta = meta;
//     }
// 
//     public String getAvatar() {
//         return avatar;
//     }
// 
//     public void setAvatar(String avatar) {
//         this.avatar = avatar;
//     }
// 
//     public int getCount() {
//         return count;
//     }
// 
//     public void setCount(int count) {
//         this.count = count;
//     }
// 
//     public String getLastReplyUserName() {
//         if (meta != null && meta.getLastReplyUser() != null) {
//             return meta.getLastReplyUser().getUsername();
//         }
// 
//         return null;
//     }
// }
// 
// Path: app/src/main/java/org/mazhuang/guanggoo/util/GlideUtil.java
// public class GlideUtil {
//     private GlideUtil() {}
// 
//     public static void loadImage(ImageView imageView, String url) {
//         GlideApp.with(imageView.getContext())
//                 .load(url)
//                 .centerCrop()
//                 .into(imageView);
//     }
// }


// Path: app/src/main/java/org/mazhuang/guanggoo/topiclist/TopicListAdapter.java
import android.content.Context;
import androidx.recyclerview.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import org.mazhuang.guanggoo.R;
import org.mazhuang.guanggoo.base.FragmentCallBack;
import org.mazhuang.guanggoo.data.entity.Node;
import org.mazhuang.guanggoo.data.entity.Topic;
import org.mazhuang.guanggoo.util.GlideUtil;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

package org.mazhuang.guanggoo.topiclist;





/**
 * @author mazhuang
 */
public class TopicListAdapter extends RecyclerView.Adapter<TopicListAdapter.ViewHolder> {

    private List<Topic> mData;
    private final FragmentCallBack mListener;

    TopicListAdapter(FragmentCallBack listener) {
        mListener = listener;
    }

    public void setData(List<Topic> data) {
        if (data == mData) {
            return;
        }

        mData = data;
        notifyDataSetChanged();
    }

    void addData(List<Topic> data) {
        mData.addAll(data);