|
@@ -2,6 +2,9 @@ package com.sheep.gamegroup.module.game.fragment;
|
|
|
|
|
|
|
|
import android.app.Activity;
|
|
import android.app.Activity;
|
|
|
import android.content.Intent;
|
|
import android.content.Intent;
|
|
|
|
|
+import android.support.v7.widget.LinearLayoutManager;
|
|
|
|
|
+import android.support.v7.widget.RecyclerView;
|
|
|
|
|
+import android.view.View;
|
|
|
import android.widget.ImageView;
|
|
import android.widget.ImageView;
|
|
|
import android.widget.ProgressBar;
|
|
import android.widget.ProgressBar;
|
|
|
import android.widget.TextView;
|
|
import android.widget.TextView;
|
|
@@ -13,9 +16,14 @@ import com.sheep.gamegroup.absBase.AbsDownloadListener;
|
|
|
import com.sheep.gamegroup.absBase.AbsGetDownloadListener;
|
|
import com.sheep.gamegroup.absBase.AbsGetDownloadListener;
|
|
|
import com.sheep.gamegroup.absBase.AbsObserver;
|
|
import com.sheep.gamegroup.absBase.AbsObserver;
|
|
|
import com.sheep.gamegroup.absBase.IApiRefresh;
|
|
import com.sheep.gamegroup.absBase.IApiRefresh;
|
|
|
|
|
+import com.sheep.gamegroup.absBase.NetApiRefresh;
|
|
|
import com.sheep.gamegroup.event.BigEvent;
|
|
import com.sheep.gamegroup.event.BigEvent;
|
|
|
import com.sheep.gamegroup.greendao.download.DownLoadInfo;
|
|
import com.sheep.gamegroup.greendao.download.DownLoadInfo;
|
|
|
import com.sheep.gamegroup.helper.DownloadHelper;
|
|
import com.sheep.gamegroup.helper.DownloadHelper;
|
|
|
|
|
+import com.sheep.gamegroup.model.api.ApiService;
|
|
|
|
|
+import com.sheep.gamegroup.model.entity.BaseMessage;
|
|
|
|
|
+import com.sheep.gamegroup.model.entity.GameEntity;
|
|
|
|
|
+import com.sheep.gamegroup.module.game.adapter.AdpGameCenter4_0;
|
|
|
import com.sheep.gamegroup.module.game.model.DownloadInfoHelper;
|
|
import com.sheep.gamegroup.module.game.model.DownloadInfoHelper;
|
|
|
import com.sheep.gamegroup.util.DownloadUtil;
|
|
import com.sheep.gamegroup.util.DownloadUtil;
|
|
|
import com.sheep.gamegroup.util.ViewUtil;
|
|
import com.sheep.gamegroup.util.ViewUtil;
|
|
@@ -27,6 +35,7 @@ import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
|
|
|
import org.greenrobot.eventbus.Subscribe;
|
|
import org.greenrobot.eventbus.Subscribe;
|
|
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Locale;
|
|
import java.util.Locale;
|
|
@@ -43,7 +52,7 @@ import static com.sheep.gamegroup.view.adapter.TryMakeMoneyAdp.PUBLIC_TAG_PREFIX
|
|
|
* Created by realicing on 2019/1/21.
|
|
* Created by realicing on 2019/1/21.
|
|
|
* realicing@sina.com
|
|
* realicing@sina.com
|
|
|
*/
|
|
*/
|
|
|
-public class FgtDownloadManager extends BaseListFragment6<DownLoadInfo> {
|
|
|
|
|
|
|
+public class FgtDownloadManager extends BaseListFragment6<String> {
|
|
|
|
|
|
|
|
private DownloadUtil downloadUtil;
|
|
private DownloadUtil downloadUtil;
|
|
|
@Override
|
|
@Override
|
|
@@ -53,8 +62,11 @@ public class FgtDownloadManager extends BaseListFragment6<DownLoadInfo> {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private AbsApiRefresh<DownLoadInfo> apiRefresh;
|
|
private AbsApiRefresh<DownLoadInfo> apiRefresh;
|
|
|
|
|
+ private NetApiRefresh<GameEntity> apiRefresh2;
|
|
|
@Override
|
|
@Override
|
|
|
protected void addApiRefresh(List<IApiRefresh> apiRefreshList) {
|
|
protected void addApiRefresh(List<IApiRefresh> apiRefreshList) {
|
|
|
|
|
+ tagList.add("已安装");
|
|
|
|
|
+ tagList.add("猜你喜欢");
|
|
|
apiRefresh = new AbsApiRefresh<DownLoadInfo>(this) {
|
|
apiRefresh = new AbsApiRefresh<DownLoadInfo>(this) {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -76,11 +88,38 @@ public class FgtDownloadManager extends BaseListFragment6<DownLoadInfo> {
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
apiRefreshList.add(apiRefresh);
|
|
apiRefreshList.add(apiRefresh);
|
|
|
|
|
+
|
|
|
|
|
+ apiRefresh2 = new NetApiRefresh<GameEntity>(this) {
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public String getKey(int page, int per_page) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Observable<BaseMessage> getApi(ApiService apiService) {
|
|
|
|
|
+ return apiService.getFindUserLike();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Class<GameEntity> getTClass() {
|
|
|
|
|
+ return GameEntity.class;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ protected boolean hasMore() {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ apiRefreshList.add(apiRefresh2);
|
|
|
}
|
|
}
|
|
|
|
|
+ private BaseQuickAdapter<DownLoadInfo, BaseViewHolder> downLoadInfoAdapter;
|
|
|
|
|
+ private RecyclerView.Adapter appFormGameCenterAdapter;
|
|
|
|
|
|
|
|
|
|
+ private List<String> tagList = new ArrayList<>();
|
|
|
@Override
|
|
@Override
|
|
|
- protected BaseQuickAdapter<DownLoadInfo, BaseViewHolder> getAdapter() {
|
|
|
|
|
- return new BaseQuickAdapter<DownLoadInfo, BaseViewHolder>(R.layout.item_download_manager, apiRefresh.getList()){
|
|
|
|
|
|
|
+ protected BaseQuickAdapter<String, BaseViewHolder> getAdapter() {
|
|
|
|
|
+ downLoadInfoAdapter = new BaseQuickAdapter<DownLoadInfo, BaseViewHolder>(R.layout.item_download_manager, apiRefresh.getList()){
|
|
|
@Override
|
|
@Override
|
|
|
protected void convert(BaseViewHolder helper, DownLoadInfo item) {
|
|
protected void convert(BaseViewHolder helper, DownLoadInfo item) {
|
|
|
ImageView item_dm_icon_iv = helper.getView(R.id.item_dm_icon_iv);
|
|
ImageView item_dm_icon_iv = helper.getView(R.id.item_dm_icon_iv);
|
|
@@ -92,7 +131,7 @@ public class FgtDownloadManager extends BaseListFragment6<DownLoadInfo> {
|
|
|
|
|
|
|
|
ViewUtil.setImage(item_dm_icon_iv, item.getMIconUrl());
|
|
ViewUtil.setImage(item_dm_icon_iv, item.getMIconUrl());
|
|
|
ViewUtil.setText(item_dm_name_tv, item.getMGameName());
|
|
ViewUtil.setText(item_dm_name_tv, item.getMGameName());
|
|
|
- if(item.getMPercent() == 100){
|
|
|
|
|
|
|
+ if(item.getMPercent() != null && item.getMPercent() == 100){
|
|
|
if(item.getMTotalSize() == null){
|
|
if(item.getMTotalSize() == null){
|
|
|
ViewUtil.setText(item_dm_info_tv, "全部下载完成");
|
|
ViewUtil.setText(item_dm_info_tv, "全部下载完成");
|
|
|
} else {
|
|
} else {
|
|
@@ -110,21 +149,53 @@ public class FgtDownloadManager extends BaseListFragment6<DownLoadInfo> {
|
|
|
Observable.create((ObservableOnSubscribe<Boolean>) emitter -> emitter.onNext(downloadUtil.deleteDownloadTask(item)))
|
|
Observable.create((ObservableOnSubscribe<Boolean>) emitter -> emitter.onNext(downloadUtil.deleteDownloadTask(item)))
|
|
|
.subscribeOn(Schedulers.io())
|
|
.subscribeOn(Schedulers.io())
|
|
|
.observeOn(AndroidSchedulers.mainThread()).
|
|
.observeOn(AndroidSchedulers.mainThread()).
|
|
|
- subscribe(new AbsObserver<Boolean>() {
|
|
|
|
|
- @Override
|
|
|
|
|
- public void onNext(Boolean result) {
|
|
|
|
|
- //删除成功
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ subscribe(new AbsObserver<Boolean>() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void onNext(Boolean result) {
|
|
|
|
|
+ //删除成功
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
updateView(getActivity(), item, item_dm_btn_tv);
|
|
updateView(getActivity(), item, item_dm_btn_tv);
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
+ appFormGameCenterAdapter = new AdpGameCenter4_0(SheepApp.getInstance(), apiRefresh2.getList());
|
|
|
|
|
+ return new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_play_game_list, tagList) {
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ protected void convert(BaseViewHolder holder, String item) {
|
|
|
|
|
+ View item_play_game_list_rl = holder.itemView.findViewById(R.id.item_play_game_list_rl);
|
|
|
|
|
+ View item_play_game_list_top = holder.itemView.findViewById(R.id.item_play_game_list_top);
|
|
|
|
|
+ ViewUtil.setVisibility(item_play_game_list_top, false);
|
|
|
|
|
+ TextView item_play_game_list_tv = holder.itemView.findViewById(R.id.item_play_game_list_tv);
|
|
|
|
|
+ ViewUtil.setText(item_play_game_list_tv, item);
|
|
|
|
|
+ TextView item_play_game_list_more_tv = holder.itemView.findViewById(R.id.item_play_game_list_more_tv);
|
|
|
|
|
+ ViewUtil.setVisibility(item_play_game_list_more_tv, false);
|
|
|
|
|
+ RecyclerView recyclerView = holder.itemView.findViewById(R.id.item_play_game_list_rv);
|
|
|
|
|
+ recyclerView.setHasFixedSize(true);
|
|
|
|
|
+ recyclerView.setNestedScrollingEnabled(false);
|
|
|
|
|
+ int position = holder.getAdapterPosition();
|
|
|
|
|
+ switch (position){
|
|
|
|
|
+ case 0:
|
|
|
|
|
+ ViewUtil.setVisibility(item_play_game_list_rl, !apiRefresh.getList().isEmpty());
|
|
|
|
|
+ recyclerView.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance()));
|
|
|
|
|
+ recyclerView.setAdapter(downLoadInfoAdapter);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ recyclerView.setLayoutManager(new LinearLayoutManager(SheepApp.getInstance(), LinearLayoutManager.HORIZONTAL, false));
|
|
|
|
|
+ recyclerView.setAdapter(appFormGameCenterAdapter);
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//删除所有下载任务与文件
|
|
//删除所有下载任务与文件
|
|
|
public void removeAll() {
|
|
public void removeAll() {
|
|
|
|
|
+ if(apiRefresh == null || apiRefresh.getList().isEmpty()){
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
Observable.just(1).map(integer -> {
|
|
Observable.just(1).map(integer -> {
|
|
|
try {
|
|
try {
|
|
|
downloadUtil.deleteAllDownloadTask();
|
|
downloadUtil.deleteAllDownloadTask();
|
|
@@ -142,7 +213,12 @@ public class FgtDownloadManager extends BaseListFragment6<DownLoadInfo> {
|
|
|
.subscribe(new AbsObserver<Integer>() {
|
|
.subscribe(new AbsObserver<Integer>() {
|
|
|
@Override
|
|
@Override
|
|
|
public void onNext(Integer integer) {
|
|
public void onNext(Integer integer) {
|
|
|
- clear();
|
|
|
|
|
|
|
+ if(apiRefresh != null){
|
|
|
|
|
+ apiRefresh.clear();
|
|
|
|
|
+ if(downLoadInfoAdapter != null){
|
|
|
|
|
+ downLoadInfoAdapter.notifyDataSetChanged();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|