<?xml version="1.0" encoding="utf-8"?>
<!--
/**
 * Copyright (C) 2015 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.
 */
-->
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingTop="@dimen/delete_profile_dialog_padding_top"
    android:paddingLeft="@dimen/delete_profile_dialog_padding_left_right"
    android:paddingRight="@dimen/delete_profile_dialog_padding_left_right"
    android:fadeScrollbars="false" >

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

        <TextView
            android:id="@+id/delete_managed_profile_opening_paragraph"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/opening_paragraph_delete_profile_unknown_company"
            style="@style/TextAppearance.RemoveDialogContent" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="@dimen/mdm_app_info_height"
            android:layout_alignParentLeft="true"
            android:layout_centerInParent="true"
            android:layout_gravity="center_vertical|start"
            android:orientation="horizontal"
            android:paddingBottom="@dimen/mdm_app_info_padding_top_bottom"
            android:paddingTop="@dimen/mdm_app_info_padding_top_bottom" >

            <ImageView
                android:id="@+id/delete_managed_profile_mdm_icon_view"
                android:layout_width="@dimen/mdm_app_icon_width_height"
                android:layout_height="@dimen/mdm_app_icon_width_height"
                android:scaleType="centerInside"
                android:gravity="center_vertical" />

            <TextView
                android:id="@+id/delete_managed_profile_device_manager_name"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center_vertical"
                android:paddingStart="@dimen/mdm_app_name_padding_left"
                style="@style/TextAppearance.RemoveDialogContent" />
        </LinearLayout>

        <TextView
            android:id="@+id/delete_managed_profile_closing_paragraph"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/work_profile_confirm_remove_message"
            style="@style/TextAppearance.RemoveDialogContent" />
    </LinearLayout>

</ScrollView>