<?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_movie_details_image"
        android:layout_width="0dp"
        android:layout_height="309dp"
        android:scaleType="centerCrop"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        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_movie_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_movie_details_play"
        android:layout_width="48dp"
        android:layout_height="48dp"
        app:layout_constraintTop_toTopOf="@id/activity_movie_details_image"
        app:layout_constraintBottom_toBottomOf="@id/activity_movie_details_image"
        app:layout_constraintStart_toStartOf="@id/activity_movie_details_image"
        app:layout_constraintEnd_toEndOf="@id/activity_movie_details_image"
        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_movie_details_image"
        app:layout_constraintStart_toStartOf="@id/activity_movie_details_image"
        app:layout_constraintEnd_toEndOf="@id/activity_movie_details_image"/>

    <com.android.pump.widget.UriImageView
        android:id="@+id/activity_movie_details_poster"
        android:layout_width="108dp"
        android:layout_height="162dp"
        android:layout_marginStart="24dp"
        android:layout_marginEnd="24dp"
        android:scaleType="centerCrop"
        app:layout_constraintBottom_toBottomOf="@id/activity_movie_details_image"
        app:layout_constraintStart_toStartOf="@id/activity_movie_details_image"
        tools:src="@tools:sample/avatars"/>

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

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/activity_movie_details_attributes"
        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_movie_details_title"
        app:layout_constraintStart_toStartOf="@id/activity_movie_details_title"
        app:layout_constraintEnd_toEndOf="@id/activity_movie_details_title"
        tools:text="1h 20m"/>

    <androidx.appcompat.widget.AppCompatTextView
        android:id="@+id/activity_movie_details_synopsis"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        android:maxLines="3"
        android:ellipsize="end"
        app:layout_constraintTop_toBottomOf="@id/activity_movie_details_attributes"
        app:layout_constraintStart_toStartOf="@id/activity_movie_details_title"
        app:layout_constraintEnd_toEndOf="@id/activity_movie_details_title"
        tools:text="@tools:sample/lorem/random"/>

</androidx.constraintlayout.widget.ConstraintLayout>
