<?xml version="1.0" encoding="utf-8"?>

<!-- Copyright (C) 2016 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. -->

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  android:paddingBottom="@dimen/activity_vertical_margin"
  app:layout_behavior="@string/appbar_scrolling_view_behavior">

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginBottom="5dp"
    android:background="@drawable/navigation_button_bar">

    <include layout="@layout/progress"/>

    <com.google.reviewit.widget.ExpandableCommitMessageView
      android:id="@+id/commitMessage"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:paddingTop="5dp"/>

    <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal">

      <ImageView
        android:id="@+id/emoticon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="7dp"
        android:layout_marginTop="3dp"
        android:clickable="true"/>

      <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="1"/>

      <Button
        android:id="@+id/postReviewButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/button"
        android:textColor="@color/buttonFont"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:text="@string/publish"/>

      <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="1"/>

      <Button
        android:id="@+id/postReviewAndSubmitButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/button"
        android:textColor="@color/buttonFont"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:text="@string/publishAndSubmit"/>

      <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="1"/>
    </LinearLayout>
  </LinearLayout>

  <ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="5dp"
    android:paddingRight="5dp">

    <LinearLayout
      android:orientation="vertical"
      android:layout_width="match_parent"
      android:layout_height="wrap_content">

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/message"
        android:textSize="15dp"/>

      <EditText
        android:id="@+id/changeMessageInput"
        android:inputType="textMultiLine"
        android:lines="4"
        android:gravity="top|left"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:scrollbars="vertical"/>

      <LinearLayout
        android:id="@+id/voteInput"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp">
      </LinearLayout>

      <com.google.reviewit.widget.ApprovalsView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/approvals"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
      </com.google.reviewit.widget.ApprovalsView>
    </LinearLayout>
  </ScrollView>
</LinearLayout>
