<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>

        <import type="android.view.View" />

        <import type="com.wireguard.android.model.ObservableTunnel" />

        <import type="com.wireguard.android.activity.TvMainActivity.KeyedFile" />

        <variable
            name="isDeleting"
            type="androidx.databinding.ObservableBoolean" />

        <variable
            name="files"
            type="com.wireguard.android.databinding.ObservableKeyedArrayList&lt;String, KeyedFile&gt;" />

        <variable
            name="filesRoot"
            type="androidx.databinding.ObservableField&lt;String&gt;" />

        <variable
            name="tunnels"
            type="com.wireguard.android.databinding.ObservableKeyedArrayList&lt;String, ObservableTunnel&gt;" />

        <variable
            name="tunnelRowConfigurationHandler"
            type="com.wireguard.android.databinding.ObservableKeyedRecyclerViewAdapter.RowConfigurationHandler" />

        <variable
            name="filesRowConfigurationHandler"
            type="com.wireguard.android.databinding.ObservableKeyedRecyclerViewAdapter.RowConfigurationHandler" />
    </data>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.google.android.material.card.MaterialCardView
            android:id="@+id/banner_logo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginStart="5dp"
            android:layout_marginTop="5dp"
            app:cardElevation="2dp"
            app:contentPadding="0dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <ImageView
                android:layout_width="320dp"
                android:layout_height="67dp"
                android:contentDescription="@string/app_name"
                android:scaleType="fitXY"
                app:srcCompat="@drawable/tv_logo_banner" />

        </com.google.android.material.card.MaterialCardView>

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/tunnel_list"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_marginTop="16dp"
            android:orientation="horizontal"
            android:visibility="@{(tunnels.isEmpty || !filesRoot.isEmpty) ? View.GONE : View.VISIBLE}"
            app:configurationHandler="@{tunnelRowConfigurationHandler}"
            app:items="@{tunnels}"
            app:layout="@{@layout/tv_tunnel_list_item}"
            app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
            app:layout_constraintBottom_toTopOf="@id/delete_button"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/banner_logo"
            app:spanCount="3"
            tools:itemCount="10"
            tools:listitem="@layout/tv_tunnel_list_item" />

        <TextView
            android:id="@+id/files_root_label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginStart="8dp"
            android:text="@{filesRoot}"
            android:textAppearance="?attr/textAppearanceTitleLarge"
            android:visibility="@{filesRoot.isEmpty ? View.GONE : View.VISIBLE}"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/banner_logo"
            tools:visibility="gone" />

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/files_list"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_marginTop="16dp"
            android:orientation="horizontal"
            android:visibility="@{filesRoot.isEmpty ? View.GONE : View.VISIBLE}"
            app:configurationHandler="@{filesRowConfigurationHandler}"
            app:items="@{files}"
            app:layout="@{@layout/tv_file_list_item}"
            app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
            app:layout_constraintBottom_toTopOf="@id/import_button"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/files_root_label"
            app:spanCount="5"
            tools:itemCount="10"
            tools:listitem="@layout/tv_file_list_item"
            tools:visibility="gone" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="@string/tv_add_tunnel_get_started"
            android:textAppearance="?attr/textAppearanceHeadlineSmall"
            android:visibility="@{(filesRoot.isEmpty &amp;&amp; tunnels.isEmpty) ? View.VISIBLE : View.GONE}"
            app:layout_constraintBottom_toTopOf="@id/delete_button"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/banner_logo"
            tools:visibility="gone" />

        <com.google.android.material.button.MaterialButton
            android:id="@+id/import_button"
            style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:minWidth="0dp"
            android:visibility="@{isDeleting ? View.GONE : View.VISIBLE}"
            app:icon="@{filesRoot.isEmpty ? @drawable/ic_action_add_white : @drawable/ic_arrow_back}"
            app:iconPadding="0dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent" />

        <com.google.android.material.button.MaterialButton
            android:id="@+id/delete_button"
            style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:minWidth="0dp"
            android:visibility="@{((tunnels.isEmpty &amp;&amp; !isDeleting) || !filesRoot.isEmpty) ? View.GONE : View.VISIBLE}"
            app:icon="@{isDeleting ? @drawable/ic_arrow_back : @drawable/ic_action_delete}"
            app:iconPadding="0dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent" />
    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>