diff --git a/app/src/main/java/com/gh/gamecenter/qa/AskFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/AskFragment.kt index 50dc083805..ad95e1b707 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/AskFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/AskFragment.kt @@ -7,6 +7,7 @@ import android.arch.lifecycle.Observer import android.arch.lifecycle.ViewModelProviders import android.content.Intent import android.content.SharedPreferences +import android.os.Build import android.os.Bundle import android.preference.PreferenceManager import android.support.v4.app.Fragment @@ -167,6 +168,10 @@ class AskFragment : BaseFragment() { mColumnLine.visibility = View.VISIBLE } }) + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + mPutQuestions.elevation = 10F + } } override fun onResume() { diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt index 590780f0c5..506cc69d97 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditViewModel.kt @@ -218,7 +218,7 @@ class AnswerEditViewModel(application: Application, override fun onFailure(e: HttpException?) { super.onFailure(e) - if (isExit) saveDraftsLiveData.postValue(true) + if (isExit) saveDraftsLiveData.postValue(false) } }) } diff --git a/app/src/main/java/com/gh/gamecenter/qa/entity/Questions.kt b/app/src/main/java/com/gh/gamecenter/qa/entity/Questions.kt index a37607bbc9..b4182a74f6 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/entity/Questions.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/entity/Questions.kt @@ -17,4 +17,5 @@ data class Questions(@SerializedName("_id") var answerCount: Int = 0, var description: String? = null, var images: List = ArrayList(), - val time: Long = 0) : Parcelable \ No newline at end of file + val time: Long = 0, + val count: Count = Count()) : Parcelable \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchActivity.java b/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchActivity.java index 9ef056ffc7..3b86066841 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchActivity.java +++ b/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchActivity.java @@ -131,9 +131,10 @@ public class AskSearchActivity extends BaseActivity { } else { mSearchEt.setHint("标签内搜索"); } + } else { + getCommunityDefaultSearch(); } - getCommunityDefaultSearch(); changeFragment(); mSearchEt.setOnEditorActionListener((v, actionId, event) -> { diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/base/BaseAskSearchFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/search/base/BaseAskSearchFragment.kt index a2d4fe129f..5ccafa1615 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/base/BaseAskSearchFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/base/BaseAskSearchFragment.kt @@ -22,6 +22,11 @@ abstract class BaseAskSearchFragment> : ListFragmen return setBaseAskListAdapter() } + override fun onCreate(savedInstanceState: Bundle?) { + questionTag = arguments?.getString(EntranceUtils.KEY_QUESTION_TAG) + columnId = arguments?.getString(EntranceUtils.KEY_COLUMN_ID) + super.onCreate(savedInstanceState) + } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val searchKey = arguments?.getString(EntranceUtils.KEY_SEARCHKEY) diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragment.kt index 1ee3a2e57b..272dde33aa 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragment.kt @@ -9,6 +9,7 @@ import android.view.View import butterknife.OnClick import com.gh.base.fragment.BaseFragment import com.gh.common.util.DialogUtils +import com.gh.common.util.EntranceUtils import com.gh.gamecenter.R import com.gh.gamecenter.db.AskSearchHistoryDao import kotterknife.bindView @@ -21,7 +22,7 @@ class HistoryFragment : BaseFragment() { private val mCleanBtn by bindView(R.id.search_history_clean) private val mHotContainer by bindView(R.id.search_hot_container) - private var dao: AskSearchHistoryDao? = null + private var mDao: AskSearchHistoryDao? = null private var mHistoryAdapter: HistoryFragmentAdapter? = null private lateinit var mViewModel: HistoryViewModel @@ -32,17 +33,16 @@ class HistoryFragment : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + mDao = AskSearchHistoryDao(context) mViewModel = ViewModelProviders.of(this).get(HistoryViewModel::class.java) mViewModel.hotSearchLiveData.observe(this, Observer { if (it?.size!! > 0) { - mHotRecyclerView.adapter = HotFragmentAdapter(context!!, it) + mHotRecyclerView.adapter = HotFragmentAdapter(context!!, it, mDao!!) mHotContainer.visibility = View.VISIBLE } else { mHotContainer.visibility = View.GONE } }) - - dao = AskSearchHistoryDao(context) mRecyclerView.layoutManager = object : GridLayoutManager(activity, 2) { override fun canScrollVertically(): Boolean { return false @@ -53,17 +53,22 @@ class HistoryFragment : BaseFragment() { return false } } - mHistoryAdapter = HistoryFragmentAdapter(context!!, dao!!, historyEmptyCallback = { + mHistoryAdapter = HistoryFragmentAdapter(context!!, mDao!!, historyEmptyCallback = { mHistoryContainer.visibility = View.GONE }) mRecyclerView.adapter = mHistoryAdapter + + if (activity?.intent?.getStringExtra(EntranceUtils.KEY_QUESTION_TAG).isNullOrEmpty() && + activity?.intent?.getStringExtra(EntranceUtils.KEY_COLUMN_ID).isNullOrEmpty()) { + mViewModel.getHotSearch() + } } @OnClick(R.id.search_history_clean) fun onDeleteClick() { DialogUtils.showWarningDialog(activity, "清空记录", "确定清空历史搜索记录?") { - dao?.deleteAll() + mDao?.deleteAll() mHistoryAdapter?.clearSearchResult() mHistoryContainer.visibility = View.GONE } diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryViewModel.kt index 03bc441b07..d677cfeb8c 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryViewModel.kt @@ -14,11 +14,7 @@ class HistoryViewModel(application: Application) : AndroidViewModel(application) val hotSearchLiveData = MutableLiveData>() - init { - getHotSearch() - } - - private fun getHotSearch() { + fun getHotSearch() { RetrofitManager.getInstance(getApplication()).api .getCommunityHotSearch(UserManager.getInstance().community.id) .subscribeOn(Schedulers.io()) diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/history/HotFragmentAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/history/HotFragmentAdapter.kt index 990688d08c..89ddc5a48d 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/history/HotFragmentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/history/HotFragmentAdapter.kt @@ -6,6 +6,7 @@ import com.gh.base.BaseRecyclerViewHolder import com.gh.common.util.MtaHelper import com.gh.gamecenter.R import com.gh.gamecenter.databinding.CommunitySearchHotItemBinding +import com.gh.gamecenter.db.AskSearchHistoryDao import com.gh.gamecenter.eventbus.EBSearch import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.qa.entity.CommunityHotSearch @@ -14,7 +15,9 @@ import com.lightgame.adapter.BaseRecyclerAdapter import com.lightgame.utils.Util_System_Keyboard import org.greenrobot.eventbus.EventBus -class HotFragmentAdapter(context: Context, val list: List) +class HotFragmentAdapter(context: Context, + private val mListEntity: List, + private val mDao:AskSearchHistoryDao) : BaseRecyclerAdapter(context) { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HotFragmentAdapter.HotViewHolder { @@ -23,15 +26,16 @@ class HotFragmentAdapter(context: Context, val list: List) } override fun getItemCount(): Int { - if (list.size > 8) return 8 // 最多显示8个 - return list.size + if (mListEntity.size > 8) return 8 // 最多显示8个 + return mListEntity.size } override fun onBindViewHolder(holder: HotFragmentAdapter.HotViewHolder, position: Int) { - val data = list[position] + val data = mListEntity[position] holder.binding.setPosition(position + 1) holder.binding.data = data holder.itemView.setOnClickListener { v -> + mDao.add(data.keyword, UserManager.getInstance().community.id) EventBus.getDefault().post(EBSearch(AskSearchActivity.ASK_SEARCH_EB_TYPE, data.keyword)) Util_System_Keyboard.hideSoftKeyboardByIBinder(mContext, v.windowToken) diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/hottest/HottestFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/search/hottest/HottestFragment.kt index 202fa78096..5136c1bade 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/hottest/HottestFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/hottest/HottestFragment.kt @@ -2,7 +2,6 @@ package com.gh.gamecenter.qa.search.hottest import android.arch.lifecycle.ViewModelProviders import android.text.TextUtils -import com.gh.common.util.EntranceUtils import com.gh.common.util.UrlFilterUtils import com.gh.gamecenter.baselist.NormalListViewModel import com.gh.gamecenter.manager.UserManager @@ -36,8 +35,6 @@ class HottestFragment : BaseAskSearchFragment>? { - questionTag = activity?.intent?.getStringExtra(EntranceUtils.KEY_QUESTION_TAG) - columnId = activity?.intent?.getStringExtra(EntranceUtils.KEY_COLUMN_ID) val api = RetrofitManager.getInstance(context).api return if (TextUtils.isEmpty(mSearchKey)) null else if (!questionTag.isNullOrEmpty()) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/newest/NewestFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/search/newest/NewestFragment.kt index a63d71e5c7..25b0ec5704 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/newest/NewestFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/newest/NewestFragment.kt @@ -2,7 +2,6 @@ package com.gh.gamecenter.qa.search.newest import android.arch.lifecycle.ViewModelProviders import android.text.TextUtils -import com.gh.common.util.EntranceUtils import com.gh.common.util.UrlFilterUtils import com.gh.gamecenter.baselist.NormalListViewModel import com.gh.gamecenter.manager.UserManager @@ -36,8 +35,6 @@ class NewestFragment : BaseAskSearchFragment>? { - questionTag = activity?.intent?.getStringExtra(EntranceUtils.KEY_QUESTION_TAG) - columnId = activity?.intent?.getStringExtra(EntranceUtils.KEY_COLUMN_ID) val api = RetrofitManager.getInstance(context).api return if (TextUtils.isEmpty(mSearchKey)) null else if (!questionTag.isNullOrEmpty()) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt index 3bba97618b..ef418db407 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionAdapter.kt @@ -32,7 +32,7 @@ class QuestionAdapter(context: Context, if (holder is AskSearchQuestionItemViewHolder) { val entity = mEntityList[position] holder.binding.questionsTitle.text = Html.fromHtml(replayKeyword(entity.title)) - holder.binding.questionsAnswerCount.text = (NumberUtils.transSimpleCount(entity.answerCount) + " 回答") + holder.binding.questionsAnswerCount.text = (NumberUtils.transSimpleCount(entity.count.answer) + " 回答") holder.itemView.setOnClickListener { val questions = Questions() questions.id = entity.id diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionFragment.kt index 7afd2ebd2e..db0dba1ed4 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/question/QuestionFragment.kt @@ -2,7 +2,6 @@ package com.gh.gamecenter.qa.search.question import android.arch.lifecycle.ViewModelProviders import android.text.TextUtils -import com.gh.common.util.EntranceUtils import com.gh.common.util.UrlFilterUtils import com.gh.gamecenter.baselist.NormalListViewModel import com.gh.gamecenter.manager.UserManager @@ -36,8 +35,6 @@ class QuestionFragment : BaseAskSearchFragment>? { - questionTag = activity?.intent?.getStringExtra(EntranceUtils.KEY_QUESTION_TAG) - columnId = activity?.intent?.getStringExtra(EntranceUtils.KEY_COLUMN_ID) val api = RetrofitManager.getInstance(context).api return if (TextUtils.isEmpty(mSearchKey)) null else if (!questionTag.isNullOrEmpty()) { diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/user/UserFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/search/user/UserFragment.kt index 0e15dcc941..791ee1f226 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/user/UserFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/user/UserFragment.kt @@ -4,7 +4,6 @@ import android.arch.lifecycle.Observer import android.arch.lifecycle.ViewModelProviders import android.os.Bundle import android.text.TextUtils -import com.gh.common.util.EntranceUtils import com.gh.common.util.UrlFilterUtils import com.gh.gamecenter.entity.FollowersOrFansEntity import com.gh.gamecenter.manager.UserManager @@ -47,8 +46,6 @@ class UserFragment : BaseAskSearchFragment } override fun provideDataObservable(page: Int): Observable>? { - questionTag = activity?.intent?.getStringExtra(EntranceUtils.KEY_QUESTION_TAG) - columnId = activity?.intent?.getStringExtra(EntranceUtils.KEY_COLUMN_ID) val api = RetrofitManager.getInstance(context).api return if (TextUtils.isEmpty(mSearchKey)) null else if (!questionTag.isNullOrEmpty()) {