diff --git a/app/src/main/java/com/gh/base/AppUncaHandler.java b/app/src/main/java/com/gh/base/AppUncaHandler.java index dd384bf5fd..0fddcd21e0 100644 --- a/app/src/main/java/com/gh/base/AppUncaHandler.java +++ b/app/src/main/java/com/gh/base/AppUncaHandler.java @@ -12,8 +12,6 @@ import android.widget.Toast; import com.gh.common.constant.Config; import com.gh.common.util.FileUtils; import com.gh.common.util.NetworkUtils; -import com.gh.common.util.RunningUtils; -import com.gh.common.util.Utils; import com.gh.gamecenter.SplashScreenActivity; import com.gh.gamecenter.manager.DataCollectionManager; import com.tencent.stat.StatService; diff --git a/app/src/main/java/com/gh/base/DetailActivity.java b/app/src/main/java/com/gh/base/DetailActivity.java index 6171178436..72fb66ce38 100644 --- a/app/src/main/java/com/gh/base/DetailActivity.java +++ b/app/src/main/java/com/gh/base/DetailActivity.java @@ -363,7 +363,7 @@ public abstract class DetailActivity extends BaseActivity implements View.OnClic method = "下载"; } ApkEntity apkEntity = gameEntity.getApk().get(0); - String msg = FileUtils.isCanDownload(apkEntity.getSize()); + String msg = FileUtils.isCanDownload(this, apkEntity.getSize()); if (TextUtils.isEmpty(msg)) { Map kv = new HashMap<>(); kv.put("版本", apkEntity.getPlatform()); diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java index 6ad6574943..6718778aca 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java @@ -500,7 +500,7 @@ public class DownloadItemUtils { TextView downloadBtn, String entrance, String location) { - String msg = FileUtils.isCanDownload(gameEntity.getApk().get(0).getSize()); + String msg = FileUtils.isCanDownload(context, gameEntity.getApk().get(0).getSize()); if (TextUtils.isEmpty(msg)) { Map kv = new HashMap<>(); kv.put("版本", gameEntity.getApk().get(0).getPlatform()); @@ -550,7 +550,7 @@ public class DownloadItemUtils { TextView downloadBtn, String entrance, String location) { - String msg = FileUtils.isCanDownload(gameEntity.getApk().get(0).getSize()); + String msg = FileUtils.isCanDownload(context, gameEntity.getApk().get(0).getSize()); if (TextUtils.isEmpty(msg)) { Map kv = new HashMap<>(); kv.put("版本", gameEntity.getApk().get(0).getPlatform()); diff --git a/app/src/main/java/com/gh/common/util/FileUtils.java b/app/src/main/java/com/gh/common/util/FileUtils.java index d02803a599..c7455c84d4 100644 --- a/app/src/main/java/com/gh/common/util/FileUtils.java +++ b/app/src/main/java/com/gh/common/util/FileUtils.java @@ -37,7 +37,11 @@ public class FileUtils { File file = new File(dir + File.separator + TEST_FILE_NAME); if (!file.exists()) { try { - file.createNewFile(); + if (!file.createNewFile()) { + // cannot create file + Utils.log("cannot create file"); + dir = null; + } } catch (IOException e) { e.printStackTrace(); //cannot create file @@ -124,7 +128,7 @@ public class FileUtils { return availableBlocks * blockSize / 1024f / 1024f; } - public static String isCanDownload(String size) { + public static String isCanDownload(Context context, String size) { String msg = null; String packageSizeStr = ""; for (int i = 0; i < size.length(); i++) { @@ -136,8 +140,7 @@ public class FileUtils { if (packageSizeStr.length() != 0) { packageSize = Float.valueOf(packageSizeStr); } - float freeSpace = getFreeSpaceByPath(Environment - .getExternalStorageDirectory().getAbsolutePath()); + float freeSpace = getFreeSpaceByPath(getDownloadDir(context)); if (freeSpace < packageSize) { msg = "手机存储空间不足,无法进行下载!"; } diff --git a/app/src/main/java/com/gh/download/DownloadManager.java b/app/src/main/java/com/gh/download/DownloadManager.java index 587f1662cb..32209bea2e 100644 --- a/app/src/main/java/com/gh/download/DownloadManager.java +++ b/app/src/main/java/com/gh/download/DownloadManager.java @@ -90,7 +90,7 @@ public class DownloadManager { public void initGameMap() { gameMap.clear(); - List list = DownloadManager.getInstance(context).getAll(); + List list = getAll(); if (list != null && list.size() != 0) { String name; for (DownloadEntity downloadEntity : list) { diff --git a/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java index 9b47054d9a..15c1a98ec7 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java @@ -385,7 +385,7 @@ public class PlatformAdapter extends RecyclerView.Adapter { // 下载游戏 public void download(ApkEntity apkEntity, TextView download_item_tv_status, String method) { - String msg = FileUtils.isCanDownload(apkEntity.getSize()); + String msg = FileUtils.isCanDownload(context, apkEntity.getSize()); if (TextUtils.isEmpty(msg)) { Map kv = new HashMap<>(); kv.put("版本", apkEntity.getPlatform()); diff --git a/app/src/main/java/com/gh/gamecenter/manager/ConcernManager.java b/app/src/main/java/com/gh/gamecenter/manager/ConcernManager.java index 2447f652c4..ae592fbe42 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/ConcernManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/ConcernManager.java @@ -2,6 +2,7 @@ package com.gh.gamecenter.manager; import android.content.Context; import android.support.v4.util.ArrayMap; +import android.text.TextUtils; import com.gh.common.util.PackageUtils; import com.gh.common.util.TrafficUtils; @@ -31,6 +32,9 @@ public class ConcernManager { * 根据id判断是否已关注 */ public boolean isConcern(String id) { + if (TextUtils.isEmpty(id)) { + return false; + } ConcernInfo concernEntity = dao.find(id); return concernEntity != null && concernEntity.isConcern(); } diff --git a/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java index 86083bc5fb..d7c3289521 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java @@ -282,19 +282,17 @@ public class InstallFragmentAdapter extends RecyclerView.Adapter> map = new ArrayMap<>(); - ArrayList keys = new ArrayList<>(); ArrayList list; for (GameEntity gameEntity : this.gameList) { list = map.get(gameEntity.getId()); if (list == null) { list = new ArrayList<>(); map.put(gameEntity.getId(), list); - keys.add(gameEntity.getId()); } list.add(gameEntity); } list = new ArrayList<>(); - for (String key : keys) { + for (String key : map.keySet()) { list.addAll(map.get(key)); } this.gameList = list; @@ -306,6 +304,7 @@ public class InstallFragmentAdapter extends RecyclerView.Adapter list; for (int i = 0; i < gameList.size(); i++) {