细节修复、部分bug修复

This commit is contained in:
huangzhuanghua
2016-09-19 18:53:04 +08:00
parent 9fbd5ee72b
commit 29ba7a512e
27 changed files with 584 additions and 470 deletions

View File

@ -269,6 +269,7 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
if (sp.getBoolean("autoinstall", true)) {
if (FileUtils.isEmptyFile(downloadEntity.getPath())) {
toast("解析包错误");
DownloadManager.getInstance(MainActivity.this).cancel(downloadEntity.getUrl());
} else {
PackageManager manager = new PackageManager(
getApplicationContext());
@ -743,100 +744,102 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
Runnable runnable = new Runnable() {
@Override
public void run() {
String to = getIntent().getExtras().getString("to");
if(!TextUtils.isEmpty(to)){
Intent toIntent = new Intent(getApplicationContext(), intentClass(to));
if ("NewsDetailActivity".equals(to)) {
toIntent.putExtra("newsId", getIntent().getExtras().getString("newsId"));
toIntent.putExtra("entrance", getIntent().getExtras().getString("entrance"));
} else if("DownloadManagerActivity".equals(to)) {
toIntent.putExtra("packageName" , getIntent().getExtras().getString("packageName"));
toIntent.putExtra("currentItem" , 1);
} else if ("GameDetailActivity".equals(to)) {
toIntent.putExtra("gameId", getIntent().getExtras().getString("gameId"));
toIntent.putExtra("entrance", getIntent().getExtras().getString("entrance"));
} else if ("SubjectActivity".equals(to)) {
toIntent.putExtra("id", getIntent().getExtras().getString("id"));
toIntent.putExtra("name", getIntent().getExtras().getString("name"));
toIntent.putExtra("order", getIntent().getExtras().getBoolean("order"));
} else if ("ViewImageActivity".equals(to)) {
toIntent.putExtra("urls" , getIntent().getExtras().getStringArrayList("urls"));
toIntent.putExtra("current" , getIntent().getExtras().getInt("current",0));
toIntent.putExtra("ScaleType" , getIntent().getExtras().getString("ScaleType"));
}
startActivity(toIntent);
} else {
String from = getIntent().getStringExtra("from");
if (!TextUtils.isEmpty(from)) {
if (from.equals("plugin")) {
String packageName = getIntent().getStringExtra(
"packageName");
Intent intent = new Intent(MainActivity.this,
DownloadManagerActivity.class);
intent.putExtra("currentItem", 1);
intent.putExtra("packageName", packageName);
startActivity(intent);
} else if (from.equals("mipush_news")) {
Intent intent = new Intent(MainActivity.this,
NewsDetailActivity.class);
intent.putExtra("entrance", "小米推送");
intent.putExtra("entity",
getIntent().getSerializableExtra("entity"));
startActivity(intent);
} else if (from.equals("mipush_new_game")) {
Intent intent = new Intent(MainActivity.this,
GameDetailActivity.class);
intent.putExtra("entrance", "小米推送");
startActivity(intent);
} else if (from.equals("mipush_plugin")) {
try {
JSONObject jsonObject = new JSONObject(getIntent()
.getStringExtra("data"));
JSONArray jsonArray = jsonObject.getJSONArray("apk");
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject apk = jsonArray.getJSONObject(i);
String packageName = apk.getString("package");
if (PackageManager.isInstalled(packageName)) {
// 判断是否gh_version是否相同
String gh_version = (String) PackageUtils
.getMetaData(getApplicationContext(),
packageName, "gh_version");
if (gh_version != null) {
gh_version = gh_version.substring(2);
// 判断gh_version是否相同
if (gh_version.equals(apk
.getString("gh_version"))) {
// 判断version是否相同
String version = PackageUtils
.getVersionByPackage(
getApplicationContext(),
packageName);
if (version != null && version.equals(apk
.getString("version"))) {
// 版本相同,无需显示插件更新,继续查看是否有可更新的游戏包
continue;
}
}
}
list.add(packageName);
}
}
if (getIntent() != null && getIntent().getExtras() != null) {
String to = getIntent().getExtras().getString("to");
if(!TextUtils.isEmpty(to)){
Intent toIntent = new Intent(getApplicationContext(), intentClass(to));
if ("NewsDetailActivity".equals(to)) {
toIntent.putExtra("newsId", getIntent().getExtras().getString("newsId"));
toIntent.putExtra("entrance", getIntent().getExtras().getString("entrance"));
} else if("DownloadManagerActivity".equals(to)) {
toIntent.putExtra("packageName" , getIntent().getExtras().getString("packageName"));
toIntent.putExtra("currentItem" , 1);
} else if ("GameDetailActivity".equals(to)) {
toIntent.putExtra("gameId", getIntent().getExtras().getString("gameId"));
toIntent.putExtra("entrance", getIntent().getExtras().getString("entrance"));
} else if ("SubjectActivity".equals(to)) {
toIntent.putExtra("id", getIntent().getExtras().getString("id"));
toIntent.putExtra("name", getIntent().getExtras().getString("name"));
toIntent.putExtra("order", getIntent().getExtras().getBoolean("order"));
} else if ("ViewImageActivity".equals(to)) {
toIntent.putExtra("urls" , getIntent().getExtras().getStringArrayList("urls"));
toIntent.putExtra("current" , getIntent().getExtras().getInt("current",0));
toIntent.putExtra("ScaleType" , getIntent().getExtras().getString("ScaleType"));
}
startActivity(toIntent);
} else {
String from = getIntent().getStringExtra("from");
if (!TextUtils.isEmpty(from)) {
if (from.equals("plugin")) {
String packageName = getIntent().getStringExtra(
"packageName");
Intent intent = new Intent(MainActivity.this,
DownloadManagerActivity.class);
intent.putExtra("currentItem", 1);
intent.putExtra("isPushIntent", true);
intent.putExtra("packageName", packageName);
startActivity(intent);
} catch (JSONException e) {
} else if (from.equals("mipush_news")) {
Intent intent = new Intent(MainActivity.this,
NewsDetailActivity.class);
intent.putExtra("entrance", "小米推送");
intent.putExtra("entity",
getIntent().getSerializableExtra("entity"));
startActivity(intent);
} else if (from.equals("mipush_new_game")) {
Intent intent = new Intent(MainActivity.this,
GameDetailActivity.class);
intent.putExtra("entrance", "小米推送");
startActivity(intent);
} else if (from.equals("mipush_plugin")) {
try {
JSONObject jsonObject = new JSONObject(getIntent()
.getStringExtra("data"));
JSONArray jsonArray = jsonObject.getJSONArray("apk");
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject apk = jsonArray.getJSONObject(i);
String packageName = apk.getString("package");
if (PackageManager.isInstalled(packageName)) {
// 判断是否gh_version是否相同
String gh_version = (String) PackageUtils
.getMetaData(getApplicationContext(),
packageName, "gh_version");
if (gh_version != null) {
gh_version = gh_version.substring(2);
// 判断gh_version是否相同
if (gh_version.equals(apk
.getString("gh_version"))) {
// 判断version是否相同
String version = PackageUtils
.getVersionByPackage(
getApplicationContext(),
packageName);
if (version != null && version.equals(apk
.getString("version"))) {
// 版本相同,无需显示插件更新,继续查看是否有可更新的游戏包
continue;
}
}
}
list.add(packageName);
}
}
Intent intent = new Intent(MainActivity.this,
DownloadManagerActivity.class);
intent.putExtra("currentItem", 1);
intent.putExtra("isPushIntent", true);
startActivity(intent);
} catch (JSONException e) {
e.printStackTrace();
e.printStackTrace();
}
} else if (from.equals("plugin_install")) {
Intent intent = new Intent(MainActivity.this,
DownloadManagerActivity.class);
intent.putExtra("currentItem", 0);
intent.putExtra("path", getIntent().getStringExtra("path"));
startActivity(intent);
}
} else if (from.equals("plugin_install")) {
Intent intent = new Intent(MainActivity.this,
DownloadManagerActivity.class);
intent.putExtra("currentItem", 0);
intent.putExtra("path", getIntent().getStringExtra("path"));
startActivity(intent);
}
}
}