For #1574: Cleans up unused code and refactors
parent
7861a80715
commit
3619f1417d
|
@ -395,7 +395,6 @@ class HomeFragment : Fragment(), CoroutineScope {
|
|||
|
||||
private fun subscribeToTabCollections(): Observer<List<TabCollection>> {
|
||||
val observer = Observer<List<TabCollection>> {
|
||||
// TODO is it bad to be caching like this?
|
||||
requireComponents.core.tabCollectionStorage.cachedTabCollections = it
|
||||
getManagedEmitter<SessionControlChange>().onNext(SessionControlChange.CollectionsChange(it))
|
||||
}
|
||||
|
|
|
@ -26,7 +26,6 @@ import org.mozilla.fenix.home.sessioncontrol.CollectionAction
|
|||
import org.mozilla.fenix.home.sessioncontrol.SessionControlAction
|
||||
import org.mozilla.fenix.home.sessioncontrol.TabCollection
|
||||
import org.mozilla.fenix.home.sessioncontrol.onNext
|
||||
import org.mozilla.fenix.utils.Settings
|
||||
import kotlin.coroutines.CoroutineContext
|
||||
|
||||
class CollectionViewHolder(
|
||||
|
@ -42,7 +41,6 @@ class CollectionViewHolder(
|
|||
|
||||
private lateinit var collection: TabCollection
|
||||
private var expanded = false
|
||||
private var state = CollectionState.Collapsed
|
||||
private var collectionMenu: CollectionItemMenu
|
||||
|
||||
init {
|
||||
|
@ -70,20 +68,17 @@ class CollectionViewHolder(
|
|||
}
|
||||
|
||||
view.setOnClickListener {
|
||||
updateState()
|
||||
handleExpansion(expanded)
|
||||
}
|
||||
|
||||
view.collection_icon.setColorFilter(ContextCompat.getColor(
|
||||
view.context,
|
||||
getNextIconColor()),
|
||||
android.graphics.PorterDuff.Mode.SRC_IN
|
||||
)
|
||||
}
|
||||
|
||||
fun bindSession(collection: TabCollection, expanded: Boolean) {
|
||||
this.collection = collection
|
||||
this.expanded = expanded
|
||||
updateCollectionUI()
|
||||
|
||||
// See #2625 for why we're invalidating
|
||||
view.invalidate()
|
||||
}
|
||||
|
||||
private fun updateCollectionUI() {
|
||||
|
@ -104,7 +99,8 @@ class CollectionViewHolder(
|
|||
var tabsDisplayed = 0
|
||||
val tabTitlesList = hostNameList.joinToString(", ") {
|
||||
if (it.length > maxTitleLength) {
|
||||
it.substring(0,
|
||||
it.substring(
|
||||
0,
|
||||
maxTitleLength
|
||||
) + "..."
|
||||
} else {
|
||||
|
@ -127,56 +123,43 @@ class CollectionViewHolder(
|
|||
view.collection_description.visibility = View.VISIBLE
|
||||
view.expand_button.setImageDrawable(ContextCompat.getDrawable(view.context, R.drawable.ic_chevron_down))
|
||||
}
|
||||
|
||||
view.collection_icon.setColorFilter(
|
||||
ContextCompat.getColor(
|
||||
view.context,
|
||||
getIconColor(collection.id)
|
||||
),
|
||||
android.graphics.PorterDuff.Mode.SRC_IN
|
||||
)
|
||||
}
|
||||
|
||||
private fun updateState() {
|
||||
state = when (state) {
|
||||
CollectionState.Expanded -> {
|
||||
actionEmitter.onNext(CollectionAction.Collapse(collection))
|
||||
CollectionState.Collapsed
|
||||
}
|
||||
CollectionState.Collapsed -> {
|
||||
actionEmitter.onNext(CollectionAction.Expand(collection))
|
||||
CollectionState.Expanded
|
||||
}
|
||||
private fun handleExpansion(isExpanded: Boolean) {
|
||||
if (isExpanded) {
|
||||
actionEmitter.onNext(CollectionAction.Collapse(collection))
|
||||
} else {
|
||||
actionEmitter.onNext(CollectionAction.Expand(collection))
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("ComplexMethod", "MagicNumber")
|
||||
private fun getNextIconColor(): Int {
|
||||
with(view.context) {
|
||||
var sessionColorIndex = Settings.getInstance(this).preferences
|
||||
.getInt(getString(R.string.pref_key_collection_color), 0)
|
||||
|
||||
val iconResource = when (sessionColorIndex) {
|
||||
0 -> R.color.collection_icon_color_violet
|
||||
1 -> R.color.collection_icon_color_blue
|
||||
2 -> R.color.collection_icon_color_pink
|
||||
3 -> R.color.collection_icon_color_green
|
||||
4 -> R.color.collection_icon_color_yellow
|
||||
else -> R.color.white_color
|
||||
}
|
||||
|
||||
if (sessionColorIndex >= MAX_COLOR_INDEX) { sessionColorIndex = 0 } else { sessionColorIndex += 1 }
|
||||
|
||||
Settings.getInstance(this).preferences.edit()
|
||||
.putInt(getString(R.string.pref_key_collection_color), sessionColorIndex).apply()
|
||||
|
||||
return iconResource
|
||||
private fun getIconColor(id: Long): Int {
|
||||
val sessionColorIndex = (id % 4).toInt()
|
||||
return when (sessionColorIndex) {
|
||||
0 -> R.color.collection_icon_color_violet
|
||||
1 -> R.color.collection_icon_color_blue
|
||||
2 -> R.color.collection_icon_color_pink
|
||||
3 -> R.color.collection_icon_color_green
|
||||
4 -> R.color.collection_icon_color_yellow
|
||||
else -> R.color.white_color
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val MAX_COLOR_INDEX = 4
|
||||
const val EXPANDED_PADDING = 60
|
||||
const val COLLAPSED_MARGIN = 12
|
||||
const val LAYOUT_ID = R.layout.collection_home_list_row
|
||||
const val maxTitleLength = 20
|
||||
}
|
||||
|
||||
enum class CollectionState {
|
||||
Expanded, Collapsed
|
||||
}
|
||||
}
|
||||
|
||||
class CollectionItemMenu(
|
||||
|
|
|
@ -43,7 +43,6 @@
|
|||
android:id="@+id/collections_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="5dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/add_collection_button"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
@ -54,7 +53,6 @@
|
|||
android:id="@+id/add_collection_button"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="5dp"
|
||||
android:background="?foundation"
|
||||
android:drawableStart="@drawable/ic_new"
|
||||
android:drawablePadding="14dp"
|
||||
|
@ -103,11 +101,9 @@
|
|||
android:id="@+id/tab_list"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:elevation="0dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:requiresFadingEdge="vertical"
|
||||
app:layout_constraintBottom_toTopOf="@id/add_tabs_layout"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
|
|
@ -45,8 +45,8 @@
|
|||
android:id="@+id/collections_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toBottomOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@+id/add_collection_button" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/add_collection_button"
|
||||
|
@ -62,8 +62,8 @@
|
|||
android:text="@string/create_collection_add_new_collection"
|
||||
android:textColor="?primaryText"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintTop_toBottomOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toTopOf="@id/divider"
|
||||
tools:targetApi="m" />
|
||||
|
||||
<View
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
android:id="@+id/collections_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="5dp"
|
||||
android:alpha="1"
|
||||
android:background="?foundation"
|
||||
android:visibility="visible"
|
||||
|
@ -57,7 +56,6 @@
|
|||
android:id="@+id/add_collection_button"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="5dp"
|
||||
android:alpha="1"
|
||||
android:background="?foundation"
|
||||
android:drawableStart="@drawable/ic_new"
|
||||
|
@ -107,7 +105,6 @@
|
|||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/tab_list"
|
||||
android:elevation="0dp"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="16dp"
|
||||
|
@ -115,7 +112,7 @@
|
|||
android:layout_marginEnd="16dp"
|
||||
android:fadingEdgeLength="30dp"
|
||||
android:requiresFadingEdge="vertical"
|
||||
app:layout_constraintBottom_toTopOf="@id/add_collection_button"
|
||||
app:layout_constraintBottom_toTopOf="@id/collections_list"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/back_button" />
|
||||
|
|
|
@ -67,6 +67,4 @@
|
|||
<string name="pref_key_tracking_protection_settings" translatable="false">pref_key_tracking_protection_settings</string>
|
||||
<string name="pref_key_tracking_protection" translatable="false">pref_key_tracking_protection</string>
|
||||
<string name="pref_key_tracking_protection_exceptions" translatable="false">pref_key_tracking_protection_exceptions</string>
|
||||
|
||||
<string name="pref_key_collection_color" translatable="false">pref_key_collection_color</string>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue