From d2efb8391c2ff2c774b7f21bae8eecb8ca5e8486 Mon Sep 17 00:00:00 2001 From: leafwai Date: Fri, 4 Mar 2022 10:39:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=85=A8=E7=A7=BB=E9=99=A4=20DataBind?= =?UTF-8?q?ing=20https://git.shanqu.cc/halo/android/assistant-android/-/is?= =?UTF-8?q?sues/59?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/databind/AddKaiFuBindingAdapter.kt | 25 +++- .../gh/common/databind/BindingAdapters.java | 15 ++- .../gh/download/dialog/DownloadLinkDialog.kt | 2 - .../collection/GamesCollectionAdapter.kt | 1 - .../forum/detail/ForumDetailFragment.kt | 2 - .../forum/home/ForumFollowAdapter.kt | 1 - .../game/upload/UploadScheduleDialog.kt | 2 - .../gamedetail/desc/GameLibaoAdapter.kt | 2 - .../gamedetail/desc/GameRaidersAdapter.kt | 1 - .../gamedetail/fuli/GameNewsAdapter.kt | 1 - .../fuli/kaifu/ServersCalendarActivity.kt | 1 - .../message/MessageNormalAdapter.java | 5 +- .../personal/NewPersonalFragment.kt | 2 - .../gamecenter/personal/PersonalFragment.kt | 1 - .../home/game/UserCommentHistoryAdapter.kt | 1 - .../qa/article/detail/ArticleDetailAdapter.kt | 2 - .../qa/questions/edit/QuestionEditActivity.kt | 5 +- .../newdetail/NewQuestionDetailAdapter.kt | 3 - app/src/main/res/layout/kaifu_add_item.xml | 122 ++++++------------ .../main/res/layout/kaifu_detail_item_row.xml | 108 ++++++---------- app/src/main/res/layout/reuse_loading.xml | 29 ++--- .../main/res/layout/reuse_no_connection.xml | 61 +++++---- 22 files changed, 155 insertions(+), 237 deletions(-) diff --git a/app/src/main/java/com/gh/common/databind/AddKaiFuBindingAdapter.kt b/app/src/main/java/com/gh/common/databind/AddKaiFuBindingAdapter.kt index 1cd7efae08..5c3ff6aa0e 100644 --- a/app/src/main/java/com/gh/common/databind/AddKaiFuBindingAdapter.kt +++ b/app/src/main/java/com/gh/common/databind/AddKaiFuBindingAdapter.kt @@ -34,7 +34,7 @@ object AddKaiFuBindingAdapter { fun addKaiFuView( view: LinearLayout, list: List?, - listener: OnViewClickListener<*>? + listener: OnViewClickListener? ) { if (list == null) return view.removeAllViews() @@ -42,10 +42,25 @@ object AddKaiFuBindingAdapter { for (i in list.indices) { val inflate = LayoutInflater.from(view.context).inflate(R.layout.kaifu_add_item, null) val binding = KaifuAddItemBinding.bind(inflate) - binding.clickListener = listener - binding.entity = list[i] - binding.position = i - binding.isCloseBottom = list.size - 1 == i + val entity = list[i] + entity?.let { + binding.run { + addKaiFuTime(kaifuAddTime, it.getTime(), i) + kaiFuTextColor(kaifuAddTime, it.getDataMark(), i) + kaiFuTextColor(kaifuAddFirstName, it.getDataMark(), i) + kaiFuTextColor(kaifuAddServerName, it.getDataMark(), i) + kaifuAddTime.setOnClickListener { view -> listener?.onClick(view, i) } + kaifuAddFirstName.setOnClickListener { view -> listener?.onClick(view, i) } + kaifuAddServerName.setOnClickListener { view -> listener?.onClick(view, i) } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + kaifuAddFirstName.focusable = if (i == 0) View.NOT_FOCUSABLE else View.FOCUSABLE + kaifuAddServerName.focusable = if (i == 0) View.NOT_FOCUSABLE else View.FOCUSABLE + } + kaifuAddFirstName.setText(it.getFirstName()) + kaifuAddServerName.setText(it.getServerName()) + kaifuAddServerName.setHintTextColor(if (i == 0) ContextCompat.getColor(binding.root.context, R.color.hint) else ContextCompat.getColor(binding.root.context, R.color.title)) + } + } view.addView(inflate) binding.kaifuAddFirstName.setOnFocusChangeListener { _, hasFocus -> if (hasFocus) { diff --git a/app/src/main/java/com/gh/common/databind/BindingAdapters.java b/app/src/main/java/com/gh/common/databind/BindingAdapters.java index 072ca0349b..8541bc2b1d 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -34,6 +34,7 @@ import com.gh.common.util.DataUtils; import com.gh.common.util.DialogUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.DownloadDialogHelper; +import com.gh.common.util.ExtensionsKt; import com.gh.common.util.GameUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; @@ -127,13 +128,13 @@ public class BindingAdapters { for (int i = 0; i < list.size() + 1; i++) { // 1 is Title View inflate = LayoutInflater.from(view.getContext()).inflate(R.layout.kaifu_detail_item_row, null); KaifuDetailItemRowBinding binding = KaifuDetailItemRowBinding.bind(inflate); - binding.setIsCloseBottom(i == list.size()); - binding.setIsReadyPatch(isReadyPatch); - if (i == 0) { - binding.setIsTitle(true); - } else { - ServerCalendarEntity serverEntity = list.get(i - 1); - binding.setEntity(serverEntity); + binding.getRoot().setBackgroundColor(isReadyPatch ? ExtensionsKt.toColor(R.color.theme) : ExtensionsKt.toColor(R.color.white)); + binding.getRoot().setPadding(DisplayUtils.dip2px(1), DisplayUtils.dip2px(1), DisplayUtils.dip2px(1), i == list.size() ? DisplayUtils.dip2px(1) : 0); + ServerCalendarEntity serverEntity = list.get(i - 1); + binding.timeTv.setText(i == 0 ? "时间" : serverEntity.getFormatTime("HH:mm")); + binding.remarkTv.setText(i == 0 ? "备注" : serverEntity.getRemark()); + binding.nameTv.setText(i == 0 ? "名字" : (TextUtils.isEmpty(serverEntity.getNote()) ? "-" : serverEntity.getNote())); + if (i != 0) { binding.getRoot().setOnClickListener(v -> { listener.onClick(v, isReadyPatch != null && isReadyPatch ? serverEntity : null); }); diff --git a/app/src/main/java/com/gh/download/dialog/DownloadLinkDialog.kt b/app/src/main/java/com/gh/download/dialog/DownloadLinkDialog.kt index b3249dc9a8..67f26089a1 100644 --- a/app/src/main/java/com/gh/download/dialog/DownloadLinkDialog.kt +++ b/app/src/main/java/com/gh/download/dialog/DownloadLinkDialog.kt @@ -5,12 +5,10 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.databinding.DataBindingUtil import androidx.fragment.app.FragmentActivity import com.gh.base.fragment.BaseDialogFragment import com.gh.common.util.dip2px import com.gh.gamecenter.BuildConfig -import com.gh.gamecenter.R import com.gh.gamecenter.databinding.DialogDownloadLinkBinding import com.gh.gamecenter.entity.GameEntity import com.halo.assistant.HaloApp diff --git a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionAdapter.kt b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionAdapter.kt index 19e7924e6a..c2a72d85b8 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/collection/GamesCollectionAdapter.kt @@ -12,7 +12,6 @@ import android.widget.LinearLayout import android.widget.PopupWindow import android.widget.TextView import androidx.appcompat.app.AppCompatActivity -import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView import com.gh.common.constant.ItemViewType import com.gh.common.syncpage.ISyncAdapterHandler diff --git a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt index 1d65e34d31..4eaa776a8d 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/detail/ForumDetailFragment.kt @@ -15,11 +15,9 @@ import android.widget.LinearLayout import android.widget.PopupWindow import android.widget.TextView import androidx.annotation.RequiresApi -import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat import androidx.core.os.bundleOf import androidx.core.view.ViewCompat -import androidx.databinding.DataBindingUtil import androidx.fragment.app.Fragment import androidx.lifecycle.Observer import androidx.recyclerview.widget.LinearLayoutManager diff --git a/app/src/main/java/com/gh/gamecenter/forum/home/ForumFollowAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/home/ForumFollowAdapter.kt index 289b13f85d..4da83b7564 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/home/ForumFollowAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/home/ForumFollowAdapter.kt @@ -4,7 +4,6 @@ import android.content.Context import android.view.View import android.view.ViewGroup import androidx.core.content.ContextCompat -import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView import com.gh.common.util.* import com.gh.gamecenter.R diff --git a/app/src/main/java/com/gh/gamecenter/game/upload/UploadScheduleDialog.kt b/app/src/main/java/com/gh/gamecenter/game/upload/UploadScheduleDialog.kt index 0d1f6a912e..3b3bcf195b 100644 --- a/app/src/main/java/com/gh/gamecenter/game/upload/UploadScheduleDialog.kt +++ b/app/src/main/java/com/gh/gamecenter/game/upload/UploadScheduleDialog.kt @@ -5,10 +5,8 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.core.content.ContextCompat -import androidx.databinding.DataBindingUtil import com.gh.base.fragment.BaseDialogFragment import com.gh.common.util.MtaHelper -import com.gh.common.util.goneIf import com.gh.gamecenter.R import com.gh.gamecenter.databinding.DialogUploadScheduleBinding diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLibaoAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLibaoAdapter.kt index 793bd5369c..2a85525971 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLibaoAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameLibaoAdapter.kt @@ -4,7 +4,6 @@ import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView import com.gh.base.OnListClickListener import com.gh.common.util.* @@ -13,7 +12,6 @@ import com.gh.gamecenter.databinding.ItemGameDetailMoreBinding import com.gh.gamecenter.databinding.ItemGameLibaoBinding import com.gh.gamecenter.entity.LibaoEntity import com.gh.gamecenter.manager.UserManager -import java.util.* class GameLibaoAdapter(val context: Context, val libaos: ArrayList, val gameName: String, val listListener: OnListClickListener?) : RecyclerView.Adapter() { var mIsExpand = false diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt index b47cae257b..16d56f4d3b 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameRaidersAdapter.kt @@ -3,7 +3,6 @@ package com.gh.gamecenter.gamedetail.desc import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup -import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView import com.gh.common.DefaultUrlHandler import com.gh.common.util.* diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt index 5c3f0144b0..a7edfded4b 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/GameNewsAdapter.kt @@ -4,7 +4,6 @@ import android.content.Context import android.view.LayoutInflater import android.view.ViewGroup import androidx.core.content.ContextCompat -import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView import com.gh.common.util.DataCollectionUtils import com.gh.common.util.DataUtils diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarActivity.kt index 911e115539..69008dcd1f 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarActivity.kt @@ -10,7 +10,6 @@ import android.os.Bundle import android.text.TextUtils import android.view.* import android.widget.TextView -import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProviders import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageNormalAdapter.java b/app/src/main/java/com/gh/gamecenter/message/MessageNormalAdapter.java index ab3b298c19..b36be8a4e8 100644 --- a/app/src/main/java/com/gh/gamecenter/message/MessageNormalAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/message/MessageNormalAdapter.java @@ -4,6 +4,8 @@ import android.content.Context; import android.view.View; import android.view.ViewGroup; +import androidx.recyclerview.widget.RecyclerView; + import com.gh.base.OnListClickListener; import com.gh.common.constant.ItemViewType; import com.gh.common.util.DialogHelper; @@ -13,9 +15,6 @@ import com.gh.gamecenter.baselist.ListAdapter; import com.gh.gamecenter.databinding.MessageItemBinding; import com.gh.gamecenter.entity.MessageEntity; -import androidx.databinding.DataBindingUtil; -import androidx.recyclerview.widget.RecyclerView; - /** * Created by khy on 23/03/18. */ diff --git a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt b/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt index 8366c41cd7..e000371927 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/NewPersonalFragment.kt @@ -8,7 +8,6 @@ import android.text.TextUtils import android.view.View import android.view.ViewGroup import androidx.core.content.ContextCompat -import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import com.gh.base.fragment.BaseLazyFragment @@ -61,7 +60,6 @@ import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode import org.json.JSONObject -import java.util.* import kotlin.math.abs class NewPersonalFragment : BaseLazyFragment() { diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt index 83b9b07d04..319bdba268 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt @@ -9,7 +9,6 @@ import android.text.TextUtils import android.view.View import android.view.ViewGroup import androidx.core.content.ContextCompat -import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import com.gh.base.BaseActivity diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/home/game/UserCommentHistoryAdapter.kt b/app/src/main/java/com/gh/gamecenter/personalhome/home/game/UserCommentHistoryAdapter.kt index 236b3533a5..37f9597335 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/home/game/UserCommentHistoryAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/home/game/UserCommentHistoryAdapter.kt @@ -5,7 +5,6 @@ import android.graphics.Color import android.util.SparseBooleanArray import android.view.View import android.view.ViewGroup -import androidx.databinding.DataBindingUtil import androidx.fragment.app.Fragment import androidx.recyclerview.widget.RecyclerView import com.gh.base.BaseRecyclerViewHolder diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailAdapter.kt index 6cce9bea9b..d9f8f9385e 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailAdapter.kt @@ -2,9 +2,7 @@ package com.gh.gamecenter.qa.article.detail import android.content.Context import android.view.ViewGroup -import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView -import com.gh.gamecenter.R import com.gh.gamecenter.baselist.LoadStatus import com.gh.gamecenter.databinding.ItemArticleDetailContentBinding import com.gh.gamecenter.qa.comment.base.BaseCommentAdapter diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt index fc505ee290..1524562cd4 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt @@ -10,11 +10,12 @@ import android.os.Message import android.text.Editable import android.text.TextUtils import android.text.TextWatcher -import android.view.* +import android.view.KeyEvent +import android.view.MenuItem +import android.view.View import android.widget.EditText import androidx.core.content.ContextCompat import androidx.core.widget.addTextChangedListener -import androidx.databinding.DataBindingUtil import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProviders import com.gh.base.BaseRichEditorActivity diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/newdetail/NewQuestionDetailAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/newdetail/NewQuestionDetailAdapter.kt index b623b40df4..128082c565 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/newdetail/NewQuestionDetailAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/newdetail/NewQuestionDetailAdapter.kt @@ -3,16 +3,13 @@ package com.gh.gamecenter.qa.questions.newdetail import android.content.Context import android.text.SpannableStringBuilder import android.view.ViewGroup -import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.RecyclerView -import com.gh.common.syncpage.ISyncAdapterHandler import com.gh.common.util.SpanBuilder import com.gh.common.view.CustomLinkMovementMethod import com.gh.gamecenter.R import com.gh.gamecenter.baselist.LoadStatus import com.gh.gamecenter.databinding.ItemArticleDetailContentBinding import com.gh.gamecenter.qa.answer.detail.SimpleAnswerDetailActivity -import com.gh.gamecenter.qa.article.detail.ArticleDetailContentViewHolder import com.gh.gamecenter.qa.comment.base.BaseCommentAdapter class NewQuestionDetailAdapter(context: Context, var mViewModel: NewQuestionDetailViewModel, type: AdapterType, val entrance: String) : diff --git a/app/src/main/res/layout/kaifu_add_item.xml b/app/src/main/res/layout/kaifu_add_item.xml index 54c7b76912..31f96f3e5b 100644 --- a/app/src/main/res/layout/kaifu_add_item.xml +++ b/app/src/main/res/layout/kaifu_add_item.xml @@ -1,87 +1,45 @@ - + - + - + - + - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout/kaifu_detail_item_row.xml b/app/src/main/res/layout/kaifu_detail_item_row.xml index e52f20602c..f5ffcd3c39 100644 --- a/app/src/main/res/layout/kaifu_detail_item_row.xml +++ b/app/src/main/res/layout/kaifu_detail_item_row.xml @@ -1,73 +1,45 @@ - + - + - + - + - - - - - - - - - - - - - - - - - - - + diff --git a/app/src/main/res/layout/reuse_loading.xml b/app/src/main/res/layout/reuse_loading.xml index 572d37cf12..f75775d4c3 100644 --- a/app/src/main/res/layout/reuse_loading.xml +++ b/app/src/main/res/layout/reuse_loading.xml @@ -1,19 +1,16 @@ - + - + - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/reuse_no_connection.xml b/app/src/main/res/layout/reuse_no_connection.xml index 2b35613b7f..30bbe14add 100644 --- a/app/src/main/res/layout/reuse_no_connection.xml +++ b/app/src/main/res/layout/reuse_no_connection.xml @@ -1,37 +1,34 @@ - + - + + + android:text="@string/loading_network_error" + android:textColor="@color/c7c7c7" + android:textSize="15sp" /> - + - - - - - - \ No newline at end of file + \ No newline at end of file