diff --git a/app/src/main/java/com/gh/base/BaseActivity.java b/app/src/main/java/com/gh/base/BaseActivity.java index 392d666bcb..d3569b83ca 100644 --- a/app/src/main/java/com/gh/base/BaseActivity.java +++ b/app/src/main/java/com/gh/base/BaseActivity.java @@ -1,6 +1,5 @@ package com.gh.base; -import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.view.View; @@ -15,10 +14,10 @@ import com.gh.common.util.RunningUtils; import com.gh.common.util.ShareUtils; import com.gh.common.util.StringUtils; import com.gh.download.DownloadManager; -import com.gh.gamecenter.LoginActivity; import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.eventbus.EBShowDialog; +import com.gh.gamecenter.eventbus.EBSkip; import com.lightgame.download.FileUtils; import com.lightgame.utils.AppManager; import com.readystatesoftware.systembartint.SystemBarTintManager.SystemBarConfig; @@ -142,12 +141,10 @@ public abstract class BaseActivity extends BaseAppCompatToolBarActivity { , null, new DialogUtils.CancelListener() { @Override public void onCancel() { - // TODO 未测试 + EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 2)); if (!MainActivity.class.getName().equals(RunningUtils.getTopActivity(BaseActivity.this))) { finish(); } - Intent intent = LoginActivity.getIntent(BaseActivity.this, false); - startActivity(intent); } }); } catch (JSONException e) { diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/MainFragment.java index 9966f062a0..8d4f5648b2 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/MainFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/MainFragment.java @@ -17,7 +17,6 @@ import com.gh.gamecenter.db.MessageMarkReadDao; import com.gh.gamecenter.db.info.MessageMarkReadInfo; import com.gh.gamecenter.eventbus.EBSkip; import com.gh.gamecenter.eventbus.EBUISwitch; -import com.gh.gamecenter.message.MessageFragment; import com.gh.gamecenter.news.NewsWrapperFragment; import com.gh.gamecenter.personal.PersonalFragment; import com.gh.gamecenter.retrofit.Response; @@ -82,7 +81,7 @@ public class MainFragment extends BaseFragment_ViewPager_Checkable { protected void initFragmentList(List fragments) { fragments.add(new GameWrapperFragment()); fragments.add(new NewsWrapperFragment()); - fragments.add(new MessageFragment()); +// fragments.add(new MessageFragment()); fragments.add(new PersonalFragment()); } 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 91fae8dc38..939b64a2b9 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java @@ -42,6 +42,7 @@ import com.gh.gamecenter.entity.GameDetailContact; import com.gh.gamecenter.entity.GameDetailEntity; import com.gh.gamecenter.entity.GameDetailServer; import com.gh.gamecenter.entity.GameEntity; +import com.gh.gamecenter.entity.KaiFuServerEntity; import com.gh.gamecenter.entity.LibaoEntity; import com.gh.gamecenter.entity.LibaoStatusEntity; import com.gh.gamecenter.entity.NewsEntity; @@ -54,6 +55,7 @@ import com.lightgame.adapter.BaseRecyclerAdapter; import org.greenrobot.eventbus.EventBus; import java.util.ArrayList; +import java.util.Calendar; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -164,8 +166,9 @@ public class FuLiAdapter extends BaseRecyclerAdapter { position_libao = 0; } } - if (mGameDetailEntity.getServerEntity() != null && mGameDetailEntity.getServerEntity().getCalendar() != null - && mGameDetailEntity.getServerEntity().getCalendar().size() > 0) { + + + if (checkServerData()) { if (position_libao != -1) { position_kaifu = position_libao + 1; } else if (position_fuli != -1) { @@ -202,6 +205,30 @@ public class FuLiAdapter extends BaseRecyclerAdapter { } } + // 检查开服信息, 防止开服信息都是上一个月以前的,造成开服日历空白的问题 + private boolean checkServerData() { + if (mGameDetailEntity.getServerEntity() == null || mGameDetailEntity.getServerEntity().getCalendar() == null + || mGameDetailEntity.getServerEntity().getCalendar().size() == 0) { + return false; + } + + // 获取当前月的初始时间的时间戳 + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.MONTH, 0); + calendar.set(Calendar.DAY_OF_MONTH, 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + long curMonth = calendar.getTimeInMillis()/1000; + + List calendarService = mGameDetailEntity.getServerEntity().getCalendar(); + for (KaiFuServerEntity entity : calendarService) { + if (entity.getTime() > curMonth) return true; + } + + return false; + } + private void getToolTox() { RetrofitManager 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 91eff26db8..1325e800de 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/FuliFragment.java @@ -50,7 +50,7 @@ public class FuliFragment extends BaseFragment { mGameEntity = arguments.getParcelable(GameEntity.class.getSimpleName()); mDetailEntity = arguments.getParcelable(GameDetailEntity.class.getSimpleName()); - mRecyclerView = (RecyclerView) view.findViewById(R.id.fm_fuli_rv); + mRecyclerView = view.findViewById(R.id.fm_fuli_rv); mAdapter = new FuLiAdapter(getContext(), mEntrance, mGameEntity, mDetailEntity); mRecyclerView.setAdapter(mAdapter); @@ -110,6 +110,7 @@ public class FuliFragment extends BaseFragment { isCanScroll = true; } else if ("canShowKaifuHint".equals(reuse.getType())) { isCanShowKaiFuHint = true; + EventBus.getDefault().post(new EBReuse("showKaifuHint")); } else if ("scrollToKaiFu".equals(reuse.getType()) && layoutManager != null) { int position = layoutManager.getItemCount() - 2; if (position > 0) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiFragment.java b/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiFragment.java index 37dc2da483..31c4946828 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiFragment.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiFragment.java @@ -66,7 +66,7 @@ public class XinXiFragment extends BaseFragment { Bundle arguments = getArguments(); mGameEntity = arguments.getParcelable(GameEntity.class.getSimpleName()); mDetailEntity = arguments.getParcelable(GameDetailEntity.class.getSimpleName()); - mRecyclerView = (RecyclerView) view.findViewById(R.id.fm_fuli_rv); + mRecyclerView = view.findViewById(R.id.fm_fuli_rv); mAdapter = new XinXiAdapter(getContext(), mEntrance, mGameEntity, mDetailEntity); ((DefaultItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false); diff --git a/app/src/main/java/com/gh/gamecenter/libao/LibaoNewAdapter.kt b/app/src/main/java/com/gh/gamecenter/libao/LibaoNewAdapter.kt index a692c8cfb6..c40af13ec9 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/LibaoNewAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/libao/LibaoNewAdapter.kt @@ -44,6 +44,7 @@ class LibaoNewAdapter(callBackListener: OnRequestCallBackListener, private val mLibaoList: MutableList = ArrayList() private val mEntrance: String = entrance + private var mSearchKey: String? = null; private var skipPosition: Int = -1 @@ -202,11 +203,16 @@ class LibaoNewAdapter(callBackListener: OnRequestCallBackListener, private fun initSearchViewHolder(holder: LibaoSearchViewHolder) { holder.backTv.visibility = View.GONE + if (!TextUtils.isEmpty(mSearchKey)) { + holder.searchEt.setText(mSearchKey) + } + holder.searchTv.setOnClickListener({ val key = holder.searchEt.text.toString() if (TextUtils.isEmpty(key)) { Utils.toast(mContext, "请输入关键字") - } else{ + } else { + mSearchKey = key EventBus.getDefault().post(EBListSearch(key, true)) } }) @@ -282,5 +288,10 @@ class LibaoNewAdapter(callBackListener: OnRequestCallBackListener, return isNetworkError } - + fun setSearchKey(key: String) { + mSearchKey = key + if (itemCount > 0) { + notifyItemChanged(0) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/libao/LibaoNewFragment.java b/app/src/main/java/com/gh/gamecenter/libao/LibaoNewFragment.java index 830bc2a498..42ed8429bc 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/LibaoNewFragment.java +++ b/app/src/main/java/com/gh/gamecenter/libao/LibaoNewFragment.java @@ -15,9 +15,12 @@ import com.gh.base.fragment.BaseFragment; import com.gh.common.view.SwipeLayout; import com.gh.common.view.VerticalItemDecoration; import com.gh.gamecenter.R; +import com.gh.gamecenter.eventbus.EBListSearch; import com.gh.gamecenter.eventbus.EBReuse; import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; import butterknife.BindView; @@ -61,6 +64,7 @@ public class LibaoNewFragment extends BaseFragment implements SwipeRefreshLayout public void run() { mAdapter = new LibaoNewAdapter(LibaoNewFragment.this, LibaoNewFragment.this, mEntrance); mAdapter.addLibaoList(0); + mRecyclerView.setAdapter(mAdapter); } }; @@ -77,7 +81,6 @@ public class LibaoNewFragment extends BaseFragment implements SwipeRefreshLayout swipeLayout.setDragEdge(SwipeLayout.DragEdge.Bottom); swipeLayout.setSwipeEnabled(false); - mRecyclerView.setHasFixedSize(true); mLayoutManager = new LinearLayoutManager(getActivity()); mRecyclerView.setLayoutManager(mLayoutManager); @@ -240,4 +243,12 @@ public class LibaoNewFragment extends BaseFragment implements SwipeRefreshLayout public void onRefresh() { postDelayedRunnable(runnable, 1000); } + + // 页面切换事件(查看历史礼包的页面) + @Subscribe(threadMode = ThreadMode.MAIN) + public void onEventMainThread(EBListSearch reuse) { + if (!reuse.isEnterSearch()) { + mAdapter.setSearchKey(reuse.getSearckKey()); + } + } } diff --git a/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchAdapter.kt b/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchAdapter.kt index ddfc352bac..dad5740b87 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchAdapter.kt @@ -216,7 +216,7 @@ class LibaoSearchAdapter(fragment: LibaoSearchFragment, } holder.backTv.setOnClickListener { - EventBus.getDefault().post(EBListSearch(null, false)) + EventBus.getDefault().post(EBListSearch(mSearchKey, false)) } holder.searchTv.setOnClickListener({ diff --git a/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchFragment.java b/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchFragment.java index fdcd7e0740..25af9a650e 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchFragment.java +++ b/app/src/main/java/com/gh/gamecenter/libao/LibaoSearchFragment.java @@ -11,7 +11,6 @@ import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.fragment.BaseFragment; import com.gh.common.view.VerticalItemDecoration; import com.gh.gamecenter.R; -import com.lightgame.utils.Utils; import butterknife.BindView; @@ -86,6 +85,8 @@ public class LibaoSearchFragment extends BaseFragment implements SwipeRefreshLay public void loadDone() { // 数据加载成功回调 mRefreshLayout.setRefreshing(false); mLoading.setVisibility(View.GONE); + mNoneData.setVisibility(View.GONE); + mNoConnection.setVisibility(View.GONE); } @@ -93,8 +94,8 @@ public class LibaoSearchFragment extends BaseFragment implements SwipeRefreshLay public void loadError() { // 数据加载失败回调 mRefreshLayout.setRefreshing(false); mLoading.setVisibility(View.GONE); - mRecyclerView.setVisibility(View.GONE); mNoConnection.setVisibility(View.VISIBLE); + mNoneData.setVisibility(View.GONE); } @Override @@ -102,6 +103,7 @@ public class LibaoSearchFragment extends BaseFragment implements SwipeRefreshLay mRefreshLayout.setRefreshing(false); mLoading.setVisibility(View.GONE); mNoneData.setVisibility(View.VISIBLE); + mNoConnection.setVisibility(View.GONE); } @@ -121,7 +123,6 @@ public class LibaoSearchFragment extends BaseFragment implements SwipeRefreshLay @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); - Utils.log("============gggg::" + getUserVisibleHint()); if (getUserVisibleHint()) { Bundle arguments = getArguments(); if (arguments != null && !mSearchKey.equals(arguments.getString("searchKey", ""))) { diff --git a/app/src/main/res/layout/fragment_libao1.xml b/app/src/main/res/layout/fragment_libao1.xml index f7173455c0..84b611d4e5 100644 --- a/app/src/main/res/layout/fragment_libao1.xml +++ b/app/src/main/res/layout/fragment_libao1.xml @@ -12,7 +12,7 @@ + android:layout_height = "match_parent" /> + android:layout_height = "match_parent" /> + android:layout_height = "match_parent" />