1
0
Fork 0

For #1574: Cleans up unused code and refactors

master
Sawyer Blatz 2019-05-17 16:26:20 -07:00
parent 7861a80715
commit 3619f1417d
6 changed files with 33 additions and 60 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -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" />

View File

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