|
|
|
@ -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
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|