From 245e113d76c0bbb72a0e5461fe4104000dd7fa2b Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Mon, 28 Oct 2019 18:12:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=A7=86=E9=A2=91=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=88=86=E9=A1=B5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/common/constant/Config.java | 4 +++- .../com/gh/gamecenter/baselist/ListActivity.java | 10 +++++++--- .../com/gh/gamecenter/baselist/ListFragment.java | 10 +++++++--- .../gh/gamecenter/collection/VideoFragment.kt | 3 ++- .../personalhome/home/UserVideoHistoryAdapter.kt | 4 ++++ .../home/UserVideoHistoryViewModel.kt | 3 ++- .../com/gh/gamecenter/qa/editor/VideoActivity.kt | 3 ++- .../gamecenter/retrofit/service/ApiService.java | 16 ++++++++-------- .../gamecenter/video/game/GameVideoFragment.kt | 3 ++- .../video/videomanager/VideoDraftAdapter.kt | 4 ---- .../video/videomanager/VideoDraftViewModel.kt | 6 +++--- .../video/videomanager/VideoVerifyAdapter.kt | 5 +++++ .../video/videomanager/VideoVerifyViewModel.kt | 4 ++-- 13 files changed, 47 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/com/gh/common/constant/Config.java b/app/src/main/java/com/gh/common/constant/Config.java index a75466b414..eb37cd431c 100644 --- a/app/src/main/java/com/gh/common/constant/Config.java +++ b/app/src/main/java/com/gh/common/constant/Config.java @@ -3,9 +3,10 @@ package com.gh.common.constant; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; -import androidx.annotation.Nullable; import android.text.TextUtils; +import androidx.annotation.Nullable; + import com.gh.common.util.GsonUtils; import com.gh.common.util.PackageHelper; import com.gh.common.util.SPUtils; @@ -54,6 +55,7 @@ public class Config { public static final String FIX_ARTICLE_KEY = "isFixArticle"; public static final String FIX_COMMUNITY_KEY = "isFixCommunity"; + public static final int VIDEO_PAGE_SIZE = 21; // 视频列表大多都是一行3个 public static boolean isShow() { if (getPreferences().getBoolean(FIX_DOWNLOAD_KEY, false)) return true; diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListActivity.java b/app/src/main/java/com/gh/gamecenter/baselist/ListActivity.java index 2fdf42f02b..cbf72f7510 100644 --- a/app/src/main/java/com/gh/gamecenter/baselist/ListActivity.java +++ b/app/src/main/java/com/gh/gamecenter/baselist/ListActivity.java @@ -118,9 +118,13 @@ public abstract class ListActivity onLoadRefresh()); diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java b/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java index 7d771a59e4..02343acdf5 100644 --- a/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java +++ b/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java @@ -136,9 +136,13 @@ public abstract class ListFragment onLoadRefresh()); diff --git a/app/src/main/java/com/gh/gamecenter/collection/VideoFragment.kt b/app/src/main/java/com/gh/gamecenter/collection/VideoFragment.kt index be6f4e47fe..e6176a1f2c 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/VideoFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/collection/VideoFragment.kt @@ -5,6 +5,7 @@ import android.view.View import androidx.lifecycle.ViewModelProviders import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.gh.common.constant.Config import com.gh.common.util.dip2px import com.gh.common.view.GridSpacingItemDecoration import com.gh.gamecenter.baselist.ListFragment @@ -50,6 +51,6 @@ class VideoFragment : ListFragment> { - return RetrofitManager.getInstance(context).api.getCollectionVideo(UserManager.getInstance().userId) + return RetrofitManager.getInstance(context).api.getCollectionVideo(UserManager.getInstance().userId,page, Config.VIDEO_PAGE_SIZE) } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/home/UserVideoHistoryAdapter.kt b/app/src/main/java/com/gh/gamecenter/personalhome/home/UserVideoHistoryAdapter.kt index ffbd7cf0c6..11afb05fba 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/home/UserVideoHistoryAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/home/UserVideoHistoryAdapter.kt @@ -19,6 +19,10 @@ import com.gh.gamecenter.video.detail.VideoDetailContainerViewModel class UserVideoHistoryAdapter(context: Context, val mViewModel: UserVideoHistoryViewModel) : ListAdapter(context) { + override fun areItemsTheSame(oldItem: MyVideoEntity?, newItem: MyVideoEntity?): Boolean { + return oldItem == newItem + } + override fun getItemViewType(position: Int): Int { if (position == itemCount - 1) return ItemViewType.ITEM_FOOTER return ItemViewType.ITEM_BODY diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/home/UserVideoHistoryViewModel.kt b/app/src/main/java/com/gh/gamecenter/personalhome/home/UserVideoHistoryViewModel.kt index a605cceb44..e01dd0120d 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/home/UserVideoHistoryViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/home/UserVideoHistoryViewModel.kt @@ -3,6 +3,7 @@ package com.gh.gamecenter.personalhome.home import android.app.Application import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider +import com.gh.common.constant.Config import com.gh.gamecenter.baselist.ListViewModel import com.gh.gamecenter.entity.MyVideoEntity import com.gh.gamecenter.retrofit.RetrofitManager @@ -11,7 +12,7 @@ import io.reactivex.Observable class UserVideoHistoryViewModel(application: Application, var userId: String) : ListViewModel(application) { override fun provideDataObservable(page: Int): Observable> { - return RetrofitManager.getInstance(getApplication()).api.getUserVideo(userId) + return RetrofitManager.getInstance(getApplication()).api.getUserVideo(userId, page, Config.VIDEO_PAGE_SIZE) } override fun mergeResultLiveData() { diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/VideoActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/VideoActivity.kt index db8e91a601..86d28766cf 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/editor/VideoActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/editor/VideoActivity.kt @@ -13,6 +13,7 @@ import android.widget.TextView import androidx.lifecycle.ViewModelProviders import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.gh.common.constant.Config import com.gh.common.util.* import com.gh.common.view.GridSpacingItemDecoration import com.gh.gamecenter.R @@ -114,7 +115,7 @@ class VideoActivity : ListActivity> { - return RetrofitManager.getInstance(this).api.getUserVideo(UserManager.getInstance().userId) + return RetrofitManager.getInstance(this).api.getUserVideo(UserManager.getInstance().userId, page, Config.VIDEO_PAGE_SIZE) } companion object { diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index 6a824f6c61..8835527ce7 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -1973,13 +1973,13 @@ public interface ApiService { * 获取用户的视频草稿列表 */ @GET("users/{user_id}/video_drafts") - Observable> getVideoDraft(@Path("user_id") String userId); + Observable> getVideoDraft(@Path("user_id") String userId, @Query("page") int page, @Query("page_size") int pageSize); /** * 获取用户的视频列表(审核) */ @GET("users/{user_id}/videos?view=uploaded_page") - Observable> getVideoVerify(@Path("user_id") String userId); + Observable> getVideoVerify(@Path("user_id") String userId, @Query("page") int page, @Query("page_size") int pageSize); /** * 删除视频草稿 @@ -1992,19 +1992,19 @@ public interface ApiService { * 获取用户的视频草稿列表 */ @GET("users/{user_id}/videos") - Observable> getUserVideo(@Path("user_id") String userId); + Observable> getUserVideo(@Path("user_id") String userId, @Query("page") int page, @Query("page_size") int pageSize); /** * 获取用户的视频收藏列表 */ @GET("users/{user_id}/favorites/videos") - Observable> getCollectionVideo(@Path("user_id") String userId); + Observable> getCollectionVideo(@Path("user_id") String userId, @Query("page") int page, @Query("page_size") int pageSize); /** * 获取游戏视频合集 */ @GET("games/{game_id}/videos") - Observable> getGameVideo(@Path("game_id") String gameId, @Query("sort") String sort); + Observable> getGameVideo(@Path("game_id") String gameId, @Query("sort") String sort, @Query("page") int page, @Query("page_size") int pageSize); /** * 获取游戏视频相关信息 @@ -2035,13 +2035,13 @@ public interface ApiService { */ @GET("games/servers/filter_tag") Single> getServerFilterTag(); - + /** * 获取通知权限引导数据 */ @GET("boot_popup") Single getBootPopup(); - + /** * 专题合集配置接口 */ @@ -2058,5 +2058,5 @@ public interface ApiService { * 游戏上传 */ @POST("users/{user_id}/upload_games") - Observable uploadGames(@Path("user_id") String userId,@Body RequestBody body); + Observable uploadGames(@Path("user_id") String userId, @Body RequestBody body); } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt index d6985c5c7c..e3fcaa3040 100644 --- a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt @@ -5,6 +5,7 @@ import android.view.View import androidx.lifecycle.ViewModelProviders import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.gh.common.constant.Config import com.gh.common.util.EntranceUtils import com.gh.common.util.dip2px import com.gh.common.view.GridSpacingItemDecoration @@ -56,6 +57,6 @@ class GameVideoFragment : ListFragment(application) { private val mApi = RetrofitManager.getInstance(getApplication()).api override fun provideDataObservable(page: Int): Observable>? { - return mApi.getVideoDraft(UserManager.getInstance().userId) + return mApi.getVideoDraft(UserManager.getInstance().userId, page, Config.VIDEO_PAGE_SIZE) } override fun mergeResultLiveData() { @@ -34,7 +34,7 @@ class VideoDraftViewModel(application: Application) : ListViewModel(context) { + + override fun areItemsTheSame(oldItem: VideoVerifyEntity?, newItem: VideoVerifyEntity?): Boolean { + return oldItem == newItem + } + override fun getItemViewType(position: Int): Int { if (position == itemCount - 1) { return ItemViewType.ITEM_FOOTER diff --git a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyViewModel.kt b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyViewModel.kt index 80777b19c0..d58aa2a84f 100644 --- a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyViewModel.kt @@ -1,8 +1,8 @@ package com.gh.gamecenter.video.videomanager import android.app.Application +import com.gh.common.constant.Config import com.gh.gamecenter.baselist.ListViewModel -import com.gh.gamecenter.entity.VideoEntity import com.gh.gamecenter.entity.VideoVerifyEntity import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.retrofit.RetrofitManager @@ -11,7 +11,7 @@ import io.reactivex.Observable class VideoVerifyViewModel(application: Application) : ListViewModel(application) { override fun provideDataObservable(page: Int): Observable>? { - return RetrofitManager.getInstance(getApplication()).api.getVideoVerify(UserManager.getInstance().userId) + return RetrofitManager.getInstance(getApplication()).api.getVideoVerify(UserManager.getInstance().userId, page, Config.VIDEO_PAGE_SIZE) } override fun mergeResultLiveData() {