Skip to content

Commit

Permalink
fix bug
Browse files Browse the repository at this point in the history
  • Loading branch information
iMeiji committed Aug 9, 2017
1 parent c3bd264 commit b1312ef
Show file tree
Hide file tree
Showing 30 changed files with 379 additions and 241 deletions.
26 changes: 13 additions & 13 deletions app/src/main/java/com/meiji/toutiao/Register.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@

public class Register {

public static void registerNewsArticleItem(MultiTypeAdapter adapter) {
public static void registerNewsArticleItem(@NonNull MultiTypeAdapter adapter) {
// 一个类型对应多个 ItemViewBinder
adapter.register(MultiNewsArticleDataBean.class)
.to(new NewsArticleImgViewBinder(),
Expand All @@ -73,45 +73,45 @@ public static void registerNewsArticleItem(MultiTypeAdapter adapter) {
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerNewsCommentItem(MultiTypeAdapter adapter) {
public static void registerNewsCommentItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(NewsCommentBean.DataBean.CommentBean.class, new NewsCommentViewBinder());
adapter.register(LoadingBean.class, new LoadingViewBinder());
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerVideoContentItem(MultiTypeAdapter adapter) {
public static void registerVideoContentItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(MultiNewsArticleDataBean.class, new VideoContentHeaderViewBinder());
adapter.register(NewsCommentBean.DataBean.CommentBean.class, new NewsCommentViewBinder());
adapter.register(LoadingBean.class, new LoadingViewBinder());
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerVideoArticleItem(MultiTypeAdapter adapter) {
public static void registerVideoArticleItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(MultiNewsArticleDataBean.class, new NewsArticleVideoViewBinder());
adapter.register(LoadingBean.class, new LoadingViewBinder());
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerJokeContentItem(MultiTypeAdapter adapter) {
public static void registerJokeContentItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(JokeContentBean.DataBean.GroupBean.class, new JokeContentViewBinder());
adapter.register(LoadingBean.class, new LoadingViewBinder());
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerJokeCommentItem(MultiTypeAdapter adapter) {
public static void registerJokeCommentItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(JokeContentBean.DataBean.GroupBean.class, new JokeCommentHeaderViewBinder());
adapter.register(JokeCommentBean.DataBean.RecentCommentsBean.class, new JokeCommentViewBinder());
adapter.register(LoadingBean.class, new LoadingViewBinder());
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerPhotoArticleItem(MultiTypeAdapter adapter) {
public static void registerPhotoArticleItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(PhotoArticleBean.DataBean.class, new PhotoArticleViewBinder());
adapter.register(LoadingBean.class, new LoadingViewBinder());
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerWendaArticleItem(MultiTypeAdapter adapter) {
public static void registerWendaArticleItem(@NonNull MultiTypeAdapter adapter) {
// 一个类型对应多个 ItemViewBinder
adapter.register(WendaArticleDataBean.class)
.to(new WendaArticleTextViewBinder(),
Expand All @@ -138,18 +138,18 @@ public static void registerWendaArticleItem(MultiTypeAdapter adapter) {
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerWendaContentItem(MultiTypeAdapter adapter) {
public static void registerWendaContentItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(WendaContentBean.QuestionBean.class, new WendaContentHeaderViewBinder());
adapter.register(WendaContentBean.AnsListBean.class, new WendaContentViewBinder());
adapter.register(LoadingBean.class, new LoadingViewBinder());
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerMediaChannelItem(MultiTypeAdapter adapter, IOnItemLongClickListener listener) {
public static void registerMediaChannelItem(@NonNull MultiTypeAdapter adapter, @NonNull IOnItemLongClickListener listener) {
adapter.register(MediaChannelBean.class, new MediaChannelViewBinder(listener));
}

public static void registerSearchItem(MultiTypeAdapter adapter) {
public static void registerSearchItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(MultiNewsArticleDataBean.class)
.to(new NewsArticleImgViewBinder(),
new SearchArticleVideoViewBinder(),
Expand All @@ -171,7 +171,7 @@ public static void registerSearchItem(MultiTypeAdapter adapter) {
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerMediaArticleItem(MultiTypeAdapter adapter) {
public static void registerMediaArticleItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(MultiMediaArticleBean.DataBean.class)
.to(new MediaArticleImgViewBinder(),
new MediaArticleVideoViewBinder(),
Expand All @@ -194,7 +194,7 @@ public static void registerMediaArticleItem(MultiTypeAdapter adapter) {
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
}

public static void registerMediaWendaItem(MultiTypeAdapter adapter) {
public static void registerMediaWendaItem(@NonNull MultiTypeAdapter adapter) {
adapter.register(MediaWendaBean.AnswerQuestionBean.class, new MediaWendaViewBinder());
adapter.register(LoadingBean.class, new LoadingViewBinder());
adapter.register(LoadingEndBean.class, new LoadingEndViewBinder());
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/java/com/meiji/toutiao/RetrofitFactory.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.meiji.toutiao;

import android.support.annotation.NonNull;

import com.franmontiel.persistentcookiejar.ClearableCookieJar;
import com.franmontiel.persistentcookiejar.PersistentCookieJar;
import com.franmontiel.persistentcookiejar.cache.SetCookieCache;
Expand Down Expand Up @@ -65,6 +67,7 @@ public Response intercept(Chain chain) throws IOException {
};
private volatile static Retrofit retrofit;

@NonNull
public static Retrofit getRetrofit() {
synchronized (Object) {
if (retrofit == null) {
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/java/com/meiji/toutiao/RxBus.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,17 @@ private RxBus() {

}

@NonNull
public static RxBus getInstance() {
return Holder.instance;
}

@NonNull
public <T> Observable<T> register(@NonNull Class<T> clz) {
return register(clz.getName());
}

@NonNull
public <T> Observable<T> register(@NonNull Object tag) {
List<Subject> subjectList = subjectMapper.get(tag);
if (null == subjectList) {
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/java/com/meiji/toutiao/adapter/DiffCallback.java
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@ public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) {
case WENDA_ARTICLE:
return ((WendaArticleDataBean) oldList.get(oldItemPosition)).getQuestionBean().getContent().equals(
((WendaArticleDataBean) newList.get(newItemPosition)).getQuestionBean().getContent());
case WENDA_CONTENT:
return ((WendaContentBean.AnsListBean) oldList.get(oldItemPosition)).getAns_url().equals(
((WendaContentBean.AnsListBean) newList.get(newItemPosition)).getAns_url());
case SEARCH:
return ((SearchResultBean.DataBeanX) oldList.get(oldItemPosition)).getAbstractX().equals(
((SearchResultBean.DataBeanX) newList.get(newItemPosition)).getAbstractX());
Expand Down
7 changes: 5 additions & 2 deletions app/src/main/java/com/meiji/toutiao/api/IJokeApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@ public interface IJokeApi {
* 获取段子正文内容
* http://www.toutiao.com/api/article/feed/?category=essay_joke&as=A115C8457F69B85&cp=585F294B8845EE1
*/
@GET("api/article/feed/?category=essay_joke&as=A115C8457F69B85&cp=585F294B8845EE1")
Observable<JokeContentBean> getJokeContent();
@GET("api/article/feed/?category=essay_joke")
Observable<JokeContentBean> getJokeContent(
@Query("max_behot_time") String maxBehotTime,
@Query("as") String as,
@Query("cp") String cp);

/**
* 获取段子评论
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
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.meiji.toutiao.ErrorAction;
import com.meiji.toutiao.IntentAction;
import com.meiji.toutiao.R;
import com.meiji.toutiao.bean.joke.JokeContentBean;
import com.meiji.toutiao.module.base.BaseActivity;
Expand All @@ -37,28 +38,36 @@ protected JokeCommentHeaderViewBinder.ViewHolder onCreateViewHolder(@NonNull Lay

@Override
protected void onBindViewHolder(@NonNull final ViewHolder holder, @NonNull final JokeContentBean.DataBean.GroupBean item) {

final Context context = holder.itemView.getContext();

try {
String avatar_url = item.getUser().getAvatar_url();
String name = item.getUser().getName();
String text = item.getText();
String digg_count = item.getDigg_count() + "";
String bury_count = item.getBury_count() + "";
String comment_count = item.getComment_count() + "评论";
int comment_count = item.getComment_count();

ImageLoader.loadCenterCrop(holder.itemView.getContext(), avatar_url, holder.iv_avatar, R.color.viewBackground);
ImageLoader.loadCenterCrop(context, avatar_url, holder.iv_avatar, R.color.viewBackground);
holder.tv_username.setText(name);
holder.tv_text.setText(text);
holder.tv_digg_count.setText(digg_count);
holder.tv_bury_count.setText(bury_count);
holder.tv_comment_count.setText(comment_count);
if (comment_count > 0) {
holder.tv_comment_count.setText(comment_count + "评论");
} else {
holder.tv_comment_count.setVisibility(View.GONE);
}
holder.iv_dots.setVisibility(View.GONE);

holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final BaseActivity context = (BaseActivity) holder.itemView.getContext();
final String content = item.getText();
final BottomSheetDialogFixed dialog = new BottomSheetDialogFixed(context);
dialog.setOwnerActivity(context);
View view = context.getLayoutInflater().inflate(R.layout.item_comment_action_sheet, null);
dialog.setOwnerActivity((BaseActivity) context);
View view = ((BaseActivity) context).getLayoutInflater().inflate(R.layout.item_comment_action_sheet, null);
view.findViewById(R.id.layout_copy_text).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Expand All @@ -72,11 +81,7 @@ public void onClick(View view) {
view.findViewById(R.id.layout_share_text).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent shareIntent = new Intent()
.setAction(Intent.ACTION_SEND)
.setType("text/plain")
.putExtra(Intent.EXTRA_TEXT, content);
context.startActivity(Intent.createChooser(shareIntent, context.getString(R.string.share_to)));
IntentAction.send(context, content);
dialog.dismiss();
}
});
Expand All @@ -97,6 +102,7 @@ class ViewHolder extends RecyclerView.ViewHolder {
private TextView tv_digg_count;
private TextView tv_bury_count;
private TextView tv_comment_count;
private ImageView iv_dots;

ViewHolder(View itemView) {
super(itemView);
Expand All @@ -106,6 +112,7 @@ class ViewHolder extends RecyclerView.ViewHolder {
this.tv_digg_count = itemView.findViewById(R.id.tv_digg_count);
this.tv_bury_count = itemView.findViewById(R.id.tv_bury_count);
this.tv_comment_count = itemView.findViewById(R.id.tv_comment_count);
this.iv_dots = itemView.findViewById(R.id.iv_dots);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v7.widget.RecyclerView;
Expand All @@ -13,6 +12,7 @@
import android.widget.TextView;

import com.meiji.toutiao.ErrorAction;
import com.meiji.toutiao.IntentAction;
import com.meiji.toutiao.R;
import com.meiji.toutiao.bean.joke.JokeCommentBean;
import com.meiji.toutiao.module.base.BaseActivity;
Expand All @@ -37,24 +37,26 @@ protected JokeCommentViewBinder.ViewHolder onCreateViewHolder(@NonNull LayoutInf

@Override
protected void onBindViewHolder(@NonNull final ViewHolder holder, @NonNull final JokeCommentBean.DataBean.RecentCommentsBean item) {

final Context context = holder.itemView.getContext();

try {
String iv_avatar = item.getUser_profile_image_url();
String tv_username = item.getUser_name();
String tv_text = item.getText();
String tv_likes = item.getDigg_count() + "赞";

ImageLoader.loadCenterCrop(holder.itemView.getContext(), iv_avatar, holder.iv_avatar, R.color.viewBackground);
ImageLoader.loadCenterCrop(context, iv_avatar, holder.iv_avatar, R.color.viewBackground);
holder.tv_username.setText(tv_username);
holder.tv_text.setText(tv_text);
holder.tv_likes.setText(tv_likes);
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final BaseActivity context = (BaseActivity) holder.itemView.getContext();
final String content = item.getText();
final BottomSheetDialogFixed dialog = new BottomSheetDialogFixed(context);
dialog.setOwnerActivity(context);
View view = context.getLayoutInflater().inflate(R.layout.item_comment_action_sheet, null);
dialog.setOwnerActivity((BaseActivity) context);
View view = ((BaseActivity) context).getLayoutInflater().inflate(R.layout.item_comment_action_sheet, null);
view.findViewById(R.id.layout_copy_text).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Expand All @@ -68,11 +70,7 @@ public void onClick(View view) {
view.findViewById(R.id.layout_share_text).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent shareIntent = new Intent()
.setAction(Intent.ACTION_SEND)
.setType("text/plain")
.putExtra(Intent.EXTRA_TEXT, content);
context.startActivity(Intent.createChooser(shareIntent, context.getString(R.string.share_to)));
IntentAction.send(context, content);
dialog.dismiss();
}
});
Expand Down
Loading

0 comments on commit b1312ef

Please sign in to comment.