refactor(clipboard): rename UI-layer beans to entities

The data layer already speaks in entities, so the clipboard views were the
last place still calling a row a bean. Rename `ClipboardBeanUi` to
`ClipboardEntityUi`, `setBean` to `setEntity`, `beanId` to `entityId` and
`BEAN_ID` to `ENTITY_ID`, and pluralize the adapter, pager and submit-job
fields as `clipboardEntities*` and `favoriteEntities*`.

The intent extra key stays `"id"`, so intents already in flight are still
understood.
This commit is contained in:
WhiredPlanck 2026-11-06 23:24:06 +08:00 committed by Panda527
parent 5864131d08
commit 9a39f49fc7
5 changed files with 38 additions and 38 deletions

View File

@ -73,13 +73,13 @@ abstract class ClipboardAdapter(
private var popupMenu: PopupMenu? = null
class ViewHolder(
val ui: ClipboardBeanUi,
val ui: ClipboardEntityUi,
) : RecyclerView.ViewHolder(ui.root)
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int,
): ViewHolder = ViewHolder(ClipboardBeanUi(parent.context, scope))
): ViewHolder = ViewHolder(ClipboardEntityUi(parent.context, scope))
override fun onBindViewHolder(
holder: ViewHolder,
@ -88,7 +88,7 @@ abstract class ClipboardAdapter(
val item = getItem(position) ?: return
with(holder.ui) {
refreshColors()
setBean(excerptText(item.text, item.mask && maskSensitive), item.pinned)
setEntity(excerptText(item.text, item.mask && maskSensitive), item.pinned)
root.setOnClickListener {
onPaste(item)
}

View File

@ -29,7 +29,7 @@ import splitties.views.dsl.core.wrapContent
import splitties.views.imageDrawable
import splitties.views.setPaddingDp
class ClipboardBeanUi(
class ClipboardEntityUi(
override val ctx: Context,
private val scope: ThemeScope,
) : Ui {
@ -87,7 +87,7 @@ class ClipboardBeanUi(
layoutParams = lParams(matchParent, wrapContent)
}
fun setBean(
fun setEntity(
text: String,
pinned: Boolean,
) {

View File

@ -49,16 +49,16 @@ class ClipboardWindow(di: DI, private val initialTab: Int = 0) : BoardWindow.Bar
private val clipboardReturnAfterPaste by prefs.clipboardReturnAfterPaste
private val clipboardMaskSensitive by prefs.clipboardMaskSensitive
private val clipboardBeansPager by lazy {
private val clipboardEntitiesPager by lazy {
Pager(PagingConfig(pageSize = 16)) { ClipboardHelper.allEntities() }
}
private val favoriteBeansPager by lazy {
private val favoriteEntitiesPager by lazy {
Pager(PagingConfig(pageSize = 16)) { FavoriteHelper.allEntities() }
}
private var clipboardBeansSubmitJob: Job? = null
private var favoriteBeansSubmitJob: Job? = null
private var clipboardEntitiesSubmitJob: Job? = null
private var favoriteEntitiesSubmitJob: Job? = null
private val clipboardBeansAdapter by lazy {
private val clipboardEntitiesAdapter by lazy {
object : ClipboardAdapter(scope, clipboardMaskSensitive) {
override fun onPaste(item: ClipboardItem) {
service.commitText(item.text)
@ -99,7 +99,7 @@ class ClipboardWindow(di: DI, private val initialTab: Int = 0) : BoardWindow.Bar
}
}
private val favoriteBeansAdapter by lazy {
private val favoriteEntitiesAdapter by lazy {
object : ClipboardAdapter(scope, false) {
override fun onPaste(item: ClipboardItem) {
service.commitText(item.text)
@ -132,7 +132,7 @@ class ClipboardWindow(di: DI, private val initialTab: Int = 0) : BoardWindow.Bar
ClipboardPageUi(context).apply {
recyclerView.apply {
layoutManager = verticalLayoutManager()
adapter = clipboardBeansAdapter
adapter = clipboardEntitiesAdapter
}
}
}
@ -141,7 +141,7 @@ class ClipboardWindow(di: DI, private val initialTab: Int = 0) : BoardWindow.Bar
ClipboardPageUi(context).apply {
recyclerView.apply {
layoutManager = verticalLayoutManager()
adapter = favoriteBeansAdapter
adapter = favoriteEntitiesAdapter
}
}
}
@ -221,27 +221,27 @@ class ClipboardWindow(di: DI, private val initialTab: Int = 0) : BoardWindow.Bar
override fun onAttached() {
wasAttached = true
clipboardLayout.viewPager.setCurrentItem(initialTab, false)
clipboardBeansSubmitJob = service.lifecycleScope.launch {
clipboardBeansPager.flow
clipboardEntitiesSubmitJob = service.lifecycleScope.launch {
clipboardEntitiesPager.flow
.map { pagingData -> pagingData.map { it.toClipboardItem() } }
.collect {
clipboardBeansAdapter.submitData(it)
clipboardEntitiesAdapter.submitData(it)
}
}
favoriteBeansSubmitJob = service.lifecycleScope.launch {
favoriteBeansPager.flow
favoriteEntitiesSubmitJob = service.lifecycleScope.launch {
favoriteEntitiesPager.flow
.map { pagingData -> pagingData.map { it.toClipboardItem() } }
.collect {
favoriteBeansAdapter.submitData(it)
favoriteEntitiesAdapter.submitData(it)
}
}
}
override fun onDetached() {
clipboardBeansAdapter.dismissPopupMenu()
favoriteBeansAdapter.dismissPopupMenu()
clipboardBeansSubmitJob?.cancel()
favoriteBeansSubmitJob?.cancel()
clipboardEntitiesAdapter.dismissPopupMenu()
favoriteEntitiesAdapter.dismissPopupMenu()
clipboardEntitiesSubmitJob?.cancel()
favoriteEntitiesSubmitJob?.cancel()
}
override fun refreshColors() {
@ -250,8 +250,8 @@ class ClipboardWindow(di: DI, private val initialTab: Int = 0) : BoardWindow.Bar
clipboardLayout.titleUi.tabLayout.reconfigureTabs { tabUi, position ->
configureTab(tabUi, position)
}
clipboardBeansAdapter.refreshColors()
favoriteBeansAdapter.refreshColors()
clipboardEntitiesAdapter.refreshColors()
favoriteEntitiesAdapter.refreshColors()
}
override fun onCreateBarView(): View = clipboardLayout.titleUi.root

View File

@ -23,7 +23,7 @@ import timber.log.Timber
class ClipEditActivity : Activity() {
private val scope: CoroutineScope = MainScope()
private var beanId: Int = -1
private var entityId: Int = -1
private lateinit var editText: EditText
private var clipType: String? = null
@ -45,19 +45,19 @@ class ClipEditActivity : Activity() {
val str = editText.editableText.toString()
scope.launch {
when (clipType) {
FROM_CLIPBOARD -> ClipboardHelper.updateText(beanId, str)
FROM_COLLECTION -> FavoriteHelper.updateText(beanId, str)
FROM_CLIPBOARD -> ClipboardHelper.updateText(entityId, str)
FROM_COLLECTION -> FavoriteHelper.updateText(entityId, str)
else -> {}
}
}
finish()
}
private fun setBean(
private fun setEntity(
id: Int,
text: String,
) {
beanId = id
entityId = id
editText.setText(text)
}
@ -70,19 +70,19 @@ class ClipEditActivity : Activity() {
scope.launch {
intent.run {
val clipType = intent.getStringExtra(CLIP_TYPE) ?: return@launch
val beanId = getIntExtra(BEAN_ID, -1)
Timber.d("processIntent: id=$beanId, type=$clipType")
val entityId = getIntExtra(ENTITY_ID, -1)
Timber.d("processIntent: id=$entityId, type=$clipType")
when (clipType) {
FROM_CLIPBOARD ->
ClipboardHelper.get(beanId)?.let {
ClipboardHelper.get(entityId)?.let {
this@ClipEditActivity.clipType = clipType
setBean(it.id, it.text)
setEntity(it.id, it.text)
}
FROM_COLLECTION ->
FavoriteHelper.get(beanId)?.let {
FavoriteHelper.get(entityId)?.let {
this@ClipEditActivity.clipType = clipType
setBean(it.id, it.text)
setEntity(it.id, it.text)
}
}
}
@ -100,7 +100,7 @@ class ClipEditActivity : Activity() {
}
companion object {
const val BEAN_ID = "id"
const val ENTITY_ID = "id"
const val CLIP_TYPE = "clip_type"
const val FROM_CLIPBOARD = "from_clipboard"
const val FROM_COLLECTION = "from_collection"

View File

@ -75,7 +75,7 @@ object AppUtils {
) {
context.startActivity<ClipEditActivity> {
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
putExtra(ClipEditActivity.BEAN_ID, id)
putExtra(ClipEditActivity.ENTITY_ID, id)
putExtra(ClipEditActivity.CLIP_TYPE, type)
}
}