<?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"
              app:layout_behavior="@string/appbar_scrolling_view_behavior">

  <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/unifiedDiffRoot"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:orientation="vertical"/>

  <LinearLayout
    android:id="@+id/postReviewPanel"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/navigation_button_bar"
    android:orientation="vertical"
    android:visibility="gone">

    <com.google.reviewit.widget.SelectCodeReviewView
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      android:id="@+id/postReview"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@color/postReview"
      android:layout_marginTop="5dp"
      android:layout_marginLeft="5dp"
      android:layout_marginRight="5dp"
      android:visibility="gone">
    </com.google.reviewit.widget.SelectCodeReviewView>

    <ImageView
      android:id="@+id/expandPostReviewPanel"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_horizontal"
      android:clickable="true"
      android:src="@drawable/ic_keyboard_arrow_up_white_36dp"/>

    <ImageView
      android:id="@+id/collapsePostReviewPanel"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="center_horizontal"
      android:clickable="true"
      android:src="@drawable/ic_keyboard_arrow_down_white_36dp"
      android:visibility="gone"/>
  </LinearLayout>


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

    <com.google.reviewit.widget.SelectCodeReviewView
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      android:id="@+id/postReviewNav"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@color/postReview"
      android:layout_marginTop="5dp"
      android:layout_marginLeft="5dp"
      android:layout_marginRight="5dp"
      android:visibility="gone">
    </com.google.reviewit.widget.SelectCodeReviewView>

    <RelativeLayout
      android:id="@+id/navigationButtons"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
      android:visibility="gone">

      <LinearLayout
        android:id="@+id/navigationPrev"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentLeft="true"
        android:visibility="gone">

        <ImageView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_margin="3dp"
          android:layout_gravity="center_vertical"
          android:src="@drawable/ic_arrow_back_white_36dp"/>

        <TextView
          android:id="@+id/navigationPrevFile"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textColor="@color/navBarFont"
          android:layout_gravity="center_vertical"
          android:textSize="10sp"
          android:layout_marginRight="4dp"/>
      </LinearLayout>

      <ImageView
        android:id="@+id/expandPostReviewPanelNav"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_keyboard_arrow_up_white_36dp"/>

      <ImageView
        android:id="@+id/collapsePostReviewPanelNav"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_keyboard_arrow_down_white_36dp"
        android:visibility="gone"/>

      <LinearLayout
        android:id="@+id/navigationNext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentRight="true"
        android:visibility="gone">

        <TextView
          android:id="@+id/navigationNextFile"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textColor="@color/navBarFont"
          android:layout_gravity="center_vertical"
          android:gravity="right"
          android:textSize="10sp"
          android:layout_marginLeft="4dp"/>

        <ImageView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_margin="3dp"
          android:layout_gravity="center_vertical"
          android:src="@drawable/ic_arrow_forward_white_36dp"/>
      </LinearLayout>
    </RelativeLayout>
  </LinearLayout>

</LinearLayout>
