diff --git a/app/src/main/java/com/gh/base/BaseActivity.java b/app/src/main/java/com/gh/base/BaseActivity.java index 02213d3363..6495850daa 100644 --- a/app/src/main/java/com/gh/base/BaseActivity.java +++ b/app/src/main/java/com/gh/base/BaseActivity.java @@ -34,7 +34,7 @@ public abstract class BaseActivity extends BaseAppCompatToolBarActivity implemen return false; } - protected String entrance; + protected String mEntrance; private SystemBarTintManager mTintManager; private boolean isPause; @@ -44,9 +44,9 @@ public abstract class BaseActivity extends BaseAppCompatToolBarActivity implemen init(mContentView); AppManager.getInstance().addActivity(this); EventBus.getDefault().register(this); - entrance = getIntent().getStringExtra(KEY_ENTRANCE); + mEntrance = getIntent().getStringExtra(KEY_ENTRANCE); if (getIntent().getBundleExtra(KEY_DATA) != null) { - entrance = getIntent().getBundleExtra(KEY_DATA).getString(KEY_ENTRANCE); + mEntrance = getIntent().getBundleExtra(KEY_DATA).getString(KEY_ENTRANCE); } } diff --git a/app/src/main/java/com/gh/base/BaseDetailActivity.java b/app/src/main/java/com/gh/base/BaseDetailActivity.java index 0414128eda..ac4fcf16b4 100644 --- a/app/src/main/java/com/gh/base/BaseDetailActivity.java +++ b/app/src/main/java/com/gh/base/BaseDetailActivity.java @@ -40,7 +40,6 @@ public abstract class BaseDetailActivity extends BaseActivity implements View.On protected GameEntity gameEntity; protected DownloadEntity mDownloadEntity; - protected String entrance; protected String name; protected String title; protected String downloadAddWord; @@ -71,11 +70,6 @@ public abstract class BaseDetailActivity extends BaseActivity implements View.On protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - entrance = getIntent().getStringExtra("entrance"); - if (getIntent().getBundleExtra("data") != null) { - entrance = getIntent().getBundleExtra("data").getString("entrance"); - } - // View contentView = View.inflate(this, R.layout.activity_detail, null); // 添加分享图标 @@ -326,7 +320,7 @@ public abstract class BaseDetailActivity extends BaseActivity implements View.On }); } } else { - DownloadDialog.getInstance(this).showPopupWindow(v, gameEntity, entrance, name + ":" + title); + DownloadDialog.getInstance(this).showPopupWindow(v, gameEntity, mEntrance, name + ":" + title); } } else { toast("稍等片刻~!游戏正在上传中..."); @@ -337,7 +331,7 @@ public abstract class BaseDetailActivity extends BaseActivity implements View.On Intent intent = new Intent(this, DownloadManagerActivity.class); intent.putExtra("currentItem", 1); intent.putExtra("url", gameEntity.getApk().get(0).getUrl()); - intent.putExtra("entrance", entrance + "+(" + name + "[" + title + "])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, mEntrance + "+(" + name + "[" + title + "])"); startActivity(intent); } else if ("安装".equals(str)) { PackageUtils.launchSetup(this, mDownloadEntity.getPath()); @@ -363,9 +357,9 @@ public abstract class BaseDetailActivity extends BaseActivity implements View.On ApkEntity apkEntity = gameEntity.getApk().get(0); String msg = FileUtils.isCanDownload(this, apkEntity.getSize()); if (TextUtils.isEmpty(msg)) { - DataUtils.onGameDownloadEvent(this, gameEntity.getName(), apkEntity.getPlatform(), entrance, "下载开始"); + DataUtils.onGameDownloadEvent(this, gameEntity.getName(), apkEntity.getPlatform(), mEntrance, "下载开始"); - DownloadManager.createDownload(this, apkEntity, gameEntity, method, entrance, name + ":" + title); + DownloadManager.createDownload(this, apkEntity, gameEntity, method, mEntrance, name + ":" + title); detail_tv_download.setVisibility(View.GONE); detail_pb_progressbar.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/gh/base/BaseFragment.java b/app/src/main/java/com/gh/base/BaseFragment.java index 8af0e4623e..c6df25abe9 100644 --- a/app/src/main/java/com/gh/base/BaseFragment.java +++ b/app/src/main/java/com/gh/base/BaseFragment.java @@ -8,6 +8,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Toast; +import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.listener.OnCallBackListener; import butterknife.ButterKnife; @@ -23,6 +24,8 @@ public class BaseFragment extends Fragment implements OnCallBackListener { protected boolean isEverpause; + protected String mEntrance; + protected void init(int layout) { view = View.inflate(getActivity(), layout, null); @@ -32,6 +35,7 @@ public class BaseFragment extends Fragment implements OnCallBackListener { @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + mEntrance = getActivity().getIntent().getStringExtra(EntranceUtils.KEY_ENTRANCE); isEverpause = false; EventBus.getDefault().register(this); } diff --git a/app/src/main/java/com/gh/base/BaseFragmentActivity.java b/app/src/main/java/com/gh/base/BaseFragmentActivity.java index 533cdaba0e..3c910cf103 100644 --- a/app/src/main/java/com/gh/base/BaseFragmentActivity.java +++ b/app/src/main/java/com/gh/base/BaseFragmentActivity.java @@ -26,7 +26,7 @@ // //public class BaseFragmentActivity extends FragmentActivity { // -// protected String entrance; +// protected String mEntrance; // // private boolean isPause; // @@ -35,9 +35,9 @@ // super.onCreate(savedInstanceState); // AppManager.getInstance().addActivity(this); // EventBus.getDefault().register(this); -// entrance = getIntent().getStringExtra("entrance"); +// mEntrance = getIntent().getStringExtra("mEntrance"); // if (getIntent().getBundleExtra("data") != null) { -// entrance = getIntent().getBundleExtra("data").getString("entrance"); +// mEntrance = getIntent().getBundleExtra("data").getString("mEntrance"); // } // } // diff --git a/app/src/main/java/com/gh/base/HomeFragment.java b/app/src/main/java/com/gh/base/HomeFragment.java index fc63418ce9..beecb7f942 100644 --- a/app/src/main/java/com/gh/base/HomeFragment.java +++ b/app/src/main/java/com/gh/base/HomeFragment.java @@ -184,7 +184,7 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Sear DataCollectionUtils.uploadClick(getActivity(), "下载图标", "主页"); Intent intent = new Intent(getActivity(), DownloadManagerActivity.class); - intent.putExtra("entrance", "(工具栏)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(工具栏)"); intent.putExtra("currentItem", 0); startActivity(intent); } else if (id == R.id.actionbar_iv_search) { @@ -194,7 +194,7 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Sear Intent intent = new Intent(getActivity(), SearchActivity.class); intent.putExtra("clicked", true); intent.putExtra("hint", searchHint.getHint().toString()); - intent.putExtra("entrance", "(工具栏)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(工具栏)"); startActivity(intent); } else if (id == R.id.actionbar_search_input || id == R.id.actionbar_search_rl) { DataUtils.onEvent(getActivity(), "主页", "搜索框"); @@ -203,14 +203,14 @@ public class HomeFragment extends Fragment implements View.OnClickListener, Sear Intent intent = new Intent(getActivity(), SearchActivity.class); intent.putExtra("clicked", false); intent.putExtra("hint", searchHint.getHint().toString()); - intent.putExtra("entrance", "(工具栏)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(工具栏)"); startActivity(intent); } else if (id == R.id.actionbar_notification) { DataUtils.onEvent(getActivity(), "主页", "关注图标"); DataCollectionUtils.uploadClick(getActivity(), "关注图标", "主页"); Intent intent = new Intent(getActivity(), ConcernActivity.class); - intent.putExtra("entrance", "(工具栏)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(工具栏)"); startActivity(intent); } } diff --git a/app/src/main/java/com/gh/common/util/BitmapUtils.java b/app/src/main/java/com/gh/common/util/BitmapUtils.java index 6d3f34d9ef..2901f16869 100644 --- a/app/src/main/java/com/gh/common/util/BitmapUtils.java +++ b/app/src/main/java/com/gh/common/util/BitmapUtils.java @@ -4,13 +4,46 @@ import android.graphics.*; import android.graphics.drawable.Drawable; import android.media.ExifInterface; -import java.io.IOException; +import java.io.*; /** * Created by LGT on 2016/10/21. */ public class BitmapUtils { + /** + * 保存图片 + * + * @param newPath + * @param filePath + * @return + */ + public static boolean savePicture(String newPath, String filePath) { + BitmapFactory.Options options = new BitmapFactory.Options(); +// options.inSampleSize = 2; + Bitmap bitmap = BitmapFactory.decodeFile(filePath, options); + + File file = new File(newPath); + int quality = 80; + do { + try { + BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file)); + bitmap.compress(Bitmap.CompressFormat.JPEG, quality, bos); + bos.flush(); + bos.close(); + } catch (IOException e) { + file.delete(); + e.printStackTrace(); + return false; + } + quality -= 10; + if (quality < 10) { + quality = 10; + } + } while (file.length() > 81920 && quality > 10); + return true; + } + /** * 根据文件路径返回bitmap * diff --git a/app/src/main/java/com/gh/common/util/CommentUtils.java b/app/src/main/java/com/gh/common/util/CommentUtils.java index 1526db9c26..73dd4a00b8 100644 --- a/app/src/main/java/com/gh/common/util/CommentUtils.java +++ b/app/src/main/java/com/gh/common/util/CommentUtils.java @@ -2,7 +2,6 @@ package com.gh.common.util; import android.app.Dialog; import android.content.Context; -import android.content.Intent; import android.graphics.Color; import android.support.v4.content.ContextCompat; import android.text.TextUtils; @@ -10,7 +9,6 @@ import android.view.View; import android.view.Window; import android.widget.LinearLayout; import android.widget.TextView; -import com.gh.base.AppController; import com.gh.gamecenter.*; import com.gh.gamecenter.adapter.MessageDetailAdapter; import com.gh.gamecenter.db.CommentDao; @@ -105,12 +103,7 @@ public class CommentUtils { if (mCallBackListener != null) { mCallBackListener.showSoftInput(commentEntity); } else if (!TextUtils.isEmpty(newsId)) { - Intent intent = new Intent(mContext, MessageDetailActivity.class); - AppController.put("CommentEntity", commentEntity); - intent.putExtra("commentNum", -1); - intent.putExtra("newsId", newsId); - intent.putExtra("openSoftInput", true); - mContext.startActivity(intent); + mContext.startActivity(MessageDetailActivity.getMessageDetailIntent(mContext, commentEntity, newsId)); } else { Utils.toast(mContext, "缺少关键属性"); } @@ -123,13 +116,9 @@ public class CommentUtils { showReportTypeDialog(commentEntity, mContext); break; case "查看对话": - Intent intent = new Intent(mContext, CommentDetailActivity.class); - intent.putExtra("commentId", commentEntity.getId()); - mContext.startActivity(intent); + mContext.startActivity(CommentDetailActivity.getCommentDetailIntent(mContext, commentEntity.getId())); break; } - - } }); } diff --git a/app/src/main/java/com/gh/common/util/ConcernContentUtils.java b/app/src/main/java/com/gh/common/util/ConcernContentUtils.java index 27311610cb..a43278c182 100644 --- a/app/src/main/java/com/gh/common/util/ConcernContentUtils.java +++ b/app/src/main/java/com/gh/common/util/ConcernContentUtils.java @@ -85,14 +85,11 @@ public class ConcernContentUtils { imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Intent checkIntent = new Intent(context, ViewImageActivity.class); - checkIntent.putExtra("urls", (ArrayList) list); - checkIntent.putExtra("current", position); - checkIntent.putExtra("ScaleType", "FIT_CENTER"); - checkIntent.putExtra("entrance", entrance); + Intent checkIntent = ViewImageActivity.getViewImageIntent(context, (ArrayList) list, position, entrance); context.startActivity(checkIntent); } }); return imageView; } + } diff --git a/app/src/main/java/com/gh/common/util/DataCollectionUtils.java b/app/src/main/java/com/gh/common/util/DataCollectionUtils.java index 63340a1335..0521b54e62 100644 --- a/app/src/main/java/com/gh/common/util/DataCollectionUtils.java +++ b/app/src/main/java/com/gh/common/util/DataCollectionUtils.java @@ -45,7 +45,7 @@ public class DataCollectionUtils { map.put("platform", PlatformUtils.getInstance(context).getPlatformName(downloadEntity.getPlatform())); map.put("status", status); map.put("location", downloadEntity.getLocation()); - map.put("entrance", downloadEntity.getEntrance()); + map.put(EntranceUtils.KEY_ENTRANCE, downloadEntity.getEntrance()); map.put("installed", downloadEntity.getInstalled()); map.put("network", NetworkUtils.getConnectedType(context)); DataCollectionManager.onEvent(context, "download", map); diff --git a/app/src/main/java/com/gh/common/util/DialogUtils.java b/app/src/main/java/com/gh/common/util/DialogUtils.java index cf02609a77..81394d1857 100644 --- a/app/src/main/java/com/gh/common/util/DialogUtils.java +++ b/app/src/main/java/com/gh/common/util/DialogUtils.java @@ -2,11 +2,11 @@ package com.gh.common.util; import android.app.Activity; import android.app.Dialog; -import android.content.*; +import android.content.Context; +import android.content.DialogInterface; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.graphics.Bitmap; -import android.net.Uri; import android.os.Handler; import android.text.Html; import android.text.Spanned; @@ -362,32 +362,19 @@ public class DialogUtils { @Override public void onConfirm() { // 跳转wifi管理界面 - context.startActivity(new Intent("android.settings.WIFI_SETTINGS")); + context.startActivity(IntentUtils.getWifiIntent()); } }); } // 网络劫持时 打开QQ客户端,创建临时会话 - public static void showQqSessionDialog(final Context context, String qq) { - if (qq == null) { - qq = "2586716223";// 默认客服QQ - } - final String finalQq = qq; + public static void showQqSessionDialog(final Context context, final String qq) { showWarningDialog(context, "警告", "您当前网络环境异常,下载地址可能被运营商恶意替换(网络劫持)" + ",如多次下载失败,请联系客服获取正确的下载地址(客服QQ:" + qq + ")" , "取消", "前往QQ", new ConfirmListener() { @Override public void onConfirm() { - if (ShareUtils.isQQClientAvailable(context)) { - //安装了QQ会直接调用QQ,打开手机QQ进行会话 QQ号:2586716223 - String str = "mqqwpa://im/chat?chat_type=wpa&uin=" + finalQq + "&version=1&src_type=web&web_src=oicqzone.com"; - context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(str))); - } else { - //没有安装QQ 复制账号 - ClipboardManager cmb = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); - cmb.setText(finalQq); - Utils.toast(context, "已复制" + finalQq); - } + QQUtils.startQQSession(context, qq); } }, null); } 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 c19bdf7c38..a5d58d362f 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java @@ -1,7 +1,6 @@ package com.gh.common.util; import android.content.Context; -import android.content.Intent; import android.graphics.Color; import android.os.Message; import android.support.v4.util.ArrayMap; @@ -329,11 +328,8 @@ public class DownloadItemUtils { PackageUtils.launchApplicationByPackageName(context, gameEntity.getApk().get(0).getPackageName()); } else if ("下载中".equals(str)) { - Intent intent = new Intent(context, DownloadManagerActivity.class); - intent.putExtra("currentItem", 1); - intent.putExtra("url", gameEntity.getApk().get(0).getUrl()); - intent.putExtra("entrance", entrance + "+(" + location.split(":")[0] + ")"); - context.startActivity(intent); + context.startActivity( + DownloadManagerActivity.getDownloadMangerIntent(context, gameEntity, entrance + "+(" + location.split(":")[0] + ")")); } else if ("更新".equals(str)) { if (NetworkUtils.isWifiConnected(context)) { update(context, gameEntity, entrance, location); diff --git a/app/src/main/java/com/gh/common/util/EntranceUtils.java b/app/src/main/java/com/gh/common/util/EntranceUtils.java index 2bc9e578d0..fe62682b6f 100644 --- a/app/src/main/java/com/gh/common/util/EntranceUtils.java +++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java @@ -29,7 +29,7 @@ public class EntranceUtils { public static final String KEY_DATA = "data"; public static final String KEY_TYPE = "type"; public static final String KEY_NAME = "name"; - public static final String KEY_ENTRANCE = "entrance"; + public static final String KEY_ENTRANCE = EntranceUtils.KEY_ENTRANCE; public static final String KEY_TARGET = "target"; public static final String ENTRANCE_BROWSER = "(浏览器)"; public static final String ENTRANCE_UMENG = "(友盟推送)"; @@ -62,12 +62,8 @@ public class EntranceUtils { } } else { // 应用未在运行 - Intent intent1 = new Intent(context, SplashScreenActivity.class); - intent1.setAction(Intent.ACTION_MAIN); - intent1.addCategory(Intent.CATEGORY_LAUNCHER); - intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent1.putExtra(KEY_DATA, bundle); - context.startActivity(intent1); + context.startActivity(SplashScreenActivity.getSplashScreenIntent(context, bundle)); } } + } 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 4820147131..0815c1a5ed 100644 --- a/app/src/main/java/com/gh/common/util/GameUtils.java +++ b/app/src/main/java/com/gh/common/util/GameUtils.java @@ -1,12 +1,9 @@ package com.gh.common.util; import android.content.Context; -import android.content.Intent; import android.graphics.Color; import android.widget.TextView; -import com.gh.base.AppController; import com.gh.download.*; -import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.*; import com.gh.gamecenter.manager.PackageManager; @@ -38,28 +35,6 @@ public class GameUtils { return rawList; } - /** - * 启动游戏详情页面 - */ - public static void startGameDetailActivity(Context context, GameEntity gameEntity, String entrance) { - AppController.put("GameEntity", gameEntity); - Intent intent = new Intent(context, GameDetailActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.putExtra("entrance", entrance); - context.startActivity(intent); - } - - /** - * 启动游戏详情页面 - */ - public static void startGameDetailActivity(Context context, String gameId, String entrance) { - Intent intent = new Intent(context, GameDetailActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.putExtra("gameId", gameId); - intent.putExtra("entrance", entrance); - context.startActivity(intent); - } - /** * 设置下载按钮状态 */ diff --git a/app/src/main/java/com/gh/common/util/Installation.java b/app/src/main/java/com/gh/common/util/Installation.java index 6b2d19e911..311ba08aed 100644 --- a/app/src/main/java/com/gh/common/util/Installation.java +++ b/app/src/main/java/com/gh/common/util/Installation.java @@ -2,7 +2,6 @@ package com.gh.common.util; import android.content.Context; import android.provider.Settings; -import android.telephony.TelephonyManager; import android.text.TextUtils; import java.io.*; @@ -15,7 +14,7 @@ public class Installation { private static String sID = null; public synchronized static String getUUID(Context context) { - String imei = ((TelephonyManager) context.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId(); + String imei = Util_System_Phone_State.getDeviceId(context); if (!TextUtils.isEmpty(imei)) { return imei; } diff --git a/app/src/main/java/com/gh/common/util/IntentUtils.java b/app/src/main/java/com/gh/common/util/IntentUtils.java new file mode 100644 index 0000000000..1eeec0e72f --- /dev/null +++ b/app/src/main/java/com/gh/common/util/IntentUtils.java @@ -0,0 +1,55 @@ +package com.gh.common.util; + +import android.content.*; +import android.net.Uri; +import android.support.annotation.NonNull; + +/** + * @author CsHeng + * @Date 17/05/2017 + * @Time 5:23 PM + */ + +public class IntentUtils { + + + + public static Intent getWifiIntent() { + return new Intent("android.settings.WIFI_SETTINGS"); + } + + @NonNull + public static Intent getWechatShareIntent(Context context, String picName) { + Intent intent = new Intent(Intent.ACTION_SEND); + intent.setType("image/*"); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + context.getExternalCacheDir().getPath() + "/ShareImg/" + picName)); + intent.setComponent(new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI")); + return intent; + } + + @NonNull + public static Intent getSMSIntent(String smsBody) { + Intent sendIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("smsto:")); + sendIntent.putExtra("sms_body", smsBody); + sendIntent.setType("vnd.android-dir/mms-sms"); + + sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + return sendIntent; + } + + @NonNull + public static Intent getEmailToGHIntent() { + Intent data = new Intent(Intent.ACTION_SENDTO); + data.setData(Uri.parse("mailto:")); + data.putExtra(Intent.EXTRA_SUBJECT, "快来试试光环助手"); + data.putExtra(Intent.EXTRA_TEXT, "我用光环助手一段时间了,在里面可以下载各种热门卡牌手游的加速版,绿色安全,超级省心,做日常效率提高3-5倍!\n" + + "\n" + + "不用肝的感觉真好,快来试试。\n" + + "\n" + + "光环助手官网地址:\n" + + "\n" + + "http://www.ghzhushou.com/link?source=appshare333"); + return data; + } +} diff --git a/app/src/main/java/com/gh/common/util/LibaoUtils.java b/app/src/main/java/com/gh/common/util/LibaoUtils.java index fcd977f1f6..8445343641 100644 --- a/app/src/main/java/com/gh/common/util/LibaoUtils.java +++ b/app/src/main/java/com/gh/common/util/LibaoUtils.java @@ -1,18 +1,13 @@ package com.gh.common.util; import android.content.ClipboardManager; -import android.content.Context; -import android.content.Intent; +import android.content.*; import android.content.pm.PackageInfo; import android.content.res.ColorStateList; import android.graphics.Color; -import android.text.Html; -import android.text.Spanned; -import android.text.TextUtils; +import android.text.*; import android.view.View; import android.widget.TextView; - -import com.gh.base.AppController; import com.gh.gamecenter.LibaoDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.LibaoDetailAdapter; @@ -23,23 +18,19 @@ import com.gh.gamecenter.entity.LibaoStatusEntity; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBUISwitch; import com.gh.gamecenter.geetest.GeetestUtils; -import com.gh.gamecenter.retrofit.JSONObjectResponse; -import com.gh.gamecenter.retrofit.Response; -import com.gh.gamecenter.retrofit.RetrofitManager; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.List; - +import com.gh.gamecenter.retrofit.*; import de.greenrobot.event.EventBus; import okhttp3.ResponseBody; +import org.json.JSONException; +import org.json.JSONObject; import retrofit2.HttpException; import rx.Observable; import rx.android.schedulers.AndroidSchedulers; import rx.functions.Func1; import rx.schedulers.Schedulers; +import java.util.List; + /** * Created by khy on 2016/12/16. * 礼包工具类, 包括联网操作和领取按钮状态 @@ -303,9 +294,7 @@ public class LibaoUtils { Utils.toast(libaoBtn.getContext(), "还没到开始领取时间"); break; case "查看": - AppController.put("libaoEntity", libaoEntity); - Intent intent = new Intent(libaoBtn.getContext(), LibaoDetailActivity.class); - intent.putExtra("entrance", entrance); + Intent intent = LibaoDetailActivity.getLibaoDetailIntent(libaoEntity, libaoBtn, entrance); libaoBtn.getContext().startActivity(intent); break; case "领取": diff --git a/app/src/main/java/com/gh/common/util/MessageShareUtils.java b/app/src/main/java/com/gh/common/util/MessageShareUtils.java index a64056de7f..0fade34708 100644 --- a/app/src/main/java/com/gh/common/util/MessageShareUtils.java +++ b/app/src/main/java/com/gh/common/util/MessageShareUtils.java @@ -262,12 +262,7 @@ public class MessageShareUtils { //调用手机系统分享 try { - Intent intent = new Intent(Intent.ACTION_SEND); - intent.setType("image/*"); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + mContext.getExternalCacheDir().getPath() + "/ShareImg/" + picName)); - intent.setComponent(new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI")); - mContext.startActivity(intent); + mContext.startActivity(IntentUtils.getWechatShareIntent(mContext, picName)); } catch (Exception e) { Utils.toast(mContext, "分享失败!请检查是否已安装微信"); e.printStackTrace(); diff --git a/app/src/main/java/com/gh/common/util/NewsUtils.java b/app/src/main/java/com/gh/common/util/NewsUtils.java index 7b481d03b4..445129ac0a 100644 --- a/app/src/main/java/com/gh/common/util/NewsUtils.java +++ b/app/src/main/java/com/gh/common/util/NewsUtils.java @@ -42,29 +42,6 @@ public class NewsUtils { } } - /** - * 启动新闻详情页面 - */ - public static void startNewsDetailActivity(Context context, NewsEntity newsEntity, String entrance) { - if (!TextUtils.isEmpty(newsEntity.getLink())) { - Intent intent = new Intent(context, WebActivity.class); - intent.putExtra("url", newsEntity.getLink()); - intent.putExtra("gameName", newsEntity.getGameName()); - intent.putExtra("newsId", newsEntity.getId()); - intent.putExtra("entrance", entrance + "+(消息详情[" + newsEntity.getGameName() + "])"); - context.startActivity(intent); - } else { - Intent intent = new Intent(context, NewsDetailActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.putExtra("id", newsEntity.getId()); - intent.putExtra("title", newsEntity.getTitle()); - intent.putExtra("type", newsEntity.getType()); - intent.putExtra("entrance", entrance); - context.startActivity(intent); - } - - } - /** * 统计阅读量 */ 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 7e781b2733..ba92442d39 100644 --- a/app/src/main/java/com/gh/common/util/PackageUtils.java +++ b/app/src/main/java/com/gh/common/util/PackageUtils.java @@ -241,11 +241,9 @@ public class PackageUtils { /* * 启动应用 */ - public static void launchApplicationByPackageName(Context context, - String packageName) { + public static void launchApplicationByPackageName(Context context, String packageName) { try { - Intent intent = context.getApplicationContext().getPackageManager().getLaunchIntentForPackage( - packageName); + Intent intent = context.getApplicationContext().getPackageManager().getLaunchIntentForPackage(packageName); if (intent != null) { context.startActivity(intent); } else { @@ -260,8 +258,7 @@ public class PackageUtils { /* * 根据包名,获取软件名称 */ - public static String getNameByPackageName(Context context, - String packageName) { + public static String getNameByPackageName(Context context, String packageName) { try { PackageManager pm = context.getApplicationContext().getPackageManager(); ApplicationInfo applicationInfo = pm.getApplicationInfo( diff --git a/app/src/main/java/com/gh/common/util/PatternUtils.java b/app/src/main/java/com/gh/common/util/PatternUtils.java new file mode 100644 index 0000000000..9ff26259f6 --- /dev/null +++ b/app/src/main/java/com/gh/common/util/PatternUtils.java @@ -0,0 +1,31 @@ +package com.gh.common.util; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @author CsHeng + * @Date 17/05/2017 + * @Time 2:35 PM + */ + +public class PatternUtils { + + public static final Pattern VALID_EMAIL_ADDRESS_REGEX = + Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE); + + public static final Pattern VALIDATE_URL_REGEX = + Pattern.compile("((http://|ftp://|https://|www.))(([a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6})|([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\\&%_\\./-~-]*)?"); + + public static boolean isEmailAddress(String emailStr) { + Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr); + return matcher.matches(); + } + + public static boolean isUrlAddress(String url) { + Matcher matcher = VALIDATE_URL_REGEX.matcher(url); + return matcher.matches(); + } + + +} diff --git a/app/src/main/java/com/gh/common/util/QQUtils.java b/app/src/main/java/com/gh/common/util/QQUtils.java index d2a651f05c..7456455a2e 100644 --- a/app/src/main/java/com/gh/common/util/QQUtils.java +++ b/app/src/main/java/com/gh/common/util/QQUtils.java @@ -1,7 +1,9 @@ package com.gh.common.util; -import android.content.*; +import android.content.Context; +import android.content.Intent; import android.net.Uri; +import android.text.TextUtils; /** * Created by khy on 2017/3/30. @@ -9,14 +11,18 @@ import android.net.Uri; public class QQUtils { public static void startQQSession(Context context, String qq) { + if (TextUtils.isEmpty(qq)) { + qq = "2586716223"; + } if (ShareUtils.isQQClientAvailable(context)) { //安装了QQ会直接调用QQ,打开手机QQ进行会话 QQ号:2586716223 String str = "mqqwpa://im/chat?chat_type=wpa&uin=" + qq + "&version=1&src_type=web&web_src=oicqzone.com"; context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(str))); } else { //没有安装QQ 复制账号 - ClipboardManager cmb = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); - cmb.setText(qq); +// ClipboardManager cmb = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE); +// cmb.setText(qq); + Util_System_ClipboardManager.setText(context, qq); Utils.toast(context, "已复制" + qq); } } diff --git a/app/src/main/java/com/gh/common/util/ShareUtils.java b/app/src/main/java/com/gh/common/util/ShareUtils.java index b502693d9e..9e15b7ef8c 100644 --- a/app/src/main/java/com/gh/common/util/ShareUtils.java +++ b/app/src/main/java/com/gh/common/util/ShareUtils.java @@ -5,7 +5,6 @@ import android.content.*; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.*; -import android.net.Uri; import android.os.Bundle; import android.support.v4.content.ContextCompat; import android.support.v7.widget.GridLayoutManager; @@ -351,16 +350,8 @@ public class ShareUtils { //新浪微博分享 private void sinaWeiboSahre() { - Intent intent = new Intent(mContext, WeiBoShareActivity.class); - Bundle bundle = new Bundle(); - bundle.putString("shareNewsTitle", shareNewsTitle); - bundle.putString("shareIcon", shareIcon); - bundle.putString("shareGameName", shareGameName); - bundle.putString("shareUrl", shareUrl); - bundle.putBoolean("isPlugin", isPlugin); - bundle.putBoolean("ispopupWindow", ispopupWindow); - intent.putExtras(bundle); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + Intent intent = WeiBoShareActivity.getWeiboshareIntent(mContext, + shareNewsTitle, shareIcon, shareGameName, shareUrl, isPlugin, ispopupWindow); mContext.startActivity(intent); if (ispopupWindow) { @@ -385,12 +376,8 @@ public class ShareUtils { smsBody = "这个App可以下载各种热门卡牌手游的加速版,绿色安全,超级省心,做日常效率提高3-5倍!光环助手官网地址:" + shareUrl; } - Intent sendIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("smsto:")); - sendIntent.putExtra("sms_body", smsBody); - sendIntent.setType("vnd.android-dir/mms-sms"); - try { - sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + Intent sendIntent = IntentUtils.getSMSIntent(smsBody); mContext.startActivity(sendIntent); } catch (Exception e) { Utils.toast(mContext, "系统异常,分享失败"); @@ -541,16 +528,7 @@ public class ShareUtils { if (ispopupWindow) { copyLink(shareUrl); } else { - Intent data = new Intent(Intent.ACTION_SENDTO); - data.setData(Uri.parse("mailto:")); - data.putExtra(Intent.EXTRA_SUBJECT, "快来试试光环助手"); - data.putExtra(Intent.EXTRA_TEXT, "我用光环助手一段时间了,在里面可以下载各种热门卡牌手游的加速版,绿色安全,超级省心,做日常效率提高3-5倍!\n" + - "\n" + - "不用肝的感觉真好,快来试试。\n" + - "\n" + - "光环助手官网地址:\n" + - "\n" + - "http://www.ghzhushou.com/link?source=appshare333"); + Intent data = IntentUtils.getEmailToGHIntent(); mContext.startActivity(data); } break; diff --git a/app/src/main/java/com/gh/common/util/TokenUtils.java b/app/src/main/java/com/gh/common/util/TokenUtils.java index f1e53ce2e0..9f2af76da7 100644 --- a/app/src/main/java/com/gh/common/util/TokenUtils.java +++ b/app/src/main/java/com/gh/common/util/TokenUtils.java @@ -7,7 +7,6 @@ import android.net.wifi.WifiManager; import android.os.Build; import android.os.Environment; import android.provider.Settings; -import android.telephony.TelephonyManager; import android.text.TextUtils; import com.gh.common.constant.Config; import com.gh.gamecenter.BuildConfig; @@ -39,7 +38,7 @@ public class TokenUtils { if (!TextUtils.isEmpty(android_id)) { params.put("ANDROID_ID", android_id); } - String imei = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId(); + String imei = Util_System_Phone_State.getDeviceId(context); if (!TextUtils.isEmpty(imei)) { params.put("IMEI", imei); } diff --git a/app/src/main/java/com/gh/common/util/Util_System_ClipboardManager.java b/app/src/main/java/com/gh/common/util/Util_System_ClipboardManager.java new file mode 100644 index 0000000000..0e3a6f0c4e --- /dev/null +++ b/app/src/main/java/com/gh/common/util/Util_System_ClipboardManager.java @@ -0,0 +1,120 @@ +package com.gh.common.util; + +import android.content.*; +import android.os.Build; + +/** + * 剪切板使用(暂时只支持文字剪切) + */ +public class Util_System_ClipboardManager { + + /** + * 保存文字到剪切板中 + * + * @param str + * @return + */ + public static boolean setText(Context context, String str) { + + if (context == null) { + return false; + } + Context appliactionContext = null; + try { + appliactionContext = context.getApplicationContext(); + } catch (Exception e) { + } + if (appliactionContext == null) { + return false; + } + + // 如果当前设备的android-sdk 版本号小于11 + if (Build.VERSION.SDK_INT < 11) { + try { + android.text.ClipboardManager clipManager = (android.text.ClipboardManager) appliactionContext + .getSystemService(Context.CLIPBOARD_SERVICE); + clipManager.setText(str); + return true; + } catch (Exception e) { + } + return false; + } + + // 如果当前设备的android-sdk 版本号大于等于11 + else { + try { + ClipboardManager clipManager = (ClipboardManager) appliactionContext + .getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText("simple text", str); + clipManager.setPrimaryClip(clip); + return true; + } catch (Exception e) { + } + return false; + } + } + + /** + * 获取剪切版中的文字,如果有的话 + * + * @param context + * @return + */ + public static String getText(Context context) { + if (context == null) { + return null; + } + Context appliactionContext = null; + try { + appliactionContext = context.getApplicationContext(); + } catch (Exception e) { + } + if (appliactionContext == null) { + return null; + } + + // 如果当前设备的android-sdk 版本号小于11 + if (Build.VERSION.SDK_INT < 11) { + try { + android.text.ClipboardManager clipManager = (android.text.ClipboardManager) appliactionContext + .getSystemService(Context.CLIPBOARD_SERVICE); + if (clipManager.hasText()) { + return clipManager.getText().toString(); + } + } catch (Exception e) { + } + return null; + } + + // 如果当前设备的android-sdk 版本号大于等于11 + else { + try { + ClipboardManager clipManager = (ClipboardManager) appliactionContext + .getSystemService(Context.CLIPBOARD_SERVICE); + + if (clipManager.hasPrimaryClip()) { + + // 如果剪切版中的是文字 + if (clipManager.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN)) { + StringBuilder sb = new StringBuilder(); + ClipData clipData = clipManager.getPrimaryClip(); + for (int i = 0; i < clipData.getItemCount(); ++i) { + sb.append(clipData.getItemAt(i).getText()); + + // ClipData.Item item = clipData.getItemAt(i); + // CharSequence str = item.coerceToText(MainActivity.this); + // resultString += str; + } + if (sb != null) { + return sb.toString(); + } + } + } + } catch (Exception e) { + } + return null; + } + + } + +} diff --git a/app/src/main/java/com/gh/common/util/Util_System_Permission.java b/app/src/main/java/com/gh/common/util/Util_System_Permission.java new file mode 100644 index 0000000000..ece4a13e70 --- /dev/null +++ b/app/src/main/java/com/gh/common/util/Util_System_Permission.java @@ -0,0 +1,153 @@ +package com.gh.common.util; + +import android.Manifest; +import android.content.Context; +import android.content.pm.PackageManager; +import android.os.Build; +import android.os.Build.VERSION_CODES; + +/** + * 权限工具 + * @author CsHeng + */ +public class Util_System_Permission { + + /** + * 是否具有相应权限 + * + * @param context + * @param permissionName + * @return + */ + public static boolean isWithPermission(Context context, String permissionName) { + try { + if (context.checkCallingOrSelfPermission(permissionName) == PackageManager.PERMISSION_DENIED) { + return false; + } + } catch (Throwable e) { + } + return true; + } + + /** + * 检查是否具有写入外部存储卡的权限 + * + * @param context + * @return + */ + public static boolean isWith_WRITE_EXTERNAL_STORAGE_Permission(Context context) { + try { + + // Util_SDK_Compatibility.getSDKLevel(); + int sdkLevel = Build.VERSION.SDK_INT; + + if (sdkLevel < VERSION_CODES.DONUT) { + return true; + } + + return isWithPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE); + } catch (Throwable e) { + } + return false; + } + + /** + * 检查是否具有联网INTERNET权限 + * + * @param context + * @return + */ + public static boolean isWith_INTERNET_Permission(Context context) { + return isWithPermission(context, Manifest.permission.INTERNET); + } + + /** + * 检查是否具有获取手机信息READ_PHONE_STATE权限 + * + * @param context + * @return + */ + public static boolean isWith_READ_PHONE_STATE_Permission(Context context) { + return isWithPermission(context, Manifest.permission.READ_PHONE_STATE); + } + + /** + * 检查是否具有ACCESS_NETWORK_STATE权限 + * + * @param context + * @return + */ + public static boolean isWith_ACCESS_NETWORK_STATE_Permission(Context context) { + return isWithPermission(context, Manifest.permission.ACCESS_NETWORK_STATE); + } + + /** + * 检查是否具有ACCESS_FINE_LOCATION权限 + * + * @param context + * @return + */ + public static boolean isWith_ACCESS_FINE_LOCATION_Permission(Context context) { + return isWithPermission(context, Manifest.permission.ACCESS_FINE_LOCATION); + } + + /** + * 检查是否具有ACCESS_COARSE_LOCATION权限 + * + * @param context + * @return + */ + public static boolean isWith_ACCESS_COARSE_LOCATION_Permission(Context context) { + return isWithPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION); + } + + /** + * 检查是否具有ACCESS_WIFI_STATE权限 + * + * @param context + * @return + */ + public static boolean isWith_ACCESS_WIFI_STATE_Permission(Context context) { + return isWithPermission(context, Manifest.permission.ACCESS_WIFI_STATE); + } + + /** + * 检查是否具有创建快捷方式的权限。 + * + * @param context + * @return + */ + public static boolean isWith_INSTALL_SHORTCUT_Permission(Context context) { + return isWithPermission(context, "com.android.launcher.permission.INSTALL_SHORTCUT"); + } + + /** + * 检查是否具有添加系统浏览器书签的权限 + * + * @param context + * @return + */ + public static boolean isWith_WRITE_HISTORY_BOOKMARKS(Context context) { + return isWithPermission(context, "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"); + } + + /** + * 检查是否具有SYSTEM_ALERT_WINDOW方法 + * + * @param context + * @return + */ + public static boolean isWith_SYSTEM_ALERT_WINDOW_Permission(Context context) { + return isWithPermission(context, Manifest.permission.SYSTEM_ALERT_WINDOW); + } + + /** + * 检查是否具有GET_TASK方法 + * + * @param context + * @return + */ + public static boolean isWith_GET_TASK_Permission(Context context) { + return isWithPermission(context, Manifest.permission.GET_TASKS); + } +} diff --git a/app/src/main/java/com/gh/common/util/Util_System_Phone_State.java b/app/src/main/java/com/gh/common/util/Util_System_Phone_State.java new file mode 100644 index 0000000000..f71e1f1c79 --- /dev/null +++ b/app/src/main/java/com/gh/common/util/Util_System_Phone_State.java @@ -0,0 +1,182 @@ +/** + * project: CompanyPortalApp + *

+ *

+ * ======================================================================== + * amend date amend user amend reason + * 2012-2-14 CsHeng + */ + +package com.gh.common.util; + +import android.content.Context; +import android.content.pm.PackageManager.NameNotFoundException; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.os.Build; +import android.telephony.TelephonyManager; +import android.text.format.Formatter; +import android.util.Log; + +import java.net.*; +import java.util.Enumeration; +import java.util.Locale; + +/** + * 读取手机信息工具类 + * + * @author CsHeng + * @date 2012-2-14 + * @date 2015-9-6 update by yxf getImei + */ +public class Util_System_Phone_State { + + public static String getMac(Context context) { + try { + if (Util_System_Permission.isWith_ACCESS_WIFI_STATE_Permission(context)) { + WifiManager wifi = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE); + WifiInfo info = wifi.getConnectionInfo(); + String str = info.getMacAddress(); + if (str != null) { + str = str.trim(); + return str; + } + } + } catch (Throwable e) { + } + return ""; + } + + public static String getLocalIpAddress() { + try { + for (Enumeration en = NetworkInterface + .getNetworkInterfaces(); en.hasMoreElements(); ) { + NetworkInterface intf = en.nextElement(); + for (Enumeration enumIpAddr = intf + .getInetAddresses(); enumIpAddr.hasMoreElements(); ) { + InetAddress inetAddress = enumIpAddr.nextElement(); + if (!inetAddress.isLoopbackAddress()) { + return inetAddress.getHostAddress(); + } + } + } + } catch (SocketException ex) { + } + return null; + } + + public static String getss(Context context) { + String ipString = null; + try { + WifiManager wifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE); + WifiInfo wifiInfo = wifiManager.getConnectionInfo(); + int ipAddress = wifiInfo.getIpAddress(); + ipString = String.format(Locale.getDefault(), + "%d.%d.%d.%d", + (ipAddress & 0xff), + (ipAddress >> 8 & 0xff), + (ipAddress >> 16 & 0xff), + (ipAddress >> 24 & 0xff)); + } catch (Exception e) { + } + return ipString; + } + + public static String getLocalIpAddressNum() { + try { + for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) { + NetworkInterface intf = en.nextElement(); + for (Enumeration enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) { + InetAddress inetAddress = enumIpAddr.nextElement(); + if (!inetAddress.isLoopbackAddress()) { + String ip = Formatter.formatIpAddress(inetAddress.hashCode()); + if (AppDebugConfig.IS_DEBUG) { + Log.i(Util_System_Phone_State.class.getSimpleName(), "***** IP=" + ip); + } + return ip; + } + } + } + } catch (SocketException ex) { + if (AppDebugConfig.IS_DEBUG) { + Log.e(Util_System_Phone_State.class.getSimpleName(), ex.toString()); + } + } + return null; + } + + private static TelephonyManager getTelephonyManager(Context context) { + return (TelephonyManager) context.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE); + } + + + //这里如果IMEI返回为NULL,我们用15个0代替 + public static String getImei(Context c) { + final String original = getTelephonyManager(c).getDeviceId(); + return original == null ? "000000000000000" : original; + } + + public static String getImsi(Context c) { + final String imsi = getTelephonyManager(c).getSubscriberId(); + return imsi == null ? "" : imsi; + } + + public static String getSIMId(Context c) { + return getTelephonyManager(c).getSimSerialNumber(); + } + + public static String getDeviceId(Context c) { + return getTelephonyManager(c).getDeviceId(); + } + + public static String getDeviceName() { + final String deviceName = android.os.Build.MODEL + "," + + android.os.Build.VERSION.SDK_INT + "," + + android.os.Build.VERSION.RELEASE; + return deviceName; + } + + public static int getAppVersionCode(Context c) { + try { + return c.getPackageManager().getPackageInfo(c.getPackageName(), 0).versionCode; + } catch (NameNotFoundException e) { + e.printStackTrace(); + return -1; + } + } + + public static String getAppVersionName(Context c) { + try { + return c.getPackageManager().getPackageInfo(c.getPackageName(), 0).versionName; + } catch (NameNotFoundException e) { + e.printStackTrace(); + return null; + } + } + + public static String getPackageVersionName(Context ctx, String pn) { + try { + return ctx.getPackageManager().getPackageInfo(pn, 0).versionName; + } catch (NameNotFoundException e) { + return ""; + } + } + + public static String getDevideInfo() { + return Build.MANUFACTURER + " " + Build.MODEL + " " + Build.VERSION.RELEASE; + } + + public static boolean isNetworkConnected(Context context) { + try { + final ConnectivityManager connectivityManager = (ConnectivityManager) + context.getSystemService(Context.CONNECTIVITY_SERVICE); + final NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); + return activeNetworkInfo != null; + } catch (Exception e) { + } + return false; + } + +} 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 49c17f3e91..e7f1bc4d56 100644 --- a/app/src/main/java/com/gh/common/view/DownloadDialog.java +++ b/app/src/main/java/com/gh/common/view/DownloadDialog.java @@ -4,45 +4,24 @@ import android.content.Context; import android.content.SharedPreferences; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; -import android.view.Gravity; -import android.view.KeyEvent; -import android.view.View; +import android.view.*; import android.view.View.OnClickListener; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.LinearLayout; +import android.widget.*; import android.widget.LinearLayout.LayoutParams; -import android.widget.PopupWindow; -import android.widget.TextView; - import com.gh.common.constant.Config; -import com.gh.common.util.DisplayUtils; -import com.gh.common.util.PackageUtils; -import com.gh.common.util.PlatformUtils; -import com.gh.common.util.Utils; -import com.gh.download.DataWatcher; -import com.gh.download.DownloadEntity; -import com.gh.download.DownloadManager; -import com.gh.download.DownloadStatus; +import com.gh.common.util.*; +import com.gh.download.*; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.PlatformPagerAdapter; -import com.gh.gamecenter.entity.ApkEntity; -import com.gh.gamecenter.entity.GameCollectionEntity; -import com.gh.gamecenter.entity.GameEntity; -import com.gh.gamecenter.eventbus.EBDownloadStatus; -import com.gh.gamecenter.eventbus.EBPackage; -import com.gh.gamecenter.eventbus.EBReuse; +import com.gh.gamecenter.entity.*; +import com.gh.gamecenter.eventbus.*; import com.gh.gamecenter.listener.OnCollectionCallBackListener; import com.gh.gamecenter.manager.PackageManager; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; - import de.greenrobot.event.EventBus; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; + /** * @author 温冠超 * @email 294299195@qq.com @@ -54,7 +33,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { private static DownloadDialog instance; - private Context context; + private Context mContext; private boolean isShow; private PopupWindow popupWindow; @@ -70,7 +49,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { @Override public void onDataChanged(DownloadEntity downloadEntity) { if (downloadEntity.getName().equals(gameEntity.getName()) - && !"delete".equals(DownloadManager.getInstance(context).getStatus(downloadEntity.getUrl()))) { + && !"delete".equals(DownloadManager.getInstance(mContext).getStatus(downloadEntity.getUrl()))) { adapter.putDownloadEntity(downloadEntity); @@ -88,14 +67,17 @@ public class DownloadDialog implements OnCollectionCallBackListener { private boolean isLoadPlatform; private DownloadDialog() { + } + + private DownloadDialog(Context context) { + mContext = context; isShow = false; } public static DownloadDialog getInstance(Context context) { if (instance == null) { - instance = new DownloadDialog(); + instance = new DownloadDialog(context); } - instance.context = context; return instance; } @@ -113,7 +95,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { this.entrance = entrance; this.location = location; - SharedPreferences sp = context.getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE); + SharedPreferences sp = mContext.getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE); row = sp.getInt("download_box_row", 3); column = sp.getInt("download_box_column", 3); @@ -124,7 +106,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { } // 一个自定义的布局,作为显示的内容 - View contentView = View.inflate(context, R.layout.game_download_dialog, null); + View contentView = View.inflate(mContext, R.layout.game_download_dialog, null); TextView title = (TextView) contentView.findViewById(R.id.dialog_title); title.setText(gameEntity.getName()); @@ -168,7 +150,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { public void onDismiss() { isShow = false; EventBus.getDefault().unregister(DownloadDialog.this); - DownloadManager.getInstance(context).removeObserver(dataWatcher); + DownloadManager.getInstance(mContext).removeObserver(dataWatcher); } }); @@ -185,7 +167,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { EventBus.getDefault().register(DownloadDialog.this); } - DownloadManager.getInstance(context).addObserver(dataWatcher); + DownloadManager.getInstance(mContext).addObserver(dataWatcher); } // 合并ApkCollection @@ -230,13 +212,13 @@ public class DownloadDialog implements OnCollectionCallBackListener { private void init(List apkList) { for (int i = 0; i < apkList.size(); i++) { - String platformName = PlatformUtils.getInstance(context) + String platformName = PlatformUtils.getInstance(mContext) .getPlatformName(apkList.get(i).getPlatform()); if (platformName == null) { apkList.remove(i); i--; if (!isLoadPlatform) { - PlatformUtils.getInstance(context).getPlatform(); + PlatformUtils.getInstance(mContext).getPlatform(); isLoadPlatform = true; } } @@ -260,7 +242,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { vpHeight = 208; } ViewGroup.LayoutParams layoutParams = viewPager.getLayoutParams(); - layoutParams.height = DisplayUtils.dip2px(context, vpHeight); + layoutParams.height = DisplayUtils.dip2px(mContext, vpHeight); viewPager.setLayoutParams(layoutParams); int currentItem = 0; @@ -268,7 +250,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { currentItem = viewPager.getCurrentItem(); } Utils.log("currentItem = " + currentItem); - adapter = new PlatformPagerAdapter(context, this, gameEntity, apkList, entrance, location); + adapter = new PlatformPagerAdapter(mContext, this, gameEntity, apkList, entrance, location); viewPager.setAdapter(adapter); viewPager.setCurrentItem(currentItem); } @@ -292,13 +274,13 @@ public class DownloadDialog implements OnCollectionCallBackListener { String packageName; Object gh_id; for (ApkEntity apkEntity : apkList) { - downloadEntity = DownloadManager.getInstance(context).get(apkEntity.getUrl()); + downloadEntity = DownloadManager.getInstance(mContext).get(apkEntity.getUrl()); if (downloadEntity == null) { packageName = apkEntity.getPackageName(); if (PackageManager.isInstalled(packageName)) { - gh_id = PackageUtils.getMetaData(context, packageName, "gh_id"); + gh_id = PackageUtils.getMetaData(mContext, packageName, "gh_id"); if (gh_id == null || gh_id.equals(gameEntity.getId())) { - if (!PackageUtils.isSignature(context, packageName)) { + if (!PackageUtils.isSignature(mContext, packageName)) { apkEntity.setOrder(8); } else if (PackageManager.isCanUpdate(gameEntity.getId(), packageName)) { apkEntity.setOrder(5); @@ -311,9 +293,9 @@ public class DownloadDialog implements OnCollectionCallBackListener { apkEntity.setOrder(1); String platform = apkEntity.getPlatform(); - int id = PlatformUtils.getInstance(context).getPlatformPic(platform); + int id = PlatformUtils.getInstance(mContext).getPlatformPic(platform); if (id == 0) { - String path = PlatformUtils.getInstance(context).getPlatformPicPath(platform); + String path = PlatformUtils.getInstance(mContext).getPlatformPicPath(platform); if (path == null) { apkEntity.setOrder(0); } @@ -371,16 +353,16 @@ public class DownloadDialog implements OnCollectionCallBackListener { if (collectionAdapter != null) { collectionAdapter.removeDownloadEntityByUrl(url); } - DownloadManager.getInstance(context).putStatus(url, "delete"); + DownloadManager.getInstance(mContext).putStatus(url, "delete"); } } // 接收platform数据改变消息,更新界面 public void onEvent(EBReuse reuse) { if ("PlatformChanged".equals(reuse.getType())) { - DownloadManager.getInstance(context).removeObserver(dataWatcher); + DownloadManager.getInstance(mContext).removeObserver(dataWatcher); init(new ArrayList<>(gameApk)); - DownloadManager.getInstance(context).addObserver(dataWatcher); + DownloadManager.getInstance(mContext).addObserver(dataWatcher); } } @@ -389,14 +371,14 @@ public class DownloadDialog implements OnCollectionCallBackListener { return; } for (int i = 0; i < size; i++) { - ImageView imageView = new ImageView(context); + ImageView imageView = new ImageView(mContext); LayoutParams lparams = new LayoutParams( - DisplayUtils.dip2px(context, 6), DisplayUtils.dip2px(context, 6)); + DisplayUtils.dip2px(mContext, 6), DisplayUtils.dip2px(mContext, 6)); if (i == 0) { lparams.leftMargin = 0; imageView.setImageResource(R.drawable.oval_hint_up); } else { - lparams.leftMargin = DisplayUtils.dip2px(context, 9); + lparams.leftMargin = DisplayUtils.dip2px(mContext, 9); imageView.setImageResource(R.drawable.oval_hint_gray_bg); } imageView.setLayoutParams(lparams); @@ -420,7 +402,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { } ViewGroup.LayoutParams layoutParams = collectionViewPager.getLayoutParams(); - layoutParams.height = DisplayUtils.dip2px(context, vpHeight); + layoutParams.height = DisplayUtils.dip2px(mContext, vpHeight); collectionViewPager.setLayoutParams(layoutParams); dialog_ll_collection_hint.removeAllViews(); @@ -428,7 +410,7 @@ public class DownloadDialog implements OnCollectionCallBackListener { addHintPoint(dialog_ll_collection_hint, size); collectionAdapter = new PlatformPagerAdapter( - context, this, gameEntity, gameCollectionEntity.getSaveApkEntity(), entrance, location); + mContext, this, gameEntity, gameCollectionEntity.getSaveApkEntity(), entrance, location); collectionViewPager.setAdapter(collectionAdapter); collectionViewPager.addOnPageChangeListener(new MyPageChangeListener(dialog_ll_collection_hint)); diff --git a/app/src/main/java/com/gh/download/DownloadEntity.java b/app/src/main/java/com/gh/download/DownloadEntity.java index 451d174ec8..76859fbff6 100644 --- a/app/src/main/java/com/gh/download/DownloadEntity.java +++ b/app/src/main/java/com/gh/download/DownloadEntity.java @@ -1,5 +1,6 @@ package com.gh.download; +import com.gh.common.util.EntranceUtils; import com.j256.ormlite.field.DataType; import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.table.DatabaseTable; @@ -194,7 +195,7 @@ public class DownloadEntity implements Serializable { public String getEntrance() { if (meta != null) { - return meta.get("entrance"); + return meta.get(EntranceUtils.KEY_ENTRANCE); } return null; } @@ -203,7 +204,7 @@ public class DownloadEntity implements Serializable { if (meta == null) { meta = new HashMap<>(); } - meta.put("entrance", entrance); + meta.put(EntranceUtils.KEY_ENTRANCE, entrance); } public String getLocation() { diff --git a/app/src/main/java/com/gh/gamecenter/AboutActivity.java b/app/src/main/java/com/gh/gamecenter/AboutActivity.java index d65c6fa586..09989572d6 100644 --- a/app/src/main/java/com/gh/gamecenter/AboutActivity.java +++ b/app/src/main/java/com/gh/gamecenter/AboutActivity.java @@ -74,9 +74,7 @@ public class AboutActivity extends BaseActivity { UpdateManager.getInstance(this).checkUpdate(false, handler); // 自动检出更新 } } else if (view.getId() == R.id.about_shengming) { - Intent intent = new Intent(AboutActivity.this, WebActivity.class); - intent.putExtra("gameName", "使用条款与免责声明"); - intent.putExtra("url", "http://api.ghzhushou.com/disclaimer"); + Intent intent = WebActivity.getWebIntent(this); startActivity(intent); } } diff --git a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java index c54ffaa89a..5f081488b3 100644 --- a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java @@ -169,8 +169,7 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick // TODO 关闭扫描?? - Intent intent = new Intent(this, ShareGhActivity.class); - startActivity(intent); + startActivity(new Intent(this, ShareGhActivity.class)); } private void init() { @@ -520,8 +519,7 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick @Override public void onAnimationEnd(Animation animation) { mRoketAnimRl.setVisibility(View.GONE); - Intent intent = new Intent(ChooseReceiverActivity.this, FileSenderActivity.class); - startActivity(intent); + startActivity(new Intent(ChooseReceiverActivity.this, FileSenderActivity.class)); closeSocket(); Intent resultIntent = new Intent(); resultIntent.putExtra("isFinish", true); diff --git a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java index 6ebeebefda..adec900b1e 100644 --- a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java @@ -142,8 +142,7 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On break; } case R.id.reuse_nodata_skip_tv_btn: { - Intent intent = new Intent(CleanApkActivity.this, MainActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + Intent intent = MainActivity.getMainIntent(this); startActivity(intent); new Thread() { @Override diff --git a/app/src/main/java/com/gh/gamecenter/CommentDetailActivity.java b/app/src/main/java/com/gh/gamecenter/CommentDetailActivity.java index 7ef68d4c29..907ae185eb 100644 --- a/app/src/main/java/com/gh/gamecenter/CommentDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CommentDetailActivity.java @@ -1,5 +1,7 @@ package com.gh.gamecenter; +import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -18,6 +20,13 @@ public class CommentDetailActivity extends BaseActivity { private CommentDetailAdapter mAdapter; private LinearLayoutManager mLayoutManager; + public static Intent getCommentDetailIntent(Context context, String commentId){ + Intent intent = new Intent(context, CommentDetailActivity.class); + intent.putExtra("commentId", commentId); + return intent; + } + + @Override protected int getLayoutId() { return R.layout.activity_comment_detail; diff --git a/app/src/main/java/com/gh/gamecenter/ConcernActivity.java b/app/src/main/java/com/gh/gamecenter/ConcernActivity.java index 5430be36fa..0392d5c256 100644 --- a/app/src/main/java/com/gh/gamecenter/ConcernActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ConcernActivity.java @@ -61,13 +61,13 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { concern_rv_show.setHasFixedSize(true); concern_rv_show.setLayoutManager(new GridLayoutManager(this, 3)); - concernAdapter = new ConcernAdapter(this, this, entrance); + concernAdapter = new ConcernAdapter(this, this, mEntrance); concern_rv_show.setAdapter(concernAdapter); concern_rv_recommend.setHasFixedSize(true); concern_rv_recommend.setLayoutManager(new GridLayoutManager(this, 4)); - concernRecommendAdapter = new ConcernRecommendAdapter(this, this, entrance); + concernRecommendAdapter = new ConcernRecommendAdapter(this, this, mEntrance); concern_rv_recommend.setAdapter(concernRecommendAdapter); } @@ -202,7 +202,7 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { } Utils.log("isChanged = " + isChanged); if (isChanged) { - concernAdapter = new ConcernAdapter(this, this, entrance); + concernAdapter = new ConcernAdapter(this, this, mEntrance); concern_rv_show.setAdapter(concernAdapter); } isPause = false; diff --git a/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java b/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java index 86f30cbdaf..5d239a0b5e 100644 --- a/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java +++ b/app/src/main/java/com/gh/gamecenter/DownloadManagerActivity.java @@ -1,5 +1,7 @@ package com.gh.gamecenter; +import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; @@ -14,9 +16,11 @@ import android.widget.TextView; import butterknife.BindView; import com.gh.base.BaseActivity; import com.gh.common.util.DisplayUtils; +import com.gh.common.util.EntranceUtils; import com.gh.download.DownloadManager; import com.gh.gamecenter.adapter.FragmentAdapter; import com.gh.gamecenter.download.*; +import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.eventbus.*; import com.gh.gamecenter.manager.PackageManager; import de.greenrobot.event.EventBus; @@ -61,6 +65,22 @@ public class DownloadManagerActivity extends BaseActivity implements OnClickList private int width; private Handler handler = new Handler(); + public static Intent getDownloadMangerIntent(Context context, GameEntity gameEntity, String value) { + Intent intent = new Intent(context, DownloadManagerActivity.class); + intent.putExtra("currentItem", 1); + intent.putExtra("url", gameEntity.getApk().get(0).getUrl()); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, value); + return intent; + } + + public static Intent getDownloadMangerIntent(Context context, String url, String entrance) { + Intent intent = new Intent(context, DownloadManagerActivity.class); + intent.putExtra("currentItem", 1); + intent.putExtra("url", url); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); + return intent; + } + @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); diff --git a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java index 3d9d437db8..cc108bea4c 100644 --- a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java @@ -408,8 +408,7 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd mKeepReceiverTv.setBackgroundResource(R.drawable.game_item_btn_pause_style); Utils.toast(FileReceiverActivity.this, "无需操作,请让对方继续发送即可"); } else { // 跳转安装包清理 - Intent intent = new Intent(this, CleanApkActivity.class); - startActivity(intent); + startActivity(new Intent(this, CleanApkActivity.class)); } break; diff --git a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java index d2a3b80b75..d67ab124c1 100644 --- a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java @@ -1,5 +1,6 @@ package com.gh.gamecenter; +import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; @@ -122,6 +123,28 @@ public class GameDetailActivity extends BaseActivity { } }; + /** + * 启动游戏详情页面 + */ + public static void startGameDetailActivity(Context context, GameEntity gameEntity, String entrance) { + AppController.put("GameEntity", gameEntity); + Intent intent = new Intent(context, GameDetailActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); + context.startActivity(intent); + } + + /** + * 启动游戏详情页面 + */ + public static void startGameDetailActivity(Context context, String gameId, String entrance) { + Intent intent = new Intent(context, GameDetailActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra("gameId", gameId); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); + context.startActivity(intent); + } + //接收QQ或者QQ空间分享回调 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { @@ -479,7 +502,7 @@ public class GameDetailActivity extends BaseActivity { }); } } else { - DownloadDialog.getInstance(this).showPopupWindow(v, mGameEntity, entrance, name + ":" + title); + DownloadDialog.getInstance(this).showPopupWindow(v, mGameEntity, mEntrance, name + ":" + title); } } else { toast("稍等片刻~!游戏正在上传中..."); @@ -487,10 +510,7 @@ public class GameDetailActivity extends BaseActivity { } else if (v == mDownloadPb || v == mDownloadPer) { String str = mDownloadPer.getText().toString(); if ("下载中".equals(str)) { - Intent intent = new Intent(this, DownloadManagerActivity.class); - intent.putExtra("currentItem", 1); - intent.putExtra("url", mGameEntity.getApk().get(0).getUrl()); - intent.putExtra("entrance", entrance + "+(" + name + "[" + title + "])"); + Intent intent = DownloadManagerActivity.getDownloadMangerIntent(this, mGameEntity.getApk().get(0).getUrl(), mEntrance + "+(" + name + "[" + title + "])"); startActivity(intent); } else if ("安装".equals(str)) { PackageUtils.launchSetup(this, mDownloadEntity.getPath()); @@ -547,9 +567,9 @@ public class GameDetailActivity extends BaseActivity { ApkEntity apkEntity = mGameEntity.getApk().get(0); String msg = FileUtils.isCanDownload(this, apkEntity.getSize()); if (TextUtils.isEmpty(msg)) { - DataUtils.onGameDownloadEvent(this, mGameEntity.getName(), apkEntity.getPlatform(), entrance, "下载开始"); + DataUtils.onGameDownloadEvent(this, mGameEntity.getName(), apkEntity.getPlatform(), mEntrance, "下载开始"); - DownloadManager.createDownload(this, apkEntity, mGameEntity, method, entrance, name + ":" + title); + DownloadManager.createDownload(this, apkEntity, mGameEntity, method, mEntrance, name + ":" + title); mDownloadTv.setVisibility(View.GONE); mDownloadPb.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/gh/gamecenter/GameNewsActivity.java b/app/src/main/java/com/gh/gamecenter/GameNewsActivity.java index d73685581a..95b795e609 100644 --- a/app/src/main/java/com/gh/gamecenter/GameNewsActivity.java +++ b/app/src/main/java/com/gh/gamecenter/GameNewsActivity.java @@ -46,7 +46,6 @@ public class GameNewsActivity extends BaseActivity implements View.OnClickListen private List typeList; private String gameId; - private String entrance; private float startY = 0; @@ -59,8 +58,6 @@ public class GameNewsActivity extends BaseActivity implements View.OnClickListen protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - entrance = getIntent().getStringExtra("entrance"); - ivSearch = new ImageView(this); ivSearch.setImageResource(R.drawable.ic_search_white); @@ -151,7 +148,8 @@ public class GameNewsActivity extends BaseActivity implements View.OnClickListen super.onResponse(response); typeList = response; typeList.add(0, "全部"); - adapter = new GameNewsAdapter(GameNewsActivity.this, typeList, game_news_list, gameId, "全部", entrance, mNoDataLl); adapterMap.put("全部", adapter); + adapter = new GameNewsAdapter(GameNewsActivity.this, typeList, game_news_list, gameId, "全部", mEntrance, mNoDataLl); + adapterMap.put("全部", adapter); game_news_list.setAdapter(adapter); typeListAdapter = new GameNewsTypeListAdapter(GameNewsActivity.this, typeList, "全部"); @@ -173,7 +171,7 @@ public class GameNewsActivity extends BaseActivity implements View.OnClickListen public void onEventMainThread(EBTypeChange change) { adapter = adapterMap.get(change.getType()); if (adapter == null) { - adapter = new GameNewsAdapter(GameNewsActivity.this, typeList, game_news_list, gameId, change.getType(), entrance, mNoDataLl); + adapter = new GameNewsAdapter(GameNewsActivity.this, typeList, game_news_list, gameId, change.getType(), mEntrance, mNoDataLl); adapterMap.put(change.getType(), adapter); } game_news_list.setAdapter(adapter); diff --git a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java index 0e1f2f5424..57af35f8c0 100644 --- a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java @@ -1,9 +1,12 @@ package com.gh.gamecenter; +import android.content.Intent; import android.os.*; +import android.support.annotation.NonNull; import android.support.v7.widget.LinearLayoutManager; import android.text.TextUtils; import android.view.View; +import android.widget.TextView; import com.gh.base.AppController; import com.gh.base.BaseDetailActivity; import com.gh.common.util.*; @@ -19,10 +22,8 @@ import retrofit2.HttpException; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; -import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; -import java.util.Locale; /** * Created by khy on 2016/12/13. @@ -63,6 +64,14 @@ public class LibaoDetailActivity extends BaseDetailActivity implements LibaoDeta } }; + @NonNull + public static Intent getLibaoDetailIntent(LibaoEntity libaoEntity, TextView libaoBtn, String entrance) { + AppController.put("libaoEntity", libaoEntity); + Intent intent = new Intent(libaoBtn.getContext(), LibaoDetailActivity.class); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); + return intent; + } + @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); @@ -82,7 +91,7 @@ public class LibaoDetailActivity extends BaseDetailActivity implements LibaoDeta mIsScroll = true; mAdapter = new LibaoDetailAdapter(this, this, this, - mLibaoEntity, detail_tv_download, entrance); + mLibaoEntity, detail_tv_download, mEntrance); detail_rv_show.setLayoutManager(new LinearLayoutManager(this) { @Override public boolean canScrollVertically() { diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 16b83e9068..cd8da69541 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -7,15 +7,17 @@ import android.graphics.Color; import android.net.Uri; import android.os.*; import android.provider.Settings; +import android.support.annotation.NonNull; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; -import android.support.v4.content.ContextCompat; import android.support.v4.util.ArrayMap; import android.text.*; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; -import android.widget.*; +import android.widget.CheckedTextView; +import android.widget.ImageView; +import butterknife.BindView; import com.gh.base.*; import com.gh.common.constant.Config; import com.gh.common.util.*; @@ -63,16 +65,24 @@ public class MainActivity extends BaseActivity implements OnClickListener { private MessageFragment messageFragment; private PersonalFragment personalFragment; private GameFragment gameFragment; - private ImageView ivGame; - private ImageView ivNews; - private ImageView ivMessage; - private ImageView ivPersonal; - private TextView tvGame; - private TextView tvNews; - private TextView tvMessage; - private TextView tvPersonal; - - private View mMessageHint; + @BindView(R.id.main_iv_game) + ImageView ivGame; + @BindView(R.id.main_iv_news) + ImageView ivNews; + @BindView(R.id.main_iv_message) + ImageView ivMessage; + @BindView(R.id.main_iv_personal) + ImageView ivPersonal; + @BindView(R.id.main_tv_game) + CheckedTextView tvGame; + @BindView(R.id.main_tv_news) + CheckedTextView tvNews; + @BindView(R.id.main_tv_message) + CheckedTextView tvMessage; + @BindView(R.id.main_tv_personal) + CheckedTextView tvPersonal; + @BindView(R.id.main_iv_message_hint) + View mMessageHint; private SharedPreferences sp; private ConcernManager concernManager; @@ -99,9 +109,9 @@ public class MainActivity extends BaseActivity implements OnClickListener { if (clazz != null) { Intent skipIntent = new Intent(MainActivity.this, clazz); - String entrance = bundle.getString("entrance"); + String entrance = bundle.getString(EntranceUtils.KEY_ENTRANCE); if (TextUtils.isEmpty(entrance) || !entrance.startsWith("(") || !entrance.endsWith(")")) { - bundle.putString("entrance", "(插件跳转)"); + bundle.putString(EntranceUtils.KEY_ENTRANCE, "(插件跳转)"); } String packageName = bundle.getString("packageName"); if (packageName != null) { @@ -187,6 +197,13 @@ public class MainActivity extends BaseActivity implements OnClickListener { */ private long[] mHits = new long[2]; + @NonNull + public static Intent getMainIntent(Context context) { + Intent intent = new Intent(context, MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + return intent; + } + // 统计下载 private void uploadData(String id, String platform) { Map params = new HashMap<>(); @@ -658,20 +675,8 @@ public class MainActivity extends BaseActivity implements OnClickListener { private void initViews() { findViewById(R.id.main_ll_game).setOnClickListener(this); findViewById(R.id.main_ll_news).setOnClickListener(this); -// findViewById(R.id.main_ll_wenda).setOnClickListener(this); findViewById(R.id.main_ll_message).setOnClickListener(this); findViewById(R.id.main_ll_personal).setOnClickListener(this); - ivGame = (ImageView) findViewById(R.id.main_iv_game); - ivNews = (ImageView) findViewById(R.id.main_iv_news); -// ivWenDa = (ImageView) findViewById(R.id.main_iv_wenda); - ivMessage = (ImageView) findViewById(R.id.main_iv_message); - ivPersonal = (ImageView) findViewById(R.id.main_iv_personal); - tvGame = (TextView) findViewById(R.id.main_tv_game); - tvNews = (TextView) findViewById(R.id.main_tv_news); -// tvWenDa = (TextView) findViewById(R.id.main_tv_wenda); - tvMessage = (TextView) findViewById(R.id.main_tv_message); - tvPersonal = (TextView) findViewById(R.id.main_tv_personal); - mMessageHint = findViewById(R.id.main_iv_message_hint); } private void checkPermission() { @@ -983,17 +988,6 @@ public class MainActivity extends BaseActivity implements OnClickListener { EventBus.getDefault().post(new EBDownloadStatus("plugin")); } - @Override - public void onWindowFocusChanged(boolean hasFocus) { - super.onWindowFocusChanged(hasFocus); - if (hasFocus) { - FrameLayout main_content = (FrameLayout) findViewById(R.id.main_content); - if (main_content.getPaddingBottom() == 0) { - main_content.setPadding(0, 0, 0, findViewById(R.id.main_ll_bottom).getHeight()); - } - } - } - private void getSearchHints() { RetrofitManager.getApi().getSearchHints() .subscribeOn(Schedulers.io()) @@ -1036,7 +1030,7 @@ public class MainActivity extends BaseActivity implements OnClickListener { Intent intent = new Intent(MainActivity.this, DownloadManagerActivity.class); intent.putExtra("currentItem", 1); intent.putExtra("packageName", packageName); - intent.putExtra("entrance", "(游戏插件)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(游戏插件)"); startActivity(intent); break; } @@ -1118,22 +1112,22 @@ public class MainActivity extends BaseActivity implements OnClickListener { switch (index) { case INDEX_GAME: ivGame.setImageResource(R.drawable.ic_game_select); - tvGame.setTextColor(ContextCompat.getColor(this, R.color.theme)); + tvGame.setChecked(true); gameFragment = alterFragment(transaction, GameFragment.class); break; case INDEX_NEWS: ivNews.setImageResource(R.drawable.ic_news_select); - tvNews.setTextColor(ContextCompat.getColor(this, R.color.theme)); + tvNews.setChecked(true); newsFragment = alterFragment(transaction, NewsFragment.class); break; case INDEX_MESSAGE: ivMessage.setImageResource(R.drawable.ic_message_select); - tvMessage.setTextColor(ContextCompat.getColor(this, R.color.theme)); + tvMessage.setChecked(true); messageFragment = alterFragment(transaction, MessageFragment.class); break; case INDEX_PERSONAL: ivPersonal.setImageResource(R.drawable.ic_user_select); - tvPersonal.setTextColor(ContextCompat.getColor(this, R.color.theme)); + tvPersonal.setChecked(true); personalFragment = alterFragment(transaction, PersonalFragment.class); break; default: @@ -1150,10 +1144,10 @@ public class MainActivity extends BaseActivity implements OnClickListener { ivMessage.setImageResource(R.drawable.ic_message_unselect); ivPersonal.setImageResource(R.drawable.ic_user_unselect); - tvGame.setTextColor(ContextCompat.getColor(this, R.color.btn_gray)); - tvNews.setTextColor(ContextCompat.getColor(this, R.color.btn_gray)); - tvMessage.setTextColor(ContextCompat.getColor(this, R.color.btn_gray)); - tvPersonal.setTextColor(ContextCompat.getColor(this, R.color.btn_gray)); + tvGame.setChecked(false); + tvNews.setChecked(false); + tvMessage.setChecked(false); + tvPersonal.setChecked(false); } // 将所有的Fragment都置为隐藏状态。 diff --git a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java index b2958a5cf5..9c9cf11b2b 100644 --- a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java @@ -105,6 +105,15 @@ public class MessageDetailActivity extends BaseActivity implements MessageDetail } }; + public static Intent getMessageDetailIntent(Context context, CommentEntity entity, String newsId) { + Intent intent = new Intent(context, MessageDetailActivity.class); + AppController.put("CommentEntity", entity); + intent.putExtra("commentNum", -1); + intent.putExtra("newsId", newsId); + intent.putExtra("openSoftInput", true); + return intent; + } + @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); @@ -139,7 +148,7 @@ public class MessageDetailActivity extends BaseActivity implements MessageDetail mCommentDao = new CommentDao(this); - adapter = new MessageDetailAdapter(this, mCommentDao, mMessageDetailRv, mConcernEntity); + adapter = new MessageDetailAdapter(this, mCommentDao, mMessageDetailRv, mConcernEntity, mEntrance); mLayoutManager = new LinearLayoutManager(this); mMessageDetailRv.setLayoutManager(mLayoutManager); mMessageDetailRv.setAdapter(adapter); diff --git a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java index 968508e5db..212b740b91 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java @@ -1,8 +1,7 @@ package com.gh.gamecenter; import android.app.Activity; -import android.content.Intent; -import android.content.SharedPreferences; +import android.content.*; import android.os.*; import android.support.v4.view.MotionEventCompat; import android.support.v7.widget.LinearLayoutManager; @@ -104,7 +103,6 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener private GameEntity gameEntity; private DownloadEntity mDownloadEntity; private Handler handler = new Handler(); - private String entrance; private String downloadOffText; private DataWatcher dataWatcher = new DataWatcher() { @Override @@ -123,6 +121,29 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener }; private long[] mHits = new long[2]; + /** + * 启动新闻详情页面 + */ + public static void startNewsDetailActivity(Context context, NewsEntity newsEntity, String entrance) { + if (!TextUtils.isEmpty(newsEntity.getLink())) { + Intent intent = new Intent(context, WebActivity.class); + intent.putExtra("url", newsEntity.getLink()); + intent.putExtra("gameName", newsEntity.getGameName()); + intent.putExtra("newsId", newsEntity.getId()); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance + "+(消息详情[" + newsEntity.getGameName() + "])"); + context.startActivity(intent); + } else { + Intent intent = new Intent(context, NewsDetailActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra("id", newsEntity.getId()); + intent.putExtra("title", newsEntity.getTitle()); + intent.putExtra("type", newsEntity.getType()); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); + context.startActivity(intent); + } + + } + // @Override // protected void onActivityResult(int requestCode, int resultCode, Intent data) { // super.onActivityResult(requestCode, resultCode, data); @@ -142,11 +163,6 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - entrance = getIntent().getStringExtra("entrance"); - if (getIntent().getBundleExtra("data") != null) { - entrance = getIntent().getBundleExtra("data").getString("entrance"); - } - init(""); // 添加分享图标 @@ -171,7 +187,7 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener detail_rv_show.setHasFixedSize(true); detail_rv_show.setLayoutManager(new LinearLayoutManager(this)); detail_rv_show.addItemDecoration(new VerticalItemDecoration(this, 8, false)); - adapter = new NewsDetailAdapter(this, this, entrance); + adapter = new NewsDetailAdapter(this, this, mEntrance); detail_rv_show.setAdapter(adapter); newsId = getIntent().getStringExtra("newsId"); @@ -423,7 +439,7 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener } } else { DownloadDialog.getInstance(this) - .showPopupWindow(v, gameEntity, entrance, "新闻详情:" + adapter.getTitle()); + .showPopupWindow(v, gameEntity, mEntrance, "新闻详情:" + adapter.getTitle()); } } else { toast("稍等片刻~!游戏正在上传中..."); @@ -431,10 +447,8 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener } else if (v == detail_pb_progressbar || v == detail_tv_per) { String str = detail_tv_per.getText().toString(); if ("下载中".equals(str)) { - Intent intent = new Intent(this, DownloadManagerActivity.class); - intent.putExtra("currentItem", 1); - intent.putExtra("url", gameEntity.getApk().get(0).getUrl()); - intent.putExtra("entrance", entrance + "(新闻详情[" + adapter.getTitle() + "])"); + Intent intent = DownloadManagerActivity.getDownloadMangerIntent(this, + gameEntity.getApk().get(0).getUrl(), mEntrance + "(新闻详情[" + adapter.getTitle() + "])"); startActivity(intent); } else if ("安装".equals(str)) { PackageUtils.launchSetup(this, mDownloadEntity.getPath()); @@ -444,7 +458,7 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener intent.putExtra("commentNum", -1); intent.putExtra("newsId", adapter.getNewsDetailEntity().getId()); intent.putExtra("openSoftInput", true); - intent.putExtra("entrance", entrance + "(新闻详情[" + adapter.getTitle() + "])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, mEntrance + "(新闻详情[" + adapter.getTitle() + "])"); startActivity(intent); } } @@ -518,12 +532,12 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener // 阅读报告 Map kv1 = new HashMap<>(); - kv1.put(entrance, "阅读数"); - kv1.put(entrance, "用时:" + cost); + kv1.put(mEntrance, "阅读数"); + kv1.put(mEntrance, "用时:" + cost); DataUtils.onEvent(NewsDetailActivity.this, "文章数据", adapter.getNewsDetailEntity().getTitle(), kv1); if (seconds > 0) { - DataCollectionUtils.uploadNews(this, adapter.getNewsDetailEntity(), gameEntity, seconds, entrance); + DataCollectionUtils.uploadNews(this, adapter.getNewsDetailEntity(), gameEntity, seconds, mEntrance); } } @@ -700,9 +714,9 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener ApkEntity apkEntity = gameEntity.getApk().get(0); String msg = FileUtils.isCanDownload(this, apkEntity.getSize()); if (TextUtils.isEmpty(msg)) { - DataUtils.onGameDownloadEvent(this, gameEntity.getName(), apkEntity.getPlatform(), entrance, "下载开始"); + DataUtils.onGameDownloadEvent(this, gameEntity.getName(), apkEntity.getPlatform(), mEntrance, "下载开始"); - DownloadManager.createDownload(this, apkEntity, gameEntity, method, entrance, "新闻详情:" + adapter.getTitle()); + DownloadManager.createDownload(this, apkEntity, gameEntity, method, mEntrance, "新闻详情:" + adapter.getTitle()); detail_tv_download.setVisibility(View.GONE); detail_pb_progressbar.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java b/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java index 115a958ff5..8abbf63188 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java @@ -55,7 +55,6 @@ public class NewsSearchActivity extends BaseActivity { private String searchKey; private String gameId; - private String entrance; private Handler handler = new Handler(); @@ -75,7 +74,6 @@ public class NewsSearchActivity extends BaseActivity { String gameName = intent.getExtras().getString("gameName"); searchKey = intent.getExtras().getString("searchKey"); gameId = intent.getExtras().getString("gameId"); - entrance = intent.getExtras().getString("entrance"); init(gameName); @@ -258,7 +256,7 @@ public class NewsSearchActivity extends BaseActivity { // 统计阅读量 NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsDetailActivity(NewsSearchActivity.this, newsEntity, entrance + "+(游戏新闻搜索:" + searchKey + ")"); + NewsDetailActivity.startNewsDetailActivity(NewsSearchActivity.this, newsEntity, mEntrance + "+(游戏新闻搜索:" + searchKey + ")"); } }); } else if (holder instanceof FooterViewHolder) { diff --git a/app/src/main/java/com/gh/gamecenter/PluginActivity.java b/app/src/main/java/com/gh/gamecenter/PluginActivity.java index 19ce2dc5d6..6f9703701f 100644 --- a/app/src/main/java/com/gh/gamecenter/PluginActivity.java +++ b/app/src/main/java/com/gh/gamecenter/PluginActivity.java @@ -30,7 +30,6 @@ public class PluginActivity extends BaseActivity { @BindView(R.id.reuse_no_connection) LinearLayout reuse_no_connection; - private String entrance; private PluginAdapter adapter; private boolean isEverpause = false; @@ -64,8 +63,6 @@ public class PluginActivity extends BaseActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - entrance = getIntent().getStringExtra("entrance"); - init(getString(R.string.title_plugin)); reuse_no_connection.setOnClickListener(new View.OnClickListener() { @@ -74,14 +71,14 @@ public class PluginActivity extends BaseActivity { plugin_pb_loading.setVisibility(View.VISIBLE); plugin_list.setVisibility(View.VISIBLE); reuse_no_connection.setVisibility(View.GONE); - adapter = new PluginAdapter(PluginActivity.this, PluginActivity.this, entrance); + adapter = new PluginAdapter(PluginActivity.this, PluginActivity.this, mEntrance); plugin_list.setAdapter(adapter); } }); plugin_list.setHasFixedSize(true); plugin_list.setLayoutManager(new LinearLayoutManager(this)); - adapter = new PluginAdapter(this, PluginActivity.this, entrance); + adapter = new PluginAdapter(this, this, mEntrance); plugin_list.setAdapter(adapter); } @@ -119,7 +116,7 @@ public class PluginActivity extends BaseActivity { plugin_list.setVisibility(View.VISIBLE); plugin_pb_loading.setVisibility(View.VISIBLE); reuse_no_connection.setVisibility(View.GONE); - adapter = new PluginAdapter(this, this, entrance); + adapter = new PluginAdapter(this, this, mEntrance); plugin_list.setAdapter(adapter); } } diff --git a/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java b/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java index dfac8c8b5f..9705986f5e 100644 --- a/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java @@ -67,7 +67,7 @@ public class SelectUserIconActivity extends BaseActivity { // 上传头像 Intent intent = new Intent(this, CropImageActivity.class); intent.putExtra("path", picturePath); - intent.putExtra("entrance", "(我的光环)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(我的光环)"); startActivityForResult(intent, 0x124); } else if (data != null && requestCode == 0x124) { String url = data.getExtras().getString("url"); diff --git a/app/src/main/java/com/gh/gamecenter/SettingActivity.java b/app/src/main/java/com/gh/gamecenter/SettingActivity.java index 5869947eef..467a6aa951 100644 --- a/app/src/main/java/com/gh/gamecenter/SettingActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SettingActivity.java @@ -193,7 +193,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener { break; // case R.id.setting_rl_feedback: // Intent intent = new Intent(SettingActivity.this, SuggestionActivity.class); -// intent.putExtra("entrance", "(设置)"); +// intent.putExtra("mEntrance", "(设置)"); // startActivity(intent); // break; case R.id.setting_cv_font_size: diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index 3a50db5f45..3d1aaa5bfd 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -63,6 +63,15 @@ public class SplashScreenActivity extends BaseActivity { return intentList.toArray(new Intent[intentList.size()]); } + public static Intent getSplashScreenIntent(Context context, Bundle bundle) { + Intent intent = new Intent(context, SplashScreenActivity.class); + intent.setAction(Intent.ACTION_MAIN); + intent.addCategory(Intent.CATEGORY_LAUNCHER); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra(KEY_DATA, bundle); + return intent; + } + @Override protected void onCreate(Bundle savedInstanceState) { diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index 81d06b7ada..da8ffbc345 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -3,16 +3,15 @@ package com.gh.gamecenter; import android.app.Dialog; import android.content.*; import android.database.Cursor; -import android.graphics.*; +import android.graphics.Color; +import android.graphics.Rect; import android.net.Uri; import android.os.*; import android.provider.MediaStore; import android.support.v4.content.ContextCompat; import android.support.v7.widget.*; -import android.telephony.TelephonyManager; import android.text.TextUtils; import android.view.*; -import android.view.inputmethod.InputMethodManager; import android.widget.*; import butterknife.BindView; import butterknife.OnClick; @@ -21,7 +20,7 @@ import com.gh.base.BaseActivity; import com.gh.common.constant.Config; import com.gh.common.util.*; import com.gh.gamecenter.entity.InstallGameEntity; -import com.gh.gamecenter.entity.SuggestionTypeEntity; +import com.gh.gamecenter.fragment.WaitingDialogFragment; import com.gh.gamecenter.retrofit.JSONObjectResponse; import com.gh.gamecenter.retrofit.RetrofitManager; import com.gh.gamecenter.suggest.*; @@ -40,8 +39,6 @@ import rx.schedulers.Schedulers; import java.io.*; import java.net.HttpURLConnection; import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; /** * Created by khy on 2017/3/31. @@ -55,13 +52,13 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt @BindView(R.id.suggest_news_link_et) EditText mSuggestNewsLinkEt; @BindView(R.id.suggest_news_link_ll) - LinearLayout mSuggestNewsLinkLl; + View mSuggestNewsLinkLl; @BindView(R.id.suggest_email_et) EditText mSuggestEmailEt; @BindView(R.id.suggest_post_btn) TextView mSuggestPostBtn; @BindView(R.id.suggest_post_ll) - LinearLayout suggestPostLl; + View suggestPostLl; @BindView(R.id.suggest_type_rv) RecyclerView mTypeRv; @BindView(R.id.suggest_select_game) @@ -69,14 +66,14 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt @BindView(R.id.suggest_game_text) TextView mSuggestGameText; @BindView(R.id.suggest_game_ll) - LinearLayout mSuggestGameLl; + View mSuggestGameLl; @BindView(R.id.suggest_scrollview) ScrollView mScrollView; private SuggestPicAdapter mAdapter; private Dialog selectGameDialog; - private Dialog postDialog; + private WaitingDialogFragment postDialog; private String[] arrType = {"普通反馈", "功能建议", "发生闪退", "游戏问题", "游戏收录", "文章投稿"}; @@ -166,7 +163,7 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt decorView.getWindowVisibleDisplayFrame(rect); int screenHeight = decorView.getRootView().getHeight(); int heightDifference = screenHeight - rect.bottom;//计算软键盘占有的高度 = 屏幕高度 - 视图可见高度 - RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) mScrollView.getLayoutParams(); + LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) mScrollView.getLayoutParams(); layoutParams.setMargins(0, 0, 0, heightDifference);//设置ScrollView的marginBottom的值为软键盘占有的高度即可 mScrollView.requestLayout(); } @@ -264,7 +261,7 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt String email = mSuggestEmailEt.getText().toString().trim(); String url = mSuggestNewsLinkEt.getText().toString().trim(); - if (!TextUtils.isEmpty(url) && !isUrlAddress(url)) { + if (!TextUtils.isEmpty(url) && !PatternUtils.isUrlAddress(url)) { Utils.toast(SuggestionActivity.this, "请输入正确的链接"); return; } @@ -272,16 +269,8 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt if (TextUtils.isEmpty(email)) { showConfirmDialog(email); } else { - postDialog = new Dialog(SuggestionActivity.this); - View content = View.inflate(SuggestionActivity.this, R.layout.set_wait_dialog, null); - TextView message = (TextView) content - .findViewById(R.id.set_wait_message); - message.setText("正在反馈..."); - postDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); - postDialog.setContentView(content); - postDialog.setCanceledOnTouchOutside(false); - postDialog.setCancelable(false); - postDialog.show(); + postDialog = WaitingDialogFragment.newInstance(getString(R.string.dialog_feedback_doing)); + postDialog.show(getSupportFragmentManager(), null); List fileList = mAdapter.getFileList(); if (fileList != null && fileList.size() > 0) { @@ -310,34 +299,19 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt @Override public void onConfirm() { mSuggestEmailEt.requestFocus(); - new Thread() { + mSuggestEmailEt.postDelayed(new Runnable() { + @Override public void run() { - try { - sleep(300); - } catch (InterruptedException e) { - - e.printStackTrace(); - } - InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); - imm.showSoftInput(mSuggestEmailEt, 0); + Util_System_Keyboard.showSoftKeyboard(getApplicationContext(), mSuggestEmailEt); } - }.start(); + }, 300); } }, new DialogUtils.CancelListener() { @Override public void onCancel() { - postDialog = new Dialog(SuggestionActivity.this); - View view = View.inflate(SuggestionActivity.this, - R.layout.set_wait_dialog, null); - TextView message = (TextView) view - .findViewById(R.id.set_wait_message); - message.setText("正在反馈..."); - postDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); - postDialog.setContentView(view); - postDialog.setCanceledOnTouchOutside(false); - postDialog.setCancelable(false); - postDialog.show(); + postDialog = WaitingDialogFragment.newInstance(getString(R.string.dialog_feedback_doing)); + postDialog.show(getSupportFragmentManager(), null); List fileList = mAdapter.getFileList(); if (fileList != null && fileList.size() > 0) { @@ -349,33 +323,6 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt }); } - public boolean savePicture(String newPath, String filePath) { - BitmapFactory.Options options = new BitmapFactory.Options(); -// options.inSampleSize = 2; - Bitmap bitmap = BitmapFactory.decodeFile(filePath, options); - - File file = new File(newPath); - int quality = 80; - do { - try { - BufferedOutputStream bos = new BufferedOutputStream( - new FileOutputStream(file)); - bitmap.compress(Bitmap.CompressFormat.JPEG, quality, bos); - bos.flush(); - bos.close(); - } catch (IOException e) { - file.delete(); - e.printStackTrace(); - return false; - } - quality -= 10; - if (quality < 10) { - quality = 10; - } - } while (file.length() > 81920 && quality > 10); - return true; - } - private void postPic(final String email) { final JSONArray picArray = new JSONArray(); @@ -386,7 +333,7 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt int index = 0; for (String s : mAdapter.getFileList()) { path = getCacheDir() + File.separator + System.currentTimeMillis() + index + ".jpg"; - if (savePicture(path, s)) { + if (BitmapUtils.savePicture(path, s)) { subscriber.onNext(FileUtils.uploadFile(Config.HOST + "support/user/suggestion/img", path, null)); index++; } else { @@ -406,7 +353,9 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt @Override public void onError(Throwable e) { - postDialog.dismiss(); + if (postDialog != null) { + postDialog.dismissAllowingStateLoss(); + } Utils.toast(SuggestionActivity.this, "上传失败"); Utils.log("=========上传失败" + e.toString()); } @@ -438,9 +387,9 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt params.put("sdk", String.valueOf(android.os.Build.VERSION.SDK_INT)); params.put("version", android.os.Build.VERSION.RELEASE); params.put("source", "光环助手"); - params.put("imei", ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId()); + params.put("imei", Util_System_Phone_State.getDeviceId(this)); - if ((curType == 6 || curType == 5)&& !TextUtils.isEmpty(mSuggestNewsLinkEt.getText().toString())) { + if ((curType == 6 || curType == 5) && !TextUtils.isEmpty(mSuggestNewsLinkEt.getText().toString())) { params.put("url", mSuggestNewsLinkEt.getText().toString().trim()); } if (curType > 0) { @@ -482,7 +431,7 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt @Override public void onResponse(JSONObject response) { if (postDialog != null) { - postDialog.dismiss(); + postDialog.dismissAllowingStateLoss(); } if (response.length() != 0) { try { @@ -526,7 +475,7 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt return; } else { if (postDialog != null) { - postDialog.dismiss(); + postDialog.dismissAllowingStateLoss(); } toast("提交失败,请检查网络状态"); @@ -666,17 +615,5 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt } } - private boolean isEmailAddress(String email) { - Pattern p = Pattern - .compile("^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$"); - Matcher m = p.matcher(email); - return m.matches(); - } - private boolean isUrlAddress(String url) { - Pattern p = Pattern - .compile("((http://|ftp://|https://|www.))(([a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6})|([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))(:[0-9]{1,4})*(/[a-zA-Z0-9\\&%_\\./-~-]*)?"); - Matcher m = p.matcher(url); - return m.matches(); - } } diff --git a/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java b/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java index 9a62fa66e9..a23e7c299e 100644 --- a/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java @@ -2,6 +2,8 @@ package com.gh.gamecenter; import android.app.Activity; import android.app.Dialog; +import android.content.Context; +import android.content.Intent; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.Color; @@ -73,6 +75,15 @@ public class ViewImageActivity extends Activity implements OnPageChangeListener } }; + public static Intent getViewImageIntent(Context context, ArrayList list, int position, String entrance) { + Intent checkIntent = new Intent(context, ViewImageActivity.class); + checkIntent.putExtra("urls", list); + checkIntent.putExtra("current", position); + checkIntent.putExtra("ScaleType", "FIT_CENTER"); + checkIntent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); + return checkIntent; + } + private void notifyItemChanged(int position) { Object object = viewimage_vp_show.findViewWithTag(position); if (object != null) { diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java index 709bd6ce64..5ab89f5fda 100644 --- a/app/src/main/java/com/gh/gamecenter/WebActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java @@ -1,8 +1,10 @@ package com.gh.gamecenter; +import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.support.annotation.NonNull; import android.text.TextUtils; import android.view.KeyEvent; import android.view.View; @@ -12,6 +14,7 @@ import butterknife.BindView; import butterknife.OnClick; import com.gh.base.BaseActivity; import com.gh.common.util.DisplayUtils; +import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.entity.CommentnumEntity; import com.gh.gamecenter.retrofit.RetrofitManager; import rx.android.schedulers.AndroidSchedulers; @@ -38,7 +41,13 @@ public class WebActivity extends BaseActivity { private String newsId; private int commentNum; - private String entrance; + @NonNull + public static Intent getWebIntent(Context context) { + Intent intent = new Intent(context, WebActivity.class); + intent.putExtra("gameName", "使用条款与免责声明"); + intent.putExtra("url", "http://api.ghzhushou.com/disclaimer"); + return intent; + } @Override protected int getLayoutId() { @@ -60,8 +69,6 @@ public class WebActivity extends BaseActivity { newsId = getIntent().getStringExtra("newsId"); } - entrance = getIntent().getStringExtra("entrance"); - init(webTitle); webView.loadUrl(webUrl); @@ -139,7 +146,7 @@ public class WebActivity extends BaseActivity { Intent intent = new Intent(this, MessageDetailActivity.class); intent.putExtra("newsId", newsId); intent.putExtra("commentNum", commentNum); - intent.putExtra("entrance", entrance + "+(光环浏览器)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, mEntrance + "+(光环浏览器)"); startActivityForResult(intent, 1001); } diff --git a/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java b/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java index 9a57840331..724cc580a7 100644 --- a/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WeiBoShareActivity.java @@ -1,9 +1,11 @@ package com.gh.gamecenter; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; +import android.support.annotation.NonNull; import android.widget.Toast; import com.facebook.common.references.CloseableReference; import com.facebook.datasource.DataSource; @@ -35,6 +37,23 @@ public class WeiBoShareActivity extends Activity implements IWeiboHandler.Respon private IWeiboShareAPI mWeiboShareAPI; + @NonNull + public static Intent getWeiboshareIntent(Context context, String shareNewsTitle, String shareIcon, + String shareGameName, String shareUrl, boolean isPlugin, + Boolean ispopupWindow) { + Intent intent = new Intent(context, WeiBoShareActivity.class); + Bundle bundle = new Bundle(); + bundle.putString("shareNewsTitle", shareNewsTitle); + bundle.putString("shareIcon", shareIcon); + bundle.putString("shareGameName", shareGameName); + bundle.putString("shareUrl", shareUrl); + bundle.putBoolean("isPlugin", isPlugin); + bundle.putBoolean("ispopupWindow", ispopupWindow); + intent.putExtras(bundle); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + return intent; + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java index 17fc5e28de..93555ad3b6 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java @@ -3,16 +3,8 @@ package com.gh.gamecenter.adapter; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; - -import com.gh.common.util.ApkActiveUtils; -import com.gh.common.util.DataCollectionUtils; -import com.gh.common.util.DataUtils; -import com.gh.common.util.DialogUtils; -import com.gh.common.util.GameUtils; -import com.gh.common.util.ImageUtils; -import com.gh.common.util.StringUtils; -import com.gh.gamecenter.ConcernActivity; -import com.gh.gamecenter.R; +import com.gh.common.util.*; +import com.gh.gamecenter.*; import com.gh.gamecenter.adapter.viewholder.ConcernViewHolder; import com.gh.gamecenter.db.info.ConcernInfo; import com.gh.gamecenter.entity.GameEntity; @@ -20,18 +12,12 @@ import com.gh.gamecenter.listener.OnCallBackListener; import com.gh.gamecenter.manager.ConcernManager; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import rx.Observable; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; +import java.util.*; + /** * Created by LGT on 2016/9/20. */ @@ -54,7 +40,7 @@ public class ConcernAdapter extends BaseRecyclerAdapter { mConcernGameList = new ArrayList<>(); mConcernList = new ArrayList<>(); - mConcernManager = new ConcernManager(this.mContext); + mConcernManager = new ConcernManager(mContext); mConcernList = mConcernManager.getConcernGame(); if (mConcernList != null && mConcernList.size() != 0) { @@ -183,7 +169,7 @@ public class ConcernAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", "我的关注", gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString(mEntrance , "+(我的关注-列表)")); + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString(mEntrance , "+(我的关注-列表)")); } } }); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java index 8c5e53ef7a..e6aa0b7f17 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java @@ -8,9 +8,9 @@ import android.widget.Toast; import com.gh.common.util.ApkActiveUtils; import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; -import com.gh.common.util.GameUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.StringUtils; +import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.ConcernViewHolder; import com.gh.gamecenter.db.info.ConcernInfo; @@ -179,7 +179,7 @@ public class ConcernRecommendAdapter extends BaseRecyclerAdapter { // 统计阅读量 NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, StringUtils.buildString(mEntrance , "+(游戏新闻列表:" , mNewsType + ")")); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, StringUtils.buildString(mEntrance , "+(游戏新闻列表:" , mNewsType + ")")); } }); } else if (holder instanceof NewsFooterViewHolder) { @@ -234,7 +221,7 @@ public class GameNewsAdapter extends BaseRecyclerAdapter { intent.putExtra("gameName", "搜索结果"); intent.putExtra("searchKey", searchKey); intent.putExtra("gameId", mGameId); - intent.putExtra("entrance", StringUtils.buildString(mEntrance , "+(游戏新闻列表:" , mNewsType , ")")); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(mEntrance , "+(游戏新闻列表:" , mNewsType , ")")); mContext.startActivity(intent); } else { Toast.makeText(mContext, "请输入关键字", Toast.LENGTH_SHORT).show(); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java index 44fec9945c..d259055800 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java @@ -90,20 +90,20 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter { , "=" , String.valueOf(getPosition(position) + 1) , "])"); if ("game".equals(slideEntity.getType())) { - GameUtils.startGameDetailActivity(mContext, slideEntity.getLink(), entrance); + GameDetailActivity.startGameDetailActivity(mContext, slideEntity.getLink(), entrance); } else if ("news".equals(slideEntity.getType())) { // 统计阅读量 NewsUtils.statNewsViews(slideEntity.getLink()); Intent intent = new Intent(mContext, NewsDetailActivity.class); intent.putExtra("newsId", slideEntity.getLink()); - intent.putExtra("entrance", entrance); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); mContext.startActivity(intent); } else if ("column".equals(slideEntity.getType())) { Intent intent = new Intent(mContext, SubjectActivity.class); intent.putExtra("id", slideEntity.getLink()); intent.putExtra("name", slideEntity.getName()); - intent.putExtra("entrance", entrance); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); mContext.startActivity(intent); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java index f8e2a6fe22..6114648fed 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java @@ -10,8 +10,7 @@ import android.widget.*; import com.gh.common.constant.ItemViewType; import com.gh.common.util.*; import com.gh.download.DownloadManager; -import com.gh.gamecenter.KaiFuActivity; -import com.gh.gamecenter.R; +import com.gh.gamecenter.*; import com.gh.gamecenter.adapter.viewholder.*; import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameEntity; @@ -414,7 +413,7 @@ public class KaiFuAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", "开服表", gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString("主页-游戏" , "+(" + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString("主页-游戏" , "+(" , "开服表" , "[" , String.valueOf(holder.getPosition()) , "])")); } }); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java index 0dbf14e763..04803a6216 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java @@ -56,10 +56,10 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { private boolean isRefreshPosition; public MessageDetailAdapter(MessageDetailActivity context, CommentDao commentDao, RecyclerView messageDetailRv, - ConcernEntity concernEntity) { + ConcernEntity concernEntity, String entrance) { super(context); this.mRecyclerView = messageDetailRv; - + this.entrance = entrance; mCallBackListener = context; mVoteDao = new VoteDao(context); @@ -69,7 +69,6 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { userName = sp.getString("user_name", null); userIcon = sp.getString("user_icon", null); - entrance = context.getIntent().getStringExtra("entrance"); isOver = false; isLoading = false; @@ -339,7 +338,7 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { } bundle.putStringArrayList("shareArrImg", (ArrayList) mConcernEntity.getImg()); intent.putExtras(bundle); - intent.putExtra("entrance", StringUtils.buildString(entrance , "+(消息详情[" , mConcernEntity.getGameName() , "])")); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(entrance , "+(消息详情[" , mConcernEntity.getGameName() , "])")); mContext.startActivity(intent); } else { Intent intent = new Intent(mContext, ShareCardActivity.class); @@ -351,7 +350,7 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { bundle.putString("newsId", mConcernEntity.getId()); } intent.putExtras(bundle); - intent.putExtra("entrance", StringUtils.buildString(entrance , "+(消息详情[" , mConcernEntity.getGameName() , "])")); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(entrance , "+(消息详情[" , mConcernEntity.getGameName() , "])")); mContext.startActivity(intent); } } @@ -374,12 +373,12 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { intent.putExtra("url", mConcernEntity.getLink()); intent.putExtra("gameName", mConcernEntity.getGameName()); intent.putExtra("newsId", mConcernEntity.getId()); - intent.putExtra("entrance", StringUtils.buildString(entrance , "+(消息详情[" , mConcernEntity.getGameName() , "])")); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(entrance , "+(消息详情[" , mConcernEntity.getGameName() , "])")); mContext.startActivity(intent); } else { Intent intent = new Intent(mContext, NewsDetailActivity.class); intent.putExtra("newsId", mConcernEntity.getId()); - intent.putExtra("entrance", StringUtils.buildString(entrance , "+(消息详情[" , mConcernEntity.getGameName() , "])")); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(entrance , "+(消息详情[" , mConcernEntity.getGameName() , "])")); mContext.startActivity(intent); } } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/NewsNormalAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/NewsNormalAdapter.java index c9a1c7a3e8..af42114e86 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/NewsNormalAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/NewsNormalAdapter.java @@ -9,6 +9,7 @@ import android.widget.LinearLayout; import android.widget.Toast; import com.gh.common.constant.ItemViewType; import com.gh.common.util.*; +import com.gh.gamecenter.NewsDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.*; import com.gh.gamecenter.entity.NewsEntity; @@ -220,7 +221,7 @@ public class NewsNormalAdapter extends BaseRecyclerAdapter { //统计阅读量 statNewsViews(newsEntity, position); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯-资讯)"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯-资讯)"); } }); // viewHolder.thumb.setImageURI(newsEntity.getThumbnail().getUrl().get(0)); @@ -267,7 +268,7 @@ public class NewsNormalAdapter extends BaseRecyclerAdapter { //统计阅读量 statNewsViews(newsEntity, position); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯-资讯)"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯-资讯)"); } }); viewHolder.title.setText(newsEntity.getTitle()); @@ -303,7 +304,7 @@ public class NewsNormalAdapter extends BaseRecyclerAdapter { //统计阅读量 statNewsViews(newsEntity, position); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯-资讯)"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯-资讯)"); } }); viewHolder.title.setText(newsEntity.getTitle()); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java index 3ff3ad9a33..4e61f8eb71 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java @@ -128,7 +128,7 @@ public class PlatformAdapter extends BaseRecyclerAdapter { Intent intent = new Intent(mContext, DownloadManagerActivity.class); intent.putExtra("currentItem", 1); intent.putExtra("url", apkEntity.getUrl()); - intent.putExtra("entrance", mEntrance + "(" + mLocation.split(":")[0] + ")"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, mEntrance + "(" + mLocation.split(":")[0] + ")"); mContext.startActivity(intent); } else if ("启动".equals(status)) { Map kv = new HashMap<>(); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/PluginAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/PluginAdapter.java index f0b1d3dc82..cbd9f59549 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/PluginAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/PluginAdapter.java @@ -5,8 +5,7 @@ import android.view.View; import android.view.ViewGroup; import com.gh.common.util.*; import com.gh.download.DownloadManager; -import com.gh.gamecenter.PluginActivity; -import com.gh.gamecenter.R; +import com.gh.gamecenter.*; import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder; import com.gh.gamecenter.entity.*; import com.gh.gamecenter.listener.OnCallBackListener; @@ -145,7 +144,7 @@ public class PluginAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", "可以插件化的游戏", gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity.getId(), + GameDetailActivity.startGameDetailActivity(mContext, gameEntity.getId(), StringUtils.buildString(mEntrance , "+(插件化[" , String.valueOf(position + 1) , "])")); } }); diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java index 820159b537..127183017b 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java @@ -6,25 +6,17 @@ import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; +import android.view.*; import android.widget.LinearLayout; import android.widget.TextView; - +import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; -import com.gh.gamecenter.eventbus.EBDownloadChanged; -import com.gh.gamecenter.eventbus.EBDownloadStatus; -import com.gh.gamecenter.eventbus.EBMiPush; -import com.gh.gamecenter.eventbus.EBPackage; -import com.gh.gamecenter.eventbus.EBReuse; -import com.gh.gamecenter.eventbus.EBSkip; +import com.gh.gamecenter.eventbus.*; +import de.greenrobot.event.EventBus; import java.util.ArrayList; -import de.greenrobot.event.EventBus; - /** * 游戏更新管理fragment * @@ -42,12 +34,14 @@ public class GameUpdateFragment extends Fragment { public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - String packageName = getActivity().getIntent().getStringExtra("packageName"); - boolean isUpdate = getActivity().getIntent().getBooleanExtra("isPushIntent", false); - if (getActivity().getIntent().getBundleExtra("data") != null) { - packageName = getActivity().getIntent().getBundleExtra("data").getString("packageName"); - isUpdate = getActivity().getIntent().getBundleExtra("data").getBoolean("isPushIntent", false); + Intent intent = getActivity().getIntent(); + String packageName = intent.getStringExtra("packageName"); + boolean isUpdate = intent.getBooleanExtra("isPushIntent", false); + if (intent.getBundleExtra("data") != null) { + packageName = intent.getBundleExtra("data").getString("packageName"); + isUpdate = intent.getBundleExtra("data").getBoolean("isPushIntent", false); } + String entrance = intent.getStringExtra(EntranceUtils.KEY_ENTRANCE); view = View.inflate(getActivity(), R.layout.gameupdate, null); @@ -83,7 +77,7 @@ public class GameUpdateFragment extends Fragment { gameupdate_rv_show.setHasFixedSize(true); gameupdate_rv_show.setLayoutManager(new LinearLayoutManager(getActivity())); adapter = new GameUpdateFragmentAdapter(getActivity(), gameupdate_ll_loading, - reuse_nodata_skip, packageName, isUpdate); + reuse_nodata_skip, packageName, isUpdate, entrance); gameupdate_rv_show.setAdapter(adapter); EventBus.getDefault().register(this); 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 bf5e2aec84..8fe44bd8c7 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java @@ -47,21 +47,15 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter { private String packageName; private String entrance; - GameUpdateFragmentAdapter(Activity activity, - LinearLayout loading, - LinearLayout none, - String packageName, - boolean isUpdate) { + GameUpdateFragmentAdapter(Activity activity, LinearLayout loading, LinearLayout none, String packageName, + boolean isUpdate, String entrance) { super(activity); gameupdate_ll_loading = loading; gameupdate_tv_none = none; this.packageName = packageName; - entrance = activity.getIntent().getStringExtra("entrance"); - if (activity.getIntent().getBundleExtra("data") != null) { - entrance = activity.getIntent().getBundleExtra("data").getString("entrance"); - } + this.entrance = entrance; locationMap = new ArrayMap<>(); diff --git a/app/src/main/java/com/gh/gamecenter/fragment/BaseDialogFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/BaseDialogFragment.java new file mode 100644 index 0000000000..8fe257e50c --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/fragment/BaseDialogFragment.java @@ -0,0 +1,29 @@ +package com.gh.gamecenter.fragment; + +import android.app.Dialog; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.v4.app.DialogFragment; +import com.gh.gamecenter.R; + +/** + * @author CsHeng + * @Date 17/05/2017 + * @Time 4:30 PM + */ + +public class BaseDialogFragment extends DialogFragment { + + @NonNull + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + final Dialog dialog = new Dialog(getActivity(), R.style.DialogWindowTransparent); + dialog.setCanceledOnTouchOutside(false); + dialog.setCancelable(false); + return dialog; + } + +} + + + diff --git a/app/src/main/java/com/gh/gamecenter/fragment/WaitingDialogFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/WaitingDialogFragment.java new file mode 100644 index 0000000000..79ad8a0be1 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/fragment/WaitingDialogFragment.java @@ -0,0 +1,35 @@ +package com.gh.gamecenter.fragment; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.*; +import android.widget.TextView; +import com.gh.gamecenter.R; + +/** + * @author CsHeng + * @Date 17/05/2017 + * @Time 4:27 PM + */ +public class WaitingDialogFragment extends BaseDialogFragment { + + public static final String KEY_MSG = "msg"; + + public static WaitingDialogFragment newInstance(String message) { + Bundle args = new Bundle(); + args.putString(KEY_MSG, message); + WaitingDialogFragment fragment = new WaitingDialogFragment(); + fragment.setArguments(args); + return fragment; + } + + @Nullable + @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + final View view = inflater.inflate(R.layout.set_wait_dialog, null); + final TextView message = (TextView) view.findViewById(R.id.set_wait_message); + message.setText(getArguments().getString(KEY_MSG)); + return view; + } + +} diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java index 657154df75..77e927aef5 100644 --- a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java @@ -665,7 +665,7 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { intent.putExtra("id", mSubjectDigestList.get(finalI).getColumnId()); intent.putExtra("name", mSubjectDigestList.get(finalI).getColumnName()); intent.putExtra("order", mSubjectDigestList.get(finalI).getOrder()); - intent.putExtra("entrance", StringUtils.buildString("(游戏-专题:", + intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString("(游戏-专题:", mSubjectDigestList.get(finalI).getName(), "[1-", String.valueOf(finalI + 1), "]", ")")); mContext.startActivity(intent); @@ -673,7 +673,7 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { mSubjectDigestList.get(finalI).getName()); } else if (finalI == 4) { Intent intent = new Intent(mContext, KaiFuActivity.class); - intent.putExtra("entrance", "(游戏-专题:开服表[1-6])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(游戏-专题:开服表[1-6])"); mContext.startActivity(intent); DataCollectionUtils.uploadPosition(mContext, "游戏", "6", "开服表"); @@ -696,7 +696,7 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, subjectEntity.getName() + "-列表", "游戏-专题", gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity, + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString("(游戏-专题:", subjectEntity.getName(), "-列表[", String.valueOf(position + 1), "])")); } }); @@ -797,10 +797,10 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, subjectEntity.getName() + "-列表", "游戏-专题", gameEntity.getName()); if (gameEntity.isPluggable()) { - GameUtils.startGameDetailActivity(mContext, gameEntity.getId(), + GameDetailActivity.startGameDetailActivity(mContext, gameEntity.getId(), StringUtils.buildString("(游戏-专题:插件化-列表[", String.valueOf(i + 1), "])")); } else { - GameUtils.startGameDetailActivity(mContext, gameEntity, + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString("(游戏-专题:", subjectEntity.getName(), "-列表[", String.valueOf(i + 1), "])")); } } @@ -846,20 +846,20 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, name + "-大图", "游戏-专题"); if ("game".equals(entity.getType())) { - GameUtils.startGameDetailActivity(mContext, entity.getLink(), "(游戏-专题:" + name + "-大图)"); + GameDetailActivity.startGameDetailActivity(mContext, entity.getLink(), "(游戏-专题:" + name + "-大图)"); } else if ("news".equals(entity.getType())) { // 统计阅读量 NewsUtils.statNewsViews(entity.getLink()); Intent intent = new Intent(mContext, NewsDetailActivity.class); intent.putExtra("newsId", entity.getLink()); - intent.putExtra("entrance", "(游戏-专题:" + name + "-大图)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(游戏-专题:" + name + "-大图)"); mContext.startActivity(intent); } else if ("column".equals(entity.getType())) { Intent intent = new Intent(mContext, SubjectActivity.class); intent.putExtra("id", entity.getLink()); intent.putExtra("name", entity.getName()); - intent.putExtra("entrance", "(游戏-专题:" + name + "-大图)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(游戏-专题:" + name + "-大图)"); mContext.startActivity(intent); } } @@ -886,7 +886,7 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { @Override public void onClick(View v) { Intent intent = new Intent(mContext, PluginActivity.class); - intent.putExtra("entrance", "(游戏-专题:插件化-全部)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(游戏-专题:插件化-全部)"); mContext.startActivity(intent); } }); @@ -942,7 +942,7 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { intent.putExtra("id", subjectEntity.getId()); intent.putExtra("name", subjectEntity.getName()); intent.putExtra("order", subjectEntity.isOrder()); - intent.putExtra("entrance", "(游戏-专题:" + subjectEntity.getName() + "-全部)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(游戏-专题:" + subjectEntity.getName() + "-全部)"); mContext.startActivity(intent); } else { holder.progressBar.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java index 86d5ac13c1..de6b909d30 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java @@ -15,31 +15,21 @@ import com.gh.base.AppController; import com.gh.common.util.*; import com.gh.common.view.GridDivider; import com.gh.common.view.MarqueeView; -import com.gh.gamecenter.GameDetailActivity; -import com.gh.gamecenter.GameNewsActivity; -import com.gh.gamecenter.R; -import com.gh.gamecenter.SuggestionActivity; +import com.gh.gamecenter.*; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.ReuseViewHolder; import com.gh.gamecenter.db.LibaoDao; -import com.gh.gamecenter.db.info.LibaoInfo; import com.gh.gamecenter.entity.*; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; - import de.greenrobot.event.EventBus; import retrofit2.HttpException; import rx.android.schedulers.AndroidSchedulers; import rx.functions.Func1; import rx.schedulers.Schedulers; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Timer; -import java.util.TimerTask; +import java.util.*; /** * Created by khy on 2017/3/27. @@ -64,12 +54,13 @@ public class FuLiAdapter extends BaseRecyclerAdapter { private int offsetH = 0; - public FuLiAdapter(Context context, RecyclerView recyclerView, FuliFragment fuLiFragment) { + public FuLiAdapter(Context context, RecyclerView recyclerView, FuliFragment fuLiFragment, String entrance) { super(context); this.mContext = context; this.mRecyclerView = recyclerView; this.fuLiFragment = fuLiFragment; + this.entrance = entrance; isOpenLibaoList = false; mGameDetailEntity = (GameDetailEntity) AppController.get("GameDetailEntity", false); @@ -358,7 +349,7 @@ public class FuLiAdapter extends BaseRecyclerAdapter { } } if (!TextUtils.isEmpty(mGameDetailEntity.getFulishuoming()) - || contact != null && (contact.getService()!= null && !TextUtils.isEmpty(contact.getService().getDes()) + || contact != null && (contact.getService() != null && !TextUtils.isEmpty(contact.getService().getDes()) || contact.getPlayer() != null && !TextUtils.isEmpty(contact.getService().getDes()))) { if (position_news != -1) { position_fuli = position_news + 1; @@ -408,7 +399,7 @@ public class FuLiAdapter extends BaseRecyclerAdapter { @Override public void onClick(View v) { int index = mvNotice.getDisplayedChild(); - NewsUtils.startNewsDetailActivity(mContext, notice.get(index), "游戏详情-公告"); + NewsDetailActivity.startNewsDetailActivity(mContext, notice.get(index), "游戏详情-公告"); } }); } else { @@ -439,7 +430,7 @@ public class FuLiAdapter extends BaseRecyclerAdapter { intent.putExtra("articleTypes", mGameDetailEntity.getArticleTypes()); intent.putExtra("gameName", mGameEntity.getName()); intent.putExtra("gameId", mGameEntity.getId()); - intent.putExtra("entrance", entrance + "+(游戏详情[" + mGameEntity.getName() + "]:资讯攻略-全部)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance + "+(游戏详情[" + mGameEntity.getName() + "]:资讯攻略-全部)"); mContext.startActivity(intent); } } @@ -478,7 +469,7 @@ public class FuLiAdapter extends BaseRecyclerAdapter { // 统计阅读量 NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, entrance + "+(游戏详情[" + mGameEntity.getName() + "]:资讯攻略-列表[" + (ii + 1) + "])"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, entrance + "+(游戏详情[" + mGameEntity.getName() + "]:资讯攻略-列表[" + (ii + 1) + "])"); } }); viewHolder.gamedetail_item_news_list.addView(view); @@ -498,14 +489,14 @@ public class FuLiAdapter extends BaseRecyclerAdapter { private void initFuLiViewHolder(final GameDetailFuLiViewHolder viewHolder) { final GameDetailEntity.Contact contact = mGameDetailEntity.getContact(); - if (contact!= null && contact.getService() != null && !TextUtils.isEmpty(contact.getService().getDes())) { + if (contact != null && contact.getService() != null && !TextUtils.isEmpty(contact.getService().getDes())) { viewHolder.fuliQqRl.setVisibility(View.VISIBLE); viewHolder.fuliQqDes.setText(contact.getService().getDes()); } else { viewHolder.fuliQqRl.setVisibility(View.GONE); } - if (contact != null && contact.getPlayer() != null && !TextUtils.isEmpty(contact.getPlayer().getDes())){ + if (contact != null && contact.getPlayer() != null && !TextUtils.isEmpty(contact.getPlayer().getDes())) { viewHolder.fuliQqunRl.setVisibility(View.VISIBLE); viewHolder.fuliQqunDes.setText(contact.getPlayer().getDes()); } else { diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java b/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java index 970f6b74a2..103f057aae 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java @@ -39,7 +39,7 @@ public class FuliFragment extends BaseFragment { mRecyclerView = (RecyclerView) view.findViewById(R.id.fm_fuli_rv); distance = DisplayUtils.dip2px(getActivity(), 75); - mAdapter = new FuLiAdapter(getContext(), mRecyclerView, this); + mAdapter = new FuLiAdapter(getContext(), mRecyclerView, this, mEntrance); layoutManager = new MeasureLinearLayoutManager(getContext()) { @Override diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameGalleryAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameGalleryAdapter.java index a9cd5ec759..aae2943877 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameGalleryAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameGalleryAdapter.java @@ -48,7 +48,7 @@ class GameGalleryAdapter extends BaseRecyclerAdapter { Intent intent = new Intent(mContext, ViewImageActivity.class); intent.putExtra("urls", gallery); intent.putExtra("current", holder.getPosition()); - intent.putExtra("entrance", entrance); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); mContext.startActivity(intent); } }); diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameLibaoGalleryAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameLibaoGalleryAdapter.java index d48f3108e3..3cf1a3422b 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameLibaoGalleryAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameLibaoGalleryAdapter.java @@ -7,6 +7,7 @@ import android.graphics.Color; import android.view.View; import android.view.ViewGroup; import com.gh.base.AppController; +import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.LibaoDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; @@ -100,7 +101,7 @@ class GameLibaoGalleryAdapter extends BaseRecyclerAdapter { @Override public void onClick(View v) { int index = mvNotice.getDisplayedChild(); - NewsUtils.startNewsDetailActivity(mContext, notice.get(index), "游戏详情-公告"); + NewsDetailActivity.startNewsDetailActivity(mContext, notice.get(index), "游戏详情-公告"); } }); } @@ -451,7 +424,7 @@ public class XinXiAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", name, gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity, + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString(entrance , "+(" , name , "[" , String.valueOf(position + 1) , "])")); } }); @@ -514,7 +487,7 @@ public class XinXiAdapter extends BaseRecyclerAdapter { intent.putExtra("articleTypes", mGameDetailEntity.getArticleTypes()); intent.putExtra("gameName", mGameEntity.getName()); intent.putExtra("gameId", mGameEntity.getId()); - intent.putExtra("entrance", entrance + "+(游戏详情[" + mGameEntity.getName() + "]:资讯攻略-全部)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance + "+(游戏详情[" + mGameEntity.getName() + "]:资讯攻略-全部)"); mContext.startActivity(intent); } } @@ -553,7 +526,7 @@ public class XinXiAdapter extends BaseRecyclerAdapter { // 统计阅读量 NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, entrance + "+(游戏详情[" + mGameEntity.getName() + "]:资讯攻略-列表[" + (ii + 1) + "])"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, entrance + "+(游戏详情[" + mGameEntity.getName() + "]:资讯攻略-列表[" + (ii + 1) + "])"); } }); viewHolder.gamedetail_item_news_list.addView(view); diff --git a/app/src/main/java/com/gh/gamecenter/geetest/GtDialog.java b/app/src/main/java/com/gh/gamecenter/geetest/GtDialog.java index b0395dec6e..64bb6a9f75 100644 --- a/app/src/main/java/com/gh/gamecenter/geetest/GtDialog.java +++ b/app/src/main/java/com/gh/gamecenter/geetest/GtDialog.java @@ -6,13 +6,13 @@ import android.content.Context; import android.graphics.Color; import android.os.Build; import android.os.Bundle; -import android.telephony.TelephonyManager; import android.view.Gravity; import android.view.ViewGroup.LayoutParams; import android.view.Window; import android.webkit.JavascriptInterface; import android.widget.RelativeLayout; import android.widget.TextView; +import com.gh.common.util.Util_System_Phone_State; import com.gh.common.util.Utils; import org.json.JSONException; import org.json.JSONObject; @@ -30,7 +30,6 @@ public class GtDialog extends Dialog { // private String baseURL = "http://192.168.1.158:8721"; public Boolean isShowing = false; private String baseURL = "https://static.geetest.com/static/appweb/app-index.html"; - private TelephonyManager tm; private Context mContext; private String mParamsString; private String product = "embed"; @@ -47,7 +46,6 @@ public class GtDialog extends Dialog { public GtDialog(Context context, JSONObject params) { super(context); mContext = context; - tm = (TelephonyManager) context.getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE); mParamsString = unwrappingParameters(params); init(context); } @@ -147,7 +145,7 @@ public class GtDialog extends Dialog { return "?" + paramsString // + "&challenge=" + this.challenge // + "&success=" + (this.success ? 1 : 0) - + "&imei=" + tm.getDeviceId() + + "&imei=" + Util_System_Phone_State.getDeviceId(mContext) + "&mType=" + Build.MODEL + "&osType=" + "android" + "&osVerInt=" + Build.VERSION.RELEASE diff --git a/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java b/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java index eda02c55a6..e09f2913b8 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java @@ -13,6 +13,7 @@ import butterknife.BindView; import butterknife.OnClick; import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.BaseFragment; +import com.gh.common.util.EntranceUtils; import com.gh.common.view.SwipeLayout; import com.gh.common.view.VerticalItemDecoration; import com.gh.gamecenter.LibaoActivity; @@ -82,7 +83,8 @@ public class Libao1Fragment extends BaseFragment implements SwipeRefreshLayout.O mRecyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(mLayoutManager); - adapter = new Libao1FragmentAdapter(Libao1Fragment.this, mIsSearch, mSearckKey); + + adapter = new Libao1FragmentAdapter(Libao1Fragment.this, mIsSearch, mSearckKey, mEntrance); mNormalAdapter = adapter; mRecyclerView.addItemDecoration(new VerticalItemDecoration(getContext(), 8, false)); mRecyclerView.setAdapter(adapter); @@ -280,14 +282,15 @@ public class Libao1Fragment extends BaseFragment implements SwipeRefreshLayout.O } private void changeAdapter(boolean isRefresh) { + String entrance = getActivity().getIntent().getStringExtra(EntranceUtils.KEY_ENTRANCE); if (mIsSearch) { - adapter = new Libao1FragmentAdapter(Libao1Fragment.this, mIsSearch, mSearckKey); + adapter = new Libao1FragmentAdapter(Libao1Fragment.this, mIsSearch, mSearckKey, entrance); } else { if (mNormalAdapter != null && !isRefresh) { adapter = mNormalAdapter; // adapter.setSearchKey(mSearckKey); } else { - adapter = new Libao1FragmentAdapter(Libao1Fragment.this, mIsSearch, null); + adapter = new Libao1FragmentAdapter(Libao1Fragment.this, mIsSearch, null, entrance); mNormalAdapter = adapter; adapter.addLibaoList(false, 0); } diff --git a/app/src/main/java/com/gh/gamecenter/libao/Libao1FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/libao/Libao1FragmentAdapter.java index 652a01f6f6..dc57313e59 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao1FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao1FragmentAdapter.java @@ -16,7 +16,6 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.*; import com.gh.gamecenter.db.LibaoDao; -import com.gh.gamecenter.db.info.LibaoInfo; import com.gh.gamecenter.entity.LibaoEntity; import com.gh.gamecenter.entity.LibaoStatusEntity; import com.gh.gamecenter.listener.OnCallBackListener; @@ -59,7 +58,7 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { private final static int ITEM_SEARCH = 1; private final static int ITEM_FOOTER = 1; - Libao1FragmentAdapter(Libao1Fragment libao1Fragment, boolean isSearch, String key) { + Libao1FragmentAdapter(Libao1Fragment libao1Fragment, boolean isSearch, String key, String entrance) { super(libao1Fragment.getContext()); this.libao1Fragment = libao1Fragment; this.mCallBackListener = libao1Fragment; @@ -67,7 +66,7 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { this.mIsSearch = isSearch; this.mSerchKey = key; - this.entrance = libao1Fragment.getActivity().getIntent().getStringExtra("entrance"); + this.entrance = entrance; mLibaoList = new ArrayList<>(); @@ -322,7 +321,7 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { skipPosition = position; AppController.put("libaoEntity", libaoEntity); Intent intent = new Intent(mContext, LibaoDetailActivity.class); - intent.putExtra("entrance", entrance + "+(礼包中心-最新)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance + "+(礼包中心-最新)"); libao1Fragment.startActivityForResult(intent, 0x123); } }); @@ -335,7 +334,7 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { skipPosition = position; AppController.put("libaoEntity", libaoEntity); Intent intent = new Intent(mContext, LibaoDetailActivity.class); - intent.putExtra("entrance", entrance + "+(礼包中心-最新)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance + "+(礼包中心-最新)"); libao1Fragment.startActivityForResult(intent, 0x123); } }); diff --git a/app/src/main/java/com/gh/gamecenter/libao/Libao2Fragment.java b/app/src/main/java/com/gh/gamecenter/libao/Libao2Fragment.java index d0103eab06..6cddb5f84d 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao2Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao2Fragment.java @@ -8,18 +8,14 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.LinearLayout; - +import butterknife.BindView; +import butterknife.OnClick; import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.BaseFragment; import com.gh.common.view.VerticalItemDecoration; import com.gh.gamecenter.LibaoActivity; import com.gh.gamecenter.R; -import com.gh.gamecenter.eventbus.EBConcernChanged; -import com.gh.gamecenter.eventbus.EBReuse; -import com.gh.gamecenter.eventbus.EBUISwitch; - -import butterknife.BindView; -import butterknife.OnClick; +import com.gh.gamecenter.eventbus.*; /** * Created by khy on 2016/12/12. @@ -42,7 +38,7 @@ public class Libao2Fragment extends BaseFragment implements SwipeRefreshLayout.O Runnable runnable = new Runnable() { @Override public void run() { - adapter = new Libao2FragmentAdapter(Libao2Fragment.this); + adapter = new Libao2FragmentAdapter(Libao2Fragment.this, mEntrance); mRecyclerView.setAdapter(adapter); adapter.addList(0); } @@ -62,7 +58,7 @@ public class Libao2Fragment extends BaseFragment implements SwipeRefreshLayout.O mRecyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(mLayoutManager); - adapter = new Libao2FragmentAdapter(Libao2Fragment.this); + adapter = new Libao2FragmentAdapter(Libao2Fragment.this, mEntrance); mRecyclerView.addItemDecoration(new VerticalItemDecoration(getContext(), 8, false)); mRecyclerView.setAdapter(adapter); @@ -150,7 +146,7 @@ public class Libao2Fragment extends BaseFragment implements SwipeRefreshLayout.O public void onEventMainThread(EBReuse reuse) { if ("UpdateConcernSuccess".equals(reuse.getType()) && isConcernChanged) { isConcernChanged = false; - adapter = new Libao2FragmentAdapter(Libao2Fragment.this); + adapter = new Libao2FragmentAdapter(Libao2Fragment.this, mEntrance); mRecyclerView.setAdapter(adapter); adapter.addList(0); } else if ("UpdateConcernFailure".equals(reuse.getType())) { diff --git a/app/src/main/java/com/gh/gamecenter/libao/Libao2FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/libao/Libao2FragmentAdapter.java index 5fa1a2ee22..e339acf28a 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao2FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao2FragmentAdapter.java @@ -15,7 +15,6 @@ import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.LibaoNormalViewHolder; import com.gh.gamecenter.db.LibaoDao; import com.gh.gamecenter.db.info.ConcernInfo; -import com.gh.gamecenter.db.info.LibaoInfo; import com.gh.gamecenter.entity.LibaoEntity; import com.gh.gamecenter.entity.LibaoStatusEntity; import com.gh.gamecenter.listener.OnCallBackListener; @@ -59,12 +58,12 @@ class Libao2FragmentAdapter extends BaseRecyclerAdapter { private LibaoDao mLibaoDao; - Libao2FragmentAdapter(Libao2Fragment libao2Fragment) { + Libao2FragmentAdapter(Libao2Fragment libao2Fragment, String entrance) { super(libao2Fragment.getContext()); this.libao2Fragment = libao2Fragment; this.mCallBackListener = libao2Fragment; - this.entrance = libao2Fragment.getActivity().getIntent().getStringExtra("entrance"); + this.entrance = entrance; mLibaoList = new ArrayList<>(); gameIdList = new ArrayList<>(); @@ -338,7 +337,7 @@ class Libao2FragmentAdapter extends BaseRecyclerAdapter { @Override public void onClick(View v) { Intent intent = new Intent(mContext, ConcernActivity.class); - intent.putExtra("entrance", entrance + "+(礼包中心-关注)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance + "+(礼包中心-关注)"); libao2Fragment.startActivityForResult(intent, 0x223); } }); @@ -378,7 +377,7 @@ class Libao2FragmentAdapter extends BaseRecyclerAdapter { skipPosition = position; AppController.put("libaoEntity", libaoEntity); Intent intent = new Intent(mContext, LibaoDetailActivity.class); - intent.putExtra("entrance", entrance + "+(礼包中心-关注)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance + "+(礼包中心-关注)"); libao2Fragment.startActivityForResult(intent, 0x123); } }); @@ -391,7 +390,7 @@ class Libao2FragmentAdapter extends BaseRecyclerAdapter { skipPosition = position; AppController.put("libaoEntity", libaoEntity); Intent intent = new Intent(mContext, LibaoDetailActivity.class); - intent.putExtra("entrance", entrance + "+(礼包中心-关注)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance + "+(礼包中心-关注)"); libao2Fragment.startActivityForResult(intent, 0x123); } }); diff --git a/app/src/main/java/com/gh/gamecenter/libao/Libao3Fragment.java b/app/src/main/java/com/gh/gamecenter/libao/Libao3Fragment.java index 892772f258..0b769ebe01 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao3Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao3Fragment.java @@ -34,7 +34,7 @@ public class Libao3Fragment extends BaseFragment implements SwipeRefreshLayout.O Runnable runnable = new Runnable() { @Override public void run() { - adapter = new Libao3FragmentAdapter(Libao3Fragment.this); + adapter = new Libao3FragmentAdapter(Libao3Fragment.this, mEntrance); mRecyclerView.setAdapter(adapter); mRefreshLayout.setRefreshing(false); } @@ -51,7 +51,7 @@ public class Libao3Fragment extends BaseFragment implements SwipeRefreshLayout.O mRecyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(mLayoutManager); - adapter = new Libao3FragmentAdapter(Libao3Fragment.this); + adapter = new Libao3FragmentAdapter(Libao3Fragment.this, mEntrance); mRecyclerView.addItemDecoration(new VerticalItemDecoration(getContext(), 8, true)); mRecyclerView.setAdapter(adapter); diff --git a/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java index 76c7c980a4..2d16047446 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java @@ -33,11 +33,11 @@ class Libao3FragmentAdapter extends BaseRecyclerAdapter { private String entrance; - Libao3FragmentAdapter(Libao3Fragment libao3Fragment) { + Libao3FragmentAdapter(Libao3Fragment libao3Fragment, String entrance) { super(libao3Fragment.getContext()); this.mCallBackListener = libao3Fragment; - this.entrance = libao3Fragment.getActivity().getIntent().getStringExtra("entrance"); + this.entrance = entrance; mLibaoList = new ArrayList<>(); @@ -127,7 +127,7 @@ class Libao3FragmentAdapter extends BaseRecyclerAdapter { public void onClick(View v) { AppController.put("libaoEntity", libaoEntity); Intent intent = new Intent(mContext, LibaoDetailActivity.class); - intent.putExtra("entrance", entrance + "+(礼包中心-存号箱)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance + "+(礼包中心-存号箱)"); mContext.startActivity(intent); } }); diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java index 649ed489b7..fa33369ca3 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java @@ -319,7 +319,7 @@ public class KeFuFragmentAdapter extends BaseRecyclerAdapter { case "新闻": if (!TextUtils.isEmpty(keFuEntity.getLink().getId())) { Intent intent2 = new Intent(mContext, NewsDetailActivity.class); - intent2.putExtra("entrance", "(消息-公告)"); + intent2.putExtra(EntranceUtils.KEY_ENTRANCE, "(消息-公告)"); intent2.putExtra("newsId", keFuEntity.getLink().getId()); mContext.startActivity(intent2); } diff --git a/app/src/main/java/com/gh/gamecenter/message/NoticeFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/message/NoticeFragmentAdapter.java index d0ac18563e..94c94d8c84 100644 --- a/app/src/main/java/com/gh/gamecenter/message/NoticeFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/message/NoticeFragmentAdapter.java @@ -296,7 +296,7 @@ public class NoticeFragmentAdapter extends BaseRecyclerAdapter { break; case "新闻": Intent intent2 = new Intent(mContext, NewsDetailActivity.class); - intent2.putExtra("entrance", "(消息-公告)"); + intent2.putExtra(EntranceUtils.KEY_ENTRANCE, "(消息-公告)"); intent2.putExtra("newsId", noticeEntity.getLink().getId()); mContext.startActivity(intent2); break; 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 729b9c9a67..227e70b438 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java @@ -8,6 +8,7 @@ import android.widget.LinearLayout; import android.widget.Toast; import com.gh.common.constant.ItemViewType; import com.gh.common.util.*; +import com.gh.gamecenter.NewsDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.*; @@ -221,7 +222,7 @@ public class News1FragmentAdapter extends BaseRecyclerAdapter { //统计阅读量 statNewsViews(newsEntity, viewHolder.getPosition()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯:资讯[2-1])"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:资讯[2-1])"); } }); // viewHolder.thumb.setImageURI(newsEntity.getThumbnail().getUrl().get(0)); @@ -269,7 +270,7 @@ public class News1FragmentAdapter extends BaseRecyclerAdapter { //统计阅读量 statNewsViews(newsEntity, viewHolder.getPosition()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯:资讯[2-1])"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:资讯[2-1])"); } }); viewHolder.title.setText(newsEntity.getTitle()); @@ -305,7 +306,7 @@ public class News1FragmentAdapter extends BaseRecyclerAdapter { //统计阅读量 statNewsViews(newsEntity, viewHolder.getPosition()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯:资讯[2-1])"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:资讯[2-1])"); } }); viewHolder.title.setText(newsEntity.getTitle()); diff --git a/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java index d6d35babb0..deb5c843d8 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java @@ -6,63 +6,23 @@ import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.text.Html; import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; +import android.view.*; import android.widget.Toast; - import com.gh.base.AppController; import com.gh.common.constant.ItemViewType; -import com.gh.common.util.ConcernContentUtils; -import com.gh.common.util.ConcernUtils; -import com.gh.common.util.DataCollectionUtils; -import com.gh.common.util.DataUtils; -import com.gh.common.util.DisplayUtils; -import com.gh.common.util.ImageUtils; -import com.gh.common.util.LibaoUtils; -import com.gh.common.util.MD5Utils; -import com.gh.common.util.NewsUtils; -import com.gh.common.util.PlatformUtils; -import com.gh.common.util.StringUtils; -import com.gh.gamecenter.LibaoDetailActivity; -import com.gh.gamecenter.MessageDetailActivity; -import com.gh.gamecenter.NewsDetailActivity; -import com.gh.gamecenter.R; -import com.gh.gamecenter.ShareCardActivity; -import com.gh.gamecenter.ShareCardPicActivity; -import com.gh.gamecenter.WebActivity; +import com.gh.common.util.*; +import com.gh.gamecenter.*; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.NewsDigestViewHolder; import com.gh.gamecenter.db.LibaoDao; import com.gh.gamecenter.db.info.ConcernInfo; import com.gh.gamecenter.db.info.LibaoInfo; -import com.gh.gamecenter.entity.CommentnumEntity; -import com.gh.gamecenter.entity.ConcernEntity; -import com.gh.gamecenter.entity.LibaoEntity; -import com.gh.gamecenter.entity.LibaoStatusEntity; -import com.gh.gamecenter.entity.ViewsEntity; +import com.gh.gamecenter.entity.*; import com.gh.gamecenter.listener.OnCallBackListener; -import com.gh.gamecenter.manager.CommentManager; -import com.gh.gamecenter.manager.ConcernManager; -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 org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; - +import com.gh.gamecenter.manager.*; +import com.gh.gamecenter.retrofit.*; +import org.json.*; import retrofit2.HttpException; import rx.Observable; import rx.Subscriber; @@ -71,6 +31,8 @@ import rx.functions.Action1; import rx.functions.Func1; import rx.schedulers.Schedulers; +import java.util.*; + /** * Created by khy on 2016/8/15. * 资讯-关注-数据适配器 @@ -586,7 +548,7 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter { } skipPosition = viewHolder.getPosition(); Intent intent = new Intent(mContext, LibaoDetailActivity.class); - intent.putExtra("entrance", "(资讯:关注[2-4])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(资讯:关注[2-4])"); fragment.startActivityForResult(intent, 0x122); } }); @@ -647,7 +609,7 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter { concernEntity.setItemHeight(viewHolder.itemView.getHeight()); AppController.put("ConcernEntity", concernEntity); Intent intent = new Intent(mContext, MessageDetailActivity.class); - intent.putExtra("entrance", "(资讯:关注[2-4])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(资讯:关注[2-4])"); fragment.startActivityForResult(intent, 0x125); } }); @@ -672,7 +634,7 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter { } bundle.putStringArrayList("shareArrImg", (ArrayList) concernEntity.getImg()); intent.putExtras(bundle); - intent.putExtra("entrance", "(资讯:关注[2-4])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(资讯:关注[2-4])"); mContext.startActivity(intent); } else { Intent intent = new Intent(mContext, ShareCardActivity.class); @@ -684,7 +646,7 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter { bundle.putString("newsId", concernEntity.getId()); } intent.putExtras(bundle); - intent.putExtra("entrance", "(资讯:关注[2-4])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(资讯:关注[2-4])"); mContext.startActivity(intent); } } @@ -709,12 +671,12 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter { intent.putExtra("url", concernEntity.getLink()); intent.putExtra("gameName", concernEntity.getGameName()); intent.putExtra("newsId", concernEntity.getId()); - intent.putExtra("entrance", "(资讯:关注[2-4])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(资讯:关注[2-4])"); fragment.startActivityForResult(intent, 0x125); } else { Intent intent = new Intent(mContext, NewsDetailActivity.class); intent.putExtra("newsId", concernEntity.getId()); - intent.putExtra("entrance", "(资讯:关注[2-4])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(资讯:关注[2-4])"); fragment.startActivityForResult(intent, 0x125); } diff --git a/app/src/main/java/com/gh/gamecenter/news/News3Fragment.java b/app/src/main/java/com/gh/gamecenter/news/News3Fragment.java index 6a0684e27d..4abb83acd1 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News3Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/news/News3Fragment.java @@ -7,31 +7,24 @@ import android.support.annotation.Nullable; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.view.View; -import android.view.ViewGroup; -import android.view.Window; -import android.widget.LinearLayout; -import android.widget.RelativeLayout; -import android.widget.TextView; - +import android.view.*; +import android.widget.*; +import butterknife.BindView; +import butterknife.OnClick; import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.BaseFragment; import com.gh.common.util.DisplayUtils; -import com.gh.gamecenter.ConcernActivity; -import com.gh.gamecenter.GameNewsActivity; -import com.gh.gamecenter.R; +import com.gh.common.util.EntranceUtils; +import com.gh.gamecenter.*; import com.gh.gamecenter.db.info.ConcernInfo; import com.gh.gamecenter.eventbus.EBUISwitch; import com.gh.gamecenter.manager.ConcernManager; import com.jakewharton.rxbinding.view.RxView; +import rx.functions.Action1; import java.util.List; import java.util.concurrent.TimeUnit; -import butterknife.BindView; -import butterknife.OnClick; -import rx.functions.Action1; - /** * Created by khy on 2017/4/7. * 资讯-攻略界面 @@ -107,7 +100,7 @@ public class News3Fragment extends BaseFragment implements News3FragmentDialogAd OnSelectGameClickListener(); } else { Intent intent = new Intent(getContext(), ConcernActivity.class); - intent.putExtra("entrance", "资讯(攻略-我关注的游戏)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "资讯(攻略-我关注的游戏)"); getContext().startActivity(intent); } } @@ -136,7 +129,7 @@ public class News3Fragment extends BaseFragment implements News3FragmentDialogAd public void onClick(View v) { isShowPopupBg(false); Intent intent = new Intent(getContext(), ConcernActivity.class); - intent.putExtra("entrance", "资讯(攻略-我关注的游戏)"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "资讯(攻略-我关注的游戏)"); getContext().startActivity(intent); } }); diff --git a/app/src/main/java/com/gh/gamecenter/news/News3FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News3FragmentAdapter.java index 6dabda1e6c..5792c3bceb 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News3FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News3FragmentAdapter.java @@ -9,6 +9,7 @@ import android.view.ViewGroup; import com.gh.common.util.DataUtils; import com.gh.common.util.NewsUtils; +import com.gh.gamecenter.NewsDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.NewsFooterViewHolder; @@ -172,7 +173,7 @@ public class News3FragmentAdapter extends BaseRecyclerAdapter { // 统计阅读量 NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯:攻略[2-2])"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:攻略[2-2])"); } }); } else { diff --git a/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java index 7a4d191240..18b74c67b5 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java @@ -8,6 +8,7 @@ import android.widget.LinearLayout; import android.widget.Toast; import com.gh.common.constant.ItemViewType; import com.gh.common.util.*; +import com.gh.gamecenter.NewsDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.*; @@ -222,7 +223,7 @@ public class News4FragmentAdapter extends BaseRecyclerAdapter { //统计阅读量 statNewsViews(newsEntity, viewHolder.getPosition()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯:原创[2-3])"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:原创[2-3])"); } }); // viewHolder.thumb.setImageURI(newsEntity.getThumbnail().getUrl().get(0)); @@ -270,7 +271,7 @@ public class News4FragmentAdapter extends BaseRecyclerAdapter { //统计阅读量 statNewsViews(newsEntity, viewHolder.getPosition()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯:原创[2-3])"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:原创[2-3])"); } }); viewHolder.title.setText(newsEntity.getTitle()); @@ -306,7 +307,7 @@ public class News4FragmentAdapter extends BaseRecyclerAdapter { //统计阅读量 statNewsViews(newsEntity, viewHolder.getPosition()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, "(资讯:原创[2-3])"); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:原创[2-3])"); } }); viewHolder.title.setText(newsEntity.getTitle()); diff --git a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java index c567557e7c..403737bcac 100644 --- a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java @@ -445,7 +445,7 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { // 统计阅读量 NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity , StringUtils.buildString(mEntrance , "+(新闻详情:相关推荐[" , String.valueOf(viewHolder.getPosition() + 1) , "])")); } }); @@ -547,7 +547,7 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "游戏信息", "新闻详情", mNewsDetailEntity.getTitle()); - GameUtils.startGameDetailActivity(mContext, mGameEntity.getId(), mEntrance + "+(新闻详情[" + mNewsDetailEntity.getTitle() + "])"); + GameDetailActivity.startGameDetailActivity(mContext, mGameEntity.getId(), mEntrance + "+(新闻详情[" + mNewsDetailEntity.getTitle() + "])"); } }); } @@ -606,12 +606,12 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { String id = uri.getPath().substring(1); Intent intent = new Intent(mContext, NewsDetailActivity.class); intent.putExtra("newsId", id); - intent.putExtra("entrance", + intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(mEntrance , "+(新闻详情[" , mNewsDetailEntity.getTitle() , "])")); mContext.startActivity(intent); } else if ("game".equals(host)) { String id = uri.getPath().substring(1); - GameUtils.startGameDetailActivity(mContext, id, + GameDetailActivity.startGameDetailActivity(mContext, id, StringUtils.buildString(mEntrance , "+(新闻详情[" , mNewsDetailEntity.getTitle() , "])")); } else if ("column".equals(host)) { String id = uri.getPath().substring(1); @@ -619,14 +619,14 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { Intent intent = new Intent(mContext, SubjectActivity.class); intent.putExtra("id", id); intent.putExtra("name", name); - intent.putExtra("entrance", + intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(mEntrance , "+(新闻详情[" , mNewsDetailEntity.getTitle() , "])")); mContext.startActivity(intent); } else if ("libao".equals(host)) { String id = uri.getPath().substring(1); Intent intent = new Intent(mContext, LibaoDetailActivity.class); intent.putExtra("id", id); - intent.putExtra("entrance", + intent.putExtra(EntranceUtils.KEY_ENTRANCE, StringUtils.buildString(mEntrance , "+(新闻详情[" , mNewsDetailEntity.getTitle() , "])")); mContext.startActivity(intent); } else if ("qq".equals(host)) { @@ -731,7 +731,7 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { @JavascriptInterface public void skip(String id, String type) { if ("game".equals(type)) { - GameUtils.startGameDetailActivity(context, id, + GameDetailActivity.startGameDetailActivity(context, id, StringUtils.buildString(mEntrance , "+(新闻详情[" , mNewsDetailEntity.getTitle() , "])")); } else if ("news".equals(type)) { Intent intent = new Intent(context, NewsDetailActivity.class); diff --git a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java index 2f57fa6eee..1b07a27249 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java @@ -14,10 +14,10 @@ import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; -import com.gh.common.util.GameUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; import com.gh.download.DownloadManager; +import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; @@ -233,7 +233,7 @@ class ConcernFragmentAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", "我的光环-已关注", gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity, "(我的光环-已关注)"); + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, "(我的光环-已关注)"); } }); diff --git a/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java index be177bd1f8..b6ed03deab 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/personal/InstallFragmentAdapter.java @@ -16,8 +16,7 @@ import com.gh.common.constant.ItemViewType; import com.gh.common.util.*; import com.gh.common.view.SwipeLayout; import com.gh.download.DownloadManager; -import com.gh.gamecenter.ChooseReceiverActivity; -import com.gh.gamecenter.R; +import com.gh.gamecenter.*; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.GameNormalSwipeViewHolder; @@ -414,7 +413,7 @@ class InstallFragmentAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", "我的光环-已安装", gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity.getId(), "(我的光环-已安装)"); + GameDetailActivity.startGameDetailActivity(mContext, gameEntity.getId(), "(我的光环-已安装)"); } } }); diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java index 9356e71058..bb25622168 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -183,14 +183,14 @@ public class PersonalFragment extends BaseFragment implements View.OnClickListen DataCollectionUtils.uploadClick(getActivity(), "设置图标", "我的光环"); Intent intent3 = new Intent(getActivity(), SettingActivity.class); - intent3.putExtra("entrance", "(我的光环)"); + intent3.putExtra(EntranceUtils.KEY_ENTRANCE, "(我的光环)"); startActivity(intent3); break; case R.id.personal_entrance_libao: DataUtils.onEvent(getActivity(), "主页", "礼包图标"); DataCollectionUtils.uploadClick(getActivity(), "礼包图标", "我的光环"); Intent intent = new Intent(getActivity(), LibaoActivity.class); - intent.putExtra("entrance", "(我的光环:礼包[4-1])"); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(我的光环:礼包[4-1])"); startActivity(intent); DataCollectionUtils.uploadPosition(getActivity(), "我的光环", "1", "礼包"); @@ -256,7 +256,7 @@ public class PersonalFragment extends BaseFragment implements View.OnClickListen // 上传头像 // Intent intent = new Intent(getActivity(), CropImageActivity.class); // intent.putExtra("path", picturePath); -// intent.putExtra("entrance", "(我的光环)"); +// intent.putExtra("mEntrance", "(我的光环)"); // startActivityForResult(intent, 0x124); } else if (data != null && requestCode == 0x125) { String url = data.getExtras().getString("url"); diff --git a/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java index 1f32cdf27b..4e4d6411fd 100644 --- a/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java +++ b/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java @@ -1,8 +1,7 @@ package com.gh.gamecenter.receiver; import android.content.*; -import com.gh.common.util.PackageUtils; -import com.gh.common.util.RunningUtils; +import com.gh.common.util.*; import com.gh.gamecenter.DownloadManagerActivity; import com.gh.gamecenter.SplashScreenActivity; import com.gh.gamecenter.eventbus.EBMiPush; @@ -37,7 +36,7 @@ public class InstallReceiver extends BroadcastReceiver { Intent intent2 = new Intent(context, DownloadManagerActivity.class); intent2.putExtra("currentItem", 0); intent2.putExtra("path", path); - intent2.putExtra("entrance", "(安装跳转)"); + intent2.putExtra(EntranceUtils.KEY_ENTRANCE, "(安装跳转)"); intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); } @@ -49,7 +48,7 @@ public class InstallReceiver extends BroadcastReceiver { intent2.putExtra("to", "DownloadManagerActivity"); intent2.putExtra("currentItem", 0); intent2.putExtra("path", path); - intent2.putExtra("entrance", "(安装跳转)"); + intent2.putExtra(EntranceUtils.KEY_ENTRANCE, "(安装跳转)"); intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); } diff --git a/app/src/main/java/com/gh/gamecenter/receiver/NotificationReceiver.java b/app/src/main/java/com/gh/gamecenter/receiver/NotificationReceiver.java index ed64ec3927..862685cffd 100644 --- a/app/src/main/java/com/gh/gamecenter/receiver/NotificationReceiver.java +++ b/app/src/main/java/com/gh/gamecenter/receiver/NotificationReceiver.java @@ -87,7 +87,7 @@ public class NotificationReceiver extends BroadcastReceiver { Intent intent2 = new Intent(context, DownloadManagerActivity.class); intent2.putExtra("currentItem", 1); intent2.putExtra("isPushIntent", true); - intent2.putExtra("entrance", "(小米推送)"); + intent2.putExtra(EntranceUtils.KEY_ENTRANCE, "(小米推送)"); intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); } @@ -99,7 +99,7 @@ public class NotificationReceiver extends BroadcastReceiver { intent2.putExtra("to", "DownloadManagerActivity"); intent2.putExtra("currentItem", 1); intent2.putExtra("isPushIntent", true); - intent2.putExtra("entrance", "(小米推送)"); + intent2.putExtra(EntranceUtils.KEY_ENTRANCE, "(小米推送)"); intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); } @@ -117,14 +117,14 @@ public class NotificationReceiver extends BroadcastReceiver { // 应用正在运行,前台或后台 Gson gson = new Gson(); GameEntity gameEntity = gson.fromJson(jsonObject.toString(), GameEntity.class); - GameUtils.startGameDetailActivity(context, gameEntity, "(小米推送)"); + GameDetailActivity.startGameDetailActivity(context, gameEntity, "(小米推送)"); } else { // 应用未在运行 Intent intent3 = new Intent(context, SplashScreenActivity.class); intent3.setAction(Intent.ACTION_MAIN); intent3.addCategory(Intent.CATEGORY_LAUNCHER); intent3.putExtra("to", "GameDetailActivity"); - intent3.putExtra("entrance", "(小米推送)"); + intent3.putExtra(EntranceUtils.KEY_ENTRANCE, "(小米推送)"); Gson gson = new Gson(); GameEntity gameEntity = gson.fromJson(jsonObject.toString(), GameEntity.class); AppController.put("GameEntity", gameEntity); diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java index 9ec970e73b..8500aff9ad 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragment.java @@ -8,19 +8,15 @@ import android.support.annotation.Nullable; import android.support.v4.app.FragmentActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.view.Gravity; -import android.view.View; -import android.view.ViewTreeObserver; +import android.view.*; import android.widget.LinearLayout; import android.widget.TextView; - +import butterknife.BindView; import com.gh.base.BaseFragment; import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; import com.gh.common.view.VerticalItemDecoration; -import com.gh.download.DataWatcher; -import com.gh.download.DownloadEntity; -import com.gh.download.DownloadManager; +import com.gh.download.*; import com.gh.gamecenter.R; import com.gh.gamecenter.SuggestionActivity; import com.gh.gamecenter.entity.GameEntity; @@ -29,8 +25,6 @@ import com.gh.gamecenter.listener.OnCallBackListener; import java.util.ArrayList; -import butterknife.BindView; - public class SearchGameDetailFragment extends BaseFragment implements OnCallBackListener { @BindView(R.id.search_detail) @@ -100,7 +94,7 @@ public class SearchGameDetailFragment extends BaseFragment implements OnCallBack search_detail.setHasFixedSize(true); search_detail.addItemDecoration(new VerticalItemDecoration(getContext(), 8, true)); search_detail.setLayoutManager(new LinearLayoutManager(getActivity())); - adapter = new SearchGameDetailFragmentAdapter(SearchGameDetailFragment.this, key, type); + adapter = new SearchGameDetailFragmentAdapter(SearchGameDetailFragment.this, key, type, mEntrance); search_detail.setAdapter(adapter); final View decorView = getActivity().getWindow().getDecorView(); diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java index e092351632..9cc2e8eb16 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java @@ -10,6 +10,7 @@ import android.view.View.OnClickListener; import android.view.inputmethod.InputMethodManager; import com.gh.common.util.*; import com.gh.common.view.DownloadDialog; +import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder; @@ -24,8 +25,7 @@ import retrofit2.HttpException; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; -import java.util.ArrayList; -import java.util.List; +import java.util.*; class SearchGameDetailFragmentAdapter extends BaseRecyclerAdapter { @@ -39,14 +39,10 @@ class SearchGameDetailFragmentAdapter extends BaseRecyclerAdapter { private String type; private String entrance; - SearchGameDetailFragmentAdapter(SearchGameDetailFragment fragment, String key, String type) { + SearchGameDetailFragmentAdapter(SearchGameDetailFragment fragment, String key, String type, String entrance) { super(fragment.getContext()); this.listener = fragment; - - entrance = fragment.getActivity().getIntent().getStringExtra("entrance"); - if (fragment.getActivity().getIntent().getBundleExtra("data") != null) { - entrance = fragment.getActivity().getIntent().getBundleExtra("data").getString("entrance"); - } + this.entrance = entrance; gameList = new ArrayList<>(); locationMap = new ArrayMap<>(); @@ -151,7 +147,7 @@ class SearchGameDetailFragmentAdapter extends BaseRecyclerAdapter { EventBus.getDefault().post(new EBSearch("click", gameEntity.getId(), gameEntity.getName())); } - GameUtils.startGameDetailActivity(mContext, gameEntity, + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString(entrance , "+(搜索-列表[" , key , "=" , type , "=" , String.valueOf(position + 1) , "])")); } diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java index 3a4b76da8d..a7c18cc635 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragment.java @@ -8,19 +8,15 @@ import android.support.annotation.Nullable; import android.support.v4.app.FragmentActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.view.Gravity; -import android.view.View; -import android.view.ViewTreeObserver; +import android.view.*; import android.widget.LinearLayout; import android.widget.TextView; - +import butterknife.BindView; import com.gh.base.BaseFragment; import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; import com.gh.common.view.VerticalItemDecoration; -import com.gh.download.DataWatcher; -import com.gh.download.DownloadEntity; -import com.gh.download.DownloadManager; +import com.gh.download.*; import com.gh.gamecenter.R; import com.gh.gamecenter.SuggestionActivity; import com.gh.gamecenter.entity.GameEntity; @@ -29,8 +25,6 @@ import com.gh.gamecenter.listener.OnCallBackListener; import java.util.ArrayList; -import butterknife.BindView; - public class SearchGameListFragment extends BaseFragment implements OnCallBackListener { @BindView(R.id.search_detail) @@ -96,7 +90,7 @@ public class SearchGameListFragment extends BaseFragment implements OnCallBackLi search_detail.setHasFixedSize(true); search_detail.addItemDecoration(new VerticalItemDecoration(getContext(), 1, true)); search_detail.setLayoutManager(new LinearLayoutManager(getActivity())); - adapter = new SearchGameListFragmentAdapter(SearchGameListFragment.this, key, type); + adapter = new SearchGameListFragmentAdapter(SearchGameListFragment.this, key, type, mEntrance); search_detail.setAdapter(adapter); final View decorView=getActivity().getWindow().getDecorView(); diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java index 248da6866d..8c9368c130 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java @@ -5,19 +5,12 @@ import android.support.v4.util.ArrayMap; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.text.TextUtils; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; +import android.view.*; import android.view.inputmethod.InputMethodManager; - import com.gh.common.constant.ItemViewType; -import com.gh.common.util.ApkActiveUtils; -import com.gh.common.util.DownloadItemUtils; -import com.gh.common.util.GameUtils; -import com.gh.common.util.GameViewUtils; -import com.gh.common.util.ImageUtils; -import com.gh.common.util.StringUtils; +import com.gh.common.util.*; import com.gh.common.view.DownloadDialog; +import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder; @@ -29,15 +22,14 @@ import com.gh.gamecenter.eventbus.EBSearch; import com.gh.gamecenter.listener.OnCallBackListener; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; - -import java.util.ArrayList; -import java.util.List; - import de.greenrobot.event.EventBus; import retrofit2.HttpException; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; +import java.util.ArrayList; +import java.util.List; + class SearchGameListFragmentAdapter extends BaseRecyclerAdapter { private OnCallBackListener listener; @@ -52,15 +44,11 @@ class SearchGameListFragmentAdapter extends BaseRecyclerAdapter { private String type; private String entrance; - SearchGameListFragmentAdapter(SearchGameListFragment fragment, String key, String type) { + SearchGameListFragmentAdapter(SearchGameListFragment fragment, String key, String type, String entrance) { super(fragment.getContext()); this.listener = fragment; - entrance = fragment.getActivity().getIntent().getStringExtra("entrance"); - if (fragment.getActivity().getIntent().getBundleExtra("data") != null) { - entrance = fragment.getActivity().getIntent().getBundleExtra("data").getString("entrance"); - } - + this.entrance = entrance; gameList = new ArrayList<>(); locationMap = new ArrayMap<>(); searchMap = new ArrayMap<>(); @@ -164,7 +152,7 @@ class SearchGameListFragmentAdapter extends BaseRecyclerAdapter { EventBus.getDefault().post(new EBSearch("click", gameEntity.getId(), gameEntity.getName())); } - GameUtils.startGameDetailActivity(mContext, gameEntity, + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString(entrance , "+(搜索-列表[" , key , "=" , type + "=" , String.valueOf(position + 1) , "])")); @@ -216,7 +204,7 @@ class SearchGameListFragmentAdapter extends BaseRecyclerAdapter { EventBus.getDefault().post(new EBSearch("click", gameEntity.getId(), gameEntity.getName())); } - GameUtils.startGameDetailActivity(mContext, gameEntity, + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString(entrance , "+(搜索-列表[" , key , "=" , type , "=" , String.valueOf(position + 1) , "])")); dao.add(gameEntity.getName()); diff --git a/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java b/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java index 52b2a8077e..94880f414a 100644 --- a/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java @@ -15,11 +15,11 @@ import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; -import com.gh.common.util.GameUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.StringUtils; import com.gh.download.DownloadManager; +import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; @@ -346,7 +346,7 @@ public class SubjectAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", mName, gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity, + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString(mEntrance , "+(" , mName , "[" , String.valueOf(position + 1) , "])")); } }); @@ -425,7 +425,7 @@ public class SubjectAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", mName, gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity, + GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString(mEntrance , "+(" , mName , "[" , String.valueOf(position + 1) , "])")); } }); diff --git a/app/src/main/java/com/gh/gamecenter/subject/SubjectFragment.java b/app/src/main/java/com/gh/gamecenter/subject/SubjectFragment.java index 374b41554e..a012b07a09 100644 --- a/app/src/main/java/com/gh/gamecenter/subject/SubjectFragment.java +++ b/app/src/main/java/com/gh/gamecenter/subject/SubjectFragment.java @@ -2,43 +2,31 @@ package com.gh.gamecenter.subject; import android.os.Bundle; import android.support.annotation.Nullable; -import android.support.v7.widget.DefaultItemAnimator; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.*; import android.text.TextUtils; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; - +import butterknife.BindView; import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.BaseFragment; -import com.gh.common.util.ApkActiveUtils; -import com.gh.common.util.DownloadItemUtils; +import com.gh.common.util.*; import com.gh.common.view.VerticalItemDecoration; -import com.gh.download.DataWatcher; -import com.gh.download.DownloadEntity; -import com.gh.download.DownloadManager; +import com.gh.download.*; 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.EBNetworkState; -import com.gh.gamecenter.eventbus.EBPackage; -import com.gh.gamecenter.eventbus.EBUISwitch; +import com.gh.gamecenter.eventbus.*; import com.gh.gamecenter.news.NewsFragment; import com.gh.gamecenter.retrofit.JSONObjectResponse; import com.gh.gamecenter.retrofit.RetrofitManager; - import org.json.JSONException; import org.json.JSONObject; - -import java.util.ArrayList; - -import butterknife.BindView; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; +import java.util.ArrayList; + /** * Created by khy on 2017/5/3. */ @@ -97,7 +85,7 @@ public class SubjectFragment extends BaseFragment { mId = arguments.getString("id"); mName = arguments.getString("name"); mIsOrder = arguments.getBoolean("order"); - mEntrance = arguments.getString("entrance"); + mEntrance = arguments.getString(EntranceUtils.KEY_ENTRANCE); init(R.layout.fragment_subject); reuse_no_connection.setOnClickListener(new View.OnClickListener() { diff --git a/app/src/main/res/color/tab_selector.xml b/app/src/main/res/color/tab_selector.xml new file mode 100644 index 0000000000..f510eac08b --- /dev/null +++ b/app/src/main/res/color/tab_selector.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-hdpi/ic_game_select.png b/app/src/main/res/drawable-xxhdpi/ic_game_select.png similarity index 100% rename from app/src/main/res/drawable-hdpi/ic_game_select.png rename to app/src/main/res/drawable-xxhdpi/ic_game_select.png diff --git a/app/src/main/res/drawable-hdpi/ic_game_unselect.png b/app/src/main/res/drawable-xxhdpi/ic_game_unselect.png similarity index 100% rename from app/src/main/res/drawable-hdpi/ic_game_unselect.png rename to app/src/main/res/drawable-xxhdpi/ic_game_unselect.png diff --git a/app/src/main/res/drawable-hdpi/ic_message_select.png b/app/src/main/res/drawable-xxhdpi/ic_message_select.png similarity index 100% rename from app/src/main/res/drawable-hdpi/ic_message_select.png rename to app/src/main/res/drawable-xxhdpi/ic_message_select.png diff --git a/app/src/main/res/drawable-hdpi/ic_message_unselect.png b/app/src/main/res/drawable-xxhdpi/ic_message_unselect.png similarity index 100% rename from app/src/main/res/drawable-hdpi/ic_message_unselect.png rename to app/src/main/res/drawable-xxhdpi/ic_message_unselect.png diff --git a/app/src/main/res/drawable-hdpi/ic_news_select.png b/app/src/main/res/drawable-xxhdpi/ic_news_select.png similarity index 100% rename from app/src/main/res/drawable-hdpi/ic_news_select.png rename to app/src/main/res/drawable-xxhdpi/ic_news_select.png diff --git a/app/src/main/res/drawable-hdpi/ic_news_unselect.png b/app/src/main/res/drawable-xxhdpi/ic_news_unselect.png similarity index 100% rename from app/src/main/res/drawable-hdpi/ic_news_unselect.png rename to app/src/main/res/drawable-xxhdpi/ic_news_unselect.png diff --git a/app/src/main/res/drawable-hdpi/ic_user_select.png b/app/src/main/res/drawable-xxhdpi/ic_user_select.png similarity index 100% rename from app/src/main/res/drawable-hdpi/ic_user_select.png rename to app/src/main/res/drawable-xxhdpi/ic_user_select.png diff --git a/app/src/main/res/drawable-hdpi/ic_user_unselect.png b/app/src/main/res/drawable-xxhdpi/ic_user_unselect.png similarity index 100% rename from app/src/main/res/drawable-hdpi/ic_user_unselect.png rename to app/src/main/res/drawable-xxhdpi/ic_user_unselect.png diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 808509f058..6cac37acb6 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,180 +1,150 @@ - + - + android:layout_height = "match_parent" /> + + - - + android:background = "@android:color/white" + android:orientation = "horizontal" + android:gravity = "center_vertical" + android:paddingTop = "8dp" + android:paddingBottom = "10dp" > + android:layout_weight = "1" + android:gravity = "center" + android:orientation = "vertical" > - + + + android:text = "@string/main_game" + android:layout_marginTop = "5dp" + android:textSize = "10sp" /> + + + + + + + + + + + + + android:id = "@+id/main_iv_message" + android:layout_width = "@dimen/tab_img_size" + android:layout_height = "@dimen/tab_img_size" + android:layout_centerInParent = "true" + android:src = "@drawable/ic_message_unselect" /> - - + + - + android:text = "消息" + android:layout_marginTop = "5dp" + android:textColor = "@color/tab_selector" + android:textSize = "10sp" /> + - - - + - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:text = "我的光环" + android:layout_marginTop = "5dp" + android:textColor = "@color/tab_selector" + android:textSize = "10sp" /> - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_suggest.xml b/app/src/main/res/layout/activity_suggest.xml index 0ae450604b..da382eae0d 100644 --- a/app/src/main/res/layout/activity_suggest.xml +++ b/app/src/main/res/layout/activity_suggest.xml @@ -1,8 +1,8 @@ @@ -12,186 +12,184 @@ android:layout_height = "1dp" android:background = "@color/cutting_line" /> - + android:layout_height = "0dp" + android:layout_weight = "1" + android:overScrollMode = "never" + android:scrollbars = "none" > - + android:orientation = "vertical" > + + - - - + android:layout_marginTop = "12dp" + android:layout_marginBottom = "12dp" > - - + android:background = "@null" + android:focusable = "true" + android:gravity = "top" + android:inputType = "textMultiLine" + android:maxLines = "4" + android:minLines = "2" + android:paddingRight = "23dp" + android:paddingLeft = "23dp" + android:hint = "@string/suggest_content_hint" + android:textSize = "14sp" + android:textColorHint = "@color/content" + android:lineSpacingMultiplier = "1.2" + android:maxLength = "256" + android:textCursorDrawable = "@drawable/cursor_color" /> - - - - - - - - - - + android:visibility = "gone" > - + - + + + + + - + android:paddingRight = "23dp" + android:layout_marginBottom = "12dp" /> - - - - - - - - - - - - + android:layout_height = "40dp" + android:paddingLeft = "23dp" + android:gravity = "center_vertical" + android:layout_marginTop = "16dp" + android:visibility = "gone" + android:background = "@android:color/white" > + + + + + + + + + + + - + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 444cc69bec..68a01e58ff 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -13,4 +13,6 @@ 72dp + 25dp + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b8e7a5c960..c06b9fd55d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -235,5 +235,6 @@ 关注 攻略 原创 + 正在反馈... diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d37ce908cb..9ddf9089f4 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -82,4 +82,11 @@ @drawable/switchbuttom_back_color + + \ No newline at end of file