<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright 2018 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<androidx.constraintlayout.widget.ConstraintLayout
    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"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.android.pump.widget.UriImageView
        android:id="@+id/activity_playlist_details_image_0"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:scaleType="centerCrop"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@id/activity_playlist_details_image_1"
        app:layout_constraintDimensionRatio="1:1"
        tools:src="@tools:sample/backgrounds/scenic"/>

    <com.android.pump.widget.UriImageView
        android:id="@+id/activity_playlist_details_image_1"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:scaleType="centerCrop"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toEndOf="@id/activity_playlist_details_image_0"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintDimensionRatio="1:1"
        tools:src="@tools:sample/backgrounds/scenic"/>

    <com.android.pump.widget.UriImageView
        android:id="@+id/activity_playlist_details_image_2"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:scaleType="centerCrop"
        app:layout_constraintTop_toBottomOf="@id/activity_playlist_details_image_0"
        app:layout_constraintStart_toStartOf="@id/activity_playlist_details_image_0"
        app:layout_constraintEnd_toEndOf="@id/activity_playlist_details_image_0"
        app:layout_constraintDimensionRatio="1:1"
        tools:src="@tools:sample/backgrounds/scenic"/>

    <com.android.pump.widget.UriImageView
        android:id="@+id/activity_playlist_details_image_3"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:scaleType="centerCrop"
        app:layout_constraintTop_toBottomOf="@id/activity_playlist_details_image_1"
        app:layout_constraintStart_toStartOf="@id/activity_playlist_details_image_1"
        app:layout_constraintEnd_toEndOf="@id/activity_playlist_details_image_1"
        app:layout_constraintDimensionRatio="1:1"
        tools:src="@tools:sample/backgrounds/scenic"/>

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@null"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:elevation="0dp">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/activity_playlist_details_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?actionBarSize"/>

    </com.google.android.material.appbar.AppBarLayout>

    <com.android.pump.widget.UriImageView
        android:id="@+id/activity_playlist_details_play"
        android:layout_width="48dp"
        android:layout_height="48dp"
        app:layout_constraintTop_toTopOf="@id/activity_playlist_details_image_0"
        app:layout_constraintBottom_toBottomOf="@id/activity_playlist_details_image_2"
        app:layout_constraintStart_toStartOf="@id/activity_playlist_details_image_0"
        app:layout_constraintEnd_toEndOf="@id/activity_playlist_details_image_1"
        app:srcCompat="@drawable/ic_play"
        app:tint="?colorControlNormal"

        android:clickable="true"
        android:focusable="true"
        android:foreground="?selectableItemBackground"/>

    <android.view.View
        android:layout_width="0dp"
        android:layout_height="77dp"
        android:background="@drawable/shadow"
        app:layout_constraintBottom_toBottomOf="@id/activity_playlist_details_image_2"
        app:layout_constraintStart_toStartOf="@id/activity_playlist_details_image_0"
        app:layout_constraintEnd_toEndOf="@id/activity_playlist_details_image_1"/>

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/activity_playlist_details_name"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginEnd="24dp"
        android:textSize="18sp"
        android:maxLines="3"
        android:ellipsize="end"
        app:layout_constraintTop_toBottomOf="@id/activity_playlist_details_image_2"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        tools:text="Name"/>

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/activity_playlist_details_count"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        android:textSize="12sp"
        android:maxLines="1"
        android:ellipsize="end"
        app:layout_constraintTop_toBottomOf="@id/activity_playlist_details_name"
        app:layout_constraintStart_toStartOf="@id/activity_playlist_details_name"
        app:layout_constraintEnd_toEndOf="@id/activity_playlist_details_name"
        tools:text="22 audios"/>

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/activity_playlist_details_recycler_view"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginTop="4dp"
        app:layout_constraintTop_toBottomOf="@id/activity_playlist_details_count"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="@id/activity_playlist_details_count"
        app:layout_constraintEnd_toEndOf="@id/activity_playlist_details_count"
        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
        tools:listitem="@layout/audio"/>

</androidx.constraintlayout.widget.ConstraintLayout>
