diff --git a/app/src/main/java/com/gh/base/HomeFragment.java b/app/src/main/java/com/gh/base/HomeFragment.java index 8cf9fa6898..b32a54104c 100644 --- a/app/src/main/java/com/gh/base/HomeFragment.java +++ b/app/src/main/java/com/gh/base/HomeFragment.java @@ -1,24 +1,37 @@ package com.gh.base; -import android.content.*; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; -import android.view.*; -import android.view.animation.*; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AlphaAnimation; +import android.view.animation.Animation; +import android.view.animation.ScaleAnimation; import android.widget.LinearLayout; import android.widget.TextView; + import com.gh.common.constant.Config; -import com.gh.common.util.*; +import com.gh.common.util.DataCollectionUtils; +import com.gh.common.util.DataUtils; +import com.gh.common.util.DisplayUtils; import com.gh.download.DownloadManager; -import com.gh.gamecenter.*; +import com.gh.gamecenter.ConcernActivity; +import com.gh.gamecenter.DownloadManagerActivity; +import com.gh.gamecenter.R; +import com.gh.gamecenter.SearchActivity; import com.gh.gamecenter.eventbus.EBDownloadStatus; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.manager.PackageManager; -import de.greenrobot.event.EventBus; import java.util.ArrayList; +import de.greenrobot.event.EventBus; + /** * Created by LGT on 2016/9/9. * 工具栏 搜索控制 diff --git a/app/src/main/java/com/gh/common/constant/ItemViewType.java b/app/src/main/java/com/gh/common/constant/ItemViewType.java index 78c35323de..fff8c79335 100644 --- a/app/src/main/java/com/gh/common/constant/ItemViewType.java +++ b/app/src/main/java/com/gh/common/constant/ItemViewType.java @@ -18,11 +18,9 @@ public class ItemViewType { public static final int NEWS_IMAGE3 = 10; // 新闻带一张大图布局 public static final int NEWS_DIGEST = 11; // 新闻摘要布局 public static final int SEARCH_NORMAL = 12; // 搜索正常布局 - public static final int SEARCH_DELETE = 13; // 清空历史记录布局 public static final int LOADING = 14; // 加载布局 public static final int LIBAO_NORMAL = 15; // 礼包正常布局 public static final int LIBAO_SKIP_CONCERN = 16; // 跳转关注管理页面布局 public static final int KC_HINT = 16; - public static final int ZIXUNTOP_TOP = 7; // 有料顶部布局 } diff --git a/app/src/main/java/com/gh/common/util/StringUtils.java b/app/src/main/java/com/gh/common/util/StringUtils.java new file mode 100644 index 0000000000..065b21108a --- /dev/null +++ b/app/src/main/java/com/gh/common/util/StringUtils.java @@ -0,0 +1,24 @@ +package com.gh.common.util; + +/** + * Created by khy on 2017/5/2. + */ + +public class StringUtils { + + public static String buildString(String... var0) { + int var1 = 0; + + for(int var2 = 0; var2 < var0.length; ++var2) { + var1 += var0[var2] == null?0:var0[var2].length(); + } + + StringBuilder var4 = new StringBuilder(var1); + + for(int var3 = 0; var3 < var0.length; ++var3) { + var4.append(var0[var3]); + } + + return var4.toString(); + } +} diff --git a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java index 3e2196fcb4..ee0c8c999b 100644 --- a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java @@ -2,30 +2,59 @@ package com.gh.gamecenter; import android.animation.Animator; import android.app.Activity; -import android.content.*; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.graphics.Color; import android.net.wifi.ScanResult; -import android.os.*; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; import android.text.Html; -import android.view.*; -import android.view.animation.*; -import android.widget.*; -import butterknife.BindView; -import butterknife.OnClick; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AccelerateInterpolator; +import android.view.animation.AlphaAnimation; +import android.view.animation.Animation; +import android.view.animation.ScaleAnimation; +import android.view.animation.TranslateAnimation; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.TextView; + import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.drawee.interfaces.DraweeController; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.AppController; import com.gh.base.BaseActivity; import com.gh.common.constant.Config; -import com.gh.common.util.*; -import com.gh.gamecenter.kuaichuan.*; +import com.gh.common.util.DialogUtils; +import com.gh.common.util.DisplayUtils; +import com.gh.common.util.UserIconUtils; +import com.gh.common.util.Utils; +import com.gh.gamecenter.kuaichuan.BaseTransfer; +import com.gh.gamecenter.kuaichuan.Constant; +import com.gh.gamecenter.kuaichuan.FileInfo; +import com.gh.gamecenter.kuaichuan.HotspotManager; +import com.gh.gamecenter.kuaichuan.WifiMgr; +import com.gh.gamecenter.kuaichuan.WifiUtils; import com.readystatesoftware.systembartint.SystemBarTintManager; + import org.json.JSONObject; import java.lang.ref.WeakReference; -import java.net.*; -import java.util.*; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import butterknife.BindView; +import butterknife.OnClick; /** * Created by khy on 2017/1/20. diff --git a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java index 007ecc22d8..fba63839fe 100644 --- a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java @@ -7,22 +7,30 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.Html; import android.view.View; -import android.widget.*; -import butterknife.BindView; -import butterknife.OnClick; +import android.widget.CheckBox; +import android.widget.CompoundButton; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.RelativeLayout; +import android.widget.TextView; + import com.gh.base.BaseActivity; import com.gh.common.util.DialogUtils; +import com.gh.common.util.StringUtils; import com.gh.common.util.Utils; import com.gh.common.view.VerticalItemDecoration; import com.gh.gamecenter.adapter.CleanApkAdapter; import com.gh.gamecenter.entity.InstallGameEntity; import com.gh.gamecenter.eventbus.EBSkip; -import de.greenrobot.event.EventBus; import java.io.File; import java.text.DecimalFormat; import java.util.List; +import butterknife.BindView; +import butterknife.OnClick; +import de.greenrobot.event.EventBus; + /** * Created by khy on 2017/1/24. */ @@ -122,8 +130,8 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On for (int i = 0; i < apkList.size(); i++) { if (selectPosition.get(i) && apkList.get(i).getInstallStatus() == 1) { DialogUtils.showWarningDialog(CleanApkActivity.this, "删除安装包" - , Html.fromHtml("你选择的安装包中包含" + "未安装" - + "的应用,确定删除吗?"), "取消 ", "确定" + , Html.fromHtml("你选择的安装包中包含 未安装 的应用,确定删除吗?") + , "取消 ", "确定" , new DialogUtils.ConfiremListener() { @Override public void onConfirem() { @@ -150,7 +158,7 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On } catch (InterruptedException e) { e.printStackTrace(); } - EventBus.getDefault().post(new EBSkip("GameFragment", 0)); + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0)); } }.start(); break; @@ -200,8 +208,8 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On DecimalFormat df = new DecimalFormat("0.00"); String sizeName = df.format(size) + "MB"; - mApkCount.setText(Html.fromHtml("找到" + apkList.size() + "个安装包,占用" - + "" + sizeName + "" + "空间")); + mApkCount.setText(Html.fromHtml(StringUtils.buildString("找到" , String.valueOf(apkList.size()) , "个安装包,占用" + , "" , sizeName , "" , "空间"))); } @Override diff --git a/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java b/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java index fb0ef97c87..4c147f70f6 100644 --- a/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java +++ b/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java @@ -16,7 +16,6 @@ import android.widget.TextView; import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.BaseActivity; import com.gh.common.util.DownloadItemUtils; -import com.gh.common.util.MeasureHeightLayoutManager; import com.gh.common.util.Utils; import com.gh.common.view.VerticalItemDecoration; import com.gh.download.DataWatcher; @@ -198,22 +197,22 @@ public class KaiFuActivity extends BaseActivity implements KaiFuDialogAdapter.On public void onClick(View v) { mRecyclerView.stopScroll(); - if ("即将开服".equals(mChangeName.getText().toString())) { - mChangeName.setText("当前开服"); - mChangeName.setTextColor(getResources().getColor(R.color.content)); - mChangeRl.setBackgroundResource(R.drawable.border_suggest_bg); - if (kaifuOffset == 0 && mInitMovePosition < 5) { - mMovePosition =0; - } else { - mMovePosition = mInitMovePosition + mAdapter.getLoadCountTop() - 25; - } - moveToPosition(mMovePosition); - } else { - mChangeName.setText("即将开服"); + if ("即将开服↑".equals(mChangeName.getText().toString())) { + mChangeName.setText("当前开服↓"); mChangeName.setTextColor(getResources().getColor(R.color.theme)); mChangeRl.setBackgroundResource(R.drawable.comment_border_bg); mMovePosition = mInitMovePosition + mAdapter.getLoadCountTop() - 20; moveToPosition(mMovePosition); + } else { + mChangeName.setText("即将开服↑"); + mChangeName.setTextColor(getResources().getColor(R.color.content)); + mChangeRl.setBackgroundResource(R.drawable.border_suggest_bg); + if (kaifuOffset == 0 && mInitMovePosition < 4) { + mMovePosition =0; + } else { + mMovePosition = mInitMovePosition + mAdapter.getLoadCountTop() - 24; + } + moveToPosition(mMovePosition); } } }); @@ -369,11 +368,11 @@ public class KaiFuActivity extends BaseActivity implements KaiFuDialogAdapter.On kaifuOffset = (int) obj; - if (kaifuOffset == 0) { - mRefreshLayout.setEnabled(true); - } else { - mRefreshLayout.setEnabled(false); - } +// if (kaifuOffset == 0) { +// mRefreshLayout.setEnabled(true); +// } else { +// mRefreshLayout.setEnabled(false); +// } } // 下载被删除事件 @@ -468,7 +467,7 @@ public class KaiFuActivity extends BaseActivity implements KaiFuDialogAdapter.On @Override public void onScroll(int scrollPosition) { - mInitMovePosition = scrollPosition + getGameEntityIndex() + 1; + mInitMovePosition = scrollPosition + getGameEntityIndex(); moveToPosition(mInitMovePosition); } diff --git a/app/src/main/java/com/gh/gamecenter/LibaoActivity.java b/app/src/main/java/com/gh/gamecenter/LibaoActivity.java index 9e02a2d058..16bd131629 100644 --- a/app/src/main/java/com/gh/gamecenter/LibaoActivity.java +++ b/app/src/main/java/com/gh/gamecenter/LibaoActivity.java @@ -8,19 +8,23 @@ import android.view.Gravity; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; -import butterknife.BindView; + import com.gh.base.BaseFragmentActivity; import com.gh.common.util.DisplayUtils; import com.gh.common.view.NoScrollableViewPager; import com.gh.gamecenter.adapter.FragmentAdapter; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBUISwitch; -import com.gh.gamecenter.libao.*; -import de.greenrobot.event.EventBus; +import com.gh.gamecenter.libao.Libao1Fragment; +import com.gh.gamecenter.libao.Libao2Fragment; +import com.gh.gamecenter.libao.Libao3Fragment; import java.util.ArrayList; import java.util.List; +import butterknife.BindView; +import de.greenrobot.event.EventBus; + /** * Created by khy on 2016/12/12. */ @@ -47,6 +51,8 @@ public class LibaoActivity extends BaseFragmentActivity implements View.OnClickL private LinearLayout.LayoutParams lparams; + public final static String EB_LIBAOACTIVITY_TAG = "LibaoActivity"; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -73,7 +79,7 @@ public class LibaoActivity extends BaseFragmentActivity implements View.OnClickL mLibaoTopLl.postDelayed(new Runnable() { @Override public void run() { - EventBus.getDefault().post(new EBUISwitch("LibaoActivity", 0)); + EventBus.getDefault().post(new EBUISwitch(EB_LIBAOACTIVITY_TAG, 0)); } }, 100); @@ -142,7 +148,7 @@ public class LibaoActivity extends BaseFragmentActivity implements View.OnClickL } else { if (currentItem != mLibaoVp.getCurrentItem()) { currentItem = mLibaoVp.getCurrentItem(); - EventBus.getDefault().post(new EBUISwitch("LibaoActivity", currentItem)); + EventBus.getDefault().post(new EBUISwitch(EB_LIBAOACTIVITY_TAG, currentItem)); } } } diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index c20a5963ba..62b1e79d14 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -140,6 +140,10 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene private int currentTab; private boolean isSkipped; + + public final static String EB_MAINACTIVITY_TAG = "MainActivity" ; + public final static String EB_SKIP_GAMEFRAGMENT = "GameFragment" ; + Runnable skipRun = new Runnable() { @Override public void run() { @@ -524,6 +528,7 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene } if (response != null && response.getComment() > 0) { + Utils.log("======000"); mMessageHint.setVisibility(View.VISIBLE); } } @@ -790,6 +795,7 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene // 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() { @@ -1176,10 +1182,10 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene public void onClick(View v) { final int id = v.getId(); if (id == R.id.main_ll_game) { - EventBus.getDefault().post(new EBUISwitch("MainActivity", 0)); + EventBus.getDefault().post(new EBUISwitch(EB_MAINACTIVITY_TAG, 0)); setTabSelection(0); } else if (id == R.id.main_ll_news) { - EventBus.getDefault().post(new EBUISwitch("MainActivity", 1)); + EventBus.getDefault().post(new EBUISwitch(EB_MAINACTIVITY_TAG, 1)); setTabSelection(1); } // else if (id == R.id.main_ll_wenda) { @@ -1188,15 +1194,18 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene else if (id == R.id.main_ll_message) { setTabSelection(2); } else if (id == R.id.main_ll_personal) { - EventBus.getDefault().post(new EBUISwitch("MainActivity", 2)); + EventBus.getDefault().post(new EBUISwitch(EB_MAINACTIVITY_TAG, 2)); setTabSelection(3); } - if (id == R.id.main_ll_personal) { - mTintManager.setStatusBarTintResource(R.color.theme); - } else if (Build.MANUFACTURER.equals("Meizu") || Build.MANUFACTURER.equals("Xiaomi")) { - mTintManager.setStatusBarTintColor(Color.WHITE); - } else { - mTintManager.setStatusBarTintColor(Color.BLACK); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + if (id == R.id.main_ll_personal) { + mTintManager.setStatusBarTintResource(R.color.theme); + } else if (Build.MANUFACTURER.equals("Meizu") || Build.MANUFACTURER.equals("Xiaomi")) { + mTintManager.setStatusBarTintColor(Color.WHITE); + } else { + mTintManager.setStatusBarTintColor(Color.BLACK); + } } } @@ -1341,11 +1350,11 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene // ivWenDa.setImageResource(R.drawable.ic_wenda_unselect); ivMessage.setImageResource(R.drawable.ic_message_unselect); ivPersonal.setImageResource(R.drawable.ic_user_unselect); - tvGame.setTextColor(Color.parseColor("#a7a8b2")); - tvNews.setTextColor(Color.parseColor("#a7a8b2")); + tvGame.setTextColor(getResources().getColor(R.color.btn_gray)); + tvNews.setTextColor(getResources().getColor(R.color.btn_gray)); // tvWenDa.setTextColor(Color.parseColor("#a7a8b2")); - tvMessage.setTextColor(Color.parseColor("#a7a8b2")); - tvPersonal.setTextColor(Color.parseColor("#a7a8b2")); + tvMessage.setTextColor(getResources().getColor(R.color.btn_gray)); + tvPersonal.setTextColor(getResources().getColor(R.color.btn_gray)); } // 将所有的Fragment都置为隐藏状态。 @@ -1375,15 +1384,16 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene } public void onEventMainThread(EBSkip skip) { - if ("GameFragment".equals(skip.getType())) { - EventBus.getDefault().post(new EBUISwitch("MainActivity", 0)); + if (EB_SKIP_GAMEFRAGMENT.equals(skip.getType())) { + EventBus.getDefault().post(new EBUISwitch(EB_MAINACTIVITY_TAG, 0)); setTabSelection(0); - EventBus.getDefault().post(new EBSkip("MainActivity", skip.getCurrentItem())); + EventBus.getDefault().post(new EBSkip(EB_MAINACTIVITY_TAG, skip.getCurrentItem())); } } public void onEventMainThread(EBReuse reuse) { if (MessageFragment.MESSAGE_READ_OVER.equals(reuse.getType())) { + Utils.log("======= over??"); mMessageHint.setVisibility(View.GONE); } } diff --git a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java index 486aa8fe74..3baec9bd49 100644 --- a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java @@ -1,37 +1,64 @@ package com.gh.gamecenter; import android.app.Dialog; -import android.content.*; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.graphics.Rect; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.text.*; -import android.view.*; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.view.KeyEvent; +import android.view.View; +import android.view.ViewTreeObserver; import android.view.inputmethod.InputMethodManager; -import android.widget.*; -import butterknife.*; +import android.widget.EditText; +import android.widget.LinearLayout; +import android.widget.RelativeLayout; +import android.widget.ScrollView; +import android.widget.TextView; + import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.AppController; import com.gh.base.BaseActivity; import com.gh.common.constant.Config; -import com.gh.common.util.*; +import com.gh.common.util.DialogUtils; +import com.gh.common.util.ImageUtils; +import com.gh.common.util.PostCommentUtils; +import com.gh.common.util.TimestampUtils; +import com.gh.common.util.TokenUtils; +import com.gh.common.util.Utils; import com.gh.gamecenter.adapter.MessageDetailAdapter; import com.gh.gamecenter.db.CommentDao; import com.gh.gamecenter.db.info.CommentInfo; -import com.gh.gamecenter.entity.*; +import com.gh.gamecenter.entity.CommentEntity; +import com.gh.gamecenter.entity.CommentnumEntity; +import com.gh.gamecenter.entity.ConcernEntity; +import com.gh.gamecenter.entity.ViewsEntity; import com.gh.gamecenter.manager.CommentManager; -import com.gh.gamecenter.retrofit.*; +import com.gh.gamecenter.retrofit.OkHttpCache; +import com.gh.gamecenter.retrofit.Response; +import com.gh.gamecenter.retrofit.RetrofitManager; import com.google.gson.Gson; -import org.json.*; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.List; + +import butterknife.BindView; +import butterknife.OnClick; +import butterknife.OnTouch; import retrofit2.adapter.rxjava.HttpException; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; -import java.util.List; - /** * Created by khy on 2016/11/8. * 消息详情界面 @@ -477,7 +504,7 @@ public class MessageDetailActivity extends BaseActivity implements MessageDetail mColseCommentV.setVisibility(View.VISIBLE); if (mCommentEntity != null && mCommentEntity.getUser() != null) { - mMessageDetailEt.setHint("回复 " + mCommentEntity.getUser().getName() + ":"); + mMessageDetailEt.setHint("回复" + mCommentEntity.getUser().getName() + ":"); } else { mMessageDetailEt.setHint("优质评论会被优先展示"); } diff --git a/app/src/main/java/com/gh/gamecenter/SettingActivity.java b/app/src/main/java/com/gh/gamecenter/SettingActivity.java index ccab0e6fd5..29b1c56372 100644 --- a/app/src/main/java/com/gh/gamecenter/SettingActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SettingActivity.java @@ -2,15 +2,20 @@ package com.gh.gamecenter; import android.app.Activity; import android.app.Dialog; -import android.content.*; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; -import android.widget.*; -import butterknife.BindView; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import android.widget.TextView; +import android.widget.Toast; + import com.gh.base.BaseActivity; import com.gh.common.constant.Config; import com.gh.common.util.DialogUtils; @@ -18,10 +23,12 @@ import com.gh.common.util.FileUtils; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBSkip; import com.kyleduo.switchbutton.SwitchButton; -import de.greenrobot.event.EventBus; import java.io.File; +import butterknife.BindView; +import de.greenrobot.event.EventBus; + /** * 游戏设置页面 * @@ -165,7 +172,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener { } catch (InterruptedException e) { e.printStackTrace(); } - EventBus.getDefault().post(new EBSkip("GameFragment", 0)); + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0)); } }.start(); break; diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index 1cc07a8bdf..d58a1793d3 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -14,6 +14,7 @@ import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; +import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.telephony.TelephonyManager; @@ -169,6 +170,7 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt return false; } }); + ((DefaultItemAnimator) mTypeRv.getItemAnimator()).setSupportsChangeAnimations(false); mTypeRv.setAdapter(new SuggestTypeAdapter(this, curType, arrType)); // 意见反馈上传图片列表 @@ -291,7 +293,7 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt if (TextUtils.isEmpty(email)) { showConfirmDialog(email); - } else if (isEmailAddress(email)) { + } else { postDialog = new Dialog(SuggestionActivity.this); View content = View.inflate(SuggestionActivity.this, R.layout.set_wait_dialog, null); TextView message = (TextView) content @@ -309,8 +311,6 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt } else { initPostData(email, null); } - } else { - toast("邮箱错误"); } break; case R.id.suggest_select_game: @@ -391,7 +391,10 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt return false; } quality -= 10; - } while (file.length() > 81920); + if (quality < 10) { + quality = 10; + } + } while (file.length() > 81920 && quality > 10); return true; } @@ -425,7 +428,9 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt @Override public void onError(Throwable e) { - Utils.log("=========错误" + e.toString()); + postDialog.dismiss(); + Utils.toast(SuggestionActivity.this, "上传失败"); + Utils.log("=========上传失败" + e.toString()); } @Override @@ -621,7 +626,7 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt case 5: mSuggestNewsLinkLl.setVisibility(View.GONE); mSuggestGameLl.setVisibility(View.VISIBLE); - mSuggestContentEt.setVisibility(View.GONE); + mSuggestContentEt.setVisibility(View.INVISIBLE); mSuggestContentEt.setHint("你想收录哪个游戏或游戏版本... \n ↓↓你还可以上传截图"); mSuggestNewsLinkEt.setHint("填写链接(例如游戏的下载地址或介绍页面)"); mSuggestNewsLinkLl.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/gh/gamecenter/VoteActivity.java b/app/src/main/java/com/gh/gamecenter/VoteActivity.java index 78e18ae572..1a33684921 100644 --- a/app/src/main/java/com/gh/gamecenter/VoteActivity.java +++ b/app/src/main/java/com/gh/gamecenter/VoteActivity.java @@ -8,23 +8,35 @@ import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; -import android.view.*; +import android.view.KeyEvent; +import android.view.View; +import android.view.Window; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputMethodManager; -import android.widget.*; -import butterknife.BindView; -import butterknife.OnClick; +import android.widget.EditText; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.BaseActivity; -import com.gh.common.util.*; +import com.gh.common.util.DialogUtils; +import com.gh.common.util.TokenUtils; +import com.gh.common.util.Utils; import com.gh.gamecenter.adapter.VoteAdapter; import com.gh.gamecenter.db.VersionVoteDao; import com.gh.gamecenter.db.info.VersionVoteInfo; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; -import okhttp3.*; + import org.json.JSONException; import org.json.JSONObject; + +import butterknife.BindView; +import butterknife.OnClick; +import okhttp3.MediaType; +import okhttp3.RequestBody; +import okhttp3.ResponseBody; import retrofit2.adapter.rxjava.HttpException; import rx.Observable; import rx.android.schedulers.AndroidSchedulers; @@ -194,7 +206,6 @@ public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnR e.printStackTrace(); } - Utils.log("=====object" + object.toString()); final RequestBody body = RequestBody.create(MediaType.parse("application/json"), object.toString()); @@ -224,7 +235,11 @@ public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnR if (cast) { Utils.toast(VoteActivity.this, "投票成功"); } else { - Utils.toast(VoteActivity.this, "你已经投过了"); + if (isNewVote) { + Utils.toast(VoteActivity.this, "已经存在相同的选项"); + } else { + Utils.toast(VoteActivity.this, "你已经投过了"); + } } if (!TextUtils.isEmpty(id)) { diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java index ac85b2da8e..a85c3dedab 100644 --- a/app/src/main/java/com/gh/gamecenter/WebActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java @@ -6,19 +6,27 @@ import android.os.Bundle; import android.text.TextUtils; import android.view.KeyEvent; import android.view.View; -import android.webkit.*; -import android.widget.*; -import butterknife.BindView; -import butterknife.OnClick; +import android.webkit.DownloadListener; +import android.webkit.WebChromeClient; +import android.webkit.WebSettings; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.widget.ProgressBar; +import android.widget.RelativeLayout; +import android.widget.TextView; + import com.gh.base.BaseActivity; import com.gh.common.util.DisplayUtils; import com.gh.gamecenter.entity.CommentnumEntity; import com.gh.gamecenter.retrofit.RetrofitManager; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; import java.util.List; +import butterknife.BindView; +import butterknife.OnClick; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + /** * Created by khy on 2016/10/18. */ @@ -54,7 +62,6 @@ public class WebActivity extends BaseActivity { webTitle = getIntent().getStringExtra("gameName"); newsId = getIntent().getStringExtra("newsId"); } -// webUrl = "http://tieba.baidu.com/f?kw=%E7%BD%91%E6%98%93%E9%98%B4%E9%98%B3%E5%B8%88&red_tag=3194925450"; entrance = getIntent().getStringExtra("entrance"); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java index 77041fb66a..9c1aea0822 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/CleanApkAdapter.java @@ -208,7 +208,6 @@ public class CleanApkAdapter extends BaseRecyclerAdapter holder.selectCB.setChecked(false); } - Utils.log(gameEntity.getGamePath() + "=========" + gameEntity.getGameName()); holder.gameNameAndSize.setText(gameEntity.getGameName()); holder.gameDes.setText("版本:V" + gameEntity.getGameVersion() + " | " + sizeName); holder.gameDes.setTextColor(mContext.getResources().getColor(R.color.content)); @@ -296,7 +295,7 @@ public class CleanApkAdapter extends BaseRecyclerAdapter double size = (((float) gameSize / 1024) / 1024); DecimalFormat df = new DecimalFormat("0.00"); String sizeName = df.format(size) + "MB"; - mApkDeleteBtn.setText("一键删除(" + i + "个,释放" + sizeName + ")"); + mApkDeleteBtn.setText(StringUtils.buildString("一键删除(" , String.valueOf(i) , "个,释放" + sizeName , ")")); } } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java index a8f9e899f1..3774af793f 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/CommentDetailAdapter.java @@ -151,8 +151,6 @@ public class CommentDetailAdapter extends BaseRecyclerAdapter { private void initCommentViewHolder(final CommentViewHolder holder, int position) { final CommentEntity commentEntity = mCommentList.get(position); - ImageUtils.display(holder.commentUserIconDv, commentEntity.getUser().getIcon()); - holder.commentLikeCountTv.setTextColor(mContext.getResources().getColor(R.color.hint)); holder.commentLikeIv.setImageResource(R.drawable.ic_like_unselect); 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 2e384bec19..c9fe1edb16 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java @@ -3,7 +3,13 @@ package com.gh.gamecenter.adapter; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; -import com.gh.common.util.*; + +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.gamecenter.adapter.viewholder.ConcernViewHolder; @@ -13,12 +19,18 @@ 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. */ @@ -169,7 +181,7 @@ public class ConcernAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", "我的关注", gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity, mEntrance + "+(我的关注-列表)"); + GameUtils.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 a8a7240887..bd05dca5ad 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java @@ -4,7 +4,12 @@ import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; -import com.gh.common.util.*; + +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.R; import com.gh.gamecenter.adapter.viewholder.ConcernViewHolder; import com.gh.gamecenter.db.info.ConcernInfo; @@ -13,12 +18,16 @@ 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.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. */ @@ -167,7 +176,7 @@ public class ConcernRecommendAdapter extends BaseRecyclerAdapter { // 统计阅读量 NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsDetailActivity(mContext, newsEntity, mEntrance + "+(游戏新闻列表:" + mNewsType + ")"); + NewsUtils.startNewsDetailActivity(mContext, newsEntity, StringUtils.buildString(mEntrance , "+(游戏新闻列表:" , mNewsType + ")")); } }); } else if (holder instanceof NewsFooterViewHolder) { @@ -233,7 +234,7 @@ public class GameNewsAdapter extends BaseRecyclerAdapter { intent.putExtra("gameName", "搜索结果"); intent.putExtra("searchKey", searchKey); intent.putExtra("gameId", mGameId); - intent.putExtra("entrance", mEntrance + "+(游戏新闻列表:" + mNewsType + ")"); + intent.putExtra("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 f8b1e1cc99..44fec9945c 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ImagePagerAdapter.java @@ -84,11 +84,11 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter { DataLogUtils.uploadLunbotuLog(mContext, slideEntity.getType(), slideEntity.getName(), String.valueOf(getPosition(position) + 1)); - String entrance = "(游戏-专题:滚动图[" - + slideEntity.getName() - + "=" + slideEntity.getType() - + "=" + (getPosition(position) + 1) - + "])"; + String entrance = StringUtils.buildString("(游戏-专题:滚动图[" + , slideEntity.getName() + , "=" , slideEntity.getType() + , "=" , String.valueOf(getPosition(position) + 1) + , "])"); if ("game".equals(slideEntity.getType())) { GameUtils.startGameDetailActivity(mContext, slideEntity.getLink(), entrance); } else if ("news".equals(slideEntity.getType())) { 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 b13cd56cb2..265ea324ee 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java @@ -19,6 +19,7 @@ import com.gh.common.util.DownloadItemUtils; import com.gh.common.util.GameUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.KaiFuUtils; +import com.gh.common.util.StringUtils; import com.gh.download.DownloadManager; import com.gh.gamecenter.KaiFuActivity; import com.gh.gamecenter.R; @@ -430,13 +431,15 @@ public class KaiFuAdapter extends BaseRecyclerAdapter { DataCollectionUtils.uploadClick(mContext, "列表", "开服表", gameEntity.getName()); - GameUtils.startGameDetailActivity(mContext, gameEntity, "主页-游戏" + "+(" + "开服表" + "[" + (holder.getPosition()) + "])"); + GameUtils.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString("主页-游戏" , "+(" + , "开服表" , "[" , String.valueOf(holder.getPosition()) , "])")); } }); DownloadItemUtils.setOnClickListener(mContext, holder.gameDownloadBtn, gameEntity, position, - KaiFuAdapter.this, "主页游戏" + "+(" + "开服表" + "[" + (holder.getPosition()) + "])", "开服表 :" + gameEntity.getName()); + KaiFuAdapter.this, StringUtils.buildString("主页游戏" , "+(" , "开服表" , "[" , String.valueOf(holder.getPosition()) , "])") + , "开服表 :" + gameEntity.getName()); DownloadItemUtils.updateItem(mContext, gameEntity, holder, true); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/LiBaoCodeAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/LiBaoCodeAdapter.java index 65316df28d..fe85b4becd 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/LiBaoCodeAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/LiBaoCodeAdapter.java @@ -4,6 +4,7 @@ import android.content.Context; import android.text.Html; import android.view.*; import com.gh.common.util.LibaoUtils; +import com.gh.common.util.StringUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.LiBaoCodeViewHolder; import com.gh.gamecenter.db.info.LibaoInfo; @@ -38,14 +39,14 @@ public class LiBaoCodeAdapter extends BaseRecyclerAdapter { if (mLibaoInfoList.size() > 1) { content.append(" " + (position + 1)+ "   "); } - content.append("已领取:" + "" +libaoInfo.getCode()+ ""); + content.append(StringUtils.buildString("已领取:" , "" , libaoInfo.getCode() , "")); holder.code.setText(Html.fromHtml(content.toString())); } else { StringBuffer content = new StringBuffer(); if (mLibaoInfoList.size() > 1) { content.append(" " + (position + 1) + "   "); } - content.append("已淘号:" + "" +libaoInfo.getCode()+ ""); + content.append(StringUtils.buildString("已淘号:" , "" , libaoInfo.getCode() , "")); holder.code.setText(Html.fromHtml(content.toString())); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java index 58f926ed23..21712eb784 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java @@ -6,28 +6,41 @@ import android.graphics.Color; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; -import android.text.*; -import android.view.*; +import android.text.Html; +import android.text.Spanned; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewGroup; import android.widget.TextView; -import com.gh.common.util.*; + +import com.gh.common.util.DisplayUtils; +import com.gh.common.util.ImageUtils; +import com.gh.common.util.LibaoUtils; +import com.gh.common.util.PlatformUtils; +import com.gh.common.util.StringUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.SuggestionActivity; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.LibaoDetailTopViewHolder; import com.gh.gamecenter.db.LibaoDao; import com.gh.gamecenter.db.info.LibaoInfo; -import com.gh.gamecenter.entity.*; +import com.gh.gamecenter.entity.LibaoDetailEntity; +import com.gh.gamecenter.entity.LibaoEntity; +import com.gh.gamecenter.entity.LibaoStatusEntity; import com.gh.gamecenter.gamedetail.GameDetailNewsViewHolder; import com.gh.gamecenter.listener.OnCallBackListener; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; -import retrofit2.adapter.rxjava.HttpException; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; import java.text.SimpleDateFormat; import java.util.List; +import retrofit2.adapter.rxjava.HttpException; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + /** * Created by khy on 2016/12/13. */ @@ -190,6 +203,14 @@ public class LibaoDetailAdapter extends BaseRecyclerAdapter { tvTime.setText("领取时间:" + start + " - " + end); holder.gamedetail_item_news_list.addView(tvTime); } + + int repeat = mLibaoEntity.getRepeat(); + if (repeat > 0) { + TextView tvRepeat = new TextView(mContext); + tvRepeat.setTextColor(Color.parseColor("#717171")); + tvRepeat.setText(StringUtils.buildString("领取次数:每人最多可以领取", String.valueOf(repeat), "次(每天0点刷新)")); + holder.gamedetail_item_news_list.addView(tvRepeat); + } } else if (mLibaoDetailEntity.getDes() != null && position == getItemCount() - 2) { holder.gamedetail_item_news_title.setText("使用说明"); TextView desTv = new TextView(mContext); @@ -210,7 +231,9 @@ public class LibaoDetailAdapter extends BaseRecyclerAdapter { .getPlatformName(mLibaoEntity.getPlatform())); } - holder.libaoCodeRv.setLayoutManager(new LinearLayoutManager(mContext)); + LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mContext); + linearLayoutManager.setStackFromEnd(true); + holder.libaoCodeRv.setLayoutManager(linearLayoutManager); int count = (int) (((float) mLibaoEntity.getAvailable() / (float) mLibaoEntity.getTotal()) * 100); Spanned content = null; 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 7681ef9cff..38e211d994 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java @@ -1,31 +1,67 @@ package com.gh.gamecenter.adapter; -import android.content.*; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.text.Html; -import android.view.*; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; import android.widget.LinearLayout; + import com.gh.common.constant.Config; -import com.gh.common.util.*; -import com.gh.gamecenter.*; -import com.gh.gamecenter.adapter.viewholder.*; +import com.gh.common.util.CommentUtils; +import com.gh.common.util.ConcernContentUtils; +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.NewsUtils; +import com.gh.common.util.PostCommentUtils; +import com.gh.common.util.StringUtils; +import com.gh.common.util.TimestampUtils; +import com.gh.common.util.Utils; +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.gamecenter.adapter.viewholder.CommentHeadViewHolder; +import com.gh.gamecenter.adapter.viewholder.CommentViewHolder; +import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; +import com.gh.gamecenter.adapter.viewholder.NewsDigestViewHolder; import com.gh.gamecenter.db.CommentDao; import com.gh.gamecenter.db.VoteDao; import com.gh.gamecenter.db.info.VoteInfo; import com.gh.gamecenter.entity.CommentEntity; import com.gh.gamecenter.entity.ConcernEntity; import com.gh.gamecenter.manager.VisitManager; -import com.gh.gamecenter.retrofit.*; -import org.json.*; +import com.gh.gamecenter.retrofit.JSONObjectResponse; +import com.gh.gamecenter.retrofit.OkHttpCache; +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.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Timer; +import java.util.TimerTask; + import retrofit2.adapter.rxjava.HttpException; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; -import java.util.*; - /** * Created by khy on 2016/11/8. * 消息详情-数据适配器 @@ -504,11 +540,11 @@ public class MessageDetailAdapter extends BaseRecyclerAdapter { //获取需要修改缓存的链接 String cacheUrl; if (finalIsHotComment) { - cacheUrl = Config.COMMENT_HOST + "article/" + mConcernEntity.getId() + - "/comment?order=hot&limit=" + 10 + "&offset=" + 0; // 热门评论固定链接 + cacheUrl = StringUtils.buildString(Config.COMMENT_HOST , "article/" , mConcernEntity.getId() , + "/comment?order=hot&limit=10" , "&offset=0"); // 热门评论固定链接 } else { - cacheUrl = Config.COMMENT_HOST + "article/" + mConcernEntity.getId() + - "/comment?limit=" + 10 + "&offset=" + index; + cacheUrl = StringUtils.buildString(Config.COMMENT_HOST , "article/" , mConcernEntity.getId() , + "/comment?limit=10&offset=" , String.valueOf(index)); } modifyVolleyCache(finalCommentEntity.getId(), cacheUrl); //修改缓存 diff --git a/app/src/main/java/com/gh/gamecenter/adapter/VPFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/VPFragmentAdapter.java new file mode 100644 index 0000000000..9e68fb84af --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/adapter/VPFragmentAdapter.java @@ -0,0 +1,33 @@ +package com.gh.gamecenter.adapter; + +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentStatePagerAdapter; + +import java.util.List; + +public class VPFragmentAdapter extends FragmentStatePagerAdapter { + private List mFragments; + private List mTitles; + + public VPFragmentAdapter(FragmentManager fm, List fragments, List titles) { + super(fm); + mFragments = fragments; + mTitles = titles; + } + + @Override + public Fragment getItem(int position) { + return mFragments.get(position); + } + + @Override + public int getCount() { + return mFragments.size(); + } + + @Override + public CharSequence getPageTitle(int position) { + return mTitles.get(position); + } +} diff --git a/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java index 5f31aa8a60..117c6ddecc 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/VoteAdapter.java @@ -4,7 +4,10 @@ import android.content.Context; import android.graphics.drawable.ColorDrawable; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; -import android.view.*; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + import com.gh.common.util.DisplayUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; @@ -14,13 +17,14 @@ import com.gh.gamecenter.entity.VersionVoteEntity; import com.gh.gamecenter.listener.OnCallBackListener; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; -import retrofit2.adapter.rxjava.HttpException; -import rx.android.schedulers.AndroidSchedulers; -import rx.schedulers.Schedulers; import java.util.ArrayList; import java.util.List; +import retrofit2.adapter.rxjava.HttpException; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + /** * Created by khy on 2017/4/11. * 求版本投票页面适配器 @@ -197,8 +201,6 @@ public class VoteAdapter extends BaseRecyclerAdapter { viewHolder.hint.setPadding(2 * dp, dp, 2 * dp, dp); viewHolder.hint.setBackgroundResource(R.drawable.border_suggest_bg); viewHolder.itemView.setClickable(false); - viewHolder.lineLeft.setVisibility(View.VISIBLE); - viewHolder.lineRight.setVisibility(View.VISIBLE); viewHolder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/main/java/com/gh/gamecenter/db/LibaoDao.java b/app/src/main/java/com/gh/gamecenter/db/LibaoDao.java index e8ada16175..7f14bb33aa 100644 --- a/app/src/main/java/com/gh/gamecenter/db/LibaoDao.java +++ b/app/src/main/java/com/gh/gamecenter/db/LibaoDao.java @@ -110,7 +110,7 @@ public class LibaoDao { */ public boolean isExistTao(String libaoId) { try { - List infos = dao.queryBuilder().where().eq("libaoId", libaoId).and().gt("status", "tao").query(); + List infos = dao.queryBuilder().where().eq("libaoId", libaoId).and().eq("status", "taoed").query(); if (infos.size() > 0) { return true; } else { @@ -122,6 +122,26 @@ public class LibaoDao { return false; } + public int repeatedLingedCount(String libaoId) { + try { + List query = dao.queryBuilder().where().eq("libaoId", libaoId).and().eq("status", "linged").query(); + return query.size(); + } catch (SQLException e) { + e.printStackTrace(); + } + return 100; + } + + public int repeatedTaoedCount(String libaoId) { + try { + List query = dao.queryBuilder().where().eq("libaoId", libaoId).and().eq("status", "taoed").query(); + return query.size(); + } catch (SQLException e) { + e.printStackTrace(); + } + return 100; + } + /** * 礼包重复领取 * 一个礼包最后领取时间不是当天 @@ -136,8 +156,12 @@ public class LibaoDao { long curTime = Utils.getTime(context) * 1000; int lingDay = Integer.parseInt(formatDay.format(lingTime)); int curDay = Integer.parseInt(formatDay.format(curTime)); - if (curTime > lingTime && curDay > lingDay) { - return true; + if (curTime > lingTime) { + if (curDay != 1 && curDay > lingDay) { + return true; + } else if (curDay == 1 && lingDay > curDay) { + return false; + } } else { return false; } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java index 184eef5709..34feb7aa8f 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java @@ -182,7 +182,7 @@ public class GameDownLoadFragment extends Fragment implements View.OnClickListen } catch (InterruptedException e) { e.printStackTrace(); } - EventBus.getDefault().post(new EBSkip("GameFragment", 0)); + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0)); } }.start(); } 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 e4450e31b7..820159b537 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragment.java @@ -6,16 +6,25 @@ 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.*; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; + import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; -import com.gh.gamecenter.eventbus.*; -import de.greenrobot.event.EventBus; +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 java.util.ArrayList; +import de.greenrobot.event.EventBus; + /** * 游戏更新管理fragment * @@ -64,7 +73,7 @@ public class GameUpdateFragment extends Fragment { } catch (InterruptedException e) { e.printStackTrace(); } - EventBus.getDefault().post(new EBSkip("GameFragment", 0)); + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0)); } }.start(); } diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragment.java b/app/src/main/java/com/gh/gamecenter/game/GameFragment.java index 7cb2259e30..cf62eed755 100644 --- a/app/src/main/java/com/gh/gamecenter/game/GameFragment.java +++ b/app/src/main/java/com/gh/gamecenter/game/GameFragment.java @@ -11,6 +11,7 @@ import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.HomeFragment; import com.gh.common.util.DownloadItemUtils; import com.gh.download.*; +import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.*; import com.gh.gamecenter.eventbus.*; @@ -246,7 +247,7 @@ public class GameFragment extends HomeFragment implements SwipeRefreshLayout.OnR //Fragment界面切换事件 public void onEventMainThread(EBUISwitch busNine) { - if ("MainActivity".equals(busNine.getFrom())) { + if (MainActivity.EB_MAINACTIVITY_TAG.equals(busNine.getFrom())) { if (busNine.getPosition() == 0) { adapter.startAutoScroll(); } else { 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 a837b235da..e1f8ecff88 100644 --- a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java @@ -1,8 +1,6 @@ package com.gh.gamecenter.game; -import android.content.Context; import android.content.Intent; -import android.content.SharedPreferences; import android.graphics.Color; import android.net.Uri; import android.support.v4.util.ArrayMap; @@ -23,7 +21,6 @@ import android.widget.TextView; import android.widget.Toast; import com.facebook.drawee.view.SimpleDraweeView; -import com.gh.common.constant.Config; import com.gh.common.constant.ItemViewType; import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; @@ -293,12 +290,6 @@ class GameFragmentAdapter extends BaseRecyclerAdapter { initPlugin(); } - @Override - public void onError(Throwable e) { - super.onError(e); - Utils.log("======" + e.toString()); - } - @Override public void onFailure(HttpException e) { if (listener != null) { @@ -679,11 +670,9 @@ class GameFragmentAdapter extends BaseRecyclerAdapter { //初始化专题入口 viewHolder.subjectLl.removeAllViews(); for (int i = 0; i < 6; i++) { - final SharedPreferences sp = mContext.getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE); View contentView = View.inflate(mContext, R.layout.home_subject_entrance_item, null); TextView subjectName = (TextView) contentView.findViewById(R.id.home_subject_name); SimpleDraweeView subjectIcon = (SimpleDraweeView) contentView.findViewById(R.id.home_subject_icon); - final ImageView subjectNewIcon = (ImageView) contentView.findViewById(R.id.home_subject_new); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f); contentView.setLayoutParams(lp); viewHolder.subjectLl.addView(contentView); 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 a5246353c5..732b2218fb 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java @@ -22,7 +22,6 @@ import com.gh.common.util.DisplayUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.NewsUtils; import com.gh.common.util.QQUtils; -import com.gh.common.util.Utils; import com.gh.common.view.GridDivider; import com.gh.common.view.MarqueeView; import com.gh.gamecenter.R; @@ -154,14 +153,27 @@ public class FuLiAdapter extends BaseRecyclerAdapter { libaoEntity.setTotal(libaoStatusEntity.getTotal()); String beforeStatus = libaoStatusEntity.getBeforeStatus(); - if (libaoEntity.getRepeat() > 0 + int repeat = libaoEntity.getRepeat(); + if (repeat > 0 && libaoDao.isCanLing(libaoEntity.getId(), mContext) && ("ling".equals(beforeStatus) || "tao".equals(beforeStatus))) { // 判断是否可以重复领取 - libaoEntity.setStatus(libaoStatusEntity.getBeforeStatus()); + if ("ling".equals(libaoStatusEntity.getBeforeStatus())) { + if (libaoDao.repeatedLingedCount(libaoStatusEntity.getId()) >= repeat) { + libaoEntity.setStatus(libaoStatusEntity.getStatus()); + } else { + libaoEntity.setStatus(beforeStatus); + } + } else { + if (libaoDao.repeatedTaoedCount(libaoStatusEntity.getId()) >= repeat) { + libaoEntity.setStatus(libaoStatusEntity.getStatus()); + } else { + libaoEntity.setStatus(beforeStatus); + } + } } else { libaoEntity.setStatus(libaoStatusEntity.getStatus()); } - libaoEntity.setBeforeStatus(libaoStatusEntity.getBeforeStatus()); + libaoEntity.setBeforeStatus(beforeStatus); } } } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java index 614ae4da23..4ded46de03 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java @@ -16,6 +16,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import com.gh.common.util.DisplayUtils; +import com.gh.common.util.StringUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.SuggestionActivity; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; @@ -186,7 +187,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter { public void onClick(View v) { Intent intent = new Intent(mContext, SuggestionActivity.class); intent.putExtra("suggestType", 1); - intent.putExtra("content", gameName + "," + suggestTime + "开服信息有误:"); + intent.putExtra("content", StringUtils.buildString(gameName , "," , suggestTime , "开服信息有误:")); intent.putExtra("suggestHintType", "service"); mContext.startActivity(intent); } @@ -369,11 +370,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter { viewHolder.calendarDay.setText(""); viewHolder.calendarKaifu.setVisibility(View.INVISIBLE); viewHolder.itemView.setBackgroundDrawable(new ColorDrawable(0)); - if (!isNextMonth) { - viewHolder.itemView.setBackgroundColor(Color.parseColor("#30000000")); - } else { - viewHolder.itemView.setBackgroundDrawable(new ColorDrawable(0)); - } + viewHolder.itemView.setBackgroundDrawable(new ColorDrawable(0)); } } } diff --git a/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java b/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java index b311709557..6af1b71d2e 100644 --- a/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java +++ b/app/src/main/java/com/gh/gamecenter/kuaichuan/FileReceiver.java @@ -6,6 +6,7 @@ import android.graphics.BitmapFactory; import android.os.Environment; import android.text.TextUtils; import com.gh.common.util.FileUtils; +import com.gh.common.util.StringUtils; import com.gh.common.util.Utils; import com.gh.gamecenter.FileReceiverActivity; @@ -219,10 +220,8 @@ public class FileReceiver extends BaseTransfer implements Runnable { // total = total + len; // if(mOnReceiveListener != null) mOnReceiveListener.onProgress(total, fileSize); } - //记录文件结束写入时间 - long endTime = System.currentTimeMillis(); - Utils.log("接收完成对比 游戏总大小:" + fileSize + "游戏接收大小:" + total); + Utils.log(StringUtils.buildString("接收完成对比 游戏总大小:" , String.valueOf(fileSize) , "游戏接收大小:" , String.valueOf(total))); if (!TextUtils.isEmpty(canDownload)) { // 内存不足回调 if (mOnReceiveListener != null) mOnReceiveListener.onNoMemory(); 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 c80532bdc1..70636af8e3 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao1Fragment.java @@ -9,15 +9,18 @@ import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; -import butterknife.BindView; -import butterknife.OnClick; + import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.BaseFragment; import com.gh.common.view.SwipeLayout; import com.gh.common.view.VerticalItemDecoration; +import com.gh.gamecenter.LibaoActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBUISwitch; + +import butterknife.BindView; +import butterknife.OnClick; import de.greenrobot.event.EventBus; /** @@ -271,7 +274,7 @@ public class Libao1Fragment extends BaseFragment implements SwipeRefreshLayout.O // 资讯Fragment界面切换事件 public void onEventMainThread(EBUISwitch busNine) { - if ("LibaoActivity".equals(busNine.getFrom())) { + if (LibaoActivity.EB_LIBAOACTIVITY_TAG.equals(busNine.getFrom())) { if (busNine.getPosition() == 0) { if (mLoadingLayout.getVisibility() == View.VISIBLE) { 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 0f82a76c2e..47fd58d48c 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao1FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao1FragmentAdapter.java @@ -8,13 +8,19 @@ import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; + import com.gh.base.AppController; import com.gh.common.constant.ItemViewType; -import com.gh.common.util.*; +import com.gh.common.util.ImageUtils; +import com.gh.common.util.LibaoUtils; +import com.gh.common.util.PlatformUtils; +import com.gh.common.util.Utils; import com.gh.gamecenter.LibaoDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; -import com.gh.gamecenter.adapter.viewholder.*; +import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; +import com.gh.gamecenter.adapter.viewholder.LibaoNormalViewHolder; +import com.gh.gamecenter.adapter.viewholder.LibaoSearchViewHolder; import com.gh.gamecenter.db.LibaoDao; import com.gh.gamecenter.db.info.LibaoInfo; import com.gh.gamecenter.entity.LibaoEntity; @@ -22,15 +28,16 @@ import com.gh.gamecenter.entity.LibaoStatusEntity; 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 retrofit2.adapter.rxjava.HttpException; import rx.Observable; import rx.android.schedulers.AndroidSchedulers; import rx.functions.Func1; import rx.schedulers.Schedulers; -import java.util.ArrayList; -import java.util.List; - /** * Created by khy on 2016/12/12. */ @@ -56,6 +63,9 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { private boolean isOver; private boolean isNetworkError; + private final static int ITEM_SEARCH = 1; + private final static int ITEM_FOOTER = 1; + Libao1FragmentAdapter(Libao1Fragment libao1Fragment, boolean isSearch, String key) { super(libao1Fragment.getContext()); this.libao1Fragment = libao1Fragment; @@ -186,14 +196,27 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { libaoEntity.setTotal(libaoStatusEntity.getTotal()); String beforeStatus = libaoStatusEntity.getBeforeStatus(); - if (libaoEntity.getRepeat() > 0 + int repeat = libaoEntity.getRepeat(); + if (repeat > 0 && mLibaoDao.isCanLing(libaoEntity.getId(), mContext) && ("ling".equals(beforeStatus) || "tao".equals(beforeStatus))) { // 判断是否可以重复领取 - libaoEntity.setStatus(libaoStatusEntity.getBeforeStatus()); + if ("ling".equals(libaoStatusEntity.getBeforeStatus())) { + if (mLibaoDao.repeatedLingedCount(libaoStatusEntity.getId()) >= repeat) { + libaoEntity.setStatus(libaoStatusEntity.getStatus()); + } else { + libaoEntity.setStatus(beforeStatus); + } + } else { + if (mLibaoDao.repeatedTaoedCount(libaoStatusEntity.getId()) >= repeat) { + libaoEntity.setStatus(libaoStatusEntity.getStatus()); + } else { + libaoEntity.setStatus(beforeStatus); + } + } } else { libaoEntity.setStatus(libaoStatusEntity.getStatus()); } - libaoEntity.setBeforeStatus(libaoStatusEntity.getBeforeStatus()); + libaoEntity.setBeforeStatus(beforeStatus); } } } @@ -249,9 +272,9 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { @Override public int getItemCount() { if (mLibaoList.size() == 0) { - return 1; + return ITEM_SEARCH; } - return mLibaoList.size() + 2; + return mLibaoList.size() + ITEM_FOOTER + ITEM_SEARCH; } private void initFooterViewHolder(FooterViewHolder holder) { @@ -324,7 +347,7 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { }); } - private void initLibaoViewHolder(final LibaoNormalViewHolder holder, int position) { + private void initLibaoViewHolder(final LibaoNormalViewHolder holder, final int position) { final LibaoEntity libaoEntity = mLibaoList.get(position - 1); holder.libaoName.setText(libaoEntity.getName()); if (TextUtils.isEmpty(libaoEntity.getPlatform())) { @@ -354,7 +377,7 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { holder.libaoBtnStatus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - skipPosition = holder.getPosition(); + skipPosition = position; AppController.put("libaoEntity", libaoEntity); Intent intent = new Intent(mContext, LibaoDetailActivity.class); intent.putExtra("entrance", entrance + "+(礼包中心-最新)"); @@ -367,7 +390,7 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - skipPosition = holder.getPosition(); + skipPosition = position; AppController.put("libaoEntity", libaoEntity); Intent intent = new Intent(mContext, LibaoDetailActivity.class); intent.putExtra("entrance", entrance + "+(礼包中心-最新)"); @@ -376,11 +399,6 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { }); } - public void setSearchKey(String key) { - this.mSerchKey = key; - notifyItemChanged(0); - } - public boolean isNetworkError() { return isNetworkError; } 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 31bfa34f66..d0103eab06 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao2Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao2Fragment.java @@ -8,13 +8,18 @@ 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.*; +import com.gh.gamecenter.eventbus.EBConcernChanged; +import com.gh.gamecenter.eventbus.EBReuse; +import com.gh.gamecenter.eventbus.EBUISwitch; + +import butterknife.BindView; +import butterknife.OnClick; /** * Created by khy on 2016/12/12. @@ -128,7 +133,7 @@ public class Libao2Fragment extends BaseFragment implements SwipeRefreshLayout.O // 资讯Fragment界面切换事件 public void onEventMainThread(EBUISwitch busNine) { - if ("LibaoActivity".equals(busNine.getFrom())) { + if (LibaoActivity.EB_LIBAOACTIVITY_TAG.equals(busNine.getFrom())) { if (busNine.getPosition() == 1) { if (mLoadingLayout.getVisibility() == View.VISIBLE) { adapter.addList(0); 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 8cdd30ae92..ada9ec5516 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao2FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao2FragmentAdapter.java @@ -4,12 +4,22 @@ import android.content.Intent; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.text.TextUtils; -import android.view.*; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; import android.widget.LinearLayout; + import com.gh.base.AppController; import com.gh.common.constant.ItemViewType; -import com.gh.common.util.*; -import com.gh.gamecenter.*; +import com.gh.common.util.ConcernUtils; +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.PlatformUtils; +import com.gh.gamecenter.ConcernActivity; +import com.gh.gamecenter.LibaoDetailActivity; +import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.LibaoNormalViewHolder; @@ -21,8 +31,17 @@ import com.gh.gamecenter.entity.LibaoStatusEntity; import com.gh.gamecenter.listener.OnCallBackListener; import com.gh.gamecenter.manager.ConcernManager; import com.gh.gamecenter.newsdetail.NewsDetailCommentViewHolder; -import com.gh.gamecenter.retrofit.*; +import com.gh.gamecenter.retrofit.ObservableUtil; +import com.gh.gamecenter.retrofit.Response; +import com.gh.gamecenter.retrofit.RetrofitManager; + import org.json.JSONArray; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + import retrofit2.adapter.rxjava.HttpException; import rx.Observable; import rx.Subscriber; @@ -31,8 +50,6 @@ import rx.functions.Action1; import rx.functions.Func1; import rx.schedulers.Schedulers; -import java.util.*; - /** * Created by khy on 2016/12/12. */ @@ -273,14 +290,27 @@ class Libao2FragmentAdapter extends BaseRecyclerAdapter { libaoEntity.setTotal(libaoStatusEntity.getTotal()); String beforeStatus = libaoStatusEntity.getBeforeStatus(); - if (libaoEntity.getRepeat() > 0 + int repeat = libaoEntity.getRepeat(); + if (repeat > 0 && mLibaoDao.isCanLing(libaoEntity.getId(), mContext) && ("ling".equals(beforeStatus) || "tao".equals(beforeStatus))) { // 判断是否可以重复领取 - libaoEntity.setStatus(libaoStatusEntity.getBeforeStatus()); + if ("ling".equals(libaoStatusEntity.getBeforeStatus())) { + if (mLibaoDao.repeatedLingedCount(libaoStatusEntity.getId()) >= repeat) { + libaoEntity.setStatus(libaoStatusEntity.getStatus()); + } else { + libaoEntity.setStatus(beforeStatus); + } + } else { + if (mLibaoDao.repeatedTaoedCount(libaoStatusEntity.getId()) >= repeat) { + libaoEntity.setStatus(libaoStatusEntity.getStatus()); + } else { + libaoEntity.setStatus(beforeStatus); + } + } } else { libaoEntity.setStatus(libaoStatusEntity.getStatus()); } - libaoEntity.setBeforeStatus(libaoStatusEntity.getBeforeStatus()); + libaoEntity.setBeforeStatus(beforeStatus); } } } 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 f818e15d94..244bc0112f 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java @@ -1,11 +1,18 @@ package com.gh.gamecenter.libao; import android.content.Intent; -import android.text.*; +import android.text.Html; +import android.text.Spanned; +import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; + import com.gh.base.AppController; -import com.gh.common.util.*; +import com.gh.common.util.DialogUtils; +import com.gh.common.util.ImageUtils; +import com.gh.common.util.LibaoUtils; +import com.gh.common.util.PlatformUtils; +import com.gh.common.util.Utils; import com.gh.gamecenter.LibaoDetailActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; @@ -14,11 +21,12 @@ import com.gh.gamecenter.db.LibaoDao; import com.gh.gamecenter.db.info.LibaoInfo; import com.gh.gamecenter.entity.LibaoEntity; import com.gh.gamecenter.listener.OnCallBackListener; -import retrofit2.adapter.rxjava.HttpException; import java.util.ArrayList; import java.util.List; +import retrofit2.adapter.rxjava.HttpException; + /** * Created by khy on 2016/12/12. */ diff --git a/app/src/main/java/com/gh/gamecenter/manager/CommentManager.java b/app/src/main/java/com/gh/gamecenter/manager/CommentManager.java index bb852f7077..195c19c764 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/CommentManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/CommentManager.java @@ -1,16 +1,21 @@ package com.gh.gamecenter.manager; import com.gh.common.constant.Config; +import com.gh.common.util.StringUtils; import com.gh.common.util.TimestampUtils; import com.gh.gamecenter.retrofit.ObservableUtil; import com.gh.gamecenter.retrofit.OkHttpCache; -import org.json.*; -import rx.Observable; -import rx.Subscriber; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; import java.util.ArrayList; import java.util.List; +import rx.Observable; +import rx.Subscriber; + /** * Created by khy on 2016/11/17. */ @@ -69,7 +74,7 @@ public class CommentManager { ObservableUtil.io(new Observable.OnSubscribe() { @Override public void call(Subscriber subscriber) { - String key = TimestampUtils.addTimestamp(Config.COMMENT_HOST + "article/" + comment_id + "/comment/num"); + String key = TimestampUtils.addTimestamp(StringUtils.buildString(Config.COMMENT_HOST , "article/" , comment_id , "/comment/num")); byte[] data = OkHttpCache.getCache(key); if (data != null) { try { @@ -92,7 +97,7 @@ public class CommentManager { } public void addUrl(String ids) { - String url = Config.COMMENT_HOST + "article/" + ids + "/comment/num"; + String url = StringUtils.buildString(Config.COMMENT_HOST , "article/" , ids , "/comment/num"); if (!urlList.contains(url)) { urlList.add(url); } diff --git a/app/src/main/java/com/gh/gamecenter/manager/VisitManager.java b/app/src/main/java/com/gh/gamecenter/manager/VisitManager.java index a674d696a2..7e77224555 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/VisitManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/VisitManager.java @@ -1,16 +1,21 @@ package com.gh.gamecenter.manager; import com.gh.common.constant.Config; +import com.gh.common.util.StringUtils; import com.gh.common.util.TimestampUtils; import com.gh.gamecenter.retrofit.ObservableUtil; import com.gh.gamecenter.retrofit.OkHttpCache; -import org.json.*; -import rx.Observable; -import rx.Subscriber; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; import java.util.ArrayList; import java.util.List; +import rx.Observable; +import rx.Subscriber; + /** * Created by LGT on 2016/11/16. */ @@ -66,7 +71,7 @@ public class VisitManager { } public void addUrl(String ids) { - String url = Config.DATA_HOST + "v1d46/news/" + ids + "/visit"; + String url = StringUtils.buildString(Config.DATA_HOST , "v1d46/news/" , ids , "/visit"); if (!urlList.contains(url)) { urlList.add(url); } diff --git a/app/src/main/java/com/gh/gamecenter/message/CommentFragment.java b/app/src/main/java/com/gh/gamecenter/message/CommentFragment.java index c74898f977..87b1c512f5 100644 --- a/app/src/main/java/com/gh/gamecenter/message/CommentFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/CommentFragment.java @@ -9,13 +9,15 @@ import android.view.MotionEvent; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; -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.R; import com.gh.gamecenter.eventbus.EBUISwitch; + +import butterknife.BindView; +import butterknife.OnClick; import de.greenrobot.event.EventBus; /** @@ -81,7 +83,7 @@ public class CommentFragment extends BaseFragment implements SwipeRefreshLayout. mRecyclerview.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { - if (event.getAction() == MotionEvent.ACTION_DOWN) { + if (event.getAction() == MotionEvent.ACTION_UP) { EventBus.getDefault().post(new EBUISwitch("commentMarkRead", 0)); } return false; @@ -126,7 +128,7 @@ public class CommentFragment extends BaseFragment implements SwipeRefreshLayout. // Fragment界面切换事件 public void onEventMainThread(EBUISwitch swith) { - if ("MessageFragment".equals(swith.getFrom()) && swith.getPosition() == 0) { + if (MessageFragment.EB_MESSAGEFRAGMENT_TAG.equals(swith.getFrom()) && swith.getPosition() == 0) { if (mLoadingPb.getVisibility() == View.VISIBLE) { mAdapter.loadData(0, true); } diff --git a/app/src/main/java/com/gh/gamecenter/message/CommentFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/message/CommentFragmentAdapter.java index 9c5fac71bb..bf2b1febb4 100644 --- a/app/src/main/java/com/gh/gamecenter/message/CommentFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/message/CommentFragmentAdapter.java @@ -5,24 +5,32 @@ import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.view.View; import android.view.ViewGroup; -import com.gh.common.util.*; -import com.gh.gamecenter.*; + +import com.gh.common.util.CommentUtils; +import com.gh.common.util.ImageUtils; +import com.gh.common.util.TokenUtils; +import com.gh.gamecenter.CommentDetailActivity; +import com.gh.gamecenter.MessageDetailActivity; +import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.entity.MessageCommentEntity; import com.gh.gamecenter.entity.UserEntity; +import com.gh.gamecenter.eventbus.EBUISwitch; 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.adapter.rxjava.HttpException; import rx.Observable; import rx.android.schedulers.AndroidSchedulers; import rx.functions.Func1; import rx.schedulers.Schedulers; -import java.util.ArrayList; -import java.util.List; - /** * Created by khy on 2017/4/10. * 消息-评论适配器 @@ -67,7 +75,6 @@ public class CommentFragmentAdapter extends BaseRecyclerAdapter { @Override public void onResponse(List response) { super.onResponse(response); - Utils.log("======onResponse" + response.size()); if (response.size() > 0) { for (MessageCommentEntity commentEntity : response) { if (!commentEntity.isReceive()) { @@ -189,9 +196,7 @@ public class CommentFragmentAdapter extends BaseRecyclerAdapter { private void initCommentViewHolder(CommentNormalViewHolder viewHolder, final MessageCommentEntity commentEntity) { UserEntity userEntity = commentEntity.getUserEntity(); - Utils.log(userEntity.getIcon() + "=======" + userEntity.getName()); if (userEntity != null) { - viewHolder.userName.setText(userEntity.getName()); ImageUtils.display(viewHolder.userIcon, userEntity.getIcon()); } @@ -207,6 +212,7 @@ public class CommentFragmentAdapter extends BaseRecyclerAdapter { Intent intent = new Intent(mContext, CommentDetailActivity.class); intent.putExtra("commentId", commentEntity.getId()); mContext.startActivity(intent); + EventBus.getDefault().post(new EBUISwitch("commentMarkRead", 0)); } }); @@ -224,6 +230,7 @@ public class CommentFragmentAdapter extends BaseRecyclerAdapter { Intent intent = new Intent(mContext, MessageDetailActivity.class); intent.putExtra("newsId", commentEntity.getArticleId()); mContext.startActivity(intent); + EventBus.getDefault().post(new EBUISwitch("commentMarkRead", 0)); } }); } diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java b/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java index c7f8c6a421..d6fe2dd0a3 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuFragment.java @@ -8,14 +8,16 @@ import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; -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.R; import com.gh.gamecenter.eventbus.EBUISwitch; +import butterknife.BindView; +import butterknife.OnClick; + /** * Created by khy on 2017/4/5. * 消息-客服 @@ -101,6 +103,7 @@ public class KeFuFragment extends BaseFragment implements SwipeRefreshLayout.OnR mNoConnection.setVisibility(View.VISIBLE); mRecyclerview.setVisibility(View.GONE); mNoneData.setVisibility(View.GONE); + mLoadingPb.setVisibility(View.GONE); } @Override @@ -108,12 +111,13 @@ public class KeFuFragment extends BaseFragment implements SwipeRefreshLayout.OnR super.loadEmpty(); mRefresh.setRefreshing(false); mNoneData.setVisibility(View.VISIBLE); + mNoConnection.setVisibility(View.GONE); mLoadingPb.setVisibility(View.GONE); } // Fragment界面切换事件 public void onEventMainThread(EBUISwitch swith) { - if ("MessageFragment".equals(swith.getFrom()) && swith.getPosition() == 1) { + if (MessageFragment.EB_MESSAGEFRAGMENT_TAG.equals(swith.getFrom()) && swith.getPosition() == 1) { if (mLoadingPb.getVisibility() == View.VISIBLE) { mAdapter.loadData(0, true); } 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 e1461dadeb..7c82e47f58 100644 --- a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java @@ -294,7 +294,7 @@ public class KeFuFragmentAdapter extends BaseRecyclerAdapter { viewHolder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (keFuEntity.getLink() != null && TextUtils.isEmpty(keFuEntity.getLink().getDocument())) { + if (keFuEntity.getLink() != null) { onReadControl(keFuEntity, position); } } diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java b/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java index 693807d8f4..d8e6eeea92 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java @@ -70,6 +70,7 @@ public class MessageFragment extends BaseFragment implements ViewPager.OnPageCha private int mKeFuUnreadCount; public static final String MESSAGE_READ_OVER = "messageReadOver"; + public static final String EB_MESSAGEFRAGMENT_TAG = "MessageFragment"; @Override public void onCreate(@Nullable Bundle savedInstanceState) { @@ -108,7 +109,7 @@ public class MessageFragment extends BaseFragment implements ViewPager.OnPageCha view.postDelayed(new Runnable() { @Override public void run() { - EventBus.getDefault().post(new EBUISwitch("MessageFragment", mMeaasgeViewPager.getCurrentItem())); + EventBus.getDefault().post(new EBUISwitch(EB_MESSAGEFRAGMENT_TAG, mMeaasgeViewPager.getCurrentItem())); } }, 100); } @@ -252,18 +253,18 @@ public class MessageFragment extends BaseFragment implements ViewPager.OnPageCha @Override public void onPageSelected(int position) { if (position == 0) { - EventBus.getDefault().post(new EBUISwitch("MessageFragment", 0)); + EventBus.getDefault().post(new EBUISwitch(EB_MESSAGEFRAGMENT_TAG, 0)); mMessageCommentTv.setTextColor(getResources().getColor(R.color.theme)); mMessageKefuTv.setTextColor(getResources().getColor(R.color.title)); // mMessageNoticeTv.setTextColor(getResources().getColor(R.color.title)); } else if (position == 1) { - EventBus.getDefault().post(new EBUISwitch("MessageFragment", 1)); + EventBus.getDefault().post(new EBUISwitch(EB_MESSAGEFRAGMENT_TAG, 1)); mMessageCommentTv.setTextColor(getResources().getColor(R.color.title)); mMessageKefuTv.setTextColor(getResources().getColor(R.color.theme)); // mMessageNoticeTv.setTextColor(getResources().getColor(R.color.title)); } // else if (position == 2) { -// EventBus.getDefault().post(new EBUISwitch("MessageFragment", 2)); +// EventBus.getDefault().post(new EBUISwitch(EB_MESSAGEFRAGMENT_TAG, 2)); // mMessageCommentTv.setTextColor(getResources().getColor(R.color.title)); // mMessageKefuTv.setTextColor(getResources().getColor(R.color.title)); // mMessageNoticeTv.setTextColor(getResources().getColor(R.color.theme)); diff --git a/app/src/main/java/com/gh/gamecenter/message/NoticeFragment.java b/app/src/main/java/com/gh/gamecenter/message/NoticeFragment.java index cc69e11630..b006125a3d 100644 --- a/app/src/main/java/com/gh/gamecenter/message/NoticeFragment.java +++ b/app/src/main/java/com/gh/gamecenter/message/NoticeFragment.java @@ -8,14 +8,16 @@ import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; -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.R; import com.gh.gamecenter.eventbus.EBUISwitch; +import butterknife.BindView; +import butterknife.OnClick; + /** * Created by khy on 2017/4/5. * 消息-公告 @@ -113,7 +115,7 @@ public class NoticeFragment extends BaseFragment implements SwipeRefreshLayout.O // Fragment界面切换事件 public void onEventMainThread(EBUISwitch swith) { - if ("MessageFragment".equals(swith.getFrom()) && swith.getPosition() == 2) { + if (MessageFragment.EB_MESSAGEFRAGMENT_TAG.equals(swith.getFrom()) && swith.getPosition() == 2) { if (mLoadingPb.getVisibility() == View.VISIBLE) { mAdapter.loadData(0, true); } diff --git a/app/src/main/java/com/gh/gamecenter/news/News1Fragment.java b/app/src/main/java/com/gh/gamecenter/news/News1Fragment.java index 64cd5043a0..17e36456ba 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News1Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/news/News1Fragment.java @@ -7,8 +7,7 @@ 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; @@ -16,6 +15,9 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.eventbus.EBNetworkState; import com.gh.gamecenter.eventbus.EBUISwitch; +import butterknife.BindView; +import butterknife.OnClick; + /** * Created by LGT on 2016/6/29. * 资讯-资讯界面 @@ -109,7 +111,7 @@ public class News1Fragment extends BaseFragment implements SwipeRefreshLayout.On // 资讯Fragment界面切换事件 public void onEventMainThread(EBUISwitch busNine) { - if ("NewsFragment".equals(busNine.getFrom())) { + if (NewsFragment.EB_NEWSFRAGMENT_TAG.equals(busNine.getFrom())) { if (busNine.getPosition() == 0) { if (loadingLayout.getVisibility() == View.VISIBLE) { adapter.addList(0); 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 155ab57f62..03700234bb 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java @@ -3,21 +3,42 @@ package com.gh.gamecenter.news; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.util.DisplayMetrics; -import android.view.*; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.Toast; + import com.gh.common.constant.ItemViewType; -import com.gh.common.util.*; +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.NewsUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.BaseRecyclerAdapter; -import com.gh.gamecenter.adapter.viewholder.*; +import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; +import com.gh.gamecenter.adapter.viewholder.NewsImage1ViewHolder; +import com.gh.gamecenter.adapter.viewholder.NewsImage2ViewHolder; +import com.gh.gamecenter.adapter.viewholder.NewsImage3ViewHolder; import com.gh.gamecenter.entity.NewsEntity; import com.gh.gamecenter.entity.ViewsEntity; import com.gh.gamecenter.listener.OnCallBackListener; import com.gh.gamecenter.manager.VisitManager; -import com.gh.gamecenter.retrofit.*; +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.JSONException; import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + import retrofit2.adapter.rxjava.HttpException; import rx.Observable; import rx.Subscriber; @@ -26,8 +47,6 @@ import rx.functions.Action1; import rx.functions.Func1; import rx.schedulers.Schedulers; -import java.util.*; - /** * Created by khy on 2016/6/30. * 资讯-资讯-数据适配器 @@ -41,8 +60,6 @@ public class News1FragmentAdapter extends BaseRecyclerAdapter { private int itemCount; - private int cardMargin; - private boolean isLoading; private boolean isOver; private boolean isNetworkError; @@ -60,7 +77,6 @@ public class News1FragmentAdapter extends BaseRecyclerAdapter { isOver = false; isNetworkError = false; - cardMargin = (int) mContext.getResources().getDimension(R.dimen.cardview_margin); } // 加载数据 diff --git a/app/src/main/java/com/gh/gamecenter/news/News2Fragment.java b/app/src/main/java/com/gh/gamecenter/news/News2Fragment.java index 2399ffa805..4a6937fc4b 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News2Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/news/News2Fragment.java @@ -4,6 +4,7 @@ import android.app.Dialog; import android.content.Intent; import android.os.Bundle; 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; @@ -13,13 +14,14 @@ import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; +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.gamecenter.db.info.ConcernInfo; -import com.gh.gamecenter.eventbus.EBConcernChanged; +import com.gh.gamecenter.eventbus.EBUISwitch; import com.gh.gamecenter.manager.ConcernManager; import com.jakewharton.rxbinding.view.RxView; @@ -27,13 +29,15 @@ 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. * 资讯-攻略界面 */ -public class News2Fragment extends BaseFragment implements News2FragmentDialogAdapter.OnStrategyDialogCallBackListener { +public class News2Fragment extends BaseFragment implements News2FragmentDialogAdapter.OnStrategyDialogCallBackListener + , SwipeRefreshLayout.OnRefreshListener { @BindView(R.id.strategy_game_name) TextView mGameName; @@ -45,17 +49,35 @@ public class News2Fragment extends BaseFragment implements News2FragmentDialogAd View popupBg; @BindView(R.id.reuse_none_data) LinearLayout mNoData; - Dialog dialog; - List concernGame; + @BindView(R.id.reuse_no_connection) + LinearLayout mNoConnection; + @BindView(R.id.strategy_refresh) + SwipeRefreshLayout mSwipeRefreshLayout; + @BindView(R.id.strategy_loading) + ProgressBarCircularIndeterminate mLoading; + + private Dialog dialog; + private List concernGame; private News2FragmentAdapter mStrategyAdapter; + Runnable runnable = new Runnable() { + @Override + public void run() { + mStrategyAdapter = new News2FragmentAdapter(getContext(), News2Fragment.this); + mStrategyRv.setAdapter(mStrategyAdapter); + mStrategyAdapter.addList(0); + } + }; + @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(R.layout.fragment_news2); + mSwipeRefreshLayout.setColorSchemeResources(R.color.theme); + mSwipeRefreshLayout.setOnRefreshListener(this); - mStrategyAdapter = new News2FragmentAdapter(this, mNoData); + mStrategyAdapter = new News2FragmentAdapter(getContext(), this); final LinearLayoutManager layoutManager = new LinearLayoutManager(getContext()); mStrategyRv.setLayoutManager(layoutManager); mStrategyRv.setAdapter(mStrategyAdapter); @@ -99,9 +121,9 @@ public class News2Fragment extends BaseFragment implements News2FragmentDialogAd RecyclerView selectGameRv = (RecyclerView) contentView.findViewById(R.id.dialog_strategy_select_game_rv); RelativeLayout allGameRl = (RelativeLayout) contentView.findViewById(R.id.dialog_strategy_select_game_rl); - if (concernGame.size() > 7) { + if (concernGame.size() >= 8) { ViewGroup.LayoutParams params = selectGameRv.getLayoutParams(); - params.height = DisplayUtils.dip2px(getContext(), 43 * 6); + params.height = DisplayUtils.dip2px(getContext(), 43 * 8); selectGameRv.setLayoutParams(params); } @@ -146,6 +168,40 @@ public class News2Fragment extends BaseFragment implements News2FragmentDialogAd } } + @OnClick(R.id.reuse_no_connection) + public void reconnection() { // 重新连接 + mStrategyRv.setVisibility(View.VISIBLE); + mLoading.setVisibility(View.VISIBLE); + mNoConnection.setVisibility(View.GONE); + view.postDelayed(runnable, 1000); + } + + @Override + public void loadEmpty() { + super.loadEmpty(); + mNoData.setVisibility(View.VISIBLE); + mStrategyRv.setVisibility(View.GONE); + mLoading.setVisibility(View.GONE); + } + + @Override + public void loadDone() { + super.loadDone(); + mSwipeRefreshLayout.setRefreshing(false); + mLoading.setVisibility(View.GONE); + mStrategyRv.setVisibility(View.VISIBLE); + mNoData.setVisibility(View.GONE); + } + + @Override + public void loadError() { + super.loadError(); + mSwipeRefreshLayout.setRefreshing(false); + mLoading.setVisibility(View.GONE); + mStrategyRv.setVisibility(View.GONE); + mNoConnection.setVisibility(View.VISIBLE); + } + @Override public void selectPosition(int position, ConcernInfo concernInfo) { isShowPopupBg(false); @@ -155,8 +211,17 @@ public class News2Fragment extends BaseFragment implements News2FragmentDialogAd getContext().startActivity(intent); } - // 关注事件 - public void onEventMainThread(EBConcernChanged changed) { + // 资讯Fragment界面切换事件 + public void onEventMainThread(EBUISwitch busNine) { + if (NewsFragment.EB_NEWSFRAGMENT_TAG.equals(busNine.getFrom())) { + if (busNine.getPosition() == 1 && mLoading.getVisibility() == View.VISIBLE) { + mStrategyAdapter.addList(0); + } + } + } + @Override + public void onRefresh() { + view.postDelayed(runnable, 1000); } } 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 522c04454a..3d43b6d83d 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java @@ -1,11 +1,11 @@ package com.gh.gamecenter.news; +import android.content.Context; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; import android.text.TextUtils; import android.view.View; import android.view.ViewGroup; -import android.widget.LinearLayout; import com.gh.common.util.DataUtils; import com.gh.common.util.NewsUtils; @@ -14,6 +14,7 @@ import com.gh.gamecenter.adapter.BaseRecyclerAdapter; import com.gh.gamecenter.adapter.viewholder.NewsFooterViewHolder; import com.gh.gamecenter.adapter.viewholder.NewsTextViewHolder; import com.gh.gamecenter.entity.NewsEntity; +import com.gh.gamecenter.listener.OnCallBackListener; import com.gh.gamecenter.manager.DataCollectionManager; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -34,9 +35,7 @@ import rx.schedulers.Schedulers; */ public class News2FragmentAdapter extends BaseRecyclerAdapter { - private News2Fragment news2Fragment; - - private LinearLayout mNoData; + private OnCallBackListener mCallBackListener; private List mNewsList; @@ -44,18 +43,14 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter { private boolean isLoading; private boolean isNetworkError; - public News2FragmentAdapter(News2Fragment news2Fragment, LinearLayout noData) { - super(news2Fragment.getContext()); - this.news2Fragment = news2Fragment; - this.mNoData = noData; - + public News2FragmentAdapter(Context context, OnCallBackListener callBackListener) { + super(context); + this.mCallBackListener = callBackListener; mNewsList = new ArrayList<>(); isLoading = false; isRemove = false; isNetworkError = false; - - addList(0); } public void addList(final int offset) { @@ -96,19 +91,23 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter { } if (mNewsList.size() == 0) { - mNoData.setVisibility(View.VISIBLE); - notifyItemChanged(0); + mCallBackListener.loadEmpty(); } else { - mNoData.setVisibility(View.GONE); + mCallBackListener.loadDone(); } isLoading = false; } @Override public void onFailure(HttpException e) { - isNetworkError = true; isLoading = false; - notifyItemChanged(getItemCount() - 1); + if (offset == 0) { + mCallBackListener.loadError(); + } else { + isNetworkError = true; + notifyItemChanged(getItemCount() - 1); + } + } }); } @@ -178,11 +177,6 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter { }); } else { final NewsFooterViewHolder footerViewHolder = ((NewsFooterViewHolder) holder); - if (mNoData.getVisibility() == View.VISIBLE) { - footerViewHolder.itemView.setVisibility(View.GONE); - } else { - footerViewHolder.itemView.setVisibility(View.VISIBLE); - } if (isRemove) { footerViewHolder.hint.setText("加载完毕"); footerViewHolder.loading.setVisibility(View.GONE); 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 5af2ef1455..9adc216525 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News3Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/news/News3Fragment.java @@ -7,8 +7,7 @@ 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; @@ -16,6 +15,9 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.eventbus.EBNetworkState; import com.gh.gamecenter.eventbus.EBUISwitch; +import butterknife.BindView; +import butterknife.OnClick; + /** * Created by khy on 2016/6/29. * 资讯-原创界面 @@ -109,7 +111,7 @@ public class News3Fragment extends BaseFragment implements SwipeRefreshLayout.On // 资讯Fragment界面切换事件 public void onEventMainThread(EBUISwitch busNine) { - if ("NewsFragment".equals(busNine.getFrom())) { + if (NewsFragment.EB_NEWSFRAGMENT_TAG.equals(busNine.getFrom())) { if (busNine.getPosition() == 2) { if (loadingLayout.getVisibility() == View.VISIBLE) { adapter.addList(0); diff --git a/app/src/main/java/com/gh/gamecenter/news/News4Fragment.java b/app/src/main/java/com/gh/gamecenter/news/News4Fragment.java index 8f028171c1..b5839816a1 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News4Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/news/News4Fragment.java @@ -9,9 +9,10 @@ import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; -import android.widget.*; -import butterknife.BindView; -import butterknife.OnClick; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + import com.facebook.drawee.view.SimpleDraweeView; import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.BaseFragment; @@ -21,9 +22,23 @@ import com.gh.common.view.VerticalItemDecoration; import com.gh.gamecenter.R; import com.gh.gamecenter.db.info.ConcernInfo; import com.gh.gamecenter.entity.GameEntity; -import com.gh.gamecenter.eventbus.*; +import com.gh.gamecenter.eventbus.EBConcernChanged; +import com.gh.gamecenter.eventbus.EBNetworkState; +import com.gh.gamecenter.eventbus.EBUISwitch; import com.gh.gamecenter.manager.ConcernManager; -import com.gh.gamecenter.retrofit.*; +import com.gh.gamecenter.retrofit.ObservableUtil; +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 butterknife.BindView; +import butterknife.OnClick; import rx.Observable; import rx.Subscriber; import rx.android.schedulers.AndroidSchedulers; @@ -31,8 +46,6 @@ import rx.functions.Action1; import rx.functions.Func1; import rx.schedulers.Schedulers; -import java.util.*; - /** * Created by khy on 2016/8/15. * 资讯-关注界面 @@ -70,8 +83,6 @@ public class News4Fragment extends BaseFragment implements SwipeRefreshLayout.On private List installGameList; // 安装的游戏 private Map concernMap; // 记录选择关注 private ConcernManager concernManager; - private boolean isInitConcernOcer; - private boolean isInitInstallOver; @Override public void onCreate(@Nullable Bundle savedInstanceState) { @@ -188,26 +199,11 @@ public class News4Fragment extends BaseFragment implements SwipeRefreshLayout.On // Fragment界面切换事件 public void onEventMainThread(EBUISwitch swith) { - if ("NewsFragment".equals(swith.getFrom())) { + if (NewsFragment.EB_NEWSFRAGMENT_TAG.equals(swith.getFrom())) { if (swith.getPosition() == 3) { if (loadingLayout.getVisibility() == View.VISIBLE) { adapter.addList(0); } - } else if (swith.getPosition() == -2 || swith.getPosition() == -1) { - if (swith.getPosition() == -1) { - isInitInstallOver = true; - } else if (swith.getPosition() == -2) { - isInitConcernOcer = true; - } - - if (isInitConcernOcer && isInitInstallOver) { // 没有关注且初始化安装完成,显示推荐小版块 - refreshLayout.setRefreshing(false); - loadingLayout.setVisibility(View.GONE); - recyclerView.setVisibility(View.GONE); - emptyLayout.setVisibility(View.VISIBLE); - refreshLayout.setEnabled(false); - initInstallGame(); - } } } } diff --git a/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java b/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java index 3c0dd78ec5..39e49fb971 100644 --- a/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java +++ b/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java @@ -10,17 +10,20 @@ import android.view.Gravity; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; + import com.gh.base.HomeFragment; import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DisplayUtils; +import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.FragmentAdapter; import com.gh.gamecenter.eventbus.EBUISwitch; -import de.greenrobot.event.EventBus; import java.util.ArrayList; import java.util.List; +import de.greenrobot.event.EventBus; + /** * Created by khy on 2016/6/29. * 资讯Fragment @@ -41,6 +44,8 @@ public class NewsFragment extends HomeFragment implements View.OnClickListener, private int width; private int currentItem; + public final static String EB_NEWSFRAGMENT_TAG = "NewsFragment"; + @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); @@ -84,7 +89,7 @@ public class NewsFragment extends HomeFragment implements View.OnClickListener, view.postDelayed(new Runnable() { @Override public void run() { - EventBus.getDefault().post(new EBUISwitch("NewsFragment", page_vp_content.getCurrentItem())); + EventBus.getDefault().post(new EBUISwitch(EB_NEWSFRAGMENT_TAG, page_vp_content.getCurrentItem())); } }, 100); } @@ -169,7 +174,7 @@ public class NewsFragment extends HomeFragment implements View.OnClickListener, } else { if (currentItem != page_vp_content.getCurrentItem()) { currentItem = page_vp_content.getCurrentItem(); - EventBus.getDefault().post(new EBUISwitch("NewsFragment", currentItem)); + EventBus.getDefault().post(new EBUISwitch(EB_NEWSFRAGMENT_TAG, currentItem)); } } } @@ -213,9 +218,9 @@ public class NewsFragment extends HomeFragment implements View.OnClickListener, } public void onEventMainThread(EBUISwitch busNine) { - if ("MainActivity".equals(busNine.getFrom())) { + if (MainActivity.EB_MAINACTIVITY_TAG.equals(busNine.getFrom())) { if (busNine.getPosition() == 1) { - EventBus.getDefault().post(new EBUISwitch("NewsFragment", page_vp_content.getCurrentItem())); + EventBus.getDefault().post(new EBUISwitch(EB_NEWSFRAGMENT_TAG, page_vp_content.getCurrentItem())); } } } diff --git a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragment.java b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragment.java index 839f8aea85..5d32c314aa 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragment.java @@ -7,19 +7,28 @@ import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; -import butterknife.BindView; + import com.gh.base.BaseFragment; import com.gh.common.util.DownloadItemUtils; import com.gh.common.view.VerticalItemDecoration; -import com.gh.download.*; +import com.gh.download.DataWatcher; +import com.gh.download.DownloadEntity; +import com.gh.download.DownloadManager; +import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameEntity; -import com.gh.gamecenter.eventbus.*; -import de.greenrobot.event.EventBus; +import com.gh.gamecenter.eventbus.EBConcernChanged; +import com.gh.gamecenter.eventbus.EBNetworkState; +import com.gh.gamecenter.eventbus.EBPackage; +import com.gh.gamecenter.eventbus.EBReuse; +import com.gh.gamecenter.eventbus.EBSkip; import java.util.ArrayList; +import butterknife.BindView; +import de.greenrobot.event.EventBus; + /** * Created by LGT on 2016/8/12. * 我的光环-已关注界面 @@ -65,7 +74,7 @@ public class ConcernFragment extends BaseFragment { reuse_nodata_skip_tv_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - EventBus.getDefault().post(new EBSkip("GameFragment", 1)); + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 1)); } }); diff --git a/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java b/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java index 4ab78b8976..4796cc1768 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java @@ -9,20 +9,28 @@ import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; -import butterknife.BindView; + import com.gh.base.BaseFragment; import com.gh.common.util.DialogUtils; import com.gh.common.util.DownloadItemUtils; import com.gh.common.view.SwipeLayout; import com.gh.common.view.VerticalItemDecoration; -import com.gh.download.*; +import com.gh.download.DataWatcher; +import com.gh.download.DownloadEntity; +import com.gh.download.DownloadManager; +import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.GameEntity; -import com.gh.gamecenter.eventbus.*; -import de.greenrobot.event.EventBus; +import com.gh.gamecenter.eventbus.EBNetworkState; +import com.gh.gamecenter.eventbus.EBPackage; +import com.gh.gamecenter.eventbus.EBReuse; +import com.gh.gamecenter.eventbus.EBSkip; import java.util.ArrayList; +import butterknife.BindView; +import de.greenrobot.event.EventBus; + /** * Created by LGT on 2016/8/12. * 我的关注-已安装界面 @@ -79,7 +87,7 @@ public class InstallFragment extends BaseFragment implements InstallFragmentAdap reuse_nodata_skip_tv_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - EventBus.getDefault().post(new EBSkip("GameFragment", 1)); + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 1)); } }); diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/ApiService.java index 289db8cbe4..e5f261b046 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/ApiService.java @@ -141,7 +141,7 @@ public interface ApiService { Observable> getColumn(@Path("column_id") String column_id, @Query("page") int page, @Query("type") String type); // 获取专题数据 @GET("game/column/{column_id}") - Observable getColumnHead(@Path("column_id") String column_id, @Query("head") String head); // 获取专题数据标题 + Observable> getColumnHead(@Path("column_id") String column_id, @Query("head") String head); // 获取专题数据标题 @GET("support/setting/ui") Observable getUISetting(); // 获取界面设置参数 diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpInterceptor.java b/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpInterceptor.java index 706375e404..e08b0b3b88 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpInterceptor.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpInterceptor.java @@ -1,12 +1,20 @@ package com.gh.gamecenter.retrofit; import com.gh.base.AppController; -import com.gh.common.util.*; -import okhttp3.*; -import okhttp3.Response; +import com.gh.common.util.GzipUtils; +import com.gh.common.util.NetworkUtils; +import com.gh.common.util.TimestampUtils; +import com.gh.common.util.Utils; import java.io.IOException; +import okhttp3.CacheControl; +import okhttp3.Interceptor; +import okhttp3.MediaType; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.ResponseBody; + /** * Created by LGT on 2016/11/8. */ @@ -31,8 +39,8 @@ public class OkHttpInterceptor implements Interceptor { } // log 打印 -// Utils.log(String.format("Interceptor Sending request %s on %s%n%s", -// request.url(), chain.connection(), request.headers())); + Utils.log(String.format("Interceptor Sending request %s on %s%n%s", + request.url(), chain.connection(), request.headers())); Response response = chain.proceed(request); 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 339d7f829e..2b17e9fbbd 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java @@ -189,8 +189,6 @@ class SearchGameListFragmentAdapter extends BaseRecyclerAdapter { entrance + "+(搜索-列表[" + key + "=" + type + "=" + (viewHolder.getPosition() + 1) + "])", "搜索-列表:" + gameEntity.getName()); } - - dao.add(key); } }); @@ -212,6 +210,7 @@ class SearchGameListFragmentAdapter extends BaseRecyclerAdapter { GameUtils.startGameDetailActivity(mContext, gameEntity, entrance + "+(搜索-列表[" + key + "=" + type + "=" + (holder.getPosition() + 1) + "])"); + dao.add(key); } }); } diff --git a/app/src/main/res/drawable-hdpi/platform_vote.jpg b/app/src/main/res/drawable-hdpi/platform_vote.jpg index 792643a7db..67d4347e8d 100644 Binary files a/app/src/main/res/drawable-hdpi/platform_vote.jpg and b/app/src/main/res/drawable-hdpi/platform_vote.jpg differ diff --git a/app/src/main/res/drawable-nodpi/splash_01.webp b/app/src/main/res/drawable-nodpi/splash_01.webp index 7daf331d28..3ee70cb350 100644 Binary files a/app/src/main/res/drawable-nodpi/splash_01.webp and b/app/src/main/res/drawable-nodpi/splash_01.webp differ diff --git a/app/src/main/res/layout/activity_game_detail.xml b/app/src/main/res/layout/activity_game_detail.xml index 6946f58c8a..b3583dc183 100644 --- a/app/src/main/res/layout/activity_game_detail.xml +++ b/app/src/main/res/layout/activity_game_detail.xml @@ -158,6 +158,7 @@ android:layout_height = "25dp" android:gravity = "center" android:textSize = "12sp" + android:textColor = "@color/title" android:text = "@string/game_detail_info" /> diff --git a/app/src/main/res/layout/activity_kaifu.xml b/app/src/main/res/layout/activity_kaifu.xml index ae06d2e966..76154d66ae 100644 --- a/app/src/main/res/layout/activity_kaifu.xml +++ b/app/src/main/res/layout/activity_kaifu.xml @@ -84,7 +84,7 @@ android:id="@+id/kaifu_change_name" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="即将开服" + android:text="当前开服↓" android:textSize="14sp" android:paddingRight="9dp" android:textColor="@color/theme" diff --git a/app/src/main/res/layout/activity_kc_select_game.xml b/app/src/main/res/layout/activity_kc_select_game.xml index 142cfe7b36..9c1e2bf6da 100644 --- a/app/src/main/res/layout/activity_kc_select_game.xml +++ b/app/src/main/res/layout/activity_kc_select_game.xml @@ -29,7 +29,8 @@ android:layout_height = "match_parent" android:gravity = "center" android:text = "@string/kc_intalled" - android:layout_marginLeft = "20dp" /> + android:layout_marginLeft = "20dp" + android:textColor="@color/title"/> - + + + + + + + + + + + - - @@ -115,7 +116,7 @@ diff --git a/app/src/main/res/layout/gamedetail_item_libao_rv.xml b/app/src/main/res/layout/gamedetail_item_libao_rv.xml index cde7e13f36..a0305f52d8 100644 --- a/app/src/main/res/layout/gamedetail_item_libao_rv.xml +++ b/app/src/main/res/layout/gamedetail_item_libao_rv.xml @@ -34,7 +34,6 @@ android:layout_width = "match_parent" android:layout_height = "wrap_content" android:gravity = "center" - android:paddingTop = "15dp" android:paddingBottom = "5dp" > - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b3d98b0491..42738a0a92 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -39,7 +39,7 @@ 44.5% 九游版 1.2MB/s(剩3分30秒) 右划发给好友\n免流量安装 - 放手发给好友\\n免流量安装 + 放手发给好友\n免流量安装 加载失败,点击重试 福利介绍 我要咨询