1
0
Fork 0

For #8422: Add spacing between migration items

master
Jonathan Almeida 2020-04-14 19:03:27 -04:00 committed by Emily Kager
parent 4a06a228f3
commit 25d5b0d31c
1 changed files with 24 additions and 0 deletions

View File

@ -5,10 +5,12 @@
package org.mozilla.fenix.migration
import android.content.Intent
import android.graphics.Rect
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.DimenRes
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.LinearLayoutManager
@ -52,6 +54,8 @@ class MigrationProgressActivity : AbstractMigrationProgressActivity() {
}
migration_status_list.apply {
val margin = resources.getDimensionPixelSize(R.dimen.migration_margin)
addItemDecoration(MigrationStatusItemDecoration(margin))
layoutManager = LinearLayoutManager(this@MigrationProgressActivity)
adapter = statusAdapter
}
@ -158,3 +162,23 @@ internal class MigrationStatusAdapter :
oldItem.status == newItem.status
}
}
internal class MigrationStatusItemDecoration(
@DimenRes private val spacing: Int
) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(
outRect: Rect,
view: View,
parent: RecyclerView,
state: RecyclerView.State
) {
val position = parent.getChildViewHolder(view).adapterPosition
val itemCount = state.itemCount
outRect.left = spacing
outRect.right = spacing
outRect.top = spacing
outRect.bottom = if (position == itemCount - 1) spacing else 0
}
}