<?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"
              android:orientation="vertical"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content">

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/info"/>

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="10sp"
    android:text="@string/about_info"/>

  <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_marginTop="3dp"
               android:stretchColumns="1"
               android:shrinkColumns="1">

    <TableRow>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="3dp"
        android:layout_marginRight="5dp"
        android:textColor="@android:color/black"
        android:textSize="20sp"
        android:text="PS"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_patch_sets"/>
    </TableRow>

    <TableRow>

      <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="3dp"
        android:layout_marginRight="3dp"
        android:src="@drawable/ic_thumb_up_black_18dp"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_thumb_up"/>
    </TableRow>

    <TableRow>

      <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="3dp"
        android:layout_marginRight="3dp"
        android:src="@drawable/ic_thumb_down_black_18dp"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_thumb_down"/>
    </TableRow>

    <TableRow>

      <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="3dp"
        android:layout_marginRight="3dp"
        android:src="@drawable/ic_comment_black_16dp"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_comments"/>
    </TableRow>

    <TableRow>

      <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="3dp"
        android:layout_marginRight="3dp"
        android:src="@drawable/ic_face_black_18dp"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_reviewers"/>
    </TableRow>

    <TableRow>

      <ImageView
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginTop="3dp"
        android:layout_marginRight="3dp"
        android:layout_marginBottom="3dp"
        android:background="@color/verifiedPlusOne"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_verified_plus_one"/>
    </TableRow>

    <TableRow>

      <ImageView
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginTop="3dp"
        android:layout_marginRight="3dp"
        android:layout_marginBottom="3dp"
        android:background="@color/verifiedMinusOne"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_verified_minus_one"/>
    </TableRow>

    <TableRow>

      <ImageView
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginTop="3dp"
        android:layout_marginRight="3dp"
        android:layout_marginBottom="3dp"
        android:background="@color/nonMergable"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_non_mergeable"/>
    </TableRow>

    <TableRow>

      <ImageView
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginTop="3dp"
        android:layout_marginRight="3dp"
        android:layout_marginBottom="3dp"
        android:background="@color/abandoned"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_abandoned"/>
    </TableRow>

    <TableRow>

      <ImageView
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginTop="3dp"
        android:layout_marginRight="3dp"
        android:layout_marginBottom="3dp"
        android:background="@color/merged"/>

      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10sp"
        android:text="@string/about_merged"/>
    </TableRow>
  </TableLayout>
</LinearLayout>