diff --git a/app/src/main/java/org/mozilla/fenix/home/tabs/TabsAdapter.kt b/app/src/main/java/org/mozilla/fenix/home/tabs/TabsAdapter.kt index 5ab73e411e..20753b4763 100644 --- a/app/src/main/java/org/mozilla/fenix/home/tabs/TabsAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/home/tabs/TabsAdapter.kt @@ -8,6 +8,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.RecyclerView import io.reactivex.Observer @@ -21,7 +22,7 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.launch import mozilla.components.browser.icons.BrowserIcons import mozilla.components.browser.icons.IconRequest -import org.mozilla.fenix.DefaultThemeManager +import org.jetbrains.anko.image import org.mozilla.fenix.R import org.mozilla.fenix.ext.increaseTapArea import kotlin.coroutines.CoroutineContext @@ -60,7 +61,7 @@ class TabsAdapter(private val actionEmitter: Observer) : override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { when (holder) { is TabViewHolder -> { - holder.bindSession(sessions[position]) + holder.bindSession(sessions[position], position) } } } @@ -100,8 +101,9 @@ class TabsAdapter(private val actionEmitter: Observer) : } } - fun bindSession(session: SessionViewState) { + fun bindSession(session: SessionViewState, position: Int) { this.session = session + updateTabBackground(position) updateUrl(session.url) updateSelected(session.selected) } @@ -118,10 +120,12 @@ class TabsAdapter(private val actionEmitter: Observer) : } fun updateSelected(selected: Boolean) { - if (selected) - DefaultThemeManager.resolveAttribute(R.attr.sessionBorderColor, view.context) - else - session_card.setCardBackgroundColor(view.context.getColor(android.R.color.transparent)) + selected_border.visibility = if (selected) View.VISIBLE else View.GONE + } + + fun updateTabBackground(id: Int) { + val background = availableBackgrounds[id % availableBackgrounds.size] + tab_background.image = ContextCompat.getDrawable(view.context, background) } companion object { @@ -133,6 +137,9 @@ class TabsAdapter(private val actionEmitter: Observer) : companion object { const val tab_url = "url" const val tab_selected = "selected" + private val availableBackgrounds = listOf(R.drawable.sessions_01, R.drawable.sessions_02, + R.drawable.sessions_03, R.drawable.sessions_04, R.drawable.sessions_05, R.drawable.sessions_06, + R.drawable.sessions_07, R.drawable.sessions_08) } } diff --git a/app/src/main/res/drawable-hdpi/sessions_01.png b/app/src/main/res/drawable-hdpi/sessions_01.png new file mode 100644 index 0000000000..c5f8f98a0c Binary files /dev/null and b/app/src/main/res/drawable-hdpi/sessions_01.png differ diff --git a/app/src/main/res/drawable-hdpi/sessions_02.png b/app/src/main/res/drawable-hdpi/sessions_02.png new file mode 100644 index 0000000000..4875fa831a Binary files /dev/null and b/app/src/main/res/drawable-hdpi/sessions_02.png differ diff --git a/app/src/main/res/drawable-hdpi/sessions_03.png b/app/src/main/res/drawable-hdpi/sessions_03.png new file mode 100644 index 0000000000..9a149ce1e8 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/sessions_03.png differ diff --git a/app/src/main/res/drawable-hdpi/sessions_04.png b/app/src/main/res/drawable-hdpi/sessions_04.png new file mode 100644 index 0000000000..fac52baf5f Binary files /dev/null and b/app/src/main/res/drawable-hdpi/sessions_04.png differ diff --git a/app/src/main/res/drawable-hdpi/sessions_05.png b/app/src/main/res/drawable-hdpi/sessions_05.png new file mode 100644 index 0000000000..a06003c0ef Binary files /dev/null and b/app/src/main/res/drawable-hdpi/sessions_05.png differ diff --git a/app/src/main/res/drawable-hdpi/sessions_06.png b/app/src/main/res/drawable-hdpi/sessions_06.png new file mode 100644 index 0000000000..91ccfb053b Binary files /dev/null and b/app/src/main/res/drawable-hdpi/sessions_06.png differ diff --git a/app/src/main/res/drawable-hdpi/sessions_07.png b/app/src/main/res/drawable-hdpi/sessions_07.png new file mode 100644 index 0000000000..d51254e3b9 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/sessions_07.png differ diff --git a/app/src/main/res/drawable-hdpi/sessions_08.png b/app/src/main/res/drawable-hdpi/sessions_08.png new file mode 100644 index 0000000000..4a61fc1c11 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/sessions_08.png differ diff --git a/app/src/main/res/drawable-mdpi/sessions_01.png b/app/src/main/res/drawable-mdpi/sessions_01.png new file mode 100644 index 0000000000..6855d48a96 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/sessions_01.png differ diff --git a/app/src/main/res/drawable-mdpi/sessions_02.png b/app/src/main/res/drawable-mdpi/sessions_02.png new file mode 100644 index 0000000000..990bdea2e1 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/sessions_02.png differ diff --git a/app/src/main/res/drawable-mdpi/sessions_03.png b/app/src/main/res/drawable-mdpi/sessions_03.png new file mode 100644 index 0000000000..b7850aa06f Binary files /dev/null and b/app/src/main/res/drawable-mdpi/sessions_03.png differ diff --git a/app/src/main/res/drawable-mdpi/sessions_04.png b/app/src/main/res/drawable-mdpi/sessions_04.png new file mode 100644 index 0000000000..245816b56c Binary files /dev/null and b/app/src/main/res/drawable-mdpi/sessions_04.png differ diff --git a/app/src/main/res/drawable-mdpi/sessions_05.png b/app/src/main/res/drawable-mdpi/sessions_05.png new file mode 100644 index 0000000000..bf45dd8683 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/sessions_05.png differ diff --git a/app/src/main/res/drawable-mdpi/sessions_06.png b/app/src/main/res/drawable-mdpi/sessions_06.png new file mode 100644 index 0000000000..5b707f7bc6 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/sessions_06.png differ diff --git a/app/src/main/res/drawable-mdpi/sessions_07.png b/app/src/main/res/drawable-mdpi/sessions_07.png new file mode 100644 index 0000000000..0efebcef54 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/sessions_07.png differ diff --git a/app/src/main/res/drawable-mdpi/sessions_08.png b/app/src/main/res/drawable-mdpi/sessions_08.png new file mode 100644 index 0000000000..76febe8845 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/sessions_08.png differ diff --git a/app/src/main/res/drawable-xhdpi/sessions_01.png b/app/src/main/res/drawable-xhdpi/sessions_01.png new file mode 100644 index 0000000000..3b0cef49fd Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/sessions_01.png differ diff --git a/app/src/main/res/drawable-xhdpi/sessions_02.png b/app/src/main/res/drawable-xhdpi/sessions_02.png new file mode 100644 index 0000000000..66fa8a2adc Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/sessions_02.png differ diff --git a/app/src/main/res/drawable-xhdpi/sessions_03.png b/app/src/main/res/drawable-xhdpi/sessions_03.png new file mode 100644 index 0000000000..bddd185115 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/sessions_03.png differ diff --git a/app/src/main/res/drawable-xhdpi/sessions_04.png b/app/src/main/res/drawable-xhdpi/sessions_04.png new file mode 100644 index 0000000000..94a5723188 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/sessions_04.png differ diff --git a/app/src/main/res/drawable-xhdpi/sessions_05.png b/app/src/main/res/drawable-xhdpi/sessions_05.png new file mode 100644 index 0000000000..23d1f14974 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/sessions_05.png differ diff --git a/app/src/main/res/drawable-xhdpi/sessions_06.png b/app/src/main/res/drawable-xhdpi/sessions_06.png new file mode 100644 index 0000000000..8fda297ee0 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/sessions_06.png differ diff --git a/app/src/main/res/drawable-xhdpi/sessions_07.png b/app/src/main/res/drawable-xhdpi/sessions_07.png new file mode 100644 index 0000000000..a94102d504 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/sessions_07.png differ diff --git a/app/src/main/res/drawable-xhdpi/sessions_08.png b/app/src/main/res/drawable-xhdpi/sessions_08.png new file mode 100644 index 0000000000..c188c87ec6 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/sessions_08.png differ diff --git a/app/src/main/res/drawable-xxhdpi/sessions_01.png b/app/src/main/res/drawable-xxhdpi/sessions_01.png new file mode 100644 index 0000000000..88d25138ec Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/sessions_01.png differ diff --git a/app/src/main/res/drawable-xxhdpi/sessions_02.png b/app/src/main/res/drawable-xxhdpi/sessions_02.png new file mode 100644 index 0000000000..0a48ac9f0c Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/sessions_02.png differ diff --git a/app/src/main/res/drawable-xxhdpi/sessions_03.png b/app/src/main/res/drawable-xxhdpi/sessions_03.png new file mode 100644 index 0000000000..e42937df9e Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/sessions_03.png differ diff --git a/app/src/main/res/drawable-xxhdpi/sessions_04.png b/app/src/main/res/drawable-xxhdpi/sessions_04.png new file mode 100644 index 0000000000..6cc67e5eef Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/sessions_04.png differ diff --git a/app/src/main/res/drawable-xxhdpi/sessions_05.png b/app/src/main/res/drawable-xxhdpi/sessions_05.png new file mode 100644 index 0000000000..c46d2a280f Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/sessions_05.png differ diff --git a/app/src/main/res/drawable-xxhdpi/sessions_06.png b/app/src/main/res/drawable-xxhdpi/sessions_06.png new file mode 100644 index 0000000000..ad88f8a465 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/sessions_06.png differ diff --git a/app/src/main/res/drawable-xxhdpi/sessions_07.png b/app/src/main/res/drawable-xxhdpi/sessions_07.png new file mode 100644 index 0000000000..da4dce4814 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/sessions_07.png differ diff --git a/app/src/main/res/drawable-xxhdpi/sessions_08.png b/app/src/main/res/drawable-xxhdpi/sessions_08.png new file mode 100644 index 0000000000..005e3ea2f9 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/sessions_08.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/sessions_01.png b/app/src/main/res/drawable-xxxhdpi/sessions_01.png new file mode 100644 index 0000000000..021240e8d6 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/sessions_01.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/sessions_02.png b/app/src/main/res/drawable-xxxhdpi/sessions_02.png new file mode 100644 index 0000000000..4771fca7a9 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/sessions_02.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/sessions_03.png b/app/src/main/res/drawable-xxxhdpi/sessions_03.png new file mode 100644 index 0000000000..5540b5c26c Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/sessions_03.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/sessions_04.png b/app/src/main/res/drawable-xxxhdpi/sessions_04.png new file mode 100644 index 0000000000..47e044d4c4 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/sessions_04.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/sessions_05.png b/app/src/main/res/drawable-xxxhdpi/sessions_05.png new file mode 100644 index 0000000000..02886a5327 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/sessions_05.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/sessions_06.png b/app/src/main/res/drawable-xxxhdpi/sessions_06.png new file mode 100644 index 0000000000..e8e81e4db3 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/sessions_06.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/sessions_07.png b/app/src/main/res/drawable-xxxhdpi/sessions_07.png new file mode 100644 index 0000000000..b1e1c3339a Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/sessions_07.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/sessions_08.png b/app/src/main/res/drawable-xxxhdpi/sessions_08.png new file mode 100644 index 0000000000..8e9cb5d57b Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/sessions_08.png differ diff --git a/app/src/main/res/drawable/session_border.xml b/app/src/main/res/drawable/session_border.xml index e329c7c728..b6c595fd1c 100644 --- a/app/src/main/res/drawable/session_border.xml +++ b/app/src/main/res/drawable/session_border.xml @@ -4,6 +4,6 @@ - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> - - + + \ No newline at end of file diff --git a/app/src/main/res/layout/component_tabs.xml b/app/src/main/res/layout/component_tabs.xml index 70f914e8df..6425640cf4 100644 --- a/app/src/main/res/layout/component_tabs.xml +++ b/app/src/main/res/layout/component_tabs.xml @@ -9,7 +9,9 @@ android:id="@+id/tabs_header" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="16dp" + android:layout_marginTop="8dp" + android:layout_marginStart="16dp" + android:layout_marginEnd="8dp" android:visibility="gone"> + android:padding="16dp" + android:clipToPadding="false"/> + app:cardCornerRadius="@dimen/tab_corner_radius" + app:cardElevation="5dp"> + android:layout_height="match_parent"> @@ -39,15 +30,16 @@ android:id="@+id/text_url" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginBottom="4dp" android:ellipsize="end" android:maxLines="1" android:textColor="?attr/toolbarTextColor" android:textSize="18sp" + android:layout_marginTop="4dp" + android:layout_marginStart="10dp" app:layout_constraintEnd_toStartOf="@id/close_tab_button" app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toEndOf="@id/favicon_image" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="@id/favicon_image" /> + app:layout_constraintTop_toBottomOf="@id/favicon_image" /> + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f2907182eb..ab5bd6bfb2 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -22,7 +22,7 @@ #0C0C0D #f9f9fa #E9E9ED - #2f26c1 + @color/photonInk70 #20233E @color/off_white diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 0a8c0db821..93a25a74ef 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -13,4 +13,6 @@ 8dp 40dp 16dp + 2dp + 8dp \ No newline at end of file