<?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. -->

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
           android:shape="rectangle">
      <corners android:radius="20dp"/>
      <padding
        android:left="0dp"
        android:right="3dp"
        android:top="0dp"
        android:bottom="3dp"/>
      <solid android:color="@color/commitMessage2"/>
      <stroke
        android:width="1px"
        android:color="@color/commitMessage4"/>
    </shape>
  </item>
  <item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
           android:shape="rectangle">
      <corners android:radius="20dp"/>
      <padding
        android:left="10dp"
        android:right="10dp"
        android:top="10dp"
        android:bottom="10dp"/>
      <solid android:color="@color/commitMessage"/>
      <stroke
        android:width="1px"
        android:color="@color/commitMessage4"/>
    </shape>
  </item>
</layer-list>