diff --git a/README.md b/README.md index 91a77a397a..36d0c60576 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ### 多渠道打包配置 * 使用[ApkChannelPackage](https://github.com/ltlovezh/ApkChannelPackage)的方案 -* 正式打包命令:请使用./gradlew channelRelease打包渠道包 +* 正式打包命令:请使用./gradlew channelPubRelease打包渠道包 ### 混淆配置 * 配置文件:Android默认配置+proguard-rules.txt等 diff --git a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java index a77503f057..86e9438705 100644 --- a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java @@ -51,6 +51,7 @@ import com.lightgame.utils.Utils; import com.lightgame.view.NoScrollableViewPager; import com.tencent.tauth.Tencent; +import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -103,6 +104,8 @@ public class GameDetailActivity extends BaseActivity { ImageView mShareIv; @BindView(R.id.gamedetail_appbar) AppBarLayout mAppBarLayout; + @BindView(R.id.gamedetail_kaifu_hint) + View mKaifuHint; private ConcernManager mConcernManager; private String mGameId; @@ -114,6 +117,8 @@ public class GameDetailActivity extends BaseActivity { private String title; // 页面标题 private String shareCode; private boolean mIsTouchScreen = false; + private boolean mIsShowKaifuHint; + private int mCurVpPosition; private DataWatcher dataWatcher = new DataWatcher() { @Override @@ -225,12 +230,17 @@ public class GameDetailActivity extends BaseActivity { @Override public void onPageSelected(int position) { + mCurVpPosition = position; if (position == 0) { + if (mIsShowKaifuHint) { + mKaifuHint.setVisibility(View.VISIBLE); + } mTanBarFuLiTv.setTextColor(Color.WHITE); mTanBarFuLiTv.setBackgroundResource(R.drawable.gamedetail_tag_select_bg); mTanBarXinXiTv.setTextColor(Color.BLACK); mTanBarXinXiTv.setBackgroundDrawable(new ColorDrawable(0)); } else { + mKaifuHint.setVisibility(View.GONE); mTanBarXinXiTv.setTextColor(Color.WHITE); mTanBarXinXiTv.setBackgroundResource(R.drawable.gamedetail_tag_unselect_bg); mTanBarFuLiTv.setTextColor(Color.BLACK); @@ -422,6 +432,19 @@ public class GameDetailActivity extends BaseActivity { mAppBarLayout.setExpanded(true, true); } else if (SKIP_FULI.equals(reuse.getType())) { mViewPager.setCurrentItem(0); + } else if ("hideKaifuHint".equals(reuse.getType())) { + mIsShowKaifuHint = false; + mKaifuHint.setVisibility(View.GONE); + } else if ("showKaifuHint".equals(reuse.getType())) { + mIsShowKaifuHint = true; + if (mCurVpPosition == 0) { + mKaifuHint.post(new Runnable() { + @Override + public void run() { + mKaifuHint.setVisibility(View.VISIBLE); + } + }); + } } } @@ -464,8 +487,8 @@ public class GameDetailActivity extends BaseActivity { } @OnClick({R.id.detail_tv_download, R.id.detail_pb_progressbar, R.id.reuse_no_connection - , R.id.detail_tv_per, R.id.gamedetail_tabbar_xinxi_tv, R.id.gamedetail_tv_concern - , R.id.gamedetail_tabbar_fuli_tv, R.id.gamedetail_share}) + , R.id.detail_tv_per, R.id.gamedetail_tabbar_xinxi_tv, R.id.gamedetail_tabbar_fuli_tv + , R.id.gamedetail_share, R.id.gamedetail_kaifu_hint}) public void onClick(View v) { switch (v.getId()) { case R.id.gamedetail_tabbar_fuli_tv: @@ -537,6 +560,10 @@ public class GameDetailActivity extends BaseActivity { } }); break; + case R.id.gamedetail_kaifu_hint: + mAppBarLayout.setExpanded(false, true); + EventBus.getDefault().post(new EBReuse("scrollToKaiFu")); + break; } } diff --git a/app/src/main/java/com/gh/gamecenter/SkipActivity.java b/app/src/main/java/com/gh/gamecenter/SkipActivity.java index cc97b12c43..795f3f4bc8 100644 --- a/app/src/main/java/com/gh/gamecenter/SkipActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SkipActivity.java @@ -82,6 +82,7 @@ public class SkipActivity extends BaseActivity { uri.getQueryParameter(KEY_VERSION)); intent.putExtra(KEY_CONTENT, content); intent.putExtra(KEY_SUGGEST_HINT_TYPE, KEY_PLUGIN); + intent.putExtra("suggestType", 4); intent.setClass(this, SuggestionActivity.class); break; case HOST_DOWNLOAD: @@ -120,6 +121,8 @@ public class SkipActivity extends BaseActivity { PlatformUtils.getInstance(this).getPlatformName(uri.getQueryParameter(KEY_PLATFORM)), uri.getQueryParameter(KEY_VERSION)); intent.putExtra(KEY_CONTENT, content); + intent.putExtra(KEY_SUGGEST_HINT_TYPE, KEY_PLUGIN); + intent.putExtra("suggestType", 4); intent.putExtra(KEY_TO, "SuggestionActivity"); break; case HOST_DOWNLOAD: diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index 33e8f96996..c6154e8617 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -175,7 +175,10 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt String suggestHintType = getIntent().getExtras().getString("suggestHintType"); if (getIntent().getBundleExtra("data") != null) { - suggestContent = getIntent().getBundleExtra("data").getString("content"); + Bundle data = getIntent().getBundleExtra("data"); + suggestContent = data.getString("content"); + suggestHintType = data.getString("suggestHintType"); + curType = data.getInt("suggestType"); } sp = PreferenceManager.getDefaultSharedPreferences(this); diff --git a/app/src/main/java/com/gh/gamecenter/VoteActivity.java b/app/src/main/java/com/gh/gamecenter/VoteActivity.java index 053ddfc3cd..f840508224 100644 --- a/app/src/main/java/com/gh/gamecenter/VoteActivity.java +++ b/app/src/main/java/com/gh/gamecenter/VoteActivity.java @@ -181,7 +181,7 @@ public class VoteActivity extends BaseActivity implements SwipeRefreshLayout.OnR Toast.makeText(VoteActivity.this, "请输入名字", Toast.LENGTH_SHORT).show(); return true; } - + postVersionVote(nickname, true, true); dialog.dismiss(); return true; } 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 5370011a7c..91fae8dc38 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java @@ -126,8 +126,23 @@ public class FuLiAdapter extends BaseRecyclerAdapter { } } - if (mToolBoxList != null && mToolBoxList.size() > 0) { + if (!TextUtils.isEmpty(mGameDetailEntity.getFulishuoming()) + || contact != null && (contact.getService() != null && !TextUtils.isEmpty(contact.getService().getDes()) + || contact.getPlayer() != null && !TextUtils.isEmpty(contact.getService().getDes()))) { + if (position_news != -1) { + position_fuli = position_news + 1; + } else if (position_notice != -1) { + position_fuli = position_notice + 1; + } else { + position_fuli = 0; + } + } + + if (mToolBoxList != null && mToolBoxList.size() > 0) { + if (position_fuli != -1) { + position_tools = position_fuli + 1; + } else if (position_news != -1) { position_tools = position_news + 1; } else if (position_notice != -1) { position_tools = position_notice + 1; @@ -136,19 +151,6 @@ public class FuLiAdapter extends BaseRecyclerAdapter { } } - if (!TextUtils.isEmpty(mGameDetailEntity.getFulishuoming()) - || contact != null && (contact.getService() != null && !TextUtils.isEmpty(contact.getService().getDes()) - || contact.getPlayer() != null && !TextUtils.isEmpty(contact.getService().getDes()))) { - if (position_tools != -1) { - position_fuli = position_tools + 1; - } else if (position_news != -1) { - position_fuli = position_news + 1; - } else if (position_notice != -1) { - position_fuli = position_notice + 1; - } else { - position_fuli = 0; - } - } if (mLibaoList != null && mLibaoList.size() > 0) { if (position_fuli != -1) { position_libao = position_fuli + 1; @@ -178,8 +180,29 @@ public class FuLiAdapter extends BaseRecyclerAdapter { position_kaifu = 0; } } + + if (position_kaifu != -1) { + int index = 0; + if (position_news != -1) { + index ++; + } + if (position_tools != -1) { + index ++; + } + if (position_libao != -1) { + index ++; + } + if (position_fuli != -1) { + index ++; + } + + if (index >= 2) { + EventBus.getDefault().post(new EBReuse("canShowKaifuHint")); + } + } } + private void getToolTox() { RetrofitManager .getApi() @@ -527,12 +550,12 @@ public class FuLiAdapter extends BaseRecyclerAdapter { private void initLibaoViewHolder(GameDetaiLibaoViewHolder viewHolder) { viewHolder.libaoRv.setNestedScrollingEnabled(false); ViewGroup.LayoutParams params2 = viewHolder.libaoRv.getLayoutParams(); - if (mLibaoList != null && (mLibaoList.size() <= 3 || isOpenLibaoList)) { + if (mLibaoList != null && (mLibaoList.size() <= 2 || isOpenLibaoList)) { viewHolder.openList.setVisibility(View.GONE); params2.height = DisplayUtils.dip2px(mContext, 68) * mLibaoList.size(); } else { viewHolder.openList.setVisibility(View.VISIBLE); - params2.height = DisplayUtils.dip2px(mContext, 68) * 3; + params2.height = DisplayUtils.dip2px(mContext, 68) * 2; } viewHolder.libaoRv.setLayoutParams(params2); diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java b/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java index dcc0c7b198..91eff26db8 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java @@ -7,6 +7,7 @@ import android.support.v7.widget.RecyclerView; import android.view.View; import com.gh.base.fragment.BaseFragment; +import com.gh.common.util.DisplayUtils; import com.gh.common.view.VerticalItemDecoration; import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.R; @@ -33,6 +34,9 @@ public class FuliFragment extends BaseFragment { private GameDetailEntity mDetailEntity; private boolean isCanScroll; + private boolean isCanShowKaiFuHint; + + private int indexHeight = 0; @Override protected int getLayoutId() { @@ -68,6 +72,24 @@ public class FuliFragment extends BaseFragment { if (position == 0 && Math.abs(dy) > 10) { EventBus.getDefault().post(new EBReuse(GameDetailActivity.OPEN_APPBAR)); } + + + if (isCanShowKaiFuHint) { + int lastVisibleItemPosition = layoutManager.findLastVisibleItemPosition(); + int itemCount = layoutManager.getItemCount(); + + if (lastVisibleItemPosition >= itemCount - 2) { + indexHeight += dy; + if (DisplayUtils.px2dip(getContext(), indexHeight) >= 45) { + EventBus.getDefault().post(new EBReuse("hideKaifuHint")); + } else { + EventBus.getDefault().post(new EBReuse("showKaifuHint")); + } + } else { + indexHeight = 0; + EventBus.getDefault().post(new EBReuse("showKaifuHint")); + } + } } }); } @@ -86,6 +108,12 @@ public class FuliFragment extends BaseFragment { isCanScroll = false; } else if ("CalenderCancel".equals(reuse.getType())) { isCanScroll = true; + } else if ("canShowKaifuHint".equals(reuse.getType())) { + isCanShowKaiFuHint = true; + } else if ("scrollToKaiFu".equals(reuse.getType()) && layoutManager != null) { + int position = layoutManager.getItemCount() - 2; + if (position > 0) + layoutManager.smoothScrollToPosition(mRecyclerView, null, position); } } diff --git a/app/src/main/res/drawable-xhdpi/gamedetail_kaifu_hint_icon1.png b/app/src/main/res/drawable-xhdpi/gamedetail_kaifu_hint_icon1.png new file mode 100644 index 0000000000..283a82e6ed Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/gamedetail_kaifu_hint_icon1.png differ diff --git a/app/src/main/res/drawable-xhdpi/gamedetail_kaifu_hint_icon2.png b/app/src/main/res/drawable-xhdpi/gamedetail_kaifu_hint_icon2.png new file mode 100644 index 0000000000..7bf4d7a50b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/gamedetail_kaifu_hint_icon2.png differ diff --git a/app/src/main/res/drawable/gamedetail_kaifu_hint.xml b/app/src/main/res/drawable/gamedetail_kaifu_hint.xml new file mode 100644 index 0000000000..8c0f011f8d --- /dev/null +++ b/app/src/main/res/drawable/gamedetail_kaifu_hint.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_gamedetail.xml b/app/src/main/res/layout/activity_gamedetail.xml index 058869fee8..8ecec46e56 100644 --- a/app/src/main/res/layout/activity_gamedetail.xml +++ b/app/src/main/res/layout/activity_gamedetail.xml @@ -120,5 +120,43 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_modify_nickname.xml b/app/src/main/res/layout/dialog_modify_nickname.xml index 6207331494..5f50e313e8 100644 --- a/app/src/main/res/layout/dialog_modify_nickname.xml +++ b/app/src/main/res/layout/dialog_modify_nickname.xml @@ -32,6 +32,7 @@ android:background = "@drawable/dialog_edit_bg" android:hint = "@string/dialog_nickname_input" android:imeOptions = "actionDone" + android:inputType = "textPersonName" android:maxLength = "10" android:maxLines = "1" android:padding = "8dp" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index efcd6b6ed2..6651d3f7b1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -60,7 +60,7 @@ 开服日历 (时间仅供参考,点击日期查看详情) 关闭 - 反馈错误 + 有奖反馈 礼包名称 游戏礼包 资讯攻略