diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 182f2a8376..87c5dacdb1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -222,6 +222,10 @@
+
+
diff --git a/app/src/main/java/com/gh/base/AppController.java b/app/src/main/java/com/gh/base/AppController.java
index 6b85c49c71..2c28883dfa 100644
--- a/app/src/main/java/com/gh/base/AppController.java
+++ b/app/src/main/java/com/gh/base/AppController.java
@@ -10,15 +10,15 @@ import android.support.v4.util.ArrayMap;
import android.text.TextUtils;
import android.util.Log;
-import com.bandeng.MyEventBusIndex;
import com.facebook.drawee.backends.pipeline.Fresco;
+import com.gh.EventBusIndex;
import com.gh.common.constant.Config;
import com.gh.common.util.DataUtils;
import com.gh.common.util.StringUtils;
import com.gh.common.util.TokenUtils;
-import com.lightgame.utils.Utils;
import com.gh.gamecenter.BuildConfig;
import com.leon.channel.helper.ChannelReaderUtil;
+import com.lightgame.utils.Utils;
import com.umeng.message.IUmengRegisterCallback;
import com.umeng.message.PushAgent;
import com.umeng.message.UTrack;
@@ -124,10 +124,6 @@ public class AppController extends Application {
try {
if (shouldInit()) {
MiPushClient.registerPush(this, Config.MIPUSH_APPID, Config.MIPUSH_APPKEY);
- if (BuildConfig.DEBUG) {
- MiPushClient.registerPush(this, Config.DEBUG_MIPUSH_APPID, Config.DEBUG_MIPUSH_APPKEY);
- }
-
}
} catch (Exception e) {
e.printStackTrace();
@@ -158,10 +154,6 @@ public class AppController extends Application {
//友盟推送
final PushAgent pushAgent = PushAgent.getInstance(this);
pushAgent.setAppkeyAndSecret(Config.UMENG_APPKEY, Config.UMENG_MESSAGE_SECRET);
- if (BuildConfig.DEBUG) {
- // 设置debug的key,覆盖掉原值,非debug build这个if分支会被去掉
- pushAgent.setAppkeyAndSecret(Config.DEBUG_UMENG_APPKEY, Config.DEBUG_UMENG_MESSAGE_SECRET);
- }
//注册推送服务,每次调用register方法都会回调该接口
pushAgent.register(new IUmengRegisterCallback() {
@@ -213,7 +205,7 @@ public class AppController extends Application {
// }
// 启用EventBus3.0加速功能
- EventBus.builder().addIndex(new MyEventBusIndex()).installDefaultEventBus();
+ EventBus.builder().addIndex(new EventBusIndex()).installDefaultEventBus();
}
private boolean shouldInit() {
diff --git a/app/src/main/java/com/gh/base/BaseActivity.java b/app/src/main/java/com/gh/base/BaseActivity.java
index ec3574d36a..ab4831eb32 100644
--- a/app/src/main/java/com/gh/base/BaseActivity.java
+++ b/app/src/main/java/com/gh/base/BaseActivity.java
@@ -2,21 +2,17 @@ package com.gh.base;
import android.os.Build;
import android.os.Bundle;
-import android.preference.PreferenceManager;
import android.view.View;
import android.view.View.OnClickListener;
-import android.view.ViewGroup.LayoutParams;
-import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
-import com.gh.download.DownloadManager;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DialogUtils;
-import com.gh.common.util.DisplayUtils;
import com.gh.common.util.PackageUtils;
import com.gh.common.util.RunningUtils;
import com.gh.common.util.ShareUtils;
+import com.gh.download.DownloadManager;
import com.gh.gamecenter.R;
import com.gh.gamecenter.eventbus.EBShowDialog;
import com.lightgame.download.FileUtils;
@@ -34,7 +30,7 @@ import butterknife.ButterKnife;
import static com.gh.common.util.EntranceUtils.KEY_DATA;
import static com.gh.common.util.EntranceUtils.KEY_ENTRANCE;
-public abstract class BaseActivity extends BaseAppCompatToolBarActivity implements OnRequestCallBackListener {
+public abstract class BaseActivity extends BaseAppCompatToolBarActivity {
protected String mEntrance;
private boolean mIsPause;
@@ -65,21 +61,14 @@ public abstract class BaseActivity extends BaseAppCompatToolBarActivity implemen
ButterKnife.bind(this);
- View reuse_actionbar = findViewById(R.id.reuse_actionbar);
- if (reuse_actionbar != null) {
- int actionbar_height = PreferenceManager.getDefaultSharedPreferences(this)
- .getInt("actionbar_height", DisplayUtils.dip2px(getApplicationContext(), 55));
- LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, actionbar_height);
- reuse_actionbar.setLayoutParams(lparams);
-
- findViewById(R.id.actionbar_rl_back).setOnClickListener(
- new OnClickListener() {
- @Override
- public void onClick(View v) {
- finish();
- }
- });
- }
+ View back = findViewById(R.id.actionbar_rl_back);
+ if (back != null)
+ back.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
}
protected void initTitle(String title) {
@@ -161,24 +150,4 @@ public abstract class BaseActivity extends BaseAppCompatToolBarActivity implemen
DownloadManager.getInstance(this).initGameMap();
}
- @Override
- public void loadDone() {
-
- }
-
- @Override
- public void loadDone(Object obj) {
-
- }
-
- @Override
- public void loadError() {
-
- }
-
- @Override
- public void loadEmpty() {
-
- }
-
}
diff --git a/app/src/main/java/com/gh/base/BaseAppCompatToolBarActivity.java b/app/src/main/java/com/gh/base/BaseAppCompatToolBarActivity.java
index c692141925..a730026ae2 100644
--- a/app/src/main/java/com/gh/base/BaseAppCompatToolBarActivity.java
+++ b/app/src/main/java/com/gh/base/BaseAppCompatToolBarActivity.java
@@ -1,15 +1,19 @@
package com.gh.base;
+import android.annotation.TargetApi;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
+import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import com.gh.gamecenter.R;
import com.lightgame.BaseAppCompatActivity;
+import com.lightgame.ToolbarContainer;
+import com.lightgame.ToolbarController;
import com.readystatesoftware.systembartint.SystemBarTintManager;
import java.lang.reflect.Field;
@@ -18,6 +22,7 @@ import java.lang.reflect.Method;
/**
* Created by csheng on 15-10-12.
*/
+@ToolbarContainer
public abstract class BaseAppCompatToolBarActivity extends BaseAppCompatActivity implements ToolbarController {
private Toolbar mToolbar;
@@ -39,8 +44,13 @@ public abstract class BaseAppCompatToolBarActivity extends BaseAppCompatActivity
private void initToolbar() {
mToolbar = (Toolbar) findViewById(R.id.toolbar_navigation);
if (mToolbar != null) {
- mToolbar.setTitle("");
+// mToolbar.setTitle("");
setSupportActionBar(mToolbar);
+ mToolbar.addView(View.inflate(this, R.layout.reuse_actionbar, null));
+ getSupportActionBar().setHomeButtonEnabled(false);
+// getSupportActionBar().setDisplayHomeAsUpEnabled(false);
+// getSupportActionBar().setDisplayShowHomeEnabled(false);
+// getSupportActionBar().setDisplayOptions();
}
}
@@ -98,6 +108,7 @@ public abstract class BaseAppCompatToolBarActivity extends BaseAppCompatActivity
}
}
+ @TargetApi(Build.VERSION_CODES.KITKAT)
protected void setTranslucentStatus(boolean status) {
Window window = getWindow();
WindowManager.LayoutParams winParams = window.getAttributes();
@@ -123,12 +134,16 @@ public abstract class BaseAppCompatToolBarActivity extends BaseAppCompatActivity
@Override
public void setNavigationTitle(int res) {
- mToolbar.setTitle(res);
+ if (mToolbar != null) {
+ mToolbar.setTitle(res);
+ }
}
@Override
public void setNavigationTitle(CharSequence res) {
- mToolbar.setTitle(res);
+ if (mToolbar != null) {
+ mToolbar.setTitle(res);
+ }
}
@Override
diff --git a/app/src/main/java/com/gh/base/BaseDetailActivity.java b/app/src/main/java/com/gh/base/BaseDetailActivity.java
index cbc12ed63b..acb3176f14 100644
--- a/app/src/main/java/com/gh/base/BaseDetailActivity.java
+++ b/app/src/main/java/com/gh/base/BaseDetailActivity.java
@@ -1,396 +1,410 @@
-package com.gh.base;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.widget.RecyclerView;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.ProgressBar;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-
-import com.gh.common.constant.Config;
-import com.gh.common.util.ApkActiveUtils;
-import com.gh.common.util.DataUtils;
-import com.gh.common.util.DialogUtils;
-import com.gh.common.util.DisplayUtils;
-import com.lightgame.download.FileUtils;
-import com.gh.common.util.GameUtils;
-import com.gh.common.util.NetworkUtils;
-import com.gh.common.util.PackageUtils;
-import com.gh.common.util.ShareUtils;
-import com.gh.common.view.DownloadDialog;
-import com.lightgame.download.DataWatcher;
-import com.lightgame.download.DownloadEntity;
-import com.gh.download.DownloadManager;
-import com.gh.gamecenter.DownloadManagerActivity;
-import com.gh.gamecenter.R;
-import com.gh.gamecenter.entity.ApkEntity;
-import com.gh.gamecenter.entity.GameEntity;
-import com.gh.gamecenter.eventbus.EBDownloadStatus;
-import com.gh.gamecenter.eventbus.EBPackage;
-import com.gh.gamecenter.manager.PackageManager;
-import com.tencent.tauth.Tencent;
-
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-/**
- * Created by Administrator on 2016/9/19.
- * 游戏详情、新闻详情基类(控制底部下载栏)
- */
-public abstract class BaseDetailActivity extends BaseActivity implements View.OnClickListener {
-
- protected TextView actionbar_tv_title;
- protected RecyclerView detail_rv_show;
- protected LinearLayout detail_ll_bottom;
- protected TextView detail_tv_download;
- protected ProgressBar detail_pb_progressbar;
- protected TextView detail_tv_per;
- protected LinearLayout reuse_ll_loading;
- protected LinearLayout reuse_no_connection;
- protected LinearLayout reuse_none_data;
- protected TextView reuse_tv_none_data;
- protected ImageView iv_share;
-
- protected GameEntity gameEntity;
- protected DownloadEntity mDownloadEntity;
-
- protected String name;
- protected String title;
- protected String downloadAddWord;
- protected String downloadOffText;
-
- private DataWatcher dataWatcher = new DataWatcher() {
- @Override
- public void onDataChanged(DownloadEntity downloadEntity) {
- if (gameEntity != null && gameEntity.getApk().size() == 1) {
- String url = gameEntity.getApk().get(0).getUrl();
- if (url.equals(downloadEntity.getUrl())) {
- if (!"pause".equals(DownloadManager.getInstance(BaseDetailActivity.this).
- getStatus(downloadEntity.getUrl()))) {
- mDownloadEntity = downloadEntity;
- invalidate();
- }
- }
- }
- }
- };
-
- @Override
- protected int getLayoutId() {
- return R.layout.activity_detail;
- }
-
- //接收QQ或者QQ空间分享回调
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
-
- if (requestCode == com.tencent.connect.common.Constants.REQUEST_QQ_SHARE
- || requestCode == com.tencent.connect.common.Constants.REQUEST_QZONE_SHARE) {
- Tencent.onActivityResultData(requestCode, resultCode, data, ShareUtils.getInstance(this).QqShareListener);
- }
-
- }
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- // 添加分享图标
- iv_share = new ImageView(this);
- iv_share.setImageResource(R.drawable.ic_share);
- iv_share.setOnClickListener(this);
- iv_share.setVisibility(View.GONE);
- iv_share.setPadding(DisplayUtils.dip2px(this, 13), DisplayUtils.dip2px(this, 11)
- , DisplayUtils.dip2px(this, 11), DisplayUtils.dip2px(this, 13));
- RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
- DisplayUtils.dip2px(this, 48), DisplayUtils.dip2px(this, 48));
- params.addRule(RelativeLayout.CENTER_VERTICAL);
- params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
- RelativeLayout reuse_actionbar = (RelativeLayout) mContentView.findViewById(
- R.id.reuse_actionbar);
- reuse_actionbar.addView(iv_share, params);
-
- actionbar_tv_title = (TextView) findViewById(R.id.actionbar_tv_title);
- detail_rv_show = (RecyclerView) findViewById(R.id.detail_rv_show);
- detail_ll_bottom = (LinearLayout) findViewById(R.id.detail_ll_bottom);
- detail_tv_download = (TextView) findViewById(R.id.detail_tv_download);
- detail_pb_progressbar = (ProgressBar) findViewById(R.id.detail_pb_progressbar);
- detail_tv_per = (TextView) findViewById(R.id.detail_tv_per);
- reuse_ll_loading = (LinearLayout) findViewById(R.id.reuse_ll_loading);
- reuse_no_connection = (LinearLayout) findViewById(R.id.reuse_no_connection);
- reuse_none_data = (LinearLayout) findViewById(R.id.reuse_none_data);
- reuse_tv_none_data = (TextView) findViewById(R.id.reuse_tv_none_data);
-
- detail_ll_bottom.setOnClickListener(this);
- detail_tv_download.setOnClickListener(this);
- detail_pb_progressbar.setOnClickListener(this);
- detail_tv_per.setOnClickListener(this);
- reuse_no_connection.setOnClickListener(this);
-
- }
-
- @Override
- protected void onPause() {
- super.onPause();
- DownloadManager.getInstance(this).removeObserver(dataWatcher);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- if (gameEntity != null
- && gameEntity.getApk() != null
- && gameEntity.getApk().size() == 1) {
- initDownload(true);
- }
- DownloadManager.getInstance(this).addObserver(dataWatcher);
- }
-
- protected void initDownload(boolean isCheck) {
- if (Config.isShow(this)) {
- detail_ll_bottom.setVisibility(View.VISIBLE);
- detail_rv_show.setPadding(0, 0, 0,
- DisplayUtils.dip2px(getApplicationContext(), 60));
- } else {
- detail_ll_bottom.setVisibility(View.GONE);
- detail_rv_show.setPadding(0, 0, 0, 0);
- }
- if (gameEntity != null && "光环助手".equals(gameEntity.getName())) {
- detail_ll_bottom.setVisibility(View.GONE);
- detail_rv_show.setPadding(0, 0, 0, 0);
- } else if (gameEntity == null || gameEntity.getApk().isEmpty()) {
- detail_tv_download.setVisibility(View.VISIBLE);
- detail_pb_progressbar.setVisibility(View.GONE);
- detail_tv_per.setVisibility(View.GONE);
- if (TextUtils.isEmpty(downloadOffText)) {
- detail_tv_download.setText("暂无下载");
- } else {
- detail_tv_download.setText(downloadOffText);
- }
- detail_tv_download.setBackgroundResource(R.drawable.game_item_btn_pause_style);
- detail_tv_download.setTextColor(0xFF999999);
- detail_tv_download.setClickable(false);
- } else {
- detail_tv_download.setVisibility(View.VISIBLE);
- detail_pb_progressbar.setVisibility(View.GONE);
- detail_tv_per.setVisibility(View.GONE);
- boolean isInstalled = false;
- if (gameEntity.getApk() != null && gameEntity.getApk().size() == 1
- && PackageManager.isInstalled(gameEntity.getApk().get(0).getPackageName())) {
- isInstalled = true;
- }
- if (isInstalled) {
- if (PackageManager.isCanUpdate(gameEntity.getId(), gameEntity.getApk().get(0).getPackageName())) {
- if (TextUtils.isEmpty(downloadAddWord)) {
- detail_tv_download.setBackgroundResource(
- R.drawable.game_item_btn_download_style);
- detail_tv_download.setText(String.format("更新《%s》",
- gameEntity.getName()));
- } else {
- detail_tv_download.setBackgroundResource(
- R.drawable.game_item_btn_download_style);
- detail_tv_download.setText(String.format("更新《%s》%s",
- gameEntity.getName(), downloadAddWord));
- }
- } else {
- if (gameEntity.getTag() != null && gameEntity.getTag().size() != 0
- && !TextUtils.isEmpty(gameEntity.getApk().get(0).getGhVersion())
- && !PackageUtils.isSignature(this, gameEntity.getApk().get(0).getPackageName())) {
- if (TextUtils.isEmpty(downloadAddWord)) {
- detail_tv_download.setBackgroundResource(
- R.drawable.game_item_btn_plugin_style);
- detail_tv_download.setText(String.format("插件化《%s》",
- gameEntity.getName()));
- } else {
- detail_tv_download.setBackgroundResource(
- R.drawable.game_item_btn_plugin_style);
- detail_tv_download.setText(String.format("插件化《%s》%s",
- gameEntity.getName(), downloadAddWord));
- }
- } else {
- if (TextUtils.isEmpty(downloadAddWord)) {
- detail_tv_download.setBackgroundResource(
- R.drawable.game_item_btn_launch_style);
- detail_tv_download.setText(String.format("启动《%s》",
- gameEntity.getName()));
- } else {
- detail_tv_download.setBackgroundResource(
- R.drawable.game_item_btn_launch_style);
- detail_tv_download.setText(String.format("启动《%s》%s",
- gameEntity.getName(), downloadAddWord));
- }
- }
- }
- } else {
- String status = GameUtils.getDownloadBtnText(this, gameEntity);
-
- switch (status) {
- case "插件化":
- detail_tv_download.setBackgroundResource(R.drawable.game_item_btn_plugin_style);
- break;
- case "打开":
- detail_tv_download.setBackgroundResource(R.drawable.game_item_btn_launch_style);
- break;
- default:
- detail_tv_download.setBackgroundResource(R.drawable.game_item_btn_download_style);
- break;
- }
-
- if (TextUtils.isEmpty(downloadAddWord)) {
- detail_tv_download.setText(String.format(status + "《%s》",
- gameEntity.getName()));
- } else {
- detail_tv_download.setText(String.format(status + "《%s》%s",
- gameEntity.getName(), downloadAddWord));
- }
- }
- }
- if (isCheck && gameEntity != null
- && gameEntity.getApk() != null
- && gameEntity.getApk().size() == 1) {
- String url = gameEntity.getApk().get(0).getUrl();
- DownloadEntity downloadEntity = DownloadManager.getInstance(getApplicationContext()).get(url);
- if (downloadEntity != null) {
- mDownloadEntity = downloadEntity;
- detail_tv_download.setVisibility(View.GONE);
- detail_pb_progressbar.setVisibility(View.VISIBLE);
- detail_tv_per.setVisibility(View.VISIBLE);
- invalidate();
- }
- }
- }
-
- private void invalidate() {
- detail_pb_progressbar.setProgress((int) (mDownloadEntity.getPercent() * 10));
- detail_tv_per.setTextColor(0xFFFFFFFF);
- switch (mDownloadEntity.getStatus()) {
- case downloading:
- case pause:
- case timeout:
- case neterror:
- case waiting:
- detail_tv_per.setText("下载中");
- break;
- case done:
- detail_tv_per.setText("安装");
- if (mDownloadEntity.isPluggable()
- && PackageManager.isInstalled(mDownloadEntity.getPackageName())) {
- detail_pb_progressbar.setProgressDrawable(ContextCompat.getDrawable(this, R.drawable.progressbar_plugin_radius_style));
- } else {
- detail_pb_progressbar.setProgressDrawable(ContextCompat.getDrawable(this, R.drawable.progressbar_normal_radius_style));
- }
- break;
- case cancel:
- case hijack:
- case notfound:
- initDownload(false);
- break;
- default:
- break;
- }
- }
-
- // 接收下载被删除消息
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onEvent(EBDownloadStatus status) {
- if ("delete".equals(status.getStatus())
- && gameEntity != null
- && gameEntity.getApk() != null
- && gameEntity.getApk().size() == 1) {
- String url = gameEntity.getApk().get(0).getUrl();
- if (url.equals(status.getUrl())) {
- initDownload(false);
- }
- }
- }
-
- // 接受安装、卸载消息
- @Subscribe(threadMode = ThreadMode.MAIN)
- public void onEventMainThread(EBPackage busFour) {
- if (gameEntity != null
- && gameEntity.getApk() != null
- && gameEntity.getApk().size() > 0) {
- for (ApkEntity apkEntity : gameEntity.getApk()) {
- String packageName = apkEntity.getPackageName();
- if (packageName.equals(busFour.getPackageName())) {
- ApkActiveUtils.filterHideApk(gameEntity);
- initDownload(false);
- }
- }
- }
- }
-
- @Override
- public void onClick(View v) {
- if (v == detail_tv_download) {
- if (gameEntity != null && !gameEntity.getApk().isEmpty()) {
- if (gameEntity.getApk().size() == 1) {
- if (NetworkUtils.isWifiConnected(this)) {
- download();
- } else {
- DialogUtils.showDownloadDialog(this, new DialogUtils.ConfirmListener() {
- @Override
- public void onConfirm() {
- download();
- }
- });
- }
- } else {
- DownloadDialog.getInstance(this).showPopupWindow(v, gameEntity, mEntrance, name + ":" + title);
- }
- } else {
- toast("稍等片刻~!游戏正在上传中...");
- }
- } else if (v == detail_pb_progressbar || v == detail_tv_per) {
- String str = detail_tv_per.getText().toString();
- if ("下载中".equals(str)) {
- DownloadManagerActivity.startDownloadManagerActivity(this, gameEntity.getApk().get(0).getUrl()
- , mEntrance + "+(" + name + "[" + title + "])");
- } else if ("安装".equals(str)) {
- PackageUtils.launchSetup(this, mDownloadEntity.getPath());
- }
- }
- }
-
- private void download() {
- String str = detail_tv_download.getText().toString();
- if (str.contains("启动")) {
- DataUtils.onGameLaunchEvent(this, gameEntity.getName(), gameEntity.getApk().get(0).getPlatform(), name);
-
- PackageUtils.launchApplicationByPackageName(this, gameEntity.getApk().get(0).getPackageName());
- } else {
- String method;
- if (str.contains("更新")) {
- method = "更新";
- } else if (str.contains("插件化")) {
- method = "插件化";
- } else {
- method = "下载";
- }
- ApkEntity apkEntity = gameEntity.getApk().get(0);
- String msg = FileUtils.isCanDownload(this, apkEntity.getSize());
- if (TextUtils.isEmpty(msg)) {
- DataUtils.onGameDownloadEvent(this, gameEntity.getName(), apkEntity.getPlatform(), mEntrance, "下载开始");
-
- DownloadManager.createDownload(this, apkEntity, gameEntity, method, mEntrance, name + ":" + title);
-
- detail_tv_download.setVisibility(View.GONE);
- detail_pb_progressbar.setVisibility(View.VISIBLE);
- detail_tv_per.setVisibility(View.VISIBLE);
- detail_pb_progressbar.setProgress(0);
- detail_tv_per.setText("0.0%");
-
-// DownloadManager.getInstance(BaseDetailActivity.this).putStatus(apkEntity.getUrl(), "downloading");
- } else {
- toast(msg);
- }
- }
- }
-
-}
+//package com.gh.base;
+//
+//import android.content.Intent;
+//import android.os.Bundle;
+//import android.support.v4.content.ContextCompat;
+//import android.text.TextUtils;
+//import android.view.View;
+//import android.widget.ImageView;
+//import android.widget.LinearLayout;
+//import android.widget.ProgressBar;
+//import android.widget.RelativeLayout;
+//import android.widget.TextView;
+//
+//import com.gh.common.constant.Config;
+//import com.gh.common.util.ApkActiveUtils;
+//import com.gh.common.util.DataUtils;
+//import com.gh.common.util.DialogUtils;
+//import com.gh.common.util.DisplayUtils;
+//import com.gh.common.util.GameUtils;
+//import com.gh.common.util.NetworkUtils;
+//import com.gh.common.util.PackageUtils;
+//import com.gh.common.util.ShareUtils;
+//import com.gh.common.view.DownloadDialog;
+//import com.gh.download.DownloadManager;
+//import com.gh.gamecenter.DownloadManagerActivity;
+//import com.gh.gamecenter.R;
+//import com.gh.gamecenter.entity.ApkEntity;
+//import com.gh.gamecenter.entity.GameEntity;
+//import com.gh.gamecenter.eventbus.EBDownloadStatus;
+//import com.gh.gamecenter.eventbus.EBPackage;
+//import com.gh.gamecenter.manager.PackageManager;
+//import com.lightgame.download.DataWatcher;
+//import com.lightgame.download.DownloadEntity;
+//import com.lightgame.download.FileUtils;
+//import com.tencent.tauth.Tencent;
+//
+//import org.greenrobot.eventbus.Subscribe;
+//import org.greenrobot.eventbus.ThreadMode;
+//
+//import butterknife.BindView;
+//import butterknife.OnClick;
+//
+///**
+// * Created by Administrator on 2016/9/19.
+// * 游戏详情、新闻详情基类(控制底部下载栏)
+// */
+//public abstract class BaseDetailActivity extends BaseActivity implements View.OnClickListener {
+//
+// @BindView(R.id.actionbar_tv_title)
+// protected TextView actionbar_tv_title;
+//
+//// @BindView(R.id.detail_rv_show)
+//// protected RecyclerView detail_rv_show;
+//
+// @BindView(R.id.detail_ll_bottom)
+// protected LinearLayout detail_ll_bottom;
+//
+// @BindView(R.id.detail_tv_download)
+// protected TextView detail_tv_download;
+//
+// @BindView(R.id.detail_pb_progressbar)
+// protected ProgressBar detail_pb_progressbar;
+//
+// @BindView(R.id.detail_tv_per)
+// protected TextView detail_tv_per;
+//
+// @BindView(R.id.reuse_ll_loading)
+// protected LinearLayout reuse_ll_loading;
+//
+// @BindView(R.id.reuse_no_connection)
+// protected LinearLayout reuse_no_connection;
+//
+// @BindView(R.id.reuse_none_data)
+// protected LinearLayout reuse_none_data;
+//
+// @BindView(R.id.reuse_tv_none_data)
+// protected TextView reuse_tv_none_data;
+//
+// protected ImageView iv_share;
+//
+// protected GameEntity gameEntity;
+// protected DownloadEntity mDownloadEntity;
+//
+// protected String name;
+// protected String title;
+// protected String downloadAddWord;
+// protected String downloadOffText;
+//
+// private DataWatcher dataWatcher = new DataWatcher() {
+// @Override
+// public void onDataChanged(DownloadEntity downloadEntity) {
+// if (gameEntity != null && gameEntity.getApk().size() == 1) {
+// String url = gameEntity.getApk().get(0).getUrl();
+// if (url.equals(downloadEntity.getUrl())) {
+// if (!"pause".equals(DownloadManager.getInstance(getApplicationContext()).
+// getStatus(downloadEntity.getUrl()))) {
+// mDownloadEntity = downloadEntity;
+// invalidate();
+// }
+// }
+// }
+// }
+// };
+//
+// @Override
+// protected int getLayoutId() {
+// return R.layout.activity_detail;
+// }
+//
+// //接收QQ或者QQ空间分享回调
+// @Override
+// protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+// super.onActivityResult(requestCode, resultCode, data);
+//
+// if (requestCode == com.tencent.connect.common.Constants.REQUEST_QQ_SHARE
+// || requestCode == com.tencent.connect.common.Constants.REQUEST_QZONE_SHARE) {
+// Tencent.onActivityResultData(requestCode, resultCode, data, ShareUtils.getInstance(this).QqShareListener);
+// }
+//
+// }
+//
+// @Override
+// protected void onCreate(Bundle savedInstanceState) {
+// super.onCreate(savedInstanceState);
+//
+// // 添加分享图标
+// iv_share = new ImageView(this);
+// iv_share.setImageResource(R.drawable.ic_share);
+// iv_share.setOnClickListener(this);
+// iv_share.setVisibility(View.GONE);
+// iv_share.setPadding(DisplayUtils.dip2px(this, 13), DisplayUtils.dip2px(this, 11)
+// , DisplayUtils.dip2px(this, 11), DisplayUtils.dip2px(this, 13));
+// RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
+// DisplayUtils.dip2px(this, 48), DisplayUtils.dip2px(this, 48));
+// params.addRule(RelativeLayout.CENTER_VERTICAL);
+// params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
+// RelativeLayout reuse_actionbar = (RelativeLayout) mContentView.findViewById(R.id.reuse_actionbar);
+// reuse_actionbar.addView(iv_share, params);
+//
+// }
+//
+// @Override
+// protected void onPause() {
+// super.onPause();
+// DownloadManager.getInstance(this).removeObserver(dataWatcher);
+// }
+//
+// @Override
+// protected void onResume() {
+// super.onResume();
+// if (gameEntity != null
+// && gameEntity.getApk() != null
+// && gameEntity.getApk().size() == 1) {
+// initDownload(true);
+// }
+// DownloadManager.getInstance(this).addObserver(dataWatcher);
+// }
+//
+// protected void initDownload(boolean isCheck) {
+// if (Config.isShow(this)) {
+// detail_ll_bottom.setVisibility(View.VISIBLE);
+//// detail_rv_show.setPadding(0, 0, 0,
+//// DisplayUtils.dip2px(getApplicationContext(), 60));
+// } else {
+// detail_ll_bottom.setVisibility(View.GONE);
+//// detail_rv_show.setPadding(0, 0, 0, 0);
+// }
+// if (gameEntity != null && "光环助手".equals(gameEntity.getName())) {
+// detail_ll_bottom.setVisibility(View.GONE);
+//// detail_rv_show.setPadding(0, 0, 0, 0);
+// } else if (gameEntity == null || gameEntity.getApk().isEmpty()) {
+// detail_tv_download.setVisibility(View.VISIBLE);
+// detail_pb_progressbar.setVisibility(View.GONE);
+// detail_tv_per.setVisibility(View.GONE);
+// if (TextUtils.isEmpty(downloadOffText)) {
+// detail_tv_download.setText("暂无下载");
+// } else {
+// detail_tv_download.setText(downloadOffText);
+// }
+// detail_tv_download.setBackgroundResource(R.drawable.game_item_btn_pause_style);
+// detail_tv_download.setTextColor(0xFF999999);
+// detail_tv_download.setClickable(false);
+// } else {
+// detail_tv_download.setVisibility(View.VISIBLE);
+// detail_pb_progressbar.setVisibility(View.GONE);
+// detail_tv_per.setVisibility(View.GONE);
+// boolean isInstalled = false;
+// if (gameEntity.getApk() != null && gameEntity.getApk().size() == 1
+// && PackageManager.isInstalled(gameEntity.getApk().get(0).getPackageName())) {
+// isInstalled = true;
+// }
+// if (isInstalled) {
+// if (PackageManager.isCanUpdate(gameEntity.getId(), gameEntity.getApk().get(0).getPackageName())) {
+// if (TextUtils.isEmpty(downloadAddWord)) {
+// detail_tv_download.setBackgroundResource(
+// R.drawable.game_item_btn_download_style);
+// detail_tv_download.setText(String.format("更新《%s》",
+// gameEntity.getName()));
+// } else {
+// detail_tv_download.setBackgroundResource(
+// R.drawable.game_item_btn_download_style);
+// detail_tv_download.setText(String.format("更新《%s》%s",
+// gameEntity.getName(), downloadAddWord));
+// }
+// } else {
+// if (gameEntity.getTag() != null && gameEntity.getTag().size() != 0
+// && !TextUtils.isEmpty(gameEntity.getApk().get(0).getGhVersion())
+// && !PackageUtils.isSignature(this, gameEntity.getApk().get(0).getPackageName())) {
+// if (TextUtils.isEmpty(downloadAddWord)) {
+// detail_tv_download.setBackgroundResource(
+// R.drawable.game_item_btn_plugin_style);
+// detail_tv_download.setText(String.format("插件化《%s》",
+// gameEntity.getName()));
+// } else {
+// detail_tv_download.setBackgroundResource(
+// R.drawable.game_item_btn_plugin_style);
+// detail_tv_download.setText(String.format("插件化《%s》%s",
+// gameEntity.getName(), downloadAddWord));
+// }
+// } else {
+// if (TextUtils.isEmpty(downloadAddWord)) {
+// detail_tv_download.setBackgroundResource(
+// R.drawable.game_item_btn_launch_style);
+// detail_tv_download.setText(String.format("启动《%s》",
+// gameEntity.getName()));
+// } else {
+// detail_tv_download.setBackgroundResource(
+// R.drawable.game_item_btn_launch_style);
+// detail_tv_download.setText(String.format("启动《%s》%s",
+// gameEntity.getName(), downloadAddWord));
+// }
+// }
+// }
+// } else {
+// String status = GameUtils.getDownloadBtnText(this, gameEntity);
+//
+// switch (status) {
+// case "插件化":
+// detail_tv_download.setBackgroundResource(R.drawable.game_item_btn_plugin_style);
+// break;
+// case "打开":
+// detail_tv_download.setBackgroundResource(R.drawable.game_item_btn_launch_style);
+// break;
+// default:
+// detail_tv_download.setBackgroundResource(R.drawable.game_item_btn_download_style);
+// break;
+// }
+//
+// if (TextUtils.isEmpty(downloadAddWord)) {
+// detail_tv_download.setText(String.format(status + "《%s》",
+// gameEntity.getName()));
+// } else {
+// detail_tv_download.setText(String.format(status + "《%s》%s",
+// gameEntity.getName(), downloadAddWord));
+// }
+// }
+// }
+// if (isCheck && gameEntity != null
+// && gameEntity.getApk() != null
+// && gameEntity.getApk().size() == 1) {
+// String url = gameEntity.getApk().get(0).getUrl();
+// DownloadEntity downloadEntity = DownloadManager.getInstance(getApplicationContext()).getDownloadEntityByUrl(url);
+// if (downloadEntity != null) {
+// mDownloadEntity = downloadEntity;
+// detail_tv_download.setVisibility(View.GONE);
+// detail_pb_progressbar.setVisibility(View.VISIBLE);
+// detail_tv_per.setVisibility(View.VISIBLE);
+// invalidate();
+// }
+// }
+// }
+//
+// private void invalidate() {
+// detail_pb_progressbar.setProgress((int) (mDownloadEntity.getPercent() * 10));
+// detail_tv_per.setTextColor(0xFFFFFFFF);
+// switch (mDownloadEntity.getStatus()) {
+// case downloading:
+// case pause:
+// case timeout:
+// case neterror:
+// case waiting:
+// detail_tv_per.setText("下载中");
+// break;
+// case done:
+// detail_tv_per.setText("安装");
+// if (mDownloadEntity.isPluggable()
+// && PackageManager.isInstalled(mDownloadEntity.getPackageName())) {
+// detail_pb_progressbar.setProgressDrawable(ContextCompat.getDrawable(this, R.drawable.progressbar_plugin_radius_style));
+// } else {
+// detail_pb_progressbar.setProgressDrawable(ContextCompat.getDrawable(this, R.drawable.progressbar_normal_radius_style));
+// }
+// break;
+// case cancel:
+// case hijack:
+// case notfound:
+// initDownload(false);
+// break;
+// default:
+// break;
+// }
+// }
+//
+// // 接收下载被删除消息
+// @Subscribe(threadMode = ThreadMode.MAIN)
+// public void onEvent(EBDownloadStatus status) {
+// if ("delete".equals(status.getStatus())
+// && gameEntity != null
+// && gameEntity.getApk() != null
+// && gameEntity.getApk().size() == 1) {
+// String url = gameEntity.getApk().get(0).getUrl();
+// if (url.equals(status.getUrl())) {
+// initDownload(false);
+// }
+// }
+// }
+//
+// // 接受安装、卸载消息
+// @Subscribe(threadMode = ThreadMode.MAIN)
+// public void onEventMainThread(EBPackage busFour) {
+// if (gameEntity != null
+// && gameEntity.getApk() != null
+// && gameEntity.getApk().size() > 0) {
+// for (ApkEntity apkEntity : gameEntity.getApk()) {
+// String packageName = apkEntity.getPackageName();
+// if (packageName.equals(busFour.getPackageName())) {
+// ApkActiveUtils.filterHideApk(gameEntity);
+// initDownload(false);
+// }
+// }
+// }
+// }
+//
+// @OnClick({R.id.detail_ll_bottom,
+// R.id.detail_tv_download,
+// R.id.detail_pb_progressbar,
+// R.id.detail_tv_per,
+// R.id.reuse_no_connection})
+// @Override
+// public void onClick(View v) {
+// switch (v.getId()) {
+// case R.id.detail_tv_download:
+// if (gameEntity != null && !gameEntity.getApk().isEmpty()) {
+// if (gameEntity.getApk().size() == 1) {
+// if (NetworkUtils.isWifiConnected(this)) {
+// download();
+// } else {
+// DialogUtils.showDownloadDialog(this, new DialogUtils.ConfirmListener() {
+// @Override
+// public void onConfirm() {
+// download();
+// }
+// });
+// }
+// } else {
+// DownloadDialog.getInstance(this).showPopupWindow(v, gameEntity, mEntrance, name + ":" + title);
+// }
+// } else {
+// toast("稍等片刻~!游戏正在上传中...");
+// }
+// break;
+// case R.id.detail_pb_progressbar:
+// case R.id.detail_tv_per:
+// String str = detail_tv_per.getText().toString();
+// if ("下载中".equals(str)) {
+// DownloadManagerActivity.startDownloadManagerActivity(this, gameEntity.getApk().get(0).getUrl()
+// , mEntrance + "+(" + name + "[" + title + "])");
+// } else if ("安装".equals(str)) {
+// PackageUtils.launchSetup(this, mDownloadEntity.getPath());
+// }
+// break;
+// default:
+// break;
+// }
+// }
+//
+// private void download() {
+// String str = detail_tv_download.getText().toString();
+// if (str.contains("启动")) {
+// DataUtils.onGameLaunchEvent(this, gameEntity.getName(), gameEntity.getApk().get(0).getPlatform(), name);
+// PackageUtils.launchApplicationByPackageName(this, gameEntity.getApk().get(0).getPackageName());
+// } else {
+// String method;
+// if (str.contains("更新")) {
+// method = "更新";
+// } else if (str.contains("插件化")) {
+// method = "插件化";
+// } else {
+// method = "下载";
+// }
+// ApkEntity apkEntity = gameEntity.getApk().get(0);
+// String msg = FileUtils.isCanDownload(this, apkEntity.getSize());
+// if (TextUtils.isEmpty(msg)) {
+// DataUtils.onGameDownloadEvent(this, gameEntity.getName(), apkEntity.getPlatform(), mEntrance, "下载开始");
+//
+// DownloadManager.createDownload(this, apkEntity, gameEntity, method, mEntrance, name + ":" + title);
+//
+// detail_tv_download.setVisibility(View.GONE);
+// detail_pb_progressbar.setVisibility(View.VISIBLE);
+// detail_tv_per.setVisibility(View.VISIBLE);
+// detail_pb_progressbar.setProgress(0);
+// detail_tv_per.setText("0.0%");
+//
+//// DownloadManager.getInstance(BaseDetailActivity.this).putStatus(apkEntity.getUrl(), "downloading");
+// } else {
+// toast(msg);
+// }
+// }
+// }
+//
+//}
diff --git a/app/src/main/java/com/gh/base/OnBackPressedListener.java b/app/src/main/java/com/gh/base/OnBackPressedListener.java
deleted file mode 100644
index 53e1b64d9a..0000000000
--- a/app/src/main/java/com/gh/base/OnBackPressedListener.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.gh.base;
-
-/**
- * Forward activity onBackPressed() events to fragment
- * (If nested fragments need this, just forward again)
- */
-public interface OnBackPressedListener {
- public boolean onHandleBackPressed();
-}
diff --git a/app/src/main/java/com/gh/base/OnRequestCallBackListener.java b/app/src/main/java/com/gh/base/OnRequestCallBackListener.java
index 3845b16a0e..0ec848c383 100644
--- a/app/src/main/java/com/gh/base/OnRequestCallBackListener.java
+++ b/app/src/main/java/com/gh/base/OnRequestCallBackListener.java
@@ -3,11 +3,11 @@ package com.gh.base;
/**
* Created by Administrator on 2016/9/8.
*/
-public interface OnRequestCallBackListener {
+public interface OnRequestCallBackListener {
void loadDone();
- void loadDone(Object obj);
+ void loadDone(T obj);
void loadError();
diff --git a/app/src/main/java/com/gh/base/ToolbarController.java b/app/src/main/java/com/gh/base/ToolbarController.java
deleted file mode 100644
index ade2a1d3d0..0000000000
--- a/app/src/main/java/com/gh/base/ToolbarController.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.gh.base;
-
-import android.support.annotation.StringRes;
-import android.support.v7.widget.Toolbar;
-
-/**
- * Created by csheng on 15-10-12.
- */
-public interface ToolbarController {
-
- void setNavigationTitle(@StringRes int res);
-
- void setNavigationTitle(CharSequence res);
-
- Toolbar getToolBar();
-
-}
diff --git a/app/src/main/java/com/gh/base/fragment/BaseFragment.java b/app/src/main/java/com/gh/base/fragment/BaseFragment.java
index c1f8f1c7bf..4d7c8b9f33 100644
--- a/app/src/main/java/com/gh/base/fragment/BaseFragment.java
+++ b/app/src/main/java/com/gh/base/fragment/BaseFragment.java
@@ -3,16 +3,19 @@ package com.gh.base.fragment;
import android.os.Bundle;
import android.support.annotation.LayoutRes;
import android.support.annotation.Nullable;
+import android.support.annotation.StringRes;
import android.support.v4.app.Fragment;
+import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import com.gh.base.OnRequestCallBackListener;
+import com.lightgame.ToolbarController;
import com.gh.common.util.EntranceUtils;
-import com.lightgame.utils.RuntimeUtils;
import com.gh.gamecenter.eventbus.EBMiPush;
+import com.lightgame.utils.RuntimeUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -24,7 +27,8 @@ import butterknife.ButterKnife;
* Created by LGT on 2016/9/4.
* Fragment 基类
*/
-public abstract class BaseFragment extends Fragment implements OnRequestCallBackListener, View.OnClickListener {
+public abstract class BaseFragment extends Fragment implements OnRequestCallBackListener,
+ View.OnClickListener, ToolbarController {
// TODO private view
protected View view;
@@ -54,9 +58,6 @@ public abstract class BaseFragment extends Fragment implements OnRequestCallBack
}
protected void postRunnable(Runnable runnable) {
-// if (getView() != null) {
-// getView().post(runnable);
-// }
RuntimeUtils.getInstance().runOnUiThread(runnable);
}
@@ -64,6 +65,28 @@ public abstract class BaseFragment extends Fragment implements OnRequestCallBack
RuntimeUtils.getInstance().runOnUiThread(runnable, delayMillis);
}
+ @Override
+ public void setNavigationTitle(@StringRes int res) {
+ if (getActivity() instanceof ToolbarController) {
+ ((ToolbarController) getActivity()).setNavigationTitle(res);
+ }
+ }
+
+ @Override
+ public void setNavigationTitle(CharSequence res) {
+ if (getActivity() instanceof ToolbarController) {
+ ((ToolbarController) getActivity()).setNavigationTitle(res);
+ }
+ }
+
+ @Override
+ public Toolbar getToolBar() {
+ if (getActivity() instanceof ToolbarController) {
+ return ((ToolbarController) getActivity()).getToolBar();
+ }
+ return null;
+ }
+
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
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 adc96d5201..47eaa6ff4d 100644
--- a/app/src/main/java/com/gh/common/constant/Config.java
+++ b/app/src/main/java/com/gh/common/constant/Config.java
@@ -15,7 +15,12 @@ public class Config {
public static final String DATA_HOST = "http://data.ghzhushou.com/";
public static final String LIBAO_HOST = "http://libao2.ghzhushou.com/v1d2/";
public static final String MESSAGE_HOST = "http://message.ghzhushou.com/v1d0/"; // TODO TEST v1d1
- public static final String PREFERENCE = "ghzhushou";
+
+ /**
+ * 需要配置的请使用{@link PreferenceManager#getDefaultSharedPreferences(Context)}
+ */
+ @Deprecated
+// public static final String PREFERENCE = "ghzhushou";
// Third-Party confs
public static final String WECHAT_APPID = BuildConfig.WECHAT_APPID;
@@ -29,10 +34,10 @@ public class Config {
public static final String UMENG_APPKEY = BuildConfig.UMENG_APPKEY;
public static final String UMENG_MESSAGE_SECRET = BuildConfig.UMENG_MESSAGE_SECRET;
- public static final String DEBUG_MIPUSH_APPID = BuildConfig.DEBUG_MIPUSH_APPID;
- public static final String DEBUG_MIPUSH_APPKEY = BuildConfig.DEBUG_MIPUSH_APPKEY;
- public static final String DEBUG_UMENG_APPKEY = BuildConfig.DEBUG_UMENG_APPKEY;
- public static final String DEBUG_UMENG_MESSAGE_SECRET = BuildConfig.DEBUG_UMENG_MESSAGE_SECRET;
+// public static final String DEBUG_MIPUSH_APPID = BuildConfig.DEBUG_MIPUSH_APPID;
+// public static final String DEBUG_MIPUSH_APPKEY = BuildConfig.DEBUG_MIPUSH_APPKEY;
+// public static final String DEBUG_UMENG_APPKEY = BuildConfig.DEBUG_UMENG_APPKEY;
+// public static final String DEBUG_UMENG_MESSAGE_SECRET = BuildConfig.DEBUG_UMENG_MESSAGE_SECRET;
public static boolean isShow(Context context) {
diff --git a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java
index 350899aac1..d6082cdd44 100644
--- a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java
+++ b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java
@@ -125,7 +125,7 @@ public class DetailDownloadUtils {
&& viewHolder.gameEntity.getApk() != null
&& viewHolder.gameEntity.getApk().size() == 1) {
String url = viewHolder.gameEntity.getApk().get(0).getUrl();
- DownloadEntity downloadEntity = DownloadManager.getInstance(viewHolder.context).get(url);
+ DownloadEntity downloadEntity = DownloadManager.getInstance(viewHolder.context).getDownloadEntityByUrl(url);
if (downloadEntity != null) {
viewHolder.downloadEntity = downloadEntity;
viewHolder.downloadTv.setVisibility(View.GONE);
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 eb0a889a5f..6cce350868 100644
--- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java
+++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java
@@ -17,6 +17,7 @@ import com.gh.download.DownloadManager;
import com.gh.gamecenter.DownloadManagerActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.viewholder.GameViewHolder;
+import com.gh.gamecenter.entity.ApkEntity;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.manager.PackageManager;
import com.lightgame.download.DownloadConfig;
@@ -65,10 +66,10 @@ public class DownloadItemUtils {
} else {
if (!queue.contains(platform)) {
queue.offer(platform);
- if (AppDebugConfig.IS_DEBUG) {
- AppDebugConfig.logMethodWithParams(DownloadItemUtils.class, queue.size(), gameEntity.getBrief(), downloadEntity.getPlatform(), index);
- }
- // 有两个平台同时下载的时候启用
+ if (AppDebugConfig.IS_DEBUG) {
+ AppDebugConfig.logMethodWithParams(DownloadItemUtils.class, queue.size(), gameEntity.getBrief(), downloadEntity.getPlatform(), index);
+ }
+ // 有两个平台同时下载的时候启用
if (queue.size() == 2) {
//TODO fuck this
Message msg = Message.obtain();
@@ -93,7 +94,7 @@ public class DownloadItemUtils {
public static void updateItem(Context context, GameEntity gameEntity, GameViewHolder holder, boolean isShowPlatform) {
// 控制是否显示下载按钮
- if (!Config.isShow(context) || "光环助手".equals(gameEntity.getName())) {
+ if (!Config.isShow(context) || context.getString(R.string.app_name).equals(gameEntity.getName())) {
holder.gameDownloadBtn.setVisibility(View.GONE);
} else {
holder.gameDownloadBtn.setVisibility(View.VISIBLE);
@@ -105,13 +106,6 @@ public class DownloadItemUtils {
holder.gameLibaoIcon.setVisibility(View.GONE);
}
-// LibaoDao libaoDao = new LibaoDao(context);
-// if (libaoDao.isExist(gameEntity.getId())) {
-// holder.gameLibaoIcon.setVisibility(View.VISIBLE);
-// } else {
-//
-// }
-
if (gameEntity.getApk() == null || gameEntity.getApk().isEmpty()) {
holder.gameDes.setVisibility(View.VISIBLE);
holder.gameProgressbar.setVisibility(View.GONE);
@@ -122,18 +116,21 @@ public class DownloadItemUtils {
} else if (gameEntity.getApk().size() == 1) {
updateNormalItem(context, holder, gameEntity, isShowPlatform);
} else {
+// updateNormalItem(context, holder, gameEntity, isShowPlatform);
updatePluginItem(context, holder, gameEntity, isShowPlatform);
}
}
// 更新正常的条目,只有一个apk包
- public static void updateNormalItem(Context context, GameViewHolder holder, GameEntity gameEntity,
- boolean isShowPlatform) {
+ static void updateNormalItem(Context context, GameViewHolder holder, GameEntity gameEntity,
+ boolean isShowPlatform) {
+
+ final ArrayMap entryMap = gameEntity.getEntryMap();
+ final ApkEntity apkEntity = gameEntity.getApk().get(0);
- ArrayMap entryMap = gameEntity.getEntryMap();
if (entryMap != null && !entryMap.isEmpty()) {
- DownloadEntity downloadEntity = entryMap.get(gameEntity.getApk().get(0).getPlatform());
+ DownloadEntity downloadEntity = entryMap.get(apkEntity.getPlatform());
if (downloadEntity != null) {
// 更改进度条和提示文本的状态
changeStatus(context, holder, downloadEntity, isShowPlatform, true);
@@ -146,37 +143,22 @@ public class DownloadItemUtils {
holder.gameInfo.setVisibility(View.GONE);
holder.gameDownloadBtn.setTextColor(Color.WHITE);
+
+ final String packageName = apkEntity.getPackageName();
+
if (gameEntity.isPluggable()) {
holder.gameDownloadBtn.setText("插件化");
- DownloadEntity downloadEntity = DownloadManager.getInstance(context).getByPackage(
- gameEntity.getApk().get(0).getPackageName());
- if (downloadEntity == null
- || downloadEntity.getUrl().equals(gameEntity.getApk().get(0).getUrl())) {
- holder.gameDownloadBtn.setClickable(true);
- holder.gameDownloadBtn.setBackgroundResource(R.drawable.game_item_btn_plugin_style);
- } else {
- holder.gameDownloadBtn.setClickable(false);
- holder.gameDownloadBtn.setBackgroundResource(R.drawable.game_item_btn_pause_up);
- }
- } else if (PackageManager.isInstalled(gameEntity.getApk().get(0).getPackageName())) {
- if (PackageManager.isCanUpdate(gameEntity.getId(), gameEntity.getApk().get(0).getPackageName())) {
+ setwhat(context, holder, apkEntity, packageName);
+ } else if (PackageManager.isInstalled(packageName)) {
+ if (PackageManager.isCanUpdate(gameEntity.getId(), packageName)) {
holder.gameDownloadBtn.setText("更新");
holder.gameDownloadBtn.setBackgroundResource(R.drawable.game_item_btn_download_style);
} else {
if (gameEntity.getTag() != null && gameEntity.getTag().size() != 0
- && !TextUtils.isEmpty(gameEntity.getApk().get(0).getGhVersion())
- && !PackageUtils.isSignature(context, gameEntity.getApk().get(0).getPackageName())) {
+ && !TextUtils.isEmpty(apkEntity.getGhVersion())
+ && !PackageUtils.isSignature(context, packageName)) {
holder.gameDownloadBtn.setText("插件化");
- DownloadEntity downloadEntity = DownloadManager.getInstance(context).getByPackage(
- gameEntity.getApk().get(0).getPackageName());
- if (downloadEntity == null
- || downloadEntity.getUrl().equals(gameEntity.getApk().get(0).getUrl())) {
- holder.gameDownloadBtn.setClickable(true);
- holder.gameDownloadBtn.setBackgroundResource(R.drawable.game_item_btn_plugin_style);
- } else {
- holder.gameDownloadBtn.setClickable(false);
- holder.gameDownloadBtn.setBackgroundResource(R.drawable.game_item_btn_pause_up);
- }
+ setwhat(context, holder, apkEntity, packageName);
} else {
holder.gameDownloadBtn.setText("启动");
holder.gameDownloadBtn.setBackgroundResource(R.drawable.game_item_btn_launch_style);
@@ -188,9 +170,28 @@ public class DownloadItemUtils {
}
}
+ /**
+ * 这个干什么鬼?
+ *
+ * @param context
+ * @param holder
+ * @param apkEntity
+ * @param packageName
+ */
+ public static void setwhat(Context context, GameViewHolder holder, ApkEntity apkEntity, String packageName) {
+ DownloadEntity downloadEntity = DownloadManager.getInstance(context).getDownloadEntityByPackageName(packageName);
+ if (downloadEntity == null || downloadEntity.getUrl().equals(apkEntity.getUrl())) {
+ holder.gameDownloadBtn.setClickable(true);
+ holder.gameDownloadBtn.setBackgroundResource(R.drawable.game_item_btn_plugin_style);
+ } else {
+ holder.gameDownloadBtn.setClickable(false);
+ holder.gameDownloadBtn.setBackgroundResource(R.drawable.game_item_btn_pause_up);
+ }
+ }
+
// 更新插件的条目,有多个apk包
- public static void updatePluginItem(Context context, GameViewHolder holder, GameEntity gameEntity,
- boolean isShowPlatform) {
+ static void updatePluginItem(Context context, GameViewHolder holder, GameEntity gameEntity,
+ boolean isShowPlatform) {
GameUtils.setDownloadBtnStatus(context, gameEntity, holder.gameDownloadBtn);
@@ -432,14 +433,15 @@ public class DownloadItemUtils {
//安装
private static void install(final Context context, GameEntity gameEntity, int position,
RecyclerView.Adapter extends RecyclerView.ViewHolder> adapter) {
- DownloadEntity downloadEntity = DownloadManager.getInstance(context).get(gameEntity.getApk().get(0).getUrl());
+ ApkEntity apkEntity = gameEntity.getApk().get(0);
+ DownloadEntity downloadEntity = DownloadManager.getInstance(context).getDownloadEntityByUrl(apkEntity.getUrl());
if (downloadEntity != null) {
final String path = downloadEntity.getPath();
if (FileUtils.isEmptyFile(path)) {
Toast.makeText(context, "解析包出错(可能被误删了),请重新下载", Toast.LENGTH_SHORT).show();
DownloadManager.getInstance(context).cancel(downloadEntity.getUrl());
if (gameEntity.getEntryMap() != null) {
- gameEntity.getEntryMap().remove(gameEntity.getApk().get(0).getPlatform());
+ gameEntity.getEntryMap().remove(apkEntity.getPlatform());
}
adapter.notifyItemChanged(position);
} else {
diff --git a/app/src/main/java/com/gh/common/util/GameUtils.java b/app/src/main/java/com/gh/common/util/GameUtils.java
index faed6cc581..d4dd9ba8d8 100644
--- a/app/src/main/java/com/gh/common/util/GameUtils.java
+++ b/app/src/main/java/com/gh/common/util/GameUtils.java
@@ -68,7 +68,7 @@ public class GameUtils {
DownloadEntity downloadEntity;
Object gh_id;
for (ApkEntity apkEntity : gameEntity.getApk()) {
- downloadEntity = DownloadManager.getInstance(context).get(apkEntity.getUrl());
+ downloadEntity = DownloadManager.getInstance(context).getDownloadEntityByUrl(apkEntity.getUrl());
if (downloadEntity != null) {
if (downloadEntity.getStatus().equals(DownloadStatus.done)) {
doneCount++;
diff --git a/app/src/main/java/com/gh/common/util/ImageUtils.java b/app/src/main/java/com/gh/common/util/ImageUtils.java
index 58e318b713..1fe3f83255 100644
--- a/app/src/main/java/com/gh/common/util/ImageUtils.java
+++ b/app/src/main/java/com/gh/common/util/ImageUtils.java
@@ -64,7 +64,7 @@ public class ImageUtils {
simpleDraweeView.setHierarchy(new GenericDraweeHierarchyBuilder(resources)
.setFadeDuration(500)
.setPressedStateOverlay(new ColorDrawable(ContextCompat.getColor(context, R.color.pressed_bg)))
- .setPlaceholderImage(R.drawable.ocupy2, ScalingUtils.ScaleType.CENTER)
+ .setPlaceholderImage(R.drawable.occupy2, ScalingUtils.ScaleType.CENTER)
.setBackground(new ColorDrawable(ContextCompat.getColor(context, R.color.placeholder_bg)))
.setActualImageScaleType(scaleType)
.build());
diff --git a/app/src/main/java/com/gh/common/util/PackageUtils.java b/app/src/main/java/com/gh/common/util/PackageUtils.java
index 73dc01c5f5..90ae98bf48 100644
--- a/app/src/main/java/com/gh/common/util/PackageUtils.java
+++ b/app/src/main/java/com/gh/common/util/PackageUtils.java
@@ -57,7 +57,7 @@ public class PackageUtils {
return metaDate.get(name);
}
} catch (NameNotFoundException e) {
- e.printStackTrace();
+// e.printStackTrace();
}
return null;
}
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 7753dbc477..987d7f3dd7 100644
--- a/app/src/main/java/com/gh/common/view/DownloadDialog.java
+++ b/app/src/main/java/com/gh/common/view/DownloadDialog.java
@@ -213,7 +213,7 @@ public class DownloadDialog implements OnCollectionCallBackListener {
String packageName;
Object gh_id;
for (ApkEntity apkEntity : apkList) {
- downloadEntity = DownloadManager.getInstance(mContext).get(apkEntity.getUrl());
+ downloadEntity = DownloadManager.getInstance(mContext).getDownloadEntityByUrl(apkEntity.getUrl());
if (downloadEntity == null) {
packageName = apkEntity.getPackageName();
if (PackageManager.isInstalled(packageName)) {
diff --git a/app/src/main/java/com/gh/download/DownloadManager.java b/app/src/main/java/com/gh/download/DownloadManager.java
index 9130c3a56c..352cdd029c 100644
--- a/app/src/main/java/com/gh/download/DownloadManager.java
+++ b/app/src/main/java/com/gh/download/DownloadManager.java
@@ -6,10 +6,10 @@ import android.content.SharedPreferences;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
+import android.preference.PreferenceManager;
import android.support.v4.util.ArrayMap;
import android.widget.Toast;
-import com.gh.common.constant.Config;
import com.gh.common.util.AppDebugConfig;
import com.gh.common.util.DataCollectionUtils;
import com.gh.common.util.DialogUtils;
@@ -39,6 +39,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.LinkedBlockingQueue;
+import static android.os.Build.MANUFACTURER;
+
public class DownloadManager implements DownloadStatusListener {
private static DownloadManager mInstance;
@@ -193,8 +195,8 @@ public class DownloadManager implements DownloadStatusListener {
String location) {
// 安装指引
- if (android.os.Build.MANUFACTURER.equalsIgnoreCase("Huawei") || "Oppo".equalsIgnoreCase(android.os.Build.MANUFACTURER)) {
- SharedPreferences sp = context.getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE);
+ if ("Huawei".equalsIgnoreCase(MANUFACTURER) || "Oppo".equalsIgnoreCase(MANUFACTURER)) {
+ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
final SharedPreferences.Editor edit = sp.edit();
if (sp.getBoolean("InstallHint" + PackageUtils.getVersionName(context), true)) {
DialogUtils.showInstallHintDialog(context,
@@ -273,7 +275,7 @@ public class DownloadManager implements DownloadStatusListener {
* @param url 下载任务的标识url
*/
private boolean checkDownloadEntryRecordValidate(String url) {
- DownloadEntity entry = get(url);
+ DownloadEntity entry = getDownloadEntityByUrl(url);
if (entry != null && ((int) entry.getPercent()) != 0) {
File file = new File(entry.getPath());
if (!file.exists()) {
@@ -292,7 +294,7 @@ public class DownloadManager implements DownloadStatusListener {
* @return
*/
public boolean isFileCompleted(String url) {
- DownloadEntity entry = get(url);
+ DownloadEntity entry = getDownloadEntityByUrl(url);
if (entry != null && entry.getPercent() == 100) {
Utils.log(DownloadManager.class.getSimpleName(), "文件已经下载完成!");
@@ -323,7 +325,7 @@ public class DownloadManager implements DownloadStatusListener {
* @param url 下载链接
* @return null表示下载列表中不存在该任务,否则返回下载任务
*/
- public DownloadEntity get(String url) {
+ public DownloadEntity getDownloadEntityByUrl(String url) {
return mDownloadDao.get(url);
}
@@ -333,7 +335,7 @@ public class DownloadManager implements DownloadStatusListener {
* @param packageName 包名
* @return null表示下载列表中不存在该任务,否则返回下载任务
*/
- public DownloadEntity getByPackage(String packageName) {
+ public DownloadEntity getDownloadEntityByPackageName(String packageName) {
for (DownloadEntity downloadEntity : mDownloadDao.getAll()) {
if (packageName.equals(downloadEntity.getPackageName())) {
return downloadEntity;
@@ -395,7 +397,7 @@ public class DownloadManager implements DownloadStatusListener {
void putStatus(String url, String status) {
statusMap.put(url, status);
- onTaskStatusChanged(get(url));
+ onTaskStatusChanged(getDownloadEntityByUrl(url));
}
public String getStatus(String url) {
@@ -417,7 +419,7 @@ public class DownloadManager implements DownloadStatusListener {
*/
@Deprecated
void resume(String url) {
- DownloadEntity entry = get(url);
+ DownloadEntity entry = getDownloadEntityByUrl(url);
// 暂停任务后,把文件删除,然后点继续,文件不存在,需要重新加入下载队列进行下载
if (checkDownloadEntryRecordValidate(url)) {
diff --git a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java
index 14b30099cd..9cc9cfa948 100644
--- a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java
@@ -169,6 +169,7 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
+ params.addRule(RelativeLayout.CENTER_VERTICAL);
RelativeLayout reuse_actionbar = (RelativeLayout) mContentView.findViewById(
R.id.reuse_actionbar);
reuse_actionbar.addView(hintTv, params);
diff --git a/app/src/main/java/com/gh/gamecenter/CommonActivity.java b/app/src/main/java/com/gh/gamecenter/CommonActivity.java
new file mode 100644
index 0000000000..a1e11bf073
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/CommonActivity.java
@@ -0,0 +1,18 @@
+package com.gh.gamecenter;
+
+import com.gh.base.BaseAppCompatToolBarActivity;
+
+public class CommonActivity extends BaseAppCompatToolBarActivity {
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.layout_wrapper_toolbar;
+ }
+
+ @Override
+ protected boolean onNavigationIconClicked() {
+ finish();
+ return true;
+ }
+
+}
diff --git a/app/src/main/java/com/gh/gamecenter/ConcernActivity.java b/app/src/main/java/com/gh/gamecenter/ConcernActivity.java
index 9c794dcb03..aa3fb4e50b 100644
--- a/app/src/main/java/com/gh/gamecenter/ConcernActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/ConcernActivity.java
@@ -12,9 +12,9 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import com.gh.base.BaseActivity;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.util.ConcernUtils;
import com.gh.common.util.EntranceUtils;
-import com.lightgame.utils.Utils;
import com.gh.common.view.Concern_LinearLayout;
import com.gh.gamecenter.adapter.ConcernAdapter;
import com.gh.gamecenter.adapter.ConcernRecommendAdapter;
@@ -22,6 +22,7 @@ import com.gh.gamecenter.db.info.ConcernInfo;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.eventbus.EBConcernChanged;
import com.gh.gamecenter.manager.ConcernManager;
+import com.lightgame.utils.Utils;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -31,7 +32,7 @@ import java.util.List;
import butterknife.BindView;
-public class ConcernActivity extends BaseActivity implements OnClickListener {
+public class ConcernActivity extends BaseActivity implements OnClickListener, OnRequestCallBackListener {
@BindView(R.id.concern_rv_show)
RecyclerView mConcernRv;
@@ -140,6 +141,16 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
mConcernRecommendRv.getAdapter().notifyDataSetChanged();
}
+ @Override
+ public void loadDone(Object obj) {
+
+ }
+
+ @Override
+ public void loadError() {
+
+ }
+
@Override
public void loadEmpty() {
if (concernAdapter.getConcernList() == null
@@ -153,8 +164,8 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
mConcernRecommendRv.setVisibility(View.GONE);
} else {
if (concernRecommendAdapter.getRecommendGameList().size() < 4) {
- mConcernRecommendRv.setLayoutManager(new GridLayoutManager(
- ConcernActivity.this, concernRecommendAdapter.getRecommendGameList().size()));
+ mConcernRecommendRv.setLayoutManager(
+ new GridLayoutManager(this, concernRecommendAdapter.getRecommendGameList().size()));
}
}
}
@@ -202,11 +213,10 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
mConcernRecommendRv.setVisibility(View.GONE);
}
if (concernRecommendAdapter.getRecommendGameList().size() < 4) {
- mConcernRecommendRv.setLayoutManager(new GridLayoutManager(
- ConcernActivity.this, concernRecommendAdapter.getRecommendGameList().size()));
+ mConcernRecommendRv.setLayoutManager(
+ new GridLayoutManager(this, concernRecommendAdapter.getRecommendGameList().size()));
} else {
- mConcernRecommendRv.setLayoutManager(new GridLayoutManager(
- ConcernActivity.this, 4));
+ mConcernRecommendRv.setLayoutManager(new GridLayoutManager(this, 4));
}
break;
}
@@ -227,11 +237,10 @@ public class ConcernActivity extends BaseActivity implements OnClickListener {
mConcernRecommendRv.setVisibility(View.VISIBLE);
}
if (concernRecommendAdapter.getRecommendGameList().size() < 4) {
- mConcernRecommendRv.setLayoutManager(new GridLayoutManager(
- ConcernActivity.this, concernRecommendAdapter.getRecommendGameList().size()));
+ mConcernRecommendRv.setLayoutManager(
+ new GridLayoutManager(this, concernRecommendAdapter.getRecommendGameList().size()));
} else {
- mConcernRecommendRv.setLayoutManager(new GridLayoutManager(
- ConcernActivity.this, 4));
+ mConcernRecommendRv.setLayoutManager(new GridLayoutManager(this, 4));
}
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/InstallActivity.java b/app/src/main/java/com/gh/gamecenter/InstallActivity.java
index d4e4521b0f..fe70f00da7 100644
--- a/app/src/main/java/com/gh/gamecenter/InstallActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/InstallActivity.java
@@ -12,6 +12,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.gh.base.BaseActivity;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.DownloadItemUtils;
import com.gh.common.view.SwipeLayout;
@@ -40,7 +41,8 @@ import static com.gh.gamecenter.R.id.reuse_nodata_skip_tv_hint;
* Created by khy on 15/06/17.
*/
-public class InstallActivity extends BaseActivity implements InstallFragmentAdapter.onSmoothLayoutListener {
+public class InstallActivity extends BaseActivity implements InstallFragmentAdapter.onSmoothLayoutListener,
+ OnRequestCallBackListener {
@BindView(R.id.fm_install_rv_show)
RecyclerView mInstallRv;
@@ -134,6 +136,21 @@ public class InstallActivity extends BaseActivity implements InstallFragmentAdap
DownloadManager.getInstance(this).removeObserver(dataWatcher);
}
+ @Override
+ public void loadDone() {
+
+ }
+
+ @Override
+ public void loadDone(Object obj) {
+
+ }
+
+ @Override
+ public void loadError() {
+
+ }
+
@Override
public void loadEmpty() {
mInstallRv.setVisibility(View.GONE);
diff --git a/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java b/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java
index 265e7a5788..1880dbe633 100644
--- a/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java
@@ -19,11 +19,10 @@ import android.widget.TextView;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
import com.gh.base.BaseActivity;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.util.DownloadItemUtils;
import com.gh.common.util.EntranceUtils;
import com.gh.common.view.VerticalItemDecoration;
-import com.lightgame.download.DataWatcher;
-import com.lightgame.download.DownloadEntity;
import com.gh.download.DownloadManager;
import com.gh.gamecenter.adapter.KaiFuAdapter;
import com.gh.gamecenter.adapter.KaiFuDialogAdapter;
@@ -33,6 +32,8 @@ import com.gh.gamecenter.eventbus.EBDownloadStatus;
import com.gh.gamecenter.eventbus.EBNetworkState;
import com.gh.gamecenter.eventbus.EBPackage;
import com.jakewharton.rxbinding.view.RxView;
+import com.lightgame.download.DataWatcher;
+import com.lightgame.download.DownloadEntity;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -47,8 +48,9 @@ import rx.functions.Action1;
* Created by khy on 2017/3/16.
* 首页-开服表
*/
-public class KaiFuActivity extends BaseActivity implements KaiFuDialogAdapter.OnKaiFuDialogCallBackListener
- , KaiFuAdapter.OnScrollToKaiFuIndexListener, SwipeRefreshLayout.OnRefreshListener {
+public class KaiFuActivity extends BaseActivity implements OnRequestCallBackListener,
+ KaiFuDialogAdapter.OnKaiFuDialogCallBackListener, KaiFuAdapter.OnScrollToKaiFuIndexListener,
+ SwipeRefreshLayout.OnRefreshListener {
@BindView(R.id.kaifu_rv)
RecyclerView mRecyclerView;
@@ -145,7 +147,7 @@ public class KaiFuActivity extends BaseActivity implements KaiFuDialogAdapter.On
int n = mMovePosition - layoutManager.findFirstVisibleItemPosition();
if (0 <= n && n < mRecyclerView.getChildCount()) {
View view = layoutManager.findViewByPosition(n);
- if (view!= null) {
+ if (view != null) {
int top = view.getTop();
mRecyclerView.smoothScrollBy(0, top);
}
@@ -162,15 +164,15 @@ public class KaiFuActivity extends BaseActivity implements KaiFuDialogAdapter.On
&& layoutManager.findFirstVisibleItemPosition() == 0) {
int countTop = mAdapter.loadCountTop();
// if (countTop % 20 == 0) { // 不是20的倍数 证明加载完毕
- int offset = kaifuOffset - countTop;
- int limit = 20;
- if (offset < 0) {
- limit = limit + offset;
- offset = 0;
- }
- if (limit == 0) return;
+ int offset = kaifuOffset - countTop;
+ int limit = 20;
+ if (offset < 0) {
+ limit = limit + offset;
+ offset = 0;
+ }
+ if (limit == 0) return;
- mAdapter.initListTop(offset, limit);
+ mAdapter.initListTop(offset, limit);
// }
}
}
@@ -362,8 +364,6 @@ public class KaiFuActivity extends BaseActivity implements KaiFuDialogAdapter.On
@Override
public void loadDone(Object obj) {
- super.loadDone(obj);
-
kaifuOffset = (int) obj;
}
@@ -380,7 +380,6 @@ public class KaiFuActivity extends BaseActivity implements KaiFuDialogAdapter.On
@Override
public void loadEmpty() {
- super.loadEmpty();
mNoData.setVisibility(View.VISIBLE);
mNoConnection.setVisibility(View.GONE);
}
diff --git a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java
index fcefe6d2f2..f1889c9a87 100644
--- a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java
@@ -14,6 +14,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import com.gh.base.BaseActivity;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.util.ApkActiveUtils;
import com.gh.common.util.DetailDownloadUtils;
import com.gh.common.util.EntranceUtils;
@@ -52,7 +53,8 @@ import static com.gh.gamecenter.R.id.reuse_tv_none_data;
/**
* Created by khy on 2016/12/13.
*/
-public class LibaoDetailActivity extends BaseActivity implements LibaoDetailAdapter.OnCodeScrollListener {
+public class LibaoDetailActivity extends BaseActivity implements LibaoDetailAdapter.OnCodeScrollListener,
+ OnRequestCallBackListener {
@BindView(R.id.libaodetail_rv_show)
RecyclerView mLibaoDetailRv;
@@ -306,6 +308,11 @@ public class LibaoDetailActivity extends BaseActivity implements LibaoDetailAdap
}
}
+ @Override
+ public void loadDone(Object obj) {
+
+ }
+
@Override
public void loadError() {
mLibaoDetailRv.setVisibility(View.GONE);
diff --git a/app/src/main/java/com/gh/gamecenter/LoginActivity.java b/app/src/main/java/com/gh/gamecenter/LoginActivity.java
index 03cc71cad2..4e5ff1cf1c 100644
--- a/app/src/main/java/com/gh/gamecenter/LoginActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/LoginActivity.java
@@ -14,6 +14,7 @@ import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -101,21 +102,18 @@ public class LoginActivity extends BaseActivity implements LoginUtils.OnLoginLis
// 添加老用户入口
mOldUser = new ImageView(this);
mOldUser.setImageResource(R.drawable.login_olduser_icon);
- mOldUser.setPadding(DisplayUtils.dip2px(this, 13), DisplayUtils.dip2px(this, 11)
- , DisplayUtils.dip2px(this, 11), DisplayUtils.dip2px(this, 13));
+ mOldUser.setPadding(DisplayUtils.dip2px(this, 13), DisplayUtils.dip2px(this, 11),
+ DisplayUtils.dip2px(this, 11), DisplayUtils.dip2px(this, 13));
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
- DisplayUtils.dip2px(this, 48), DisplayUtils.dip2px(this, 48));
+ ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
- RelativeLayout reuseActionbar = (RelativeLayout) mContentView.findViewById(
- R.id.reuse_actionbar);
+ RelativeLayout reuseActionbar = (RelativeLayout) mContentView.findViewById(R.id.reuse_actionbar);
reuseActionbar.addView(mOldUser, params);
-
mLoginPassEt.addTextChangedListener(new LoginTextWatcher(mLoginPassEt));
mLoginPhoneEt.addTextChangedListener(new LoginTextWatcher(mLoginPhoneEt));
-
mOldUser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java
index 68d42f3af3..669439c79f 100644
--- a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java
@@ -15,6 +15,7 @@ import android.text.TextUtils;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
+import android.view.ViewGroup;
import android.view.Window;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -23,7 +24,7 @@ import android.widget.TextView;
import android.widget.Toast;
import com.gh.base.BaseActivity;
-import com.gh.download.DownloadManager;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.util.ApkActiveUtils;
import com.gh.common.util.CheckLoginUtils;
import com.gh.common.util.DataCollectionUtils;
@@ -33,6 +34,7 @@ import com.gh.common.util.DisplayUtils;
import com.gh.common.util.EntranceUtils;
import com.gh.common.util.ShareUtils;
import com.gh.common.view.VerticalItemDecoration;
+import com.gh.download.DownloadManager;
import com.gh.gamecenter.adapter.viewholder.DetailViewHolder;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.entity.NewsEntity;
@@ -67,7 +69,7 @@ import rx.schedulers.Schedulers;
*
* @author 黄壮华
*/
-public class NewsDetailActivity extends BaseActivity implements OnClickListener {
+public class NewsDetailActivity extends BaseActivity implements OnClickListener, OnRequestCallBackListener {
@BindView(R.id.actionbar_tv_title)
TextView mActionbarTitle;
@@ -224,10 +226,10 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener
iv_share.setPadding(DisplayUtils.dip2px(this, 13), DisplayUtils.dip2px(this, 11)
, DisplayUtils.dip2px(this, 11), DisplayUtils.dip2px(this, 13));
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
- DisplayUtils.dip2px(this, 48), DisplayUtils.dip2px(this, 48));
+ DisplayUtils.dip2px(this, 48), ViewGroup.LayoutParams.MATCH_PARENT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
- RelativeLayout reuse_actionbar = (RelativeLayout) mContentView.findViewById(
+ ViewGroup reuse_actionbar = (ViewGroup) mContentView.findViewById(
R.id.reuse_actionbar);
reuse_actionbar.addView(iv_share, params);
@@ -371,6 +373,11 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener
DownloadManager.getInstance(this).addObserver(dataWatcher);
}
+ @Override
+ public void loadDone() {
+
+ }
+
@Override
public void loadDone(Object obj) {
if (mReuseLoading != null) {
@@ -388,6 +395,11 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener
mNoConn.setVisibility(View.VISIBLE);
}
+ @Override
+ public void loadEmpty() {
+
+ }
+
private void getNewsDigest(final String newsId) {
RetrofitManager.getApi().getNewsDigest(newsId)
.subscribeOn(Schedulers.io())
diff --git a/app/src/main/java/com/gh/gamecenter/PluginActivity.java b/app/src/main/java/com/gh/gamecenter/PluginActivity.java
index f6b56f9585..0fbfa66695 100644
--- a/app/src/main/java/com/gh/gamecenter/PluginActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/PluginActivity.java
@@ -11,6 +11,7 @@ import android.widget.LinearLayout;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
import com.gh.base.BaseActivity;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.util.DownloadItemUtils;
import com.gh.common.util.EntranceUtils;
import com.lightgame.download.DataWatcher;
@@ -34,7 +35,7 @@ import butterknife.BindView;
* Created by LGT on 2016/7/6.
* 可插件化界面
*/
-public class PluginActivity extends BaseActivity {
+public class PluginActivity extends BaseActivity implements OnRequestCallBackListener {
@BindView(R.id.plugin_list)
RecyclerView mPluginRv;
@@ -130,6 +131,21 @@ public class PluginActivity extends BaseActivity {
}
}
+ @Override
+ public void loadDone(Object obj) {
+
+ }
+
+ @Override
+ public void loadError() {
+
+ }
+
+ @Override
+ public void loadEmpty() {
+
+ }
+
// 下载被删除事件
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(EBDownloadStatus status) {
diff --git a/app/src/main/java/com/gh/gamecenter/SearchActivity.java b/app/src/main/java/com/gh/gamecenter/SearchActivity.java
index a7ccda3560..c9be7ba30b 100644
--- a/app/src/main/java/com/gh/gamecenter/SearchActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SearchActivity.java
@@ -1,12 +1,10 @@
package com.gh.gamecenter;
-import android.app.ActionBar.LayoutParams;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
-import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentTransaction;
import android.text.Editable;
@@ -19,20 +17,18 @@ import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.ImageView;
-import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import com.gh.base.BaseActivity;
import com.gh.common.util.DataCollectionUtils;
-import com.gh.common.util.DisplayUtils;
import com.gh.common.util.EntranceUtils;
-import com.lightgame.utils.Utils;
import com.gh.gamecenter.db.SearchHistoryDao;
import com.gh.gamecenter.eventbus.EBSearch;
import com.gh.gamecenter.search.SearchGameDetailFragment;
import com.gh.gamecenter.search.SearchGameListFragment;
import com.gh.gamecenter.search.SearchHistoryFragment;
+import com.lightgame.utils.Utils;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -125,13 +121,6 @@ public class SearchActivity extends BaseActivity {
}
public void setActionBarLayout() {
- int actionbar_height = PreferenceManager.getDefaultSharedPreferences(this).getInt("actionbar_height",
- DisplayUtils.dip2px(getApplicationContext(), 48));
-
- LinearLayout reuse_actionbar = (LinearLayout) findViewById(R.id.search_actionbar);
- LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
- LayoutParams.MATCH_PARENT, actionbar_height);
- reuse_actionbar.setLayoutParams(lparams);
searchInput = (EditText) findViewById(R.id.etSearch);
searchInput.setOnEditorActionListener(new OnEditorActionListener() {
diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java
index 5c5a02ee77..9352c1416d 100644
--- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java
@@ -1,7 +1,5 @@
package com.gh.gamecenter;
-import android.app.ActionBar;
-import android.app.ActionBar.LayoutParams;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -17,7 +15,6 @@ import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
-import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gh.base.AppController;
@@ -114,19 +111,20 @@ public class SplashScreenActivity extends BaseActivity {
isFirst = true;
- if (isNewFirstLaunch || mSharedPreferences.getInt("actionbar_height", 0) != 0) {
+// if (isNewFirstLaunch || mSharedPreferences.getInt("actionbar_height", 0) != 0) {
+ if (isNewFirstLaunch) {
setTheme(R.style.AppGuideTheme);
} else {
setTheme(R.style.AppFullScreenTheme);
// 自定义ActionBar
- ActionBar actionBar = getActionBar();
- if (actionBar != null) {
- actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
- RelativeLayout relativeLayout = new RelativeLayout(this);
- relativeLayout.setBackgroundResource(R.color.theme);
- LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
- actionBar.setCustomView(relativeLayout, params);// 自定义ActionBar布局
- }
+// ActionBar actionBar = getActionBar();
+// if (actionBar != null) {
+// actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
+// RelativeLayout relativeLayout = new RelativeLayout(this);
+// relativeLayout.setBackgroundResource(R.color.theme);
+// LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
+// actionBar.setCustomView(relativeLayout, params);// 自定义ActionBar布局
+// }
}
if (isNewFirstLaunch) {
@@ -239,13 +237,13 @@ public class SplashScreenActivity extends BaseActivity {
// 不是第一次启动
if (!isNewFirstLaunch) {
- int height = mSharedPreferences.getInt("actionbar_height", 0);
- if (height == 0) {
- final ActionBar actionBar = getActionBar();
- if (actionBar != null) {
- mSharedPreferences.edit().putInt("actionbar_height", actionBar.getHeight()).apply();
- }
- }
+// int height = mSharedPreferences.getInt("actionbar_height", 0);
+// if (height == 0) {
+// final ActionBar actionBar = getActionBar();
+// if (actionBar != null) {
+// mSharedPreferences.edit().putInt("actionbar_height", actionBar.getHeight()).apply();
+// }
+// }
long end = System.currentTimeMillis() - start;
if (end < 3000) {
getWindow().getDecorView().postDelayed(new Runnable() {
diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
index fb0765ce7f..d1b6f8f88a 100644
--- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
@@ -29,6 +29,7 @@ import android.widget.TextView;
import com.gh.base.AppController;
import com.gh.base.BaseActivity;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.constant.Config;
import com.gh.common.util.BitmapUtils;
import com.gh.common.util.DialogUtils;
@@ -82,7 +83,8 @@ import rx.schedulers.Schedulers;
/**
* Created by khy on 2017/3/31.
*/
-public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapter.OnSelectTypeListener {
+public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapter.OnSelectTypeListener,
+ OnRequestCallBackListener {
@BindView(R.id.suggest_content_et)
EditText mSuggestContentEt;
@@ -342,18 +344,31 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt
}
@Override
- public void loadDone(Object obj) {
- super.loadDone(obj);
+ public void loadDone() {
+
+ }
+
+ @Override
+ public void loadDone(InstallGameEntity entity) {
if (selectGameDialog != null) {
selectGameDialog.cancel();
}
mSuggestGameLl.setVisibility(View.GONE);
mSuggestContentEt.setVisibility(View.VISIBLE);
- InstallGameEntity entity = (InstallGameEntity) obj;
mSuggestContentEt.setText("推荐收录:" + entity.getGameName() + "(" + entity.getPackageName() + ", " + entity.getGameVersion() + ")");
}
+ @Override
+ public void loadError() {
+
+ }
+
+ @Override
+ public void loadEmpty() {
+
+ }
+
@OnClick({R.id.suggest_post_btn, R.id.suggest_select_game, R.id.suggest_game_text})
public void onViewClicked(View view) {
switch (view.getId()) {
diff --git a/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java b/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java
index 5263b3ef1e..97e9a0e9c5 100644
--- a/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java
@@ -13,6 +13,7 @@ import android.widget.TextView;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
import com.gh.base.BaseActivity;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.view.VerticalItemDecoration;
import com.gh.gamecenter.adapter.ToolBoxRvAdapter;
@@ -24,7 +25,7 @@ import butterknife.OnClick;
*/
public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.OnRefreshListener,
- ToolBoxRvAdapter.OnSearchCallBackListener {
+ ToolBoxRvAdapter.OnSearchCallBackListener, OnRequestCallBackListener {
@BindView(R.id.toolbox_rv)
RecyclerView mToolboxRv;
@@ -114,7 +115,6 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
@Override
public void loadDone() {
- super.loadDone();
mRefresh.setRefreshing(false);
mNoneData.setVisibility(View.GONE);
mNoConnection.setVisibility(View.GONE);
@@ -122,9 +122,13 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
}
+ @Override
+ public void loadDone(Object obj) {
+
+ }
+
@Override
public void loadEmpty() {
- super.loadEmpty();
mRefresh.setRefreshing(false);
mNoneData.setVisibility(View.VISIBLE);
mNoConnection.setVisibility(View.GONE);
@@ -138,7 +142,6 @@ public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.
@Override
public void loadError() {
- super.loadError();
mRefresh.setRefreshing(false);
mNoneData.setVisibility(View.GONE);
mNoConnection.setVisibility(View.VISIBLE);
diff --git a/app/src/main/java/com/gh/gamecenter/VoteActivity.java b/app/src/main/java/com/gh/gamecenter/VoteActivity.java
index 1be043ad97..053ddfc3cd 100644
--- a/app/src/main/java/com/gh/gamecenter/VoteActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/VoteActivity.java
@@ -22,14 +22,15 @@ import android.widget.Toast;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
import com.gh.base.BaseActivity;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.util.DialogUtils;
import com.gh.common.util.TokenUtils;
-import com.lightgame.utils.Utils;
import com.gh.gamecenter.adapter.VoteAdapter;
import com.gh.gamecenter.db.VersionVoteDao;
import com.gh.gamecenter.db.info.VersionVoteInfo;
import com.gh.gamecenter.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
+import com.lightgame.utils.Utils;
import org.json.JSONException;
import org.json.JSONObject;
@@ -49,7 +50,8 @@ import rx.schedulers.Schedulers;
* Created by khy on 2017/4/11.
* 求版本投票页面
*/
-public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnRefreshListener, VoteAdapter.OnAddVoteListener {
+public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnRefreshListener,
+ VoteAdapter.OnAddVoteListener, OnRequestCallBackListener {
@BindView(R.id.vote_rv)
RecyclerView mVoteRv;
@@ -132,7 +134,6 @@ public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnR
@Override
public void loadDone() {
- super.loadDone();
mVoteRefresh.setRefreshing(false);
mVoteLoading.setVisibility(View.GONE);
mVoteRv.setVisibility(View.VISIBLE);
@@ -140,14 +141,12 @@ public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnR
}
@Override
- public void loadDone(Object obj) {
- super.loadDone(obj);
- postVersionVote((String) obj, true, false); // 投票
+ public void loadDone(String obj) {
+ postVersionVote(obj, true, false); // 投票
}
@Override
public void loadError() {
- super.loadError();
mVoteRefresh.setRefreshing(false);
mNoConnection.setVisibility(View.VISIBLE);
mVoteRv.setVisibility(View.GONE);
@@ -156,7 +155,6 @@ public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnR
@Override
public void loadEmpty() {
- super.loadEmpty();
mVoteRefresh.setRefreshing(false);
mAddTv.setVisibility(View.VISIBLE);
mVoteLoading.setVisibility(View.GONE);
diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java
index 7b628444ac..689edfb750 100644
--- a/app/src/main/java/com/gh/gamecenter/WebActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java
@@ -8,6 +8,7 @@ import android.support.annotation.NonNull;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
+import android.view.ViewGroup;
import android.webkit.DownloadListener;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
@@ -105,13 +106,11 @@ public class WebActivity extends BaseActivity implements View.OnClickListener{
if (mIsTools) {
mToolBoxEntity = getIntent().getParcelableExtra("ToolBoxEntity");
mShareIv = new ImageView(this);
- mShareIv.setImageResource(R.drawable.ic_share);
+ mShareIv.setImageResource(R.drawable.menu_ic_share);
mShareIv.setOnClickListener(this);
mShareIv.setVisibility(View.VISIBLE);
- mShareIv.setPadding(DisplayUtils.dip2px(this, 13), DisplayUtils.dip2px(this, 11)
- , DisplayUtils.dip2px(this, 11), DisplayUtils.dip2px(this, 13));
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
- DisplayUtils.dip2px(this, 48), DisplayUtils.dip2px(this, 48));
+ ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT);
params.addRule(RelativeLayout.CENTER_VERTICAL);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
RelativeLayout reuse_actionbar = (RelativeLayout) mContentView.findViewById(
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java
index 6c09f871c1..2547901f33 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java
@@ -66,7 +66,7 @@ public class FileReceiverAdapter extends BaseRecyclerAdapter {
&& !TextUtils.isEmpty(apkEntity.getGhVersion())
&& !PackageUtils.isSignature(mContext, apkEntity.getPackageName())) {
viewHolder.mDownloadItemTvStatus.setText("插件化");
- downloadEntity = DownloadManager.getInstance(mContext).getByPackage(apkEntity.getPackageName());
+ downloadEntity = DownloadManager.getInstance(mContext).getDownloadEntityByPackageName(apkEntity.getPackageName());
if (downloadEntity == null
|| downloadEntity.getUrl().equals(apkEntity.getUrl())) {
viewHolder.itemView.setClickable(true);
diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java
index 1080dce897..d99a03739c 100644
--- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java
@@ -15,9 +15,7 @@ import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
-import android.widget.ToggleButton;
-import com.gh.common.util.AppDebugConfig;
import com.gh.common.util.BitmapUtils;
import com.gh.common.util.DataUtils;
import com.gh.common.util.DialogUtils;
@@ -398,9 +396,6 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter {
viewHolder.dm_item_head_tv_allstart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (AppDebugConfig.IS_DEBUG) {
- AppDebugConfig.logMethodWithParams(this, v, ((TextView) v).getText(), ((ToggleButton) v).isChecked());
- }
String str = ((TextView) v).getText().toString();
if ("全部开始".equals(str)) {
if (NetworkUtils.isWifiConnected(mContext)) {
diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
index 469d5703c7..425d28fb80 100644
--- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java
@@ -291,7 +291,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter {
String str = updateList.get(i).getSize();
str = str.substring(0, str.lastIndexOf("M"));
size += Float.valueOf(str);
- DownloadEntity downloadEntity = DownloadManager.getInstance(mContext).get(updateList.get(i).getUrl());
+ DownloadEntity downloadEntity = DownloadManager.getInstance(mContext).getDownloadEntityByUrl(updateList.get(i).getUrl());
if (downloadEntity != null) {
count++;
if (downloadEntity.getStatus().equals(DownloadStatus.done)) {
@@ -322,7 +322,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter {
if (NetworkUtils.isWifiConnected(mContext)) {
viewHolder.dm_item_head_tv_allstart.setText("更新中");
for (int i = 0; i < updateList.size(); i++) {
- if (DownloadManager.getInstance(mContext).get(updateList.get(i).getUrl()) == null) {
+ if (DownloadManager.getInstance(mContext).getDownloadEntityByUrl(updateList.get(i).getUrl()) == null) {
addUpdateDownload(i);
// notifyItemChanged(i + 1);
}
@@ -339,7 +339,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter {
public void onConfirm() {
viewHolder.dm_item_head_tv_allstart.setText("更新中");
for (int i = 0; i < updateList.size(); i++) {
- if (DownloadManager.getInstance(mContext).get(updateList.get(i).getUrl()) == null) {
+ if (DownloadManager.getInstance(mContext).getDownloadEntityByUrl(updateList.get(i).getUrl()) == null) {
addUpdateDownload(i);
// notifyItemChanged(i + 1);
}
@@ -454,7 +454,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter {
}
});
- DownloadEntity downloadEntity = DownloadManager.getInstance(mContext).get(updateEntity.getUrl());
+ DownloadEntity downloadEntity = DownloadManager.getInstance(mContext).getDownloadEntityByUrl(updateEntity.getUrl());
if (downloadEntity == null) {
if (PackageManager.isCanUpdate(updateEntity.getId(), updateEntity.getPackageName())) {
viewHolder.guUpdate.setText("更新");
@@ -463,7 +463,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter {
} else if (updateEntity.isPluggable()) {
viewHolder.guUpdate.setText("插件化");
viewHolder.guUpdate.setTextColor(Color.WHITE);
- downloadEntity = DownloadManager.getInstance(mContext).getByPackage(
+ downloadEntity = DownloadManager.getInstance(mContext).getDownloadEntityByPackageName(
updateEntity.getPackageName());
if (downloadEntity == null
|| downloadEntity.getUrl().equals(updateEntity.getUrl())) {
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/GameFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/GameFragment.java
index fdc11d1d19..90844211c4 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/GameFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/fragment/GameFragment.java
@@ -9,10 +9,10 @@ import android.widget.LinearLayout;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
+import com.gh.base.OnRequestCallBackListener;
+import com.gh.base.fragment.BaseFragment;
import com.gh.common.util.ApkActiveUtils;
import com.gh.common.util.DownloadItemUtils;
-import com.lightgame.download.DataWatcher;
-import com.lightgame.download.DownloadEntity;
import com.gh.download.DownloadManager;
import com.gh.gamecenter.MainActivity;
import com.gh.gamecenter.R;
@@ -25,7 +25,8 @@ import com.gh.gamecenter.eventbus.EBPackage;
import com.gh.gamecenter.eventbus.EBReuse;
import com.gh.gamecenter.eventbus.EBUISwitch;
import com.gh.gamecenter.game.GameFragmentAdapter;
-import com.gh.base.OnRequestCallBackListener;
+import com.lightgame.download.DataWatcher;
+import com.lightgame.download.DownloadEntity;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -37,7 +38,7 @@ import java.util.List;
* Created by khy on 2016/12/6.
* 新主界面
*/
-public class GameFragment extends SearchToolbarFragment implements SwipeRefreshLayout.OnRefreshListener, OnRequestCallBackListener {
+public class GameFragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener, OnRequestCallBackListener {
private SwipeRefreshLayout mGameSwipeRefresh;
private RecyclerView mGameRv;
@@ -145,7 +146,7 @@ public class GameFragment extends SearchToolbarFragment implements SwipeRefreshL
//下载被删除事件
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(EBDownloadStatus status) {
- super.onEventMainThread(status);
+// super.onEventMainThread(status);
if ("delete".equals(status.getStatus())) {
DownloadManager.getInstance(getActivity()).removePlatform(status.getName(), status.getPlatform());
@@ -207,12 +208,17 @@ public class GameFragment extends SearchToolbarFragment implements SwipeRefreshL
if ("安装".equals(busFour.getType()) || "卸载".equals(busFour.getType())) {
List list = adapter.getPluginList();
for (int i = 0; i < list.size(); i++) {
- if (list.get(i).getApk().get(0).getPackageName().equals(busFour.getPackageName())) {
+ final GameEntity entity = list.get(i);
+ final ArrayList apkEntities = entity.getApk();
+ final ApkEntity normalApkEntity = apkEntities.get(0);
+
+ if (normalApkEntity.getPackageName().equals(busFour.getPackageName())) {
if ("卸载".equals(busFour.getType())
- && DownloadManager.getInstance(getActivity()).get(
- list.get(i).getApk().get(0).getUrl()) != null) {
+ && DownloadManager.getInstance(getContext()).getDownloadEntityByUrl(
+ normalApkEntity.getUrl()) != null) {
adapter.notifyItemChanged(2 + i);
} else {
+ //TODO ???? remove?
list.remove(i);
if (list.isEmpty()) {
adapter.initItemCount();
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/GameWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/GameWrapperFragment.java
new file mode 100644
index 0000000000..3ecdbfa60d
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/fragment/GameWrapperFragment.java
@@ -0,0 +1,51 @@
+package com.gh.gamecenter.fragment;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.View;
+
+import com.gh.base.SearchBarHint;
+import com.gh.base.fragment.BaseFragment;
+import com.gh.gamecenter.R;
+
+import java.util.ArrayList;
+
+/**
+ * @author CsHeng
+ * @Date 02/07/2017
+ * @Time 11:30 AM
+ */
+public class GameWrapperFragment extends BaseFragment implements SearchBarHint {
+
+ private SearchToolbarFragment mSearchToolbarFragment;
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ mSearchToolbarFragment = new SearchToolbarFragment();
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.fragment_wrapper_toolbar;
+ }
+
+ @Override
+ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ getChildFragmentManager().beginTransaction()
+ .replace(R.id.wrapper_toolbar, mSearchToolbarFragment)
+ .replace(R.id.wrapper_main_content, new GameFragment()).commitAllowingStateLoss();
+
+ }
+
+ @Override
+ public void setHint(ArrayList hintList) {
+ if (mSearchToolbarFragment != null) {
+ mSearchToolbarFragment.setHint(hintList);
+ }
+ }
+
+}
+
+
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/MainFragment.java
index a146f9b2a5..ca5294c4fa 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/MainFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/fragment/MainFragment.java
@@ -84,7 +84,7 @@ public class MainFragment extends BaseFragment_ViewPager_Checkable {
@Override
protected void initFragmentList(List fragments) {
- fragments.add(new GameFragment());
+ fragments.add(new GameWrapperFragment());
fragments.add(new NewsWrapperFragment());
fragments.add(new MessageFragment());
fragments.add(new PersonalFragment());
diff --git a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java
index 7c41be72bb..c3e69d4b60 100644
--- a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java
@@ -3,6 +3,9 @@ package com.gh.gamecenter.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
@@ -128,6 +131,20 @@ public class SearchToolbarFragment extends BaseFragment implements View.OnClickL
}
+ @Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ super.onCreateOptionsMenu(menu, inflater);
+ menu.clear();
+ inflater.inflate(R.menu.menu_concern, menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ //TODO concern item only
+
+ return super.onOptionsItemSelected(item);
+ }
+
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -149,6 +166,11 @@ public class SearchToolbarFragment extends BaseFragment implements View.OnClickL
}
private void initActionBar(View view) {
+
+ if (getActivity().getActionBar() != null) {
+ getActivity().getActionBar().setCustomView(R.layout.search_actionbar);
+ }
+
mDownloadView.setOnClickListener(this);
view.findViewById(R.id.actionbar_iv_search).setOnClickListener(this);
diff --git a/app/src/main/java/com/gh/gamecenter/libao/LibaoFragment.java b/app/src/main/java/com/gh/gamecenter/libao/LibaoFragment.java
new file mode 100644
index 0000000000..cc045417bd
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/libao/LibaoFragment.java
@@ -0,0 +1,130 @@
+package com.gh.gamecenter.libao;
+
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.util.DisplayMetrics;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import com.gh.base.fragment.BaseFragment_ViewPager_Checkable;
+import com.gh.common.util.DisplayUtils;
+import com.gh.gamecenter.LibaoActivity;
+import com.gh.gamecenter.R;
+import com.gh.gamecenter.eventbus.EBUISwitch;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.List;
+
+import butterknife.BindView;
+
+import static com.gh.gamecenter.LibaoActivity.EB_LIBAOACTIVITY_TAG;
+
+/**
+ * @author CsHeng
+ * @Date 17/06/2017
+ * @Time 10:30 AM
+ */
+
+public class LibaoFragment extends BaseFragment_ViewPager_Checkable {
+
+ @BindView(R.id.libao_slide_line)
+ View mSlidebarLine;
+ private LinearLayout.LayoutParams mLayoutParams;
+ private int mWidth;
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.fragment_libao;
+ }
+
+ @Override
+ protected int getCheckableGroupId() {
+ return R.id.libao_ll_top;
+ }
+
+ @Override
+ protected int getViewPagerId() {
+ return R.id.libao_vp_content;
+ }
+
+ @Override
+ protected boolean getSmoothScroll() {
+ return true;
+ }
+
+ @Override
+ protected void initFragmentList(List fragments) {
+ fragments.add(new Libao1Fragment());
+ fragments.add(new Libao2Fragment());
+ fragments.add(new Libao3Fragment());
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ DisplayMetrics outMetrics = new DisplayMetrics();
+ getActivity().getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
+ mWidth = outMetrics.widthPixels / 3;
+ mLayoutParams = new LinearLayout.LayoutParams(mWidth / 2, DisplayUtils.dip2px(getActivity(), 2));
+ setHasOptionsMenu(true);
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ setNavigationTitle(R.string.personal_libao);
+ }
+
+ @Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ super.onCreateOptionsMenu(menu, inflater);
+ inflater.inflate(R.menu.menu_concern, menu);
+ }
+
+ @Override
+ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+
+ mLayoutParams.leftMargin = (int) (mWidth * (mCheckedIndex + 0.25f));
+ mSlidebarLine.setLayoutParams(mLayoutParams);
+
+ view.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ EventBus.getDefault().post(new EBUISwitch(EB_LIBAOACTIVITY_TAG, 0));
+ }
+ }, 100);
+
+ }
+
+ @Override
+ public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
+ super.onPageScrolled(position, positionOffset, positionOffsetPixels);
+ if (positionOffset != 0) {
+ mLayoutParams.leftMargin = (int) (mWidth * (position + positionOffset + 0.25f));
+ mSlidebarLine.setLayoutParams(mLayoutParams);
+// } else {
+// if (currentItem != mNewsVP.getCurrentItem()) {
+// currentItem = mNewsVP.getCurrentItem();
+// EventBus.getDefault().post(new EBUISwitch(EB_NEWSFRAGMENT_TAG, currentItem));
+// }
+ }
+ }
+
+
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onEventMainThread(EBUISwitch busNine) {
+ if (LibaoActivity.EB_LIBAOACTIVITY_TAG.equals(busNine.getFrom())) {
+ if (busNine.getPosition() == 1) {
+ EventBus.getDefault().post(new EBUISwitch(EB_LIBAOACTIVITY_TAG, mCheckedIndex));
+ }
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
index 32c19b2cb6..6803e3bd3e 100644
--- a/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
@@ -3,12 +3,12 @@ package com.gh.gamecenter.news;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.util.DisplayMetrics;
-import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.Toast;
+import com.gh.base.OnRequestCallBackListener;
import com.gh.common.constant.ItemViewType;
import com.gh.common.util.DataCollectionUtils;
import com.gh.common.util.DataUtils;
@@ -17,19 +17,18 @@ import com.gh.common.util.ImageUtils;
import com.gh.common.util.NewsUtils;
import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.R;
-import com.lightgame.adapter.BaseRecyclerAdapter;
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
import com.gh.gamecenter.adapter.viewholder.NewsImage1ViewHolder;
import com.gh.gamecenter.adapter.viewholder.NewsImage2ViewHolder;
import com.gh.gamecenter.adapter.viewholder.NewsImage3ViewHolder;
import com.gh.gamecenter.entity.NewsEntity;
import com.gh.gamecenter.entity.ViewsEntity;
-import com.gh.base.OnRequestCallBackListener;
import com.gh.gamecenter.manager.VisitManager;
import com.gh.gamecenter.retrofit.JSONObjectResponse;
import com.gh.gamecenter.retrofit.ObservableUtil;
import com.gh.gamecenter.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
+import com.lightgame.adapter.BaseRecyclerAdapter;
import org.json.JSONException;
import org.json.JSONObject;
@@ -82,24 +81,15 @@ public class News1FragmentAdapter extends BaseRecyclerAdapter {
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View view;
switch (viewType) {
case ItemViewType.NEWS_IMAGE1:
- view = LayoutInflater.from(parent.getContext()).inflate(
- R.layout.news_image1_item, parent, false);
- return new NewsImage1ViewHolder(view);
+ return new NewsImage1ViewHolder(mLayoutInflater.inflate(R.layout.news_image1_item, parent, false));
case ItemViewType.NEWS_IMAGE2:
- view = LayoutInflater.from(parent.getContext()).inflate(
- R.layout.news_image2_item, parent, false);
- return new NewsImage2ViewHolder(view);
+ return new NewsImage2ViewHolder(mLayoutInflater.inflate(R.layout.news_image2_item, parent, false));
case ItemViewType.NEWS_IMAGE3:
- view = LayoutInflater.from(parent.getContext()).inflate(
- R.layout.news_image3_item, parent, false);
- return new NewsImage3ViewHolder(view);
+ return new NewsImage3ViewHolder(mLayoutInflater.inflate(R.layout.news_image3_item, parent, false));
case ItemViewType.LOADING:
- view = LayoutInflater.from(parent.getContext()).inflate(
- R.layout.refresh_footerview, parent, false);
- return new FooterViewHolder(view);
+ return new FooterViewHolder(mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false));
default:
return null;
}
@@ -107,14 +97,19 @@ public class News1FragmentAdapter extends BaseRecyclerAdapter {
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
- if (holder instanceof NewsImage1ViewHolder) {
- initNewsImage1ViewHolder((NewsImage1ViewHolder) holder, position);
- } else if (holder instanceof NewsImage2ViewHolder) {
- initNewsImage2ViewHolder((NewsImage2ViewHolder) holder, position);
- } else if (holder instanceof NewsImage3ViewHolder) {
- initNewsImage3ViewHolder((NewsImage3ViewHolder) holder, position);
- } else if (holder instanceof FooterViewHolder) {
- initFooterViewHolder((FooterViewHolder) holder);
+ switch (getItemViewType(position)) {
+ case ItemViewType.NEWS_IMAGE1:
+ initNewsImage1ViewHolder((NewsImage1ViewHolder) holder, position);
+ break;
+ case ItemViewType.NEWS_IMAGE2:
+ initNewsImage2ViewHolder((NewsImage2ViewHolder) holder, position);
+ break;
+ case ItemViewType.NEWS_IMAGE3:
+ initNewsImage3ViewHolder((NewsImage3ViewHolder) holder, position);
+ break;
+ case ItemViewType.LOADING:
+ initFooterViewHolder((FooterViewHolder) holder);
+ break;
}
}
diff --git a/app/src/main/res/drawable-xhdpi/ocupy.9.png b/app/src/main/res/drawable-xhdpi/occupy.9.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ocupy.9.png
rename to app/src/main/res/drawable-xhdpi/occupy.9.png
diff --git a/app/src/main/res/drawable-xhdpi/ocupy2.png b/app/src/main/res/drawable-xhdpi/occupy2.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/ocupy2.png
rename to app/src/main/res/drawable-xhdpi/occupy2.png
diff --git a/app/src/main/res/drawable/menu_ic_bar_back.xml b/app/src/main/res/drawable/menu_ic_bar_back.xml
new file mode 100644
index 0000000000..a5569d140f
--- /dev/null
+++ b/app/src/main/res/drawable/menu_ic_bar_back.xml
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/menu_ic_concern.xml b/app/src/main/res/drawable/menu_ic_concern.xml
new file mode 100644
index 0000000000..7cde3b7e6f
--- /dev/null
+++ b/app/src/main/res/drawable/menu_ic_concern.xml
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/menu_ic_share.xml b/app/src/main/res/drawable/menu_ic_share.xml
new file mode 100644
index 0000000000..cae85870ac
--- /dev/null
+++ b/app/src/main/res/drawable/menu_ic_share.xml
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_detail.xml b/app/src/main/res/layout/activity_detail.xml
index 54586ca578..d8ef22b71e 100644
--- a/app/src/main/res/layout/activity_detail.xml
+++ b/app/src/main/res/layout/activity_detail.xml
@@ -10,11 +10,6 @@
android:layout_width = "match_parent"
android:layout_height = "match_parent" >
-
-
+
+
+ android:layout_height = "?actionBarSize"
+ android:background = "@android:color/white" >
+
+ android:visibility = "gone" >
+ android:layout_above = "@+id/detail_ll_bottom"
+ android:background = "@drawable/shadow" />
+ android:layout_above = "@+id/sharecard_bottom"
+ android:fillViewport = "true" >
+ fresco:placeholderImage = "@drawable/occupy2" />
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/reuse_actionbar.xml b/app/src/main/res/layout/reuse_actionbar.xml
index eae1d6b9c5..2c9554ab15 100644
--- a/app/src/main/res/layout/reuse_actionbar.xml
+++ b/app/src/main/res/layout/reuse_actionbar.xml
@@ -2,9 +2,24 @@
+
+
+
+
+
+
-
-
-
-
-
+ android:textSize = "17sp" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/search_actionbar.xml b/app/src/main/res/layout/search_actionbar.xml
index 195c1e2c87..a7e1b6b648 100644
--- a/app/src/main/res/layout/search_actionbar.xml
+++ b/app/src/main/res/layout/search_actionbar.xml
@@ -2,7 +2,7 @@
diff --git a/app/src/main/res/layout/viewimage_normal_item.xml b/app/src/main/res/layout/viewimage_normal_item.xml
index 2853a1c76d..ddad1d20a5 100644
--- a/app/src/main/res/layout/viewimage_normal_item.xml
+++ b/app/src/main/res/layout/viewimage_normal_item.xml
@@ -9,7 +9,7 @@
android:layout_width = "match_parent"
android:layout_height = "match_parent"
fresco:actualImageScaleType = "centerCrop"
- fresco:placeholderImage = "@drawable/ocupy2" />
+ fresco:placeholderImage = "@drawable/occupy2" />
+
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 00045f7af3..6bf00ab6fd 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -60,7 +60,7 @@