mirror of
https://github.com/osfans/trime.git
synced 2026-11-08 01:16:38 +08:00
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:
parent
5864131d08
commit
9a39f49fc7
@ -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)
|
||||
}
|
||||
|
||||
@ -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,
|
||||
) {
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user