Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3288110 authored by tibbi's avatar tibbi
Browse files

make sure we always have a proper selectable item count at adapters

parent c0fd8f7f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ buildscript {
        propMinSdkVersion = 16
        propTargetSdkVersion = propCompileSdkVersion
        propVersionCode = 1
        propVersionName = '3.0.6'
        propVersionName = '3.0.7'
        kotlin_version = '1.2.0'
        support_libs = '27.0.2'
    }
+2 −1
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ class FilepickerItemsAdapter(activity: BaseSimpleActivity, val fileDirItems: Lis
    init {
        folderDrawable.alpha = 180
        fileDrawable.alpha = 180
        selectableItemCount = fileDirItems.size
    }

    override fun getActionMenuId() = 0
@@ -49,6 +48,8 @@ class FilepickerItemsAdapter(activity: BaseSimpleActivity, val fileDirItems: Lis

    override fun actionItemPressed(id: Int) {}

    override fun getSelectableItemCount() = fileDirItems.size

    override fun onViewRecycled(holder: MyRecyclerViewAdapter.ViewHolder?) {
        super.onViewRecycled(holder)
        if (!activity.isActivityDestroyed()) {
+3 −2
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ abstract class MyRecyclerViewAdapter(val activity: BaseSimpleActivity, val recyc
    var textColor = baseConfig.textColor
    var itemViews = SparseArray<View>()
    val selectedPositions = HashSet<Int>()
    var selectableItemCount = 0

    private val multiSelector = MultiSelector()
    private var actMode: ActionMode? = null
@@ -41,6 +40,8 @@ abstract class MyRecyclerViewAdapter(val activity: BaseSimpleActivity, val recyc

    abstract fun actionItemPressed(id: Int)

    abstract fun getSelectableItemCount(): Int

    fun toggleItemSelection(select: Boolean, pos: Int) {
        if (select) {
            if (itemViews[pos] != null) {
@@ -62,6 +63,7 @@ abstract class MyRecyclerViewAdapter(val activity: BaseSimpleActivity, val recyc
    }

    private fun updateTitle(cnt: Int) {
        val selectableItemCount = getSelectableItemCount()
        val selectedCount = Math.min(cnt, selectableItemCount)
        val oldTitle = actMode?.title
        val newTitle = "$selectedCount / $selectableItemCount"
@@ -227,7 +229,6 @@ abstract class MyRecyclerViewAdapter(val activity: BaseSimpleActivity, val recyc
                .forEachIndexed { curIndex, i -> newItems.put(curIndex, itemViews[i]) }

        itemViews = newItems
        selectableItemCount = itemCount
        finishActMode()
    }