From cbc543b9814ddf128f90b1df31d14deed14ae30f Mon Sep 17 00:00:00 2001 From: huangzhuanghua <401742778@qq.com> Date: Thu, 8 Sep 2016 11:05:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=9A=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E6=97=B6=EF=BC=8C=E4=BD=BF=E7=94=A8=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=BD=91=E7=BB=9C=E7=9A=84=E6=8F=90=E7=A4=BA=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/common/util/DownloadItemUtils.java | 14 +- .../com/gh/common/view/DownloadDialog.java | 74 ++++-- .../gh/gamecenter/GameDetailsActivity.java | 196 ++++++++-------- .../java/com/gh/gamecenter/MainActivity.java | 2 +- .../java/com/gh/gamecenter/NewsActivity.java | 205 ++++++++-------- .../gh/gamecenter/SplashScreenActivity.java | 218 ++++++++---------- .../gh/gamecenter/manager/GameManager.java | 6 + .../search/SearchDetailFragmentAdapter.java | 16 +- .../search/SearchGameListFragmentAdapter.java | 16 +- app/src/main/res/layout/activity_splash.xml | 37 --- .../main/res/layout/activity_splash_intro.xml | 12 + .../res/layout/activity_splash_normal.xml | 24 ++ 12 files changed, 394 insertions(+), 426 deletions(-) delete mode 100644 app/src/main/res/layout/activity_splash.xml create mode 100644 app/src/main/res/layout/activity_splash_intro.xml create mode 100644 app/src/main/res/layout/activity_splash_normal.xml 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 a380d3f057..afa6f11a17 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java @@ -438,18 +438,8 @@ public class DownloadItemUtils { downloadBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(final View v) { - if (NetworkUtils.isWifiConnected(context)) { - DownloadDialog.getInstance(context).showPopupWindow( - v, entity, entrance, download_speed, download_percentage, location); - } else { - DialogUtils.showDownloadDialog(context, new DialogUtils.ConfiremListener() { - @Override - public void onConfirem() { - DownloadDialog.getInstance(context).showPopupWindow( - v, entity, entrance, download_speed, download_percentage, location); - } - }); - } + DownloadDialog.getInstance(context).showPopupWindow( + v, entity, entrance, download_speed, download_percentage, location); } }); } diff --git a/app/src/main/java/com/gh/common/view/DownloadDialog.java b/app/src/main/java/com/gh/common/view/DownloadDialog.java index f46ac02e90..0a108211d6 100644 --- a/app/src/main/java/com/gh/common/view/DownloadDialog.java +++ b/app/src/main/java/com/gh/common/view/DownloadDialog.java @@ -692,7 +692,16 @@ public class DownloadDialog { clickCollectionPosition = viewHolder.getPosition(); } else if (viewHolder.download_item_tv_status.getVisibility() == View.GONE) { //下载游戏 - addDownloadEntry(apkEntity, viewHolder.download_item_tv_status); + if (NetworkUtils.isWifiConnected(context)) { + addDownloadEntry(apkEntity, viewHolder.download_item_tv_status); + } else { + DialogUtils.showDownloadDialog(context, new DialogUtils.ConfiremListener() { + @Override + public void onConfirem() { + addDownloadEntry(apkEntity, viewHolder.download_item_tv_status); + } + }); + } } else { String status = viewHolder.download_item_tv_status.getText().toString(); Utils.log("status = " + status); @@ -711,30 +720,29 @@ public class DownloadDialog { } else if ("安装".equals(status) || "安装更新".equals(status)) { install(apkEntity, viewHolder.getPosition()); } else if ("插件化".equals(status)) { - // 下载插件版游戏 - plugin(apkEntity); + if (NetworkUtils.isWifiConnected(context)) { + plugin(apkEntity); + } else { + DialogUtils.showDownloadDialog(context, new DialogUtils.ConfiremListener() { + @Override + public void onConfirem() { + plugin(apkEntity); + } + }); + } } else if ("安装插件".equals(status)) { showPluginDialog(apkEntity, RecyclerViewAdapter.this, viewHolder.getPosition()); } else if ("更新".equals(status)) { - //下载可更新游戏 - Map kv = new HashMap(); - kv.put("版本", apkEntity.getPlatform()); - kv.put("状态", "下载开始"); - DataUtils.onEvent(context, "游戏更新", gameName, kv); - - DownloadEntry entry = new DownloadEntry(); - entry.setUrl(apkEntity.getUrl()); - entry.setName(gameName); - entry.setPath(FileUtils.getDownloadPath(context, - MD5Utils.getContentMD5( - gameName + "_" + System.currentTimeMillis()) + ".apk")); - HashMap meta = new HashMap(); - meta.put("ETag", apkEntity.getEtag()); - meta.put("icon", gameIcon); - meta.put("platform", apkEntity.getPlatform()); - meta.put("isUpdate", "true"); - entry.setMeta(meta); - DownloadManager.getInstance(context).add(entry); + if (NetworkUtils.isWifiConnected(context)) { + update(apkEntity); + } else { + DialogUtils.showDownloadDialog(context, new DialogUtils.ConfiremListener() { + @Override + public void onConfirem() { + update(apkEntity); + } + }); + } } } } @@ -956,6 +964,28 @@ public class DownloadDialog { } } + //下载可更新游戏 + private void update(ApkEntity apkEntity) { + Map kv = new HashMap(); + kv.put("版本", apkEntity.getPlatform()); + kv.put("状态", "下载开始"); + DataUtils.onEvent(context, "游戏更新", gameName, kv); + + DownloadEntry entry = new DownloadEntry(); + entry.setUrl(apkEntity.getUrl()); + entry.setName(gameName); + entry.setPath(FileUtils.getDownloadPath(context, + MD5Utils.getContentMD5( + gameName + "_" + System.currentTimeMillis()) + ".apk")); + HashMap meta = new HashMap(); + meta.put("ETag", apkEntity.getEtag()); + meta.put("icon", gameIcon); + meta.put("platform", apkEntity.getPlatform()); + meta.put("isUpdate", "true"); + entry.setMeta(meta); + DownloadManager.getInstance(context).add(entry); + } + //下载插件化游戏 private void plugin(ApkEntity apkEntity) { String msg = FileUtils.isCanDownload(apkEntity.getSize()); diff --git a/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java b/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java index 280713827e..cc39471246 100644 --- a/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java +++ b/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java @@ -172,20 +172,25 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis public void onClick(final View v) { switch (v.getId()){ case R.id.gamedetails_tv_download: - Map kv0 = new HashMap(); + Map kv0 = new HashMap<>(); kv0.put("点击", "下载"); - DataUtils.onEvent(GameDetailsActivity.this, "插件数据", gameEntity.getName(), - kv0); + DataUtils.onEvent(GameDetailsActivity.this, "插件数据", gameEntity.getName(), kv0); if (gameEntity.getApk() != null && !gameEntity.getApk().isEmpty()) { - if (NetworkUtils.isWifiConnected(this)) { - download(v); + if (gameEntity.getApk().size() == 1) { + if (NetworkUtils.isWifiConnected(this)) { + download(v); + } else { + DialogUtils.showDownloadDialog(this, new DialogUtils.ConfiremListener() { + @Override + public void onConfirem() { + download(v); + } + }); + } } else { - DialogUtils.showDownloadDialog(this, new DialogUtils.ConfiremListener() { - @Override - public void onConfirem() { - download(v); - } - }); + DownloadDialog.getInstance(GameDetailsActivity.this) + .showPopupWindow(v, gameEntity, entrance + "-游戏详情", + "游戏详情:" + gameEntity.getName()); } } else { toast("稍等片刻~!游戏正在上传中..."); @@ -308,97 +313,90 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis } } private void download(View v) { - if (gameEntity.getApk().size() == 1) { - if (tvDowload.getText().toString().contains("启动")) { + if (tvDowload.getText().toString().contains("启动")) { - Map kv = new HashMap(); - kv.put("版本", gameEntity.getApk().get(0).getPlatform()); - DataUtils.onEvent(GameDetailsActivity.this, "游戏启动", - gameEntity.getName(), kv); + Map kv = new HashMap(); + kv.put("版本", gameEntity.getApk().get(0).getPlatform()); + DataUtils.onEvent(GameDetailsActivity.this, "游戏启动", + gameEntity.getName(), kv); - PackageUtils.launchApplicationByPackageName( - this, gameEntity.getApk().get(0).getPackageName()); - } else { - ApkEntity apkEntity = gameEntity.getApk().get(0); - String msg = FileUtils.isCanDownload(apkEntity.getSize()); - if (TextUtils.isEmpty(msg)) { - Map kv = new HashMap(); - kv.put("版本", apkEntity.getPlatform()); - kv.put("状态", "下载开始"); - DataUtils.onEvent(GameDetailsActivity.this, - "游戏下载", gameEntity.getName(), kv); - - Map kv2 = new HashMap(); - kv2.put("版本", apkEntity.getPlatform()); - kv2.put("状态", "下载开始"); - kv2.put("位置", entrance + "-游戏详情-开始"); - DataUtils.onEvent(GameDetailsActivity.this, - "游戏下载位置", gameEntity.getName(), kv2); - - Map kv3 = new HashMap(); - kv3.put(entrance, "下载数"); - kv3.put(entrance, "下载开始"); - DataUtils.onEvent(GameDetailsActivity.this, - "应用数据", gameEntity.getName(), kv3); - - Map map = new HashMap(); - map.put("game", gameEntity.getName()); - map.put("method", "正常"); - map.put("platform", - PlatformUtils.getInstance( - this) - .getPlatformName( - gameEntity.getApk().get(0) - .getPlatform())); - map.put("status", "开始"); - map.put("location", "游戏详情:" + gameEntity.getName()); - map.put("from", entrance); - map.put("network", - NetworkUtils.getConnectedType(this)); - map.put("createdOn", - System.currentTimeMillis() / 1000); - DataCollectionManager.onEvent(this, "download", map); - - DownloadEntry entry = new DownloadEntry(); - - entry.setUrl(apkEntity.getUrl()); - entry.setName(gameEntity.getName()); - entry.setPath(FileUtils.getDownloadPath( - GameDetailsActivity.this, - MD5Utils.getContentMD5(gameEntity.getName() - + "_" - + System.currentTimeMillis()) - + ".apk")); - HashMap meta = new HashMap(); - meta.put("ETag", apkEntity.getEtag()); - meta.put("icon", gameEntity.getIcon()); - meta.put("platform", apkEntity.getPlatform()); - meta.put("gameId", gameEntity.getId()); - meta.put("entrance", entrance + "-游戏详情"); - meta.put("location", "游戏详情:" + gameEntity.getName()); - entry.setMeta(meta); - - DownloadManager.getInstance(this).add(entry); - - EventBus.getDefault().post(new EBRedDot(1)); - - tvDowload.setVisibility(View.GONE); - progressBar.setVisibility(View.VISIBLE); - tvPer.setVisibility(View.VISIBLE); - progressBar.setProgress(0); - tvPer.setText("0.0%"); - - DownloadManager.getInstance(this).putStatus(entry.getUrl(), "downloading"); - - } else { - toast(msg); - } - } + PackageUtils.launchApplicationByPackageName( + this, gameEntity.getApk().get(0).getPackageName()); } else { - DownloadDialog.getInstance(GameDetailsActivity.this) - .showPopupWindow(v, gameEntity, - entrance + "-游戏详情", - "游戏详情:" + gameEntity.getName()); + ApkEntity apkEntity = gameEntity.getApk().get(0); + String msg = FileUtils.isCanDownload(apkEntity.getSize()); + if (TextUtils.isEmpty(msg)) { + Map kv = new HashMap(); + kv.put("版本", apkEntity.getPlatform()); + kv.put("状态", "下载开始"); + DataUtils.onEvent(GameDetailsActivity.this, + "游戏下载", gameEntity.getName(), kv); + + Map kv2 = new HashMap(); + kv2.put("版本", apkEntity.getPlatform()); + kv2.put("状态", "下载开始"); + kv2.put("位置", entrance + "-游戏详情-开始"); + DataUtils.onEvent(GameDetailsActivity.this, + "游戏下载位置", gameEntity.getName(), kv2); + + Map kv3 = new HashMap(); + kv3.put(entrance, "下载数"); + kv3.put(entrance, "下载开始"); + DataUtils.onEvent(GameDetailsActivity.this, + "应用数据", gameEntity.getName(), kv3); + + Map map = new HashMap(); + map.put("game", gameEntity.getName()); + map.put("method", "正常"); + map.put("platform", + PlatformUtils.getInstance( + this) + .getPlatformName( + gameEntity.getApk().get(0) + .getPlatform())); + map.put("status", "开始"); + map.put("location", "游戏详情:" + gameEntity.getName()); + map.put("from", entrance); + map.put("network", + NetworkUtils.getConnectedType(this)); + map.put("createdOn", + System.currentTimeMillis() / 1000); + DataCollectionManager.onEvent(this, "download", map); + + DownloadEntry entry = new DownloadEntry(); + + entry.setUrl(apkEntity.getUrl()); + entry.setName(gameEntity.getName()); + entry.setPath(FileUtils.getDownloadPath( + GameDetailsActivity.this, + MD5Utils.getContentMD5(gameEntity.getName() + + "_" + + System.currentTimeMillis()) + + ".apk")); + HashMap meta = new HashMap(); + meta.put("ETag", apkEntity.getEtag()); + meta.put("icon", gameEntity.getIcon()); + meta.put("platform", apkEntity.getPlatform()); + meta.put("gameId", gameEntity.getId()); + meta.put("entrance", entrance + "-游戏详情"); + meta.put("location", "游戏详情:" + gameEntity.getName()); + entry.setMeta(meta); + + DownloadManager.getInstance(this).add(entry); + + EventBus.getDefault().post(new EBRedDot(1)); + + tvDowload.setVisibility(View.GONE); + progressBar.setVisibility(View.VISIBLE); + tvPer.setVisibility(View.VISIBLE); + progressBar.setProgress(0); + tvPer.setText("0.0%"); + + DownloadManager.getInstance(this).putStatus(entry.getUrl(), "downloading"); + + } else { + toast(msg); + } } } diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index d0bcd19b22..651ce85633 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -359,7 +359,7 @@ public class MainActivity extends BaseFragmentActivity implements @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - outState.putInt("currentTab" , currentTab); + outState.putInt("currentTab", currentTab); } @Override diff --git a/app/src/main/java/com/gh/gamecenter/NewsActivity.java b/app/src/main/java/com/gh/gamecenter/NewsActivity.java index ce8748585a..8efbf6b7fe 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsActivity.java @@ -388,15 +388,21 @@ public class NewsActivity extends BaseActivity implements OnClickListener { public void onClick(final View v) { if (v == essaydetails_tv_download) { if (gameEntity != null && !gameEntity.getApk().isEmpty()) { - if (NetworkUtils.isWifiConnected(this)) { - download(v); + if (gameEntity.getApk().size() == 1) { + if (NetworkUtils.isWifiConnected(this)) { + download(v); + } else { + DialogUtils.showDownloadDialog(this, new DialogUtils.ConfiremListener() { + @Override + public void onConfirem() { + download(v); + } + }); + } } else { - DialogUtils.showDownloadDialog(this, new DialogUtils.ConfiremListener() { - @Override - public void onConfirem() { - download(v); - } - }); + DownloadDialog.getInstance(NewsActivity.this) + .showPopupWindow(v, gameEntity, entrance + "-文章详情", + "新闻详情:" + entity.getTitle()); } } else { toast("稍等片刻~!游戏正在上传中..."); @@ -451,107 +457,100 @@ public class NewsActivity extends BaseActivity implements OnClickListener { } private void download(View v) { - if (gameEntity.getApk().size() == 1) { - if (essaydetails_tv_download.getText().toString() - .contains("启动")) { + if (essaydetails_tv_download.getText().toString() + .contains("启动")) { + Map kv = new HashMap(); + kv.put("版本", gameEntity.getApk().get(0) + .getPlatform()); + DataUtils.onEvent(NewsActivity.this, "游戏启动", + gameEntity.getName(), kv); + + PackageUtils.launchApplicationByPackageName( + getApplicationContext(), gameEntity + .getApk().get(0).getPackageName()); + } else { + ApkEntity apkEntity = gameEntity.getApk().get(0); + String msg = FileUtils.isCanDownload(apkEntity + .getSize()); + if (TextUtils.isEmpty(msg)) { Map kv = new HashMap(); - kv.put("版本", gameEntity.getApk().get(0) - .getPlatform()); - DataUtils.onEvent(NewsActivity.this, "游戏启动", + kv.put("版本", apkEntity.getPlatform()); + kv.put("状态", "下载开始"); + DataUtils.onEvent(NewsActivity.this, "游戏下载", gameEntity.getName(), kv); - PackageUtils.launchApplicationByPackageName( - getApplicationContext(), gameEntity - .getApk().get(0).getPackageName()); + Map kv2 = new HashMap(); + kv2.put("版本", apkEntity.getPlatform()); + kv2.put("状态", "下载开始"); + kv2.put("位置", entrance + "-文章详情-开始"); + DataUtils.onEvent(NewsActivity.this, "游戏下载位置", + gameEntity.getName(), kv2); + + Map kv3 = new HashMap(); + kv3.put(entrance, "下载数"); + kv3.put(entrance, "下载开始"); + DataUtils.onEvent(NewsActivity.this, "应用数据", + gameEntity.getName(), kv3); + + Map map = new HashMap(); + map.put("game", gameEntity.getName()); + map.put("method", "正常"); + map.put("platform", + PlatformUtils.getInstance( + getApplicationContext()) + .getPlatformName( + gameEntity.getApk() + .get(0) + .getPlatform())); + map.put("status", "开始"); + map.put("location", "新闻详情:" + entity.getTitle()); + map.put("from", entrance); + map.put("network", + NetworkUtils.getConnectedType(this)); + map.put("createdOn", + System.currentTimeMillis() / 1000); + DataCollectionManager.onEvent(this, "download", map); + + DownloadEntry entry = new DownloadEntry(); + + entry.setUrl(apkEntity.getUrl()); + entry.setName(gameEntity.getName()); + entry.setPath(FileUtils.getDownloadPath( + NewsActivity.this, + MD5Utils.getContentMD5(gameEntity + .getName() + + "_" + + System.currentTimeMillis()) + + ".apk")); + HashMap meta = new HashMap(); + meta.put("ETag", apkEntity.getEtag()); + meta.put("icon", gameEntity.getIcon()); + meta.put("platform", apkEntity.getPlatform()); + meta.put("gameId", gameEntity.getId()); + meta.put("entrance", entrance + "-文章详情"); + meta.put("location", + "新闻详情:" + entity.getTitle()); + entry.setMeta(meta); + + DownloadManager.getInstance( + getApplicationContext()).add(entry); + + EventBus.getDefault().post(new EBRedDot(1)); + + essaydetails_tv_download + .setVisibility(View.GONE); + essaydetails_progressbar + .setVisibility(View.VISIBLE); + essaydetails_tv_per.setVisibility(View.VISIBLE); + essaydetails_progressbar.setProgress(0); + essaydetails_tv_per.setText("0.0%"); + + DownloadManager.getInstance(NewsActivity.this).putStatus(entry.getUrl(), "downloading"); + } else { - ApkEntity apkEntity = gameEntity.getApk().get(0); - String msg = FileUtils.isCanDownload(apkEntity - .getSize()); - if (TextUtils.isEmpty(msg)) { - Map kv = new HashMap(); - kv.put("版本", apkEntity.getPlatform()); - kv.put("状态", "下载开始"); - DataUtils.onEvent(NewsActivity.this, "游戏下载", - gameEntity.getName(), kv); - - Map kv2 = new HashMap(); - kv2.put("版本", apkEntity.getPlatform()); - kv2.put("状态", "下载开始"); - kv2.put("位置", entrance + "-文章详情-开始"); - DataUtils.onEvent(NewsActivity.this, "游戏下载位置", - gameEntity.getName(), kv2); - - Map kv3 = new HashMap(); - kv3.put(entrance, "下载数"); - kv3.put(entrance, "下载开始"); - DataUtils.onEvent(NewsActivity.this, "应用数据", - gameEntity.getName(), kv3); - - Map map = new HashMap(); - map.put("game", gameEntity.getName()); - map.put("method", "正常"); - map.put("platform", - PlatformUtils.getInstance( - getApplicationContext()) - .getPlatformName( - gameEntity.getApk() - .get(0) - .getPlatform())); - map.put("status", "开始"); - map.put("location", "新闻详情:" + entity.getTitle()); - map.put("from", entrance); - map.put("network", - NetworkUtils.getConnectedType(this)); - map.put("createdOn", - System.currentTimeMillis() / 1000); - DataCollectionManager.onEvent(this, "download", map); - - DownloadEntry entry = new DownloadEntry(); - - entry.setUrl(apkEntity.getUrl()); - entry.setName(gameEntity.getName()); - entry.setPath(FileUtils.getDownloadPath( - NewsActivity.this, - MD5Utils.getContentMD5(gameEntity - .getName() - + "_" - + System.currentTimeMillis()) - + ".apk")); - HashMap meta = new HashMap(); - meta.put("ETag", apkEntity.getEtag()); - meta.put("icon", gameEntity.getIcon()); - meta.put("platform", apkEntity.getPlatform()); - meta.put("gameId", gameEntity.getId()); - meta.put("entrance", entrance + "-文章详情"); - meta.put("location", - "新闻详情:" + entity.getTitle()); - entry.setMeta(meta); - - DownloadManager.getInstance( - getApplicationContext()).add(entry); - - EventBus.getDefault().post(new EBRedDot(1)); - - essaydetails_tv_download - .setVisibility(View.GONE); - essaydetails_progressbar - .setVisibility(View.VISIBLE); - essaydetails_tv_per.setVisibility(View.VISIBLE); - essaydetails_progressbar.setProgress(0); - essaydetails_tv_per.setText("0.0%"); - - DownloadManager.getInstance(NewsActivity.this).putStatus(entry.getUrl(), "downloading"); - - } else { - toast(msg); - } + toast(msg); } - } else { - DownloadDialog.getInstance(NewsActivity.this) - .showPopupWindow(v, gameEntity, - entrance + "-文章详情", - "新闻详情:" + entity.getTitle()); } } diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index c417f2ca7e..c2adc7b7e5 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -75,19 +75,16 @@ public class SplashScreenActivity extends BaseActivity { private ConcernManager concernManager; private SharedPreferences sp; - private boolean isFirst; private String from; - private long start = 0L; + private boolean isFirst; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - start = System.currentTimeMillis(); - isFirst = true; sp = getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE); @@ -111,14 +108,12 @@ public class SplashScreenActivity extends BaseActivity { } } - setContentView(R.layout.activity_splash); - if (sp.getBoolean("isNewsFirstLaunch", true)) { - findViewById(R.id.splash_ll_normal).setVisibility(View.GONE); - + setContentView(R.layout.activity_splash_intro); ViewPager splash_viewPager = (ViewPager) findViewById(R.id.splash_viewPager); - splash_viewPager.setVisibility(View.VISIBLE); splash_viewPager.setAdapter(new ViewPagerAdapter()); + } else { + setContentView(R.layout.activity_splash_normal); } } @@ -134,22 +129,19 @@ public class SplashScreenActivity extends BaseActivity { @Override public Object instantiateItem(ViewGroup container, int position) { - ImageView iv = new ImageView(SplashScreenActivity.this); -// iv.setBackgroundResource(pics[position]); - ImageUtils.getInstance(SplashScreenActivity.this).display("drawable://" + pics[position], iv, -1); + ImageView imageView = new ImageView(SplashScreenActivity.this); + ImageUtils.getInstance(SplashScreenActivity.this). + display("drawable://" + pics[position], imageView, -1); if (position == pics.length - 1) { - iv.setOnClickListener(new View.OnClickListener() { + imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Intent intent = new Intent(SplashScreenActivity.this, - MainActivity.class); - startActivity(intent); - finish(); + launch(); } }); } - container.addView(iv); - return iv; + container.addView(imageView); + return imageView; } @Override @@ -160,7 +152,6 @@ public class SplashScreenActivity extends BaseActivity { @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); - object = null; } } @@ -169,10 +160,7 @@ public class SplashScreenActivity extends BaseActivity { public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { if (sp.getBoolean("isNewsFirstLaunch", true)) { - Intent intent = new Intent(SplashScreenActivity.this, - MainActivity.class); - startActivity(intent); - finish(); + launch(); } else { return true; } @@ -186,48 +174,39 @@ public class SplashScreenActivity extends BaseActivity { if (hasFocus && isFirst) { isFirst = false; - try { - // 第一次启动,把package.txt文件内容加载进数据库 - if (!sp.getBoolean("isLoadFilter", false)) { - try { - List list = new ArrayList<>(); - BufferedReader reader = new BufferedReader( - new InputStreamReader(getAssets().open( - "package.txt"))); - String line; - while ((line = reader.readLine()) != null) { - list.add(new FilterInfo(line)); - } - reader.close(); - FilterManager filterManager = new FilterManager( - getApplicationContext()); - filterManager.addAllFilter(list); - sp.edit().putBoolean("isLoadFilter", true).apply(); - } catch (IOException e1) { - e1.printStackTrace(); + // 第一次启动,把package.txt文件内容加载进数据库 + if (!sp.getBoolean("isLoadFilter", false)) { + try { + List list = new ArrayList<>(); + BufferedReader reader = new BufferedReader( + new InputStreamReader(getAssets().open("package.txt"))); + String line; + while ((line = reader.readLine()) != null) { + list.add(new FilterInfo(line)); } + reader.close(); + FilterManager filterManager = new FilterManager(getApplicationContext()); + filterManager.addAllFilter(list); + sp.edit().putBoolean("isLoadFilter", true).apply(); + } catch (IOException e1) { + e1.printStackTrace(); } + } - checkUpdateFile(); + checkGhFile(); - concernManager = new ConcernManager(getApplicationContext()); + concernManager = new ConcernManager(getApplicationContext()); - /* - * 更新过滤表,获取自动刷新的cd,获取版本对应表 - */ - String time = sp.getString("filter_time", null); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", - Locale.getDefault()); - String today = format.format(new Date()); - if (!today.equals(time)) { - FilterManager manager = new FilterManager( - getApplicationContext()); - manager.getFilterFromServer(today); - getPlatform(); - } - } catch (Exception e) { - e.printStackTrace(); - toast("抛出异常"); + /* + * 更新过滤表,获取自动刷新的cd,获取版本对应表 + */ + String time = sp.getString("filter_time", null); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()); + String today = format.format(new Date()); + if (!today.equals(time)) { + FilterManager manager = new FilterManager(getApplicationContext()); + manager.getFilterFromServer(today); + getPlatform(); } // 获取下载按钮状态、开启or关闭 @@ -257,33 +236,24 @@ public class SplashScreenActivity extends BaseActivity { JsonObjectExtendedRequest request = new JsonObjectExtendedRequest( Config.HOST + "v1d45/support/setting/ui", new Response.Listener() { - @Override public void onResponse(JSONObject response) { - Utils.log(response.toString()); - // "platform_order":{"normal":["9u","baidu","360"]}} try { Editor editor = sp.edit(); - editor.putInt("download_box_row", response - .getJSONObject("download_box") - .getInt("row")); + editor.putInt("download_box_row", + response.getJSONObject("download_box").getInt("row")); editor.putInt("download_box_column", - response.getJSONObject("download_box") - .getInt("column")); - editor.putInt( - "game_detail_news_type_tab_column", - response.getJSONObject( - "game_detail_news_type_tab") - .getInt("column")); + response.getJSONObject("download_box").getInt("column")); + editor.putInt("game_detail_news_type_tab_column", + response.getJSONObject("game_detail_news_type_tab").getInt("column")); editor.apply(); } catch (JSONException e) { - e.printStackTrace(); } } - }, new Response.ErrorListener() { - + }, + new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { @@ -331,12 +301,12 @@ public class SplashScreenActivity extends BaseActivity { /* * 检查下载文件夹下是否有旧版本的光环助手的包,有则删除 */ - private void checkUpdateFile() { - File file = new File(FileUtils.getDownloadDir(this) + File.separator); - if (file.isDirectory()) { - for (File f : file.listFiles()) { - if (!f.isDirectory() && f.getName().startsWith("光环助手V")) { - String name = f.getName(); + private void checkGhFile() { + File folder = new File(FileUtils.getDownloadDir(this) + File.separator); + if (folder.isDirectory()) { + for (File file : folder.listFiles()) { + if (!file.isDirectory() && file.getName().startsWith("光环助手V")) { + String name = file.getName(); int index = name.indexOf("_"); if (index != -1) { float version = Float.valueOf(name.substring( @@ -344,7 +314,7 @@ public class SplashScreenActivity extends BaseActivity { float currentVersion = Float.valueOf(PackageUtils .getVersion(getApplicationContext())); if (version <= currentVersion) { - f.delete(); + file.delete(); } } } @@ -440,14 +410,13 @@ public class SplashScreenActivity extends BaseActivity { List useParams) { List list = new ArrayList<>(); Gson gson = new Gson(); - ConcernManager manager = new ConcernManager(getApplicationContext()); for (int i = 0, size = data.size(); i < size; i++) { GameDigestEntity gameDigestEntity = gson.fromJson(data.get(i) .toString(), GameDigestEntity.class); GameInfo gameEntity = new GameInfo(); gameEntity.setId(gameDigestEntity.getId()); gameEntity.setPackageName(useParams.get(i)); - manager.updateByEntity(gameEntity, false); + concernManager.updateByEntity(gameEntity, false); list.add(useParams.get(i)); } @@ -687,8 +656,8 @@ public class SplashScreenActivity extends BaseActivity { concernManager.updateByConcern(concernEntity); } } + // 不是第一次启动 if (!sp.getBoolean("isNewsFirstLaunch", true)) { - int height = sp.getInt("actionbar_height", 0); if (height == 0) { final ActionBar actionBar = getActionBar(); @@ -697,53 +666,54 @@ public class SplashScreenActivity extends BaseActivity { } } - Intent intent = new Intent(SplashScreenActivity.this, - MainActivity.class); - - Bundle bundle = getIntent().getExtras(); - if(bundle != null &&bundle.getString("to") != null){ - intentControl(bundle,intent); - }else { - intent.putExtra("from", from); - if ("plugin".equals(from)) { - intent.putExtra("packageName", - getIntent().getStringExtra("packageName")); - } else if ("mipush_news".equals(from)) { - intent.putExtra("entity", - getIntent().getSerializableExtra("entity")); - } else if ("mipush_plugin".equals(from)) { - intent.putExtra("data", getIntent().getStringExtra("data")); - } else if ("plugin_install".equals(from)) { - intent.putExtra("path", getIntent().getStringExtra("path")); - } - } - - Utils.log("time = " + (System.currentTimeMillis() - start)); - - startActivity(intent); - finish(); + launch(); } } + + // 跳转到主界面 + private void launch() { + Intent intent = new Intent(SplashScreenActivity.this, MainActivity.class); + + Bundle bundle = getIntent().getExtras(); + if (bundle != null && bundle.getString("to") != null) { + intentControl(bundle, intent); + } else { + intent.putExtra("from", from); + if ("plugin".equals(from)) { + intent.putExtra("packageName", getIntent().getStringExtra("packageName")); + } else if ("mipush_news".equals(from)) { + intent.putExtra("entity", getIntent().getSerializableExtra("entity")); + } else if ("mipush_plugin".equals(from)) { + intent.putExtra("data", getIntent().getStringExtra("data")); + } else if ("plugin_install".equals(from)) { + intent.putExtra("path", getIntent().getStringExtra("path")); + } + } + + startActivity(intent); + finish(); + } + private void intentControl(Bundle bundle, Intent intent) { String to = bundle.getString("to"); if ("NewsActivity".equals(to)) { - intent.putExtra("newsId" , bundle.getString("newsId")); - intent.putExtra("entrance" , bundle.getString("entrance")); + intent.putExtra("newsId", bundle.getString("newsId")); + intent.putExtra("entrance", bundle.getString("entrance")); } else if("DownloadManagerActivity".equals(to)) { - intent.putExtra("packageName" , bundle.getString("packageName")); + intent.putExtra("packageName", bundle.getString("packageName")); } else if ("GameDetailsActivity".equals(to)) { - intent.putExtra("gameId" , bundle.getString("gameId")); - intent.putExtra("entrance" , bundle.getString("entrance")); + intent.putExtra("gameId", bundle.getString("gameId")); + intent.putExtra("entrance", bundle.getString("entrance")); } else if ("SubjectActivity".equals(to)) { - intent.putExtra("id" , bundle.getString("id")); - intent.putExtra("name" , bundle.getString("name")); - intent.putExtra("order" , bundle.getBoolean("order")); + intent.putExtra("id", bundle.getString("id")); + intent.putExtra("name", bundle.getString("name")); + intent.putExtra("order", bundle.getBoolean("order")); } else if ("ViewImageActivity".equals(to)) { - intent.putExtra("urls" , bundle.getStringArrayList("urls")); - intent.putExtra("current" , bundle.getInt("current",0)); - intent.putExtra("ScaleType" , bundle.getString("ScaleType")); + intent.putExtra("urls", bundle.getStringArrayList("urls")); + intent.putExtra("current", bundle.getInt("current",0)); + intent.putExtra("ScaleType", bundle.getString("ScaleType")); } - intent.putExtra("to" , to); + intent.putExtra("to", to); } } diff --git a/app/src/main/java/com/gh/gamecenter/manager/GameManager.java b/app/src/main/java/com/gh/gamecenter/manager/GameManager.java index 053b88fcc2..d3d4a99bec 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/GameManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/GameManager.java @@ -24,11 +24,17 @@ public class GameManager { } public void addOrUpdate(ArrayList apk, String gameId, String gameName) { + if (apk == null || apk.isEmpty()) { + return; + } ArrayList list = new ArrayList<>(); ArrayList packageNames = new ArrayList<>(); for (ApkEntity apkEntity : apk) { packageNames.add(apkEntity.getPackageName()); } + if (packageNames.isEmpty()) { + return; + } List result = dao.findAll(packageNames); for (GameInfo gameInfo : result) { packageNames.remove(gameInfo.getPackageName()); diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchDetailFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchDetailFragmentAdapter.java index 52ee5f1f8d..2fb64c641e 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchDetailFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchDetailFragmentAdapter.java @@ -18,11 +18,9 @@ import com.gh.base.AppController; import com.gh.common.constant.Config; import com.gh.common.constant.Constants; import com.gh.common.util.DataUtils; -import com.gh.common.util.DialogUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; -import com.gh.common.util.NetworkUtils; import com.gh.common.util.TimestampUtils; import com.gh.common.view.CardLinearLayout; import com.gh.common.view.DownloadDialog; @@ -187,18 +185,8 @@ public class SearchDetailFragmentAdapter extends RecyclerView.Adapter - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_splash_intro.xml b/app/src/main/res/layout/activity_splash_intro.xml new file mode 100644 index 0000000000..9722d3cc22 --- /dev/null +++ b/app/src/main/res/layout/activity_splash_intro.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_splash_normal.xml b/app/src/main/res/layout/activity_splash_normal.xml new file mode 100644 index 0000000000..79fe158e92 --- /dev/null +++ b/app/src/main/res/layout/activity_splash_normal.xml @@ -0,0 +1,24 @@ + + + + + + + + + + \ No newline at end of file