diff --git a/base/src/main/java/com/heyongrui/base/utils/TimeUtil.java b/base/src/main/java/com/heyongrui/base/utils/TimeUtil.java
index 7f362bd..aa20d4c 100644
--- a/base/src/main/java/com/heyongrui/base/utils/TimeUtil.java
+++ b/base/src/main/java/com/heyongrui/base/utils/TimeUtil.java
@@ -16,6 +16,7 @@
*/
public class TimeUtil {
+ public final static String ISO8601 = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
public final static String SEC = "yyyy-MM-dd HH:mm:ss";
public final static String MIN = "yyyy-MM-dd HH:mm";
public final static String MIN_TWO = "MM-dd HH:mm";
@@ -46,6 +47,23 @@ public static String getDateString(Date date, String targetDateType) {
return datestring;
}
+ /**
+ * 将原始格式的时间转化为新时间的格式
+ */
+ public static String getDateString(String originalTime, String originalFormat, String targetFormat) {
+ if (TextUtils.isEmpty(originalTime) || TextUtils.isEmpty(originalFormat) || TextUtils.isEmpty(targetFormat))
+ return "";
+ String targetTime = "";
+ try {
+ SimpleDateFormat sdfSource = new SimpleDateFormat(originalFormat);//原始的日期格式
+ SimpleDateFormat sdfTarget = new SimpleDateFormat(targetFormat);//新日期格式
+ targetTime = sdfTarget.format(sdfSource.parse(originalTime));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return targetTime;
+ }
+
/**
* 将日期字符串转成指定格式的日期
*/
diff --git a/base/src/main/java/com/heyongrui/base/utils/UpdateCheckUtil.java b/base/src/main/java/com/heyongrui/base/utils/UpdateCheckUtil.java
index 0c2b989..2a9c07e 100644
--- a/base/src/main/java/com/heyongrui/base/utils/UpdateCheckUtil.java
+++ b/base/src/main/java/com/heyongrui/base/utils/UpdateCheckUtil.java
@@ -106,6 +106,8 @@ public void checkUpdate(@NonNull String updateCheckUrl, @NonNull String authorit
boolean is_force_update = jsonObject.getBoolean("ignore_able");
showUpdateDialog(mActivity, "V " + update_ver_name + "\n" + update_content, update_url,
is_force_update, authority, appName);
+ } else {
+ ToastUtils.showShort(R.string.latest_tip);
}
} catch (JSONException e) {
e.printStackTrace();
diff --git a/base/src/main/res/values/strings.xml b/base/src/main/res/values/strings.xml
index 6e0d71b..176930e 100644
--- a/base/src/main/res/values/strings.xml
+++ b/base/src/main/res/values/strings.xml
@@ -5,6 +5,7 @@
https://raw.githubusercontent.com/HeYongRui/YouJu/master/app/version_update.json
更新提示
更新失败
+ 已是最新版本
更新
下载中...
正在下载
diff --git a/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java b/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java
index 6a51e69..513674d 100644
--- a/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java
+++ b/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java
@@ -126,7 +126,16 @@ private void initBalls() {
ARouter.getInstance().build(ConfigConstants.PATH_WELFARE).navigation();
break;
case 2://Android
- ARouter.getInstance().build(ConfigConstants.PATH_GANK).withInt("type", 1).navigation();
+ ARouter.getInstance().build(ConfigConstants.PATH_GANK).withString("category", "Android").navigation();
+ break;
+ case 3://IOS
+ ARouter.getInstance().build(ConfigConstants.PATH_GANK).withString("category", "iOS").navigation();
+ break;
+ case 5://前端
+ ARouter.getInstance().build(ConfigConstants.PATH_GANK).withString("category", "前端").navigation();
+ break;
+ case 6://拓展资源
+ ARouter.getInstance().build(ConfigConstants.PATH_GANK).withString("category", "拓展资源").navigation();
break;
case 9://关于
ARouter.getInstance().build(ConfigConstants.PATH_ABOUT).navigation();
diff --git a/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java b/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java
index 46bb33c..165f345 100644
--- a/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java
+++ b/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java
@@ -1,12 +1,15 @@
package com.heyongrui.module2.adapter;
import android.graphics.Bitmap;
+import android.text.TextUtils;
import android.widget.ImageView;
+import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.constraintlayout.widget.ConstraintSet;
+import androidx.core.content.ContextCompat;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
@@ -15,8 +18,10 @@
import com.chad.library.adapter.base.BaseSectionMultiItemQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.heyongrui.base.glide.GlideApp;
+import com.heyongrui.base.utils.TimeUtil;
+import com.heyongrui.base.utils.UiUtil;
import com.heyongrui.module2.R;
-import com.heyongrui.module2.data.dto.WelfareDto;
+import com.heyongrui.module2.data.dto.GankDto;
import java.util.List;
@@ -34,6 +39,7 @@ public Module2SectionAdapter(List data) {
public Module2SectionAdapter(int sectionHeadResId, List data) {
super(sectionHeadResId, data);
addItemType(Module2SectionEntity.WELFARE, R.layout.recycle_item_welfare);
+ addItemType(Module2SectionEntity.GANK, R.layout.recycle_item_android);
}
@Override
@@ -49,9 +55,9 @@ protected void convert(BaseViewHolder helper, Module2SectionEntity item) {
case Module2SectionEntity.WELFARE: {
ConstraintLayout content = helper.getView(R.id.content);
ImageView coverIv = helper.getView(R.id.iv);
- WelfareDto.WelfareBean welfareBean = item.getWelfareBean();
- if (welfareBean == null) return;
- String url = welfareBean.getUrl();
+ GankDto.GankBean gankBean = item.getGankBean();
+ if (gankBean == null) return;
+ String url = gankBean.getUrl();
RequestOptions options = new RequestOptions()
.placeholder(R.drawable.placeholder)
.error(R.drawable.placeholder_fail)
@@ -69,6 +75,25 @@ public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition sup
});
}
break;
+ case Module2SectionEntity.GANK: {
+ UiUtil.setOnclickFeedBack(mContext, ContextCompat.getColor(mContext, R.color.background), ContextCompat.getColor(mContext, R.color.gray), helper.itemView);
+ TextView tvTitle = helper.getView(R.id.tv_title);
+ TextView tvType = helper.getView(R.id.tv_type);
+ TextView tvDate = helper.getView(R.id.tv_date);
+
+ String title = "", type = "", date = "";
+ GankDto.GankBean gankBean = item.getGankBean();
+ if (null != gankBean) {
+ title = gankBean.getDesc();
+ type = gankBean.getType();
+ String publishedAt = gankBean.getPublishedAt();
+ date = TimeUtil.getDateString(publishedAt, TimeUtil.ISO8601, TimeUtil.DAY_ONE);
+ }
+ tvTitle.setText(TextUtils.isEmpty(title) ? "" : title);
+ tvType.setText(TextUtils.isEmpty(type) ? "" : type);
+ tvDate.setText(TextUtils.isEmpty(date) ? "" : date);
+ }
+ break;
}
}
}
diff --git a/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionEntity.java b/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionEntity.java
index 57b20a8..3e9bc21 100644
--- a/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionEntity.java
+++ b/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionEntity.java
@@ -2,7 +2,7 @@
import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.chad.library.adapter.base.entity.SectionMultiEntity;
-import com.heyongrui.module2.data.dto.WelfareDto;
+import com.heyongrui.module2.data.dto.GankDto;
import java.util.List;
@@ -11,14 +11,15 @@
* 2019/6/25 18:13
*/
public class Module2SectionEntity extends SectionMultiEntity implements MultiItemEntity {
-
+
public static final int WELFARE = 100;
+ public static final int GANK = 101;
private int itemType;
private int spanSize;
private Object object;
- private WelfareDto.WelfareBean welfareBean;
+ private GankDto.GankBean gankBean;
public Module2SectionEntity(boolean isHeader, String header, boolean isShow) {
super(isHeader, header);
@@ -39,8 +40,8 @@ public Module2SectionEntity(int itemType, int spanSize, Object object) {
// if (o instanceof BannerDto) {
// this.bannerDtoList = (List) object;
// }
- } else if (object instanceof WelfareDto.WelfareBean) {
- this.welfareBean = (WelfareDto.WelfareBean) object;
+ } else if (object instanceof GankDto.GankBean) {
+ this.gankBean = (GankDto.GankBean) object;
}
}
}
@@ -70,11 +71,11 @@ public void setObject(Object object) {
this.object = object;
}
- public WelfareDto.WelfareBean getWelfareBean() {
- return welfareBean;
+ public GankDto.GankBean getGankBean() {
+ return gankBean;
}
- public void setWelfareBean(WelfareDto.WelfareBean welfareBean) {
- this.welfareBean = welfareBean;
+ public void setGankBean(GankDto.GankBean gankBean) {
+ this.gankBean = gankBean;
}
}
diff --git a/module2/src/main/java/com/heyongrui/module2/data/api/GankApi.java b/module2/src/main/java/com/heyongrui/module2/data/api/GankApi.java
index 2356235..f5c1e74 100644
--- a/module2/src/main/java/com/heyongrui/module2/data/api/GankApi.java
+++ b/module2/src/main/java/com/heyongrui/module2/data/api/GankApi.java
@@ -1,6 +1,6 @@
package com.heyongrui.module2.data.api;
-import com.heyongrui.module2.data.dto.WelfareDto;
+import com.heyongrui.module2.data.dto.GankDto;
import io.reactivex.Observable;
import retrofit2.http.GET;
@@ -12,6 +12,11 @@
public interface GankApi {
+ /**
+ * @param category 数据类型: 福利 | Android | iOS | 休息视频 | 拓展资源 | 前端 | all
+ * @param per_page 请求个数: 数字,大于0
+ * @param page 第几页:数字,大于0
+ */
@GET("data/{category}/{per_page}/{page}")
- Observable getGankCategory(@Path("category") String category, @Path("per_page") int per_page, @Path("page") int page);
+ Observable getGankCategory(@Path("category") String category, @Path("per_page") int per_page, @Path("page") int page);
}
diff --git a/module2/src/main/java/com/heyongrui/module2/data/dto/WelfareDto.java b/module2/src/main/java/com/heyongrui/module2/data/dto/GankDto.java
similarity index 91%
rename from module2/src/main/java/com/heyongrui/module2/data/dto/WelfareDto.java
rename to module2/src/main/java/com/heyongrui/module2/data/dto/GankDto.java
index 8c2fc53..f306675 100644
--- a/module2/src/main/java/com/heyongrui/module2/data/dto/WelfareDto.java
+++ b/module2/src/main/java/com/heyongrui/module2/data/dto/GankDto.java
@@ -6,10 +6,10 @@
* Created by Mr.He on 2019/3/10.
*/
-public class WelfareDto {
+public class GankDto {
private boolean error;
- private List results;
+ private List results;
public boolean isError() {
return error;
@@ -19,15 +19,15 @@ public void setError(boolean error) {
this.error = error;
}
- public List getResults() {
+ public List getResults() {
return results;
}
- public void setResults(List results) {
+ public void setResults(List results) {
this.results = results;
}
- public static class WelfareBean {
+ public static class GankBean {
private String _id;
private String createdAt;
diff --git a/module2/src/main/java/com/heyongrui/module2/data/service/GankService.java b/module2/src/main/java/com/heyongrui/module2/data/service/GankService.java
index 6c46e49..a3e5a5a 100644
--- a/module2/src/main/java/com/heyongrui/module2/data/service/GankService.java
+++ b/module2/src/main/java/com/heyongrui/module2/data/service/GankService.java
@@ -1,7 +1,7 @@
package com.heyongrui.module2.data.service;
import com.heyongrui.module2.data.api.GankApi;
-import com.heyongrui.module2.data.dto.WelfareDto;
+import com.heyongrui.module2.data.dto.GankDto;
import com.heyongrui.network.configure.RxHelper;
import com.heyongrui.network.service.ApiService;
@@ -19,15 +19,14 @@ public GankService() {
}
- public Observable getWelfare(int perPage, int page) {
+ /**
+ * @param category 数据类型: 福利 | Android | iOS | 休息视频 | 拓展资源 | 前端 | all
+ * @param perPage 请求个数: 数字,大于0
+ * @param page 第几页:数字,大于0
+ */
+ public Observable getGankCategory(String category, int perPage, int page) {
return ApiService.createApi(GankApi.class, BASE_URL_GANK)
- .getGankCategory("福利", perPage, page)
- .compose(RxHelper.rxSchedulerHelper());
- }
-
- public Observable getAndroid(int perPage, int page) {
- return ApiService.createApi(GankApi.class, BASE_URL_GANK)
- .getGankCategory("Android", perPage, page)
+ .getGankCategory(category, perPage, page)
.compose(RxHelper.rxSchedulerHelper());
}
}
diff --git a/module2/src/main/java/com/heyongrui/module2/gank/contract/GankContract.kt b/module2/src/main/java/com/heyongrui/module2/gank/contract/GankContract.kt
index 7624976..53e6b44 100644
--- a/module2/src/main/java/com/heyongrui/module2/gank/contract/GankContract.kt
+++ b/module2/src/main/java/com/heyongrui/module2/gank/contract/GankContract.kt
@@ -5,16 +5,16 @@ import com.chad.library.adapter.base.BaseQuickAdapter
import com.heyongrui.base.base.BasePresenter
import com.heyongrui.base.base.BaseView
import com.heyongrui.module2.adapter.Module2SectionAdapter
-import com.heyongrui.module2.data.dto.WelfareDto
+import com.heyongrui.module2.data.dto.GankDto
import com.scwang.smartrefresh.header.StoreHouseHeader
import com.scwang.smartrefresh.layout.SmartRefreshLayout
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener
interface GankContract {
interface View : BaseView {
- fun getAndroidSuccess(welfareDto: WelfareDto)
+ fun getGankCategorySuccess(gankDto: GankDto)
- fun getAndroidFail(errorCode: Int, errorMsg: String)
+ fun getGankCategoryFail(errorCode: Int, errorMsg: String)
}
abstract class Presenter : BasePresenter() {
@@ -22,6 +22,6 @@ interface GankContract {
abstract fun initRecyclerView(recyclerView: RecyclerView, listener: BaseQuickAdapter.OnItemClickListener): Module2SectionAdapter
- abstract fun getAndroid(perPage: Int, page: Int)
+ abstract fun getGankCategory(category: String, perPage: Int, page: Int)
}
}
\ No newline at end of file
diff --git a/module2/src/main/java/com/heyongrui/module2/gank/contract/WelfareContract.java b/module2/src/main/java/com/heyongrui/module2/gank/contract/WelfareContract.java
index 742be5e..3b4426c 100644
--- a/module2/src/main/java/com/heyongrui/module2/gank/contract/WelfareContract.java
+++ b/module2/src/main/java/com/heyongrui/module2/gank/contract/WelfareContract.java
@@ -3,11 +3,11 @@
import com.heyongrui.base.base.BasePresenter;
import com.heyongrui.base.base.BaseView;
import com.heyongrui.base.widget.imagewatcher.ImageWatcherHelper;
-import com.heyongrui.module2.data.dto.WelfareDto;
+import com.heyongrui.module2.data.dto.GankDto;
public interface WelfareContract {
interface View extends BaseView {
- void getWelfareSuccess(WelfareDto welfareDto);
+ void getWelfareSuccess(GankDto gankDto);
void getWelfareFail(int errorCode, String errorMsg);
}
diff --git a/module2/src/main/java/com/heyongrui/module2/gank/presenter/GankPresenter.kt b/module2/src/main/java/com/heyongrui/module2/gank/presenter/GankPresenter.kt
index 8dfbbf8..687de5c 100644
--- a/module2/src/main/java/com/heyongrui/module2/gank/presenter/GankPresenter.kt
+++ b/module2/src/main/java/com/heyongrui/module2/gank/presenter/GankPresenter.kt
@@ -12,7 +12,7 @@ import com.heyongrui.module2.adapter.Module2SectionAdapter
import com.heyongrui.module2.adapter.Module2SectionEntity
import com.heyongrui.module2.dagger.DaggerModule2Component
import com.heyongrui.module2.dagger.Module2Module
-import com.heyongrui.module2.data.dto.WelfareDto
+import com.heyongrui.module2.data.dto.GankDto
import com.heyongrui.module2.data.service.GankService
import com.heyongrui.module2.gank.contract.GankContract
import com.heyongrui.network.configure.ResponseDisposable
@@ -46,8 +46,8 @@ class GankPresenter : GankContract.Presenter() {
val moduleSectionAdapter = Module2SectionAdapter(data)
recyclerView.layoutManager = LinearLayoutManager(mContext)
moduleSectionAdapter.bindToRecyclerView(recyclerView)
- val dp10 = ConvertUtils.dp2px(10f)
- recyclerView.addItemDecoration(RecycleViewItemDecoration(mContext, dp10))
+ val dp1 = ConvertUtils.dp2px(1f)
+ recyclerView.addItemDecoration(RecycleViewItemDecoration(mContext, dp1))
moduleSectionAdapter.setSpanSizeLookup({ gridLayoutManager, position -> data[position].getSpanSize() })
if (null != listener) {
moduleSectionAdapter.setOnItemClickListener(listener)
@@ -55,18 +55,18 @@ class GankPresenter : GankContract.Presenter() {
return moduleSectionAdapter
}
- override fun getAndroid(perPage: Int, page: Int) {
- mRxManager.add(mGankService.getAndroid(perPage, page).subscribeWith(
- object : ResponseDisposable(mContext, true) {
- override fun onSuccess(welfareDto: WelfareDto) {
+ override fun getGankCategory(category: String, perPage: Int, page: Int) {
+ mRxManager.add(mGankService.getGankCategory(category, perPage, page).subscribeWith(
+ object : ResponseDisposable(mContext, true) {
+ override fun onSuccess(gankDto: GankDto) {
if (mView != null) {
- mView.getAndroidSuccess(welfareDto)
+ mView.getGankCategorySuccess(gankDto)
}
}
override fun onFailure(errorCode: Int, errorMsg: String) {
if (mView != null) {
- mView.getAndroidFail(errorCode, errorMsg)
+ mView.getGankCategoryFail(errorCode, errorMsg)
}
}
}))
diff --git a/module2/src/main/java/com/heyongrui/module2/gank/presenter/WelfarePresenter.java b/module2/src/main/java/com/heyongrui/module2/gank/presenter/WelfarePresenter.java
index 50fb653..51fc37a 100644
--- a/module2/src/main/java/com/heyongrui/module2/gank/presenter/WelfarePresenter.java
+++ b/module2/src/main/java/com/heyongrui/module2/gank/presenter/WelfarePresenter.java
@@ -13,7 +13,7 @@
import com.heyongrui.base.widget.imagewatcher.ImageWatcher;
import com.heyongrui.base.widget.imagewatcher.ImageWatcherHelper;
import com.heyongrui.module2.adapter.Module2SectionEntity;
-import com.heyongrui.module2.data.dto.WelfareDto;
+import com.heyongrui.module2.data.dto.GankDto;
import com.heyongrui.module2.data.service.GankService;
import com.heyongrui.module2.gank.contract.WelfareContract;
import com.heyongrui.network.configure.ResponseDisposable;
@@ -35,9 +35,9 @@ public ImageWatcherHelper getImageWatcher() {
public void load(Context context, Object o, ImageWatcher.LoadCallback lc) {
if (o == null) return;
if (o instanceof Module2SectionEntity) {
- WelfareDto.WelfareBean welfareBean = ((Module2SectionEntity) o).getWelfareBean();
- if (welfareBean == null) return;
- String url = welfareBean.getUrl();
+ GankDto.GankBean gankBean = ((Module2SectionEntity) o).getGankBean();
+ if (gankBean == null) return;
+ String url = gankBean.getUrl();
GlideApp.with(context).load(url)
.into(new SimpleTarget() {
@Override
@@ -64,12 +64,12 @@ public void onLoadStarted(@Nullable Drawable placeholder) {
@Override
public void getWelfare(int perPage, int page) {
- mRxManager.add(mGankService.getWelfare(perPage, page).subscribeWith(
- new ResponseDisposable(mContext, true) {
+ mRxManager.add(mGankService.getGankCategory("福利", perPage, page).subscribeWith(
+ new ResponseDisposable(mContext, true) {
@Override
- protected void onSuccess(WelfareDto welfareDto) {
+ protected void onSuccess(GankDto gankDto) {
if (mView != null) {
- mView.getWelfareSuccess(welfareDto);
+ mView.getWelfareSuccess(gankDto);
}
}
diff --git a/module2/src/main/java/com/heyongrui/module2/gank/view/GankActivity.kt b/module2/src/main/java/com/heyongrui/module2/gank/view/GankActivity.kt
index 1c9d827..467490d 100644
--- a/module2/src/main/java/com/heyongrui/module2/gank/view/GankActivity.kt
+++ b/module2/src/main/java/com/heyongrui/module2/gank/view/GankActivity.kt
@@ -5,6 +5,7 @@ import android.view.View
import androidx.core.content.ContextCompat
import com.alibaba.android.arouter.facade.annotation.Autowired
import com.alibaba.android.arouter.facade.annotation.Route
+import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.ToastUtils
import com.chad.library.adapter.base.BaseQuickAdapter
import com.heyongrui.base.assist.ConfigConstants
@@ -13,7 +14,7 @@ import com.heyongrui.base.utils.DrawableUtil
import com.heyongrui.module2.R
import com.heyongrui.module2.adapter.Module2SectionAdapter
import com.heyongrui.module2.adapter.Module2SectionEntity
-import com.heyongrui.module2.data.dto.WelfareDto
+import com.heyongrui.module2.data.dto.GankDto
import com.heyongrui.module2.gank.contract.GankContract
import com.heyongrui.module2.gank.presenter.GankPresenter
import com.scwang.smartrefresh.layout.api.RefreshLayout
@@ -25,8 +26,8 @@ import java.util.*
class GankActivity : BaseActivity(), GankContract.View, View.OnClickListener, BaseQuickAdapter.OnItemClickListener, OnRefreshLoadMoreListener {
@JvmField
- @Autowired(name = "type")
- var mType: Int = 0
+ @Autowired(name = "category")
+ var mCategory: String = ""
private val mPerPage = 10
private var mPage = 1
@@ -60,53 +61,78 @@ class GankActivity : BaseActivity(), GankContract.View,
val tintDrawable = DrawableUtil.tintDrawable(this@GankActivity, R.drawable.ic_back, ContextCompat.getColor(this@GankActivity, R.color.background))
iv_back.setImageDrawable(tintDrawable)
+ tv_title.text = mCategory
+
mPresenter.initSwipeRefresh(refresh_layout, store_house_header, this@GankActivity)
mGankAdapter = mPresenter.initRecyclerView(rlv_gank, this@GankActivity)
refresh_layout.autoRefresh()
}
- private fun loadData() {
- mPresenter.getAndroid(mPerPage, mPage)
- }
-
override fun onLoadMore(refreshLayout: RefreshLayout) {
+ if (mIsLastPage) {
+ resetRefreshLayout(true, true, true)
+ } else {
+ loadData(false)
+ }
}
override fun onRefresh(refreshLayout: RefreshLayout) {
- loadData()
+ loadData(true)
}
override fun onItemClick(adapter: BaseQuickAdapter<*, *>?, view: View?, position: Int) {
-
+ val gankBean = mGankAdapter.data.get(position).gankBean
+ ARouter.getInstance().build(ConfigConstants.PATH_H5).withString("h5Url", gankBean.url).navigation()
}
- override fun getAndroidSuccess(welfareDto: WelfareDto) {
+ override fun getGankCategorySuccess(gankDto: GankDto) {
resetRefreshLayout(true, true, false)
val addDataList = ArrayList()
- if (welfareDto != null) {
- if (!welfareDto.isError) {
- val welfareBeanList = welfareDto.results
- if (welfareBeanList != null && !welfareBeanList.isEmpty()) {
- if (welfareBeanList.size < mPerPage) {
- mIsLastPage = true
+ if (!gankDto.isError) {
+ val gankBeanList = gankDto.results
+ mIsLastPage = gankBeanList.size < mPerPage
+ for (gankBean in gankBeanList) {
+ var itemType: Int = Module2SectionEntity.GANK
+ when (gankBean.type) {
+ "Android" -> {
+ itemType = Module2SectionEntity.GANK
+ }
+ "iOS" -> {
+ }
+ "休息视频" -> {
}
- for (welfareBean in welfareBeanList) {
- addDataList.add(Module2SectionEntity(Module2SectionEntity.WELFARE, welfareBean))
+ "拓展资源" -> {
+ }
+ "前端" -> {
+ }
+ "all" -> {
}
- } else {
- mIsLastPage = true
}
+ addDataList.add(Module2SectionEntity(itemType, gankBean))
}
}
- mGankAdapter.replaceData(addDataList)
+ if (1 == mPage) {
+ mGankAdapter.replaceData(addDataList)
+ } else {
+ mGankAdapter.addData(addDataList)
+ }
}
- override fun getAndroidFail(errorCode: Int, errorMsg: String) {
+ override fun getGankCategoryFail(errorCode: Int, errorMsg: String) {
ToastUtils.showShort(errorMsg)
resetRefreshLayout(true, true, false)
}
+ private fun loadData(isClearData: Boolean) {
+ if (isClearData) {
+ mPage = 1
+ } else {
+ mPage += 1
+ }
+ mPresenter.getGankCategory(mCategory, mPerPage, mPage)
+ }
+
private fun resetRefreshLayout(isFinishLoadMore: Boolean, isFinishRefresh: Boolean, noMoreData: Boolean) {
if (isFinishLoadMore) {
refresh_layout.finishLoadMore()
diff --git a/module2/src/main/java/com/heyongrui/module2/gank/view/WelfareActivity.java b/module2/src/main/java/com/heyongrui/module2/gank/view/WelfareActivity.java
index 36e4356..ddad44c 100644
--- a/module2/src/main/java/com/heyongrui/module2/gank/view/WelfareActivity.java
+++ b/module2/src/main/java/com/heyongrui/module2/gank/view/WelfareActivity.java
@@ -20,7 +20,7 @@
import com.heyongrui.module2.R;
import com.heyongrui.module2.adapter.Module2SectionAdapter;
import com.heyongrui.module2.adapter.Module2SectionEntity;
-import com.heyongrui.module2.data.dto.WelfareDto;
+import com.heyongrui.module2.data.dto.GankDto;
import com.heyongrui.module2.gank.contract.WelfareContract;
import com.heyongrui.module2.gank.presenter.WelfarePresenter;
import com.scwang.smartrefresh.header.StoreHouseHeader;
@@ -138,20 +138,20 @@ private void getWelfare(boolean isClearData) {
}
@Override
- public void getWelfareSuccess(WelfareDto welfareDto) {
+ public void getWelfareSuccess(GankDto gankDto) {
refreshLayout.finishLoadMore();
refreshLayout.finishRefresh();
refreshLayout.setNoMoreData(false);
List addDataList = new ArrayList<>();
- if (welfareDto != null) {
- if (!welfareDto.isError()) {
- List welfareBeanList = welfareDto.getResults();
- if (welfareBeanList != null && !welfareBeanList.isEmpty()) {
- if (welfareBeanList.size() < mPerPage) {
+ if (gankDto != null) {
+ if (!gankDto.isError()) {
+ List gankBeanList = gankDto.getResults();
+ if (gankBeanList != null && !gankBeanList.isEmpty()) {
+ if (gankBeanList.size() < mPerPage) {
mIsLastPage = true;
}
- for (WelfareDto.WelfareBean welfareBean : welfareBeanList) {
- addDataList.add(new Module2SectionEntity(Module2SectionEntity.WELFARE, welfareBean));
+ for (GankDto.GankBean gankBean : gankBeanList) {
+ addDataList.add(new Module2SectionEntity(Module2SectionEntity.WELFARE, gankBean));
}
} else {
mIsLastPage = true;
diff --git a/module2/src/main/res/layout/recycle_item_android.xml b/module2/src/main/res/layout/recycle_item_android.xml
new file mode 100644
index 0000000..beef8c8
--- /dev/null
+++ b/module2/src/main/res/layout/recycle_item_android.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file