From e4be47e7e74d402ddf65a4655ed0c84437ca3147 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 23 Aug 2017 17:48:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86UI=E8=B0=83=E6=95=B4=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/common/util/ConcernUtils.kt | 2 - .../java/com/gh/common/util/LoginUtils.java | 4 +- .../com/gh/gamecenter/InstallActivity.java | 28 +++++++- .../java/com/gh/gamecenter/MainActivity.java | 3 +- .../com/gh/gamecenter/SuggestionActivity.java | 40 ++++++----- .../adapter/InstallFragmentAdapter.java | 36 +++++----- .../adapter/LibaoDetailAdapter.java | 5 +- .../viewholder/GameTestViewHolder.java | 56 +++++++++------- .../java/com/gh/gamecenter/db/ConcernDao.java | 26 ++++++++ .../gh/gamecenter/entity/GameDetailPlayer.kt | 2 +- .../com/gh/gamecenter/entity/TestEntity.kt | 2 +- .../gh/gamecenter/fragment/NewsFragment.java | 14 +++- .../gamedetail/GameDetailKaiFuAdapter.java | 43 ++++++++---- .../gh/gamecenter/kaifu/KaiFuVpFragment.java | 2 - .../libao/Libao1FragmentAdapter.java | 1 + .../libao/Libao2FragmentAdapter.java | 1 + .../gamecenter/personal/InstallFragment.java | 4 +- .../gamecenter/personal/PersonalFragment.java | 25 +++++-- .../SearchGameDetailFragmentAdapter.java | 22 +++++++ .../search/SearchGameListFragmentAdapter.java | 23 +++++++ .../gh/gamecenter/subject/SubjectAdapter.java | 66 +++++++++++-------- .../res/drawable/gamedetail_kaifu_hint.xml | 2 +- app/src/main/res/layout/activity_setting.xml | 6 +- app/src/main/res/layout/fragment_news.xml | 31 +++++++-- app/src/main/res/values/strings.xml | 2 +- gradle.properties | 12 ++-- 26 files changed, 323 insertions(+), 135 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/ConcernUtils.kt b/app/src/main/java/com/gh/common/util/ConcernUtils.kt index fc33cb7ed5..5f048b42da 100644 --- a/app/src/main/java/com/gh/common/util/ConcernUtils.kt +++ b/app/src/main/java/com/gh/common/util/ConcernUtils.kt @@ -124,8 +124,6 @@ object ConcernUtils { override fun onNext(response: GameEntity) { concernDigest.add(response) } - - }) } diff --git a/app/src/main/java/com/gh/common/util/LoginUtils.java b/app/src/main/java/com/gh/common/util/LoginUtils.java index b3de414457..8d09fd7ce0 100644 --- a/app/src/main/java/com/gh/common/util/LoginUtils.java +++ b/app/src/main/java/com/gh/common/util/LoginUtils.java @@ -317,9 +317,9 @@ public class LoginUtils { if (refreshExpire != null && refreshExpire > Utils.getTime(context)) { Map params = new HashMap<>(); params.put("refresh_token", refreshToken.getValue()); - login(context, new JSONObject(params), LoginTag.refresh, listener); // TODO 刷新accessToken + login(context, new JSONObject(params), LoginTag.refresh, listener); // 刷新accessToken } else { - // TODO 重新登录 + // 重新登录 cleanUserData(context); } } diff --git a/app/src/main/java/com/gh/gamecenter/InstallActivity.java b/app/src/main/java/com/gh/gamecenter/InstallActivity.java index 532d73703b..ed05b4707f 100644 --- a/app/src/main/java/com/gh/gamecenter/InstallActivity.java +++ b/app/src/main/java/com/gh/gamecenter/InstallActivity.java @@ -17,14 +17,15 @@ 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.lightgame.download.DataWatcher; -import com.lightgame.download.DownloadEntity; import com.gh.download.DownloadManager; import com.gh.gamecenter.adapter.InstallFragmentAdapter; import com.gh.gamecenter.entity.GameEntity; +import com.gh.gamecenter.eventbus.EBDownloadStatus; import com.gh.gamecenter.eventbus.EBPackage; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBSkip; +import com.lightgame.download.DataWatcher; +import com.lightgame.download.DownloadEntity; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -119,6 +120,7 @@ public class InstallActivity extends BaseActivity implements InstallFragmentAdap @Override public void onResume() { + super.onResume(); if (isEverpause) { for (GameEntity entity : mAdapter.getGameList()) { entity.setEntryMap(DownloadManager.getInstance(this).getEntryMap(entity.getName())); @@ -126,7 +128,6 @@ public class InstallActivity extends BaseActivity implements InstallFragmentAdap mAdapter.notifyDataSetChanged(); } isEverpause = false; - super.onResume(); DownloadManager.getInstance(this).addObserver(dataWatcher); } @@ -178,6 +179,27 @@ public class InstallActivity extends BaseActivity implements InstallFragmentAdap } } + //下载被删除事件 + @Subscribe(threadMode = ThreadMode.MAIN) + public void onEventMainThread(EBDownloadStatus status) { + if ("delete".equals(status.getStatus())) { + DownloadManager.getInstance(this).removePlatform(status.getName(), status.getPlatform()); + + ArrayList locationList = mAdapter.getLocationMap().get(status.getPackageName()); + GameEntity gameEntity; + if (locationList != null && locationList.size() != 0) { + for (int location : locationList) { + gameEntity = mAdapter.getGameList().get(location); + if (gameEntity != null && gameEntity.getEntryMap() != null) { + gameEntity.getEntryMap().remove(status.getPlatform()); + } + mAdapter.notifyItemChanged(location); + } + } + } + } + + // 滑动item @Override public void onSmooth() { diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index d598ea27be..106973a1b3 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -686,8 +686,7 @@ public class MainActivity extends BaseActivity { // }); // updateUserGhzs(); -// initConcern(); // 初始化关注 TODO 移到登录成功后调用 -// LibaoUtils.getCunHaoXiang(MainActivity.this); +// initConcern(); // 初始化关注 移到登录成功后调用 } }); } else { diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index aeca9b8004..a76e327d9d 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -29,6 +29,7 @@ import com.gh.base.BaseActivity; import com.gh.base.OnRequestCallBackListener; import com.gh.common.constant.Config; import com.gh.common.util.BitmapUtils; +import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.DialogUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.LoginUtils; @@ -361,27 +362,32 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt return; } - String email = mSuggestEmailEt.getText().toString().trim(); - String url = mSuggestNewsLinkEt.getText().toString().trim(); + CheckLoginUtils.checkLogin(this, new CheckLoginUtils.OnLoggenInListener() { + @Override + public void onLoggedIn() { + String email = mSuggestEmailEt.getText().toString().trim(); + String url = mSuggestNewsLinkEt.getText().toString().trim(); - if (!TextUtils.isEmpty(url) && !PatternUtils.isUrlAddress(url)) { - Utils.toast(SuggestionActivity.this, "请输入正确的链接"); - return; - } + if (!TextUtils.isEmpty(url) && !PatternUtils.isUrlAddress(url)) { + Utils.toast(SuggestionActivity.this, "请输入正确的链接"); + return; + } - if (TextUtils.isEmpty(email)) { - showConfirmDialog(email); - } else { - postDialog = WaitingDialogFragment.newInstance(getString(R.string.dialog_feedback_doing)); - postDialog.show(getSupportFragmentManager(), null); + if (TextUtils.isEmpty(email)) { + showConfirmDialog(email); + } else { + postDialog = WaitingDialogFragment.newInstance(getString(R.string.dialog_feedback_doing)); + postDialog.show(getSupportFragmentManager(), null); - List fileList = mAdapter.getFileList(); - if (fileList != null && fileList.size() > 0) { - postPic(email); - } else { - initPostData(email, null); + List fileList = mAdapter.getFileList(); + if (fileList != null && fileList.size() > 0) { + postPic(email); + } else { + initPostData(email, null); + } + } } - } + }); break; case R.id.suggest_select_game: showSelectDialog(); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java index da4f22cac4..5a7a619e8f 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java @@ -115,6 +115,12 @@ public class InstallFragmentAdapter extends BaseRecyclerAdapter { public void run() { init(); List ids = new ArrayList<>(); + Collections.sort(sortedList, new Comparator() { // 按安装时间排序 + @Override + public int compare(GameInfoEntity lhs, GameInfoEntity rhs) { + return lhs.getInstallTime() > rhs.getInstallTime()? -1 : 1; + } + }); for (GameInfoEntity info : sortedList) { if (!ids.contains(info.getId())) { ids.add(info.getId()); @@ -287,21 +293,21 @@ public class InstallFragmentAdapter extends BaseRecyclerAdapter { } if (this.gameList.size() != 0) { - ArrayMap> map = new ArrayMap<>(); - ArrayList list; - for (GameEntity gameEntity : this.gameList) { - list = map.get(gameEntity.getId()); - if (list == null) { - list = new ArrayList<>(); - map.put(gameEntity.getId(), list); - } - list.add(gameEntity); - } - list = new ArrayList<>(); - for (String key : map.keySet()) { - list.addAll(map.get(key)); - } - this.gameList = list; +// ArrayMap> map = new ArrayMap<>(); +// ArrayList list; +// for (GameEntity gameEntity : this.gameList) { +// list = map.get(gameEntity.getId()); +// if (list == null) { +// list = new ArrayList<>(); +// map.put(gameEntity.getId(), list); +// } +// list.add(gameEntity); +// } +// list = new ArrayList<>(); +// for (String key : map.keySet()) { +// list.addAll(map.get(key)); +// } +// this.gameList = list; isRemove = true; notifyDataSetChanged(); 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 4cd793c4b1..199197e59b 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/LibaoDetailAdapter.java @@ -36,6 +36,7 @@ import com.gh.gamecenter.retrofit.RetrofitManager; import java.text.SimpleDateFormat; import java.util.List; +import java.util.Locale; import retrofit2.HttpException; import rx.android.schedulers.AndroidSchedulers; @@ -329,13 +330,13 @@ public class LibaoDetailAdapter extends BaseRecyclerAdapter { } if (mLibaoDetailEntity.getTime() != null) { - SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日"); + SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm", Locale.CHINA); String start = format.format((mLibaoDetailEntity.getTime().getStart() * 1000)); String end = format.format((mLibaoDetailEntity.getTime().getEnd() * 1000)); TextView tvTime = new TextView(mContext); tvTime.setTextColor(Color.parseColor("#717171")); - tvTime.setText(StringUtils.buildString("领取时间:", start, " - ", end)); + tvTime.setText(StringUtils.buildString("开始时间:", start, "\n", "截止时间:", end)); holder.newsList.addView(tvTime); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameTestViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameTestViewHolder.java index 6fe505c140..4644f9c651 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameTestViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/GameTestViewHolder.java @@ -1,7 +1,8 @@ package com.gh.gamecenter.adapter.viewholder; import android.content.Context; -import android.text.TextUtils; +import android.graphics.Color; +import android.support.v4.content.ContextCompat; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; @@ -10,7 +11,6 @@ import android.widget.ProgressBar; import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; -import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; @@ -85,26 +85,26 @@ public class GameTestViewHolder extends GameViewHolder { gameOrder.setVisibility(View.GONE); } - int paddRight = 0; - String serverType = gameEntity.getServerType(); - if (TextUtils.isEmpty(serverType)) { - gameServerType.setVisibility(View.GONE); - } else { - gameServerType.setVisibility(View.VISIBLE); - gameServerType.setText(serverType); - if ("删档内测".equals(serverType) || "不删档内测".equals(serverType)) { - gameServerType.setBackgroundResource(R.drawable.textview_server_tag); - if ("删档内测".equals(serverType)) { - paddRight = DisplayUtils.dip2px(context, 50); - } else { - paddRight = DisplayUtils.dip2px(context, 60); - } - } else { - gameServerType.setBackgroundResource(R.drawable.textview_orange_up); - paddRight = DisplayUtils.dip2px(context, 30); - } - } - gameName.setPadding(0, 0, paddRight, 0); +// int paddRight = 0; +// String serverType = gameEntity.getServerType(); +// if (TextUtils.isEmpty(serverType)) { +// gameServerType.setVisibility(View.GONE); +// } else { +// gameServerType.setVisibility(View.VISIBLE); +// gameServerType.setText(serverType); +// if ("删档内测".equals(serverType) || "不删档内测".equals(serverType)) { +// gameServerType.setBackgroundResource(R.drawable.textview_server_tag); +// if ("删档内测".equals(serverType)) { +// paddRight = DisplayUtils.dip2px(context, 50); +// } else { +// paddRight = DisplayUtils.dip2px(context, 60); +// } +// } else { +// gameServerType.setBackgroundResource(R.drawable.textview_orange_up); +// paddRight = DisplayUtils.dip2px(context, 30); +// } +// } +// gameName.setPadding(0, 0, paddRight, 0); ImageUtils.Companion.display(gameThumb, gameEntity.getIcon()); gameName.setText(gameEntity.getName()); @@ -113,7 +113,17 @@ public class GameTestViewHolder extends GameViewHolder { } else { gameDes.setText(String.format("%s %s", gameEntity.getApk().get(0).getSize(), gameEntity.getBrief())); } - gameTestType.setText(gameEntity.getTest().getType()); + + String type = gameEntity.getTest().getType(); + if (type != null && type.equals("删档内测")) { + gameTestType.setTextColor(ContextCompat.getColor(context, R.color.c7c7c7)); + gameTestType.setBackgroundResource(R.drawable.kaifu_time_tag_gray); + } else { + gameTestType.setTextColor(Color.parseColor("#ff9601")); + gameTestType.setBackgroundResource(R.drawable.border_white_bg); + } + gameTestType.setText(type); + if (gameEntity.getTest().getStart() == 0) { gameTestTime.setVisibility(View.GONE); } else { diff --git a/app/src/main/java/com/gh/gamecenter/db/ConcernDao.java b/app/src/main/java/com/gh/gamecenter/db/ConcernDao.java index 0c9fd09ba7..3e7222a48d 100644 --- a/app/src/main/java/com/gh/gamecenter/db/ConcernDao.java +++ b/app/src/main/java/com/gh/gamecenter/db/ConcernDao.java @@ -3,9 +3,12 @@ package com.gh.gamecenter.db; import android.content.Context; import com.gh.gamecenter.db.info.ConcernInfo; +import com.gh.gamecenter.eventbus.EBConcernChanged; import com.j256.ormlite.dao.Dao; import com.j256.ormlite.stmt.QueryBuilder; +import org.greenrobot.eventbus.EventBus; + import java.sql.SQLException; import java.util.ArrayList; import java.util.List; @@ -189,4 +192,27 @@ public class ConcernDao { e.printStackTrace(); } } + + public void clean() { + try { + List isConcern = dao.queryBuilder().where().eq("isConcern", true).query(); + + for (ConcernInfo concernInfo : isConcern) { + ConcernInfo concernEntity = dao.queryForId(concernInfo.getId()); + if (concernEntity.isConcern() && concernEntity.isInstalled()) { + concernEntity.setTime(System.currentTimeMillis()); + concernEntity.setConcern(false); + concernEntity.setWeight(concernEntity.getWeight() - 1); + concernEntity.setTag("已安装"); + dao.update(concernEntity); + } else { + dao.deleteById(concernInfo.getId()); + } + } + + EventBus.getDefault().post(new EBConcernChanged()); + } catch (SQLException e) { + e.printStackTrace(); + } + } } diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameDetailPlayer.kt b/app/src/main/java/com/gh/gamecenter/entity/GameDetailPlayer.kt index d0ad9596bd..59c3c982aa 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/GameDetailPlayer.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/GameDetailPlayer.kt @@ -35,7 +35,7 @@ class GameDetailPlayer : Parcelable { companion object { - val CREATOR: Parcelable.Creator = object : Parcelable.Creator { + @JvmField val CREATOR: Parcelable.Creator = object : Parcelable.Creator { override fun createFromParcel(source: Parcel): GameDetailPlayer { return GameDetailPlayer(source) } diff --git a/app/src/main/java/com/gh/gamecenter/entity/TestEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/TestEntity.kt index a714366633..8a0e26f543 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/TestEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/TestEntity.kt @@ -29,7 +29,7 @@ class TestEntity : Parcelable { companion object { - val CREATOR: Parcelable.Creator = object : Parcelable.Creator { + @JvmField val CREATOR: Parcelable.Creator = object : Parcelable.Creator { override fun createFromParcel(source: Parcel): TestEntity { return TestEntity(source) } diff --git a/app/src/main/java/com/gh/gamecenter/fragment/NewsFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/NewsFragment.java index 87e0557d9f..37d3362dda 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/NewsFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/NewsFragment.java @@ -5,6 +5,7 @@ import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.util.DisplayMetrics; import android.view.View; +import android.widget.CheckedTextView; import android.widget.LinearLayout; import com.gh.base.fragment.BaseFragment_ViewPager_Checkable; @@ -38,6 +39,9 @@ public class NewsFragment extends BaseFragment_ViewPager_Checkable { @BindView(R.id.slidebar_line) View mNewsSlidebarLine; + @BindView(R.id.news_gonglve_tv) + CheckedTextView mGongLveTv; + private LinearLayout.LayoutParams mLayoutParams; private int mWidth; @@ -82,7 +86,7 @@ public class NewsFragment extends BaseFragment_ViewPager_Checkable { public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - mLayoutParams.leftMargin = (int) (mWidth * (mCheckedIndex + 0.25f)); + mLayoutParams.leftMargin = (int) (mWidth * (mCheckedIndex + 0.26f)); mNewsSlidebarLine.setLayoutParams(mLayoutParams); view.postDelayed(new Runnable() { @@ -97,7 +101,7 @@ public class NewsFragment extends BaseFragment_ViewPager_Checkable { public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { super.onPageScrolled(position, positionOffset, positionOffsetPixels); if (positionOffset != 0) { - mLayoutParams.leftMargin = (int) (mWidth * (position + positionOffset + 0.25f)); + mLayoutParams.leftMargin = (int) (mWidth * (position + positionOffset + 0.26f)); mNewsSlidebarLine.setLayoutParams(mLayoutParams); // } else { // if (currentItem != mNewsVP.getCurrentItem()) { @@ -125,6 +129,12 @@ public class NewsFragment extends BaseFragment_ViewPager_Checkable { DataCollectionUtils.uploadPosition(getActivity(), "资讯", "4", "关注"); break; } + + if (index == 2) { + mGongLveTv.setChecked(true); + } else { + mGongLveTv.setChecked(false); + } } @Subscribe(threadMode = ThreadMode.MAIN) 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 c3879980da..484d38df48 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java @@ -6,7 +6,7 @@ import android.graphics.drawable.ColorDrawable; import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; -import android.util.Log; +import android.text.TextUtils; import android.view.Gravity; import android.view.MotionEvent; import android.view.View; @@ -18,13 +18,13 @@ import com.gh.common.util.DisplayUtils; import com.gh.common.util.StringUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.SuggestionActivity; -import com.lightgame.adapter.BaseRecyclerAdapter; +import com.gh.gamecenter.adapter.viewholder.GameDetailCalenderViewHolder; +import com.gh.gamecenter.adapter.viewholder.GameDetailKaiFuViewHolder; import com.gh.gamecenter.entity.CalendarEntity; import com.gh.gamecenter.entity.KaiFuServerEntity; import com.gh.gamecenter.eventbus.EBReuse; -import com.gh.gamecenter.adapter.viewholder.GameDetailCalenderViewHolder; -import com.gh.gamecenter.adapter.viewholder.GameDetailKaiFuViewHolder; import com.gh.gamecenter.retrofit.Response; +import com.lightgame.adapter.BaseRecyclerAdapter; import org.greenrobot.eventbus.EventBus; @@ -75,8 +75,6 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter { curDayData = new ArrayList<>(); - Log.e("======", "=====::" + serverInfo.size()); - checkExistCurSerer(); initView(viewHolder); @@ -347,13 +345,33 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter { viewHolder.calendarKaifu.setVisibility(View.VISIBLE); int padd = DisplayUtils.dip2px(mContext, 2); viewHolder.calendarKaifu.setPadding(padd, DisplayUtils.dip2px(mContext, 1), padd, padd); - if (entity.getServer().size() == 1) { - viewHolder.calendarKaifu.setText("开服"); - } else { - viewHolder.calendarKaifu.setText(StringUtils.buildString("开服x" - , String.valueOf(entity.getServer().size()))); + + String allType = ""; + String type = null; + + for (KaiFuServerEntity kaiFuServerEntity : entity.getServer()) { + allType += kaiFuServerEntity.getType(); } + if (allType.contains("公测")) { + type = "公测"; + } else if (allType.contains("不删档内测")) { + type = "内测"; + } else if (allType.contains("删档内测")) { + type = "删测"; + } + if (!TextUtils.isEmpty(type)) { + viewHolder.calendarKaifu.setBackgroundResource(R.drawable.textview_cancel_dn); + viewHolder.calendarKaifu.setText(type); + } else { + viewHolder.calendarKaifu.setBackgroundResource(R.drawable.textview_orange_style); + if (entity.getServer().size() == 1) { + viewHolder.calendarKaifu.setText("新服"); + } else { + viewHolder.calendarKaifu.setText(StringUtils.buildString("新服x" + , String.valueOf(entity.getServer().size()))); + } + } holder.itemView.setEnabled(true); holder.itemView.setOnClickListener(new View.OnClickListener() { @@ -370,7 +388,6 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter { viewHolder.calendarDay.setText(""); viewHolder.calendarKaifu.setVisibility(View.INVISIBLE); viewHolder.itemView.setBackgroundDrawable(new ColorDrawable(0)); - viewHolder.itemView.setBackgroundDrawable(new ColorDrawable(0)); } } } @@ -399,7 +416,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter { SimpleDateFormat curformat = new SimpleDateFormat("yyyy年M月d日", Locale.CHINA); SimpleDateFormat formatTime = new SimpleDateFormat("HH:mm", Locale.CHINA); viewHolder.kaifuDetailRl.setVisibility(View.VISIBLE); - viewHolder.detailTime.setText(StringUtils.buildString(format.format(l), "开服")); + viewHolder.detailTime.setText(StringUtils.buildString(format.format(l), "开服详情(", String.valueOf(entity.getServer().size()), ")")); viewHolder.detailList.removeAllViews(); for (KaiFuServerEntity kaiFuServerEntity : entity.getServer()) { diff --git a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java index c377910919..8f309188cd 100644 --- a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java +++ b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuVpFragment.java @@ -23,7 +23,6 @@ import com.gh.gamecenter.entity.KaiFuServerEntity; import com.gh.gamecenter.eventbus.EBDownloadStatus; import com.lightgame.download.DataWatcher; import com.lightgame.download.DownloadEntity; -import com.lightgame.utils.Utils; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -71,7 +70,6 @@ public class KaiFuVpFragment extends BaseFragment { public void onDataChanged(DownloadEntity downloadEntity) { ArrayList locationList = mAdapter.getLocationMap().get(downloadEntity.getPackageName()); if (locationList != null && mIsRefershDownload) { - Utils.log("===============mGameId::" + mGameId); GameEntity gameEntity; for (int location : locationList) { gameEntity = mAdapter.getDataList().get(location); 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 d5eab99d40..7d62155314 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao1FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao1FragmentAdapter.java @@ -310,6 +310,7 @@ class Libao1FragmentAdapter extends BaseRecyclerAdapter { } private void initFooterViewHolder(FooterViewHolder holder) { + holder.initItemPadding(); if (isNetworkError) { holder.loading.setVisibility(View.GONE); holder.hint.setText("加载失败,点击重试"); 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 11205380a1..bb38732186 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao2FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao2FragmentAdapter.java @@ -387,6 +387,7 @@ class Libao2FragmentAdapter extends BaseRecyclerAdapter { } private void initFooterViewHolder(FooterViewHolder holder) { + holder.initItemPadding(); if (isNetworkError) { holder.loading.setVisibility(View.GONE); holder.hint.setText("加载失败,点击重试"); 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 c0d26626b1..9bc9c37c94 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/InstallFragment.java @@ -15,8 +15,6 @@ 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.lightgame.download.DataWatcher; -import com.lightgame.download.DownloadEntity; import com.gh.download.DownloadManager; import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; @@ -24,6 +22,8 @@ import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.eventbus.EBPackage; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBSkip; +import com.lightgame.download.DataWatcher; +import com.lightgame.download.DownloadEntity; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java index d295c05ea8..f72542ffc3 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -13,10 +13,12 @@ import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.AppController; import com.gh.base.fragment.BaseFragment; +import com.gh.common.util.ConcernUtils; import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; import com.gh.common.util.DialogUtils; import com.gh.common.util.GetLoginDataUtils; +import com.gh.common.util.LibaoUtils; import com.gh.common.util.LoginUtils; import com.gh.common.util.PackageUtils; import com.gh.gamecenter.CollectionActivity; @@ -30,7 +32,10 @@ import com.gh.gamecenter.ShareGhActivity; import com.gh.gamecenter.SuggestSelectActivity; import com.gh.gamecenter.SuggestionActivity; import com.gh.gamecenter.UserInfoActivity; +import com.gh.gamecenter.db.ConcernDao; import com.gh.gamecenter.db.KeFuMarkReadDao; +import com.gh.gamecenter.db.LibaoDao; +import com.gh.gamecenter.db.VoteDao; import com.gh.gamecenter.entity.AppEntity; import com.gh.gamecenter.entity.MessageUnreadEntity; import com.gh.gamecenter.entity.UserInfoEntity; @@ -43,6 +48,7 @@ import com.lightgame.config.CommonDebug; import com.lightgame.utils.Utils; import com.tencent.connect.common.Constants; +import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import org.json.JSONObject; @@ -121,8 +127,8 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils. if (requestCode == Constants.REQUEST_LOGIN) { // QQ Login callback GetLoginDataUtils.getInstance(getContext()).onQQCallback(requestCode, resultCode, data); - } else if (requestCode == 32973) { - //TODO 32973是什么鬼? + } else if (requestCode == 32973) {// 32973 WeiBo requestCode + GetLoginDataUtils.getInstance(getContext()).onWeiboCallback(requestCode, resultCode, data); } else if (requestCode == CHANGE_UDERINFO) { mUserInfoEntity = LoginUtils.getUserInfo(getContext()); @@ -159,9 +165,14 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils. mUserInfoEntity = LoginUtils.getUserInfo(getContext()); changeLoginState(true); checkMessageUnread(getContext()); // 检查是否有未读消息 + LibaoUtils.getCunHaoXiang(getContext()); // 初始化存号箱 + ConcernUtils.INSTANCE.initConcern(getContext()); } else if (reuse.getType().equals(LOGOUT_TAG)) { // 登出 changeLoginState(false); mUserInfoEntity = null; + new ConcernDao(getContext()).clean(); + new LibaoDao(getContext()).clean(); + new VoteDao(getContext()).clean(); } else if (MessageFragment.MESSAGE_READ_OVER.equals(reuse.getType())) { // 消息阅读完成 if (mLoginMessgeHint != null) { mLoginMessgeHint.setVisibility(View.GONE); @@ -334,8 +345,14 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils. @Override public void onLogin(UserInfoEntity entity, LoginUtils.LoginTag loginTag) { Utils.log("======登录成功" + entity.getIcon() + "==" + entity.getName()); - mUserInfoEntity = entity; - changeLoginState(true); + if (loginTag == null) { // loginTag 为空表明不是重新登录 重新登录需要初始化关注以及存号箱 + mUserInfoEntity = entity; + changeLoginState(true); + checkMessageUnread(getContext()); // 检查是否有未读消息 + } else { + EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGIN_TAG)); + } + } } diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java index 353e38047a..c4a759b2df 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java @@ -13,6 +13,7 @@ import android.view.inputmethod.InputMethodManager; import com.gh.base.OnRequestCallBackListener; import com.gh.common.util.ApkActiveUtils; +import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; @@ -142,6 +143,27 @@ class SearchGameDetailFragmentAdapter extends BaseRecyclerAdapter { GameViewUtils.setLabelList(mContext, viewHolder.gameLabelList, gameEntity.getTag(), ""); + int paddRight = 0; + String serverType = gameEntity.getServerType(); + if (TextUtils.isEmpty(serverType)) { + viewHolder.gameServerType.setVisibility(View.GONE); + } else { + viewHolder.gameServerType.setVisibility(View.VISIBLE); + viewHolder.gameServerType.setText(serverType); + if ("删档内测".equals(serverType) || "不删档内测".equals(serverType)) { + viewHolder.gameServerType.setBackgroundResource(R.drawable.textview_server_tag); + if ("删档内测".equals(serverType)) { + paddRight = DisplayUtils.dip2px(mContext, 50); + } else { + paddRight = DisplayUtils.dip2px(mContext, 60); + } + } else { + viewHolder.gameServerType.setBackgroundResource(R.drawable.textview_orange_up); + paddRight = DisplayUtils.dip2px(mContext, 30); + } + } + viewHolder.gameName.setPadding(0, 0, paddRight, 0); + viewHolder.itemView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { 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 9f45f30c6d..82b446d48c 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java @@ -13,6 +13,7 @@ import android.view.inputmethod.InputMethodManager; import com.gh.base.OnRequestCallBackListener; import com.gh.common.constant.ItemViewType; import com.gh.common.util.ApkActiveUtils; +import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadItemUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; @@ -169,6 +170,28 @@ class SearchGameListFragmentAdapter extends BaseRecyclerAdapter { } }); + + int paddRight = 0; + String serverType = gameEntity.getServerType(); + if (TextUtils.isEmpty(serverType)) { + viewHolder.gameServerType.setVisibility(View.GONE); + } else { + viewHolder.gameServerType.setVisibility(View.VISIBLE); + viewHolder.gameServerType.setText(serverType); + if ("删档内测".equals(serverType) || "不删档内测".equals(serverType)) { + viewHolder.gameServerType.setBackgroundResource(R.drawable.textview_server_tag); + if ("删档内测".equals(serverType)) { + paddRight = DisplayUtils.dip2px(mContext, 50); + } else { + paddRight = DisplayUtils.dip2px(mContext, 60); + } + } else { + viewHolder.gameServerType.setBackgroundResource(R.drawable.textview_orange_up); + paddRight = DisplayUtils.dip2px(mContext, 30); + } + } + viewHolder.gameName.setPadding(0, 0, paddRight, 0); + viewHolder.gameDownloadBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { diff --git a/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java b/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java index 12749e10d2..6b9a37a593 100644 --- a/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java @@ -2,6 +2,8 @@ package com.gh.gamecenter.subject; import android.content.Context; import android.content.Intent; +import android.graphics.Color; +import android.support.v4.content.ContextCompat; import android.support.v4.util.ArrayMap; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView.ViewHolder; @@ -39,7 +41,6 @@ import com.gh.gamecenter.retrofit.RetrofitManager; import com.lightgame.adapter.BaseRecyclerAdapter; import java.util.ArrayList; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -381,33 +382,42 @@ public class SubjectAdapter extends BaseRecyclerAdapter { } else { holder.gameDes.setText(String.format("%s %s", gameEntity.getApk().get(0).getSize(), gameEntity.getBrief())); } - holder.gameTestType.setText(gameEntity.getTest().getType()); if (gameEntity.getTest().getStart() == 0) { holder.gameTestTime.setVisibility(View.GONE); } else { holder.gameTestTime.setText(GameViewUtils.getGameTestDate(gameEntity.getTest().getStart())); } - int paddRight = 0; - String serverType = gameEntity.getServerType(); - if (TextUtils.isEmpty(serverType)) { - holder.gameServerType.setVisibility(View.GONE); +// int paddRight = 0; +// String serverType = gameEntity.getServerType(); +// if (TextUtils.isEmpty(serverType)) { +// holder.gameServerType.setVisibility(View.GONE); +// } else { +// holder.gameServerType.setVisibility(View.VISIBLE); +// holder.gameServerType.setText(serverType); +// if ("删档内测".equals(serverType) || "不删档内测".equals(serverType)) { +// holder.gameServerType.setBackgroundResource(R.drawable.textview_server_tag); +// if ("删档内测".equals(serverType)) { +// paddRight = DisplayUtils.dip2px(mContext, 50); +// } else { +// paddRight = DisplayUtils.dip2px(mContext, 60); +// } +// } else { +// holder.gameServerType.setBackgroundResource(R.drawable.textview_orange_up); +// paddRight = DisplayUtils.dip2px(mContext, 30); +// } +// } +// holder.gameName.setPadding(0, 0, paddRight, 0); + + String type = gameEntity.getTest().getType(); + if ( type != null && type.equals("删档内测")) { + holder.gameTestType.setTextColor(ContextCompat.getColor(mContext, R.color.c7c7c7)); + holder.gameTestType.setBackgroundResource(R.drawable.kaifu_time_tag_gray); } else { - holder.gameServerType.setVisibility(View.VISIBLE); - holder.gameServerType.setText(serverType); - if ("删档内测".equals(serverType) || "不删档内测".equals(serverType)) { - holder.gameServerType.setBackgroundResource(R.drawable.textview_server_tag); - if ("删档内测".equals(serverType)) { - paddRight = DisplayUtils.dip2px(mContext, 50); - } else { - paddRight = DisplayUtils.dip2px(mContext, 60); - } - } else { - holder.gameServerType.setBackgroundResource(R.drawable.textview_orange_up); - paddRight = DisplayUtils.dip2px(mContext, 30); - } + holder.gameTestType.setTextColor(Color.parseColor("#ff9601")); + holder.gameTestType.setBackgroundResource(R.drawable.border_white_bg); } - holder.gameName.setPadding(0, 0, paddRight, 0); + holder.gameTestType.setText(type); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override @@ -424,14 +434,14 @@ public class SubjectAdapter extends BaseRecyclerAdapter { } }); - if (gameEntity.getTest().getEnd() != 0) { - long endTime = Long.valueOf(gameEntity.getTest().getEnd() + "000"); - long todayTime = new Date().getTime(); - if (todayTime > endTime) { - // 测试时间已过 - gameEntity.setApk(null); - } - } +// if (gameEntity.getTest().getEnd() != 0) { +// long endTime = Long.valueOf(gameEntity.getTest().getEnd() + "000"); +// long todayTime = new Date().getTime(); +// if (todayTime > endTime) { +// // 测试时间已过 +// gameEntity.setApk(null); +// } +// } DownloadItemUtils.setOnClickListener(mContext, holder.gameDownloadBtn, gameEntity, position, SubjectAdapter.this, diff --git a/app/src/main/res/drawable/gamedetail_kaifu_hint.xml b/app/src/main/res/drawable/gamedetail_kaifu_hint.xml index 8c0f011f8d..d6358c08dc 100644 --- a/app/src/main/res/drawable/gamedetail_kaifu_hint.xml +++ b/app/src/main/res/drawable/gamedetail_kaifu_hint.xml @@ -2,7 +2,7 @@ - + diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml index c89e57d7a3..ccf9ea1c11 100644 --- a/app/src/main/res/layout/activity_setting.xml +++ b/app/src/main/res/layout/activity_setting.xml @@ -76,7 +76,7 @@ android:background = "@drawable/reuse_listview_item_style" android:gravity = "center_vertical" android:paddingLeft = "20dp" - android:paddingRight = "20dp" > + android:paddingRight = "6dp" > + android:paddingRight = "6dp" > + android:paddingRight = "6dp" > - + android:gravity = "center" > + + + + + + 发送游戏 开服表 选择游戏 - 消息详情 + 评论详情 原创 资讯 可以插件化的游戏 diff --git a/gradle.properties b/gradle.properties index 2cc2ff7655..66d28a660f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -42,16 +42,16 @@ UMENG_MESSAGE_SECRET=8bcce6bed547ee624f5c2cc64d39a9e9 # hosts DEV_API_HOST=http\://dev.api.ghzs666.com/v3d0/ DEV_DATA_HOST=http\://data.ghzs666.com/ -DEV_LIBAO_HOST=http\://dev.libao.ghzs666.com/v1d2/ -DEV_MESSAGE_HOST=http\://dev.message.ghzs666.com/v1d2/ +DEV_LIBAO_HOST=http\://dev.libao.ghzs666.com/v1d3/ +DEV_MESSAGE_HOST=http\://dev.message.ghzs666.com/v1d1/ DEV_USER_HOST=http\://dev.user.ghzs666.com/v1d2/ DEV_COMMENT_HOST=http\://dev.comment.ghzs666.com/v1d3/ DEV_USERSEA_HOST=http\://dev.usersea.ghzs666.com/v1d0/ -API_HOST=http\://api.ghzs666.com/v2d6/ +API_HOST=http\://api.ghzs666.com/v3d0/ DATA_HOST=http\://data.ghzs666.com/ -LIBAO_HOST=http\://libao.ghzs666.com/v1d2/ -MESSAGE_HOST=http\://message.ghzs666.com/v1d0/ +LIBAO_HOST=http\://libao.ghzs666.com/v1d3/ +MESSAGE_HOST=http\://message.ghzs666.com/v1d1/ USER_HOST=http\://user.ghzs666.com/v1d2/ -COMMENT_HOST=http\://comment.ghzs666.com/v1d2/ +COMMENT_HOST=http\://comment.ghzs666.com/v1d3/ USERSEA_HOST=http\://usersea.ghzs666.com/v1d0/