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

    <LinearLayout
        android:id="@+id/graph_label_group"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:clipChildren="false"
        android:clipToPadding="false">

        <LinearLayout
            android:id="@+id/label_group"
            android:layout_width="@dimen/usage_graph_labels_width"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <include android:id="@+id/label_top"
                layout="@layout/usage_side_label"
                android:contentDescription="@null" />

            <Space
                android:id="@+id/space1"
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="1" />

            <include android:id="@+id/label_middle"
                layout="@layout/usage_side_label"
                android:contentDescription="@null" />

            <Space
                android:id="@+id/space2"
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="1" />

            <include android:id="@+id/label_bottom"
                layout="@layout/usage_side_label"
                android:contentDescription="@null" />

        </LinearLayout>

        <com.android.settings.widget.UsageGraph
            android:id="@+id/usage_graph"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:layout_marginTop="@dimen/usage_graph_margin_top_bottom"
            android:layout_marginBottom="@dimen/usage_graph_margin_top_bottom" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/bottom_label_group"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Space
            android:id="@+id/bottom_label_space"
            android:layout_width="@dimen/usage_graph_labels_width"
            android:layout_height="wrap_content"/>
        <com.android.settings.widget.BottomLabelLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="horizontal">
            <include android:id="@+id/label_start"
                layout="@layout/usage_side_label"
                android:contentDescription="@null" />

            <Space
                android:id="@+id/spacer"
                android:layout_width="40dp"
                android:layout_height="wrap_content"
                android:layout_weight="1" />

            <include android:id="@+id/label_end"
                layout="@layout/usage_side_label"
                android:contentDescription="@null" />
        </com.android.settings.widget.BottomLabelLayout>
    </LinearLayout>

</LinearLayout>
