<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2019 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
  -->

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/unlock_dialog_parent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <LinearLayout
        android:id="@+id/unlock_dialog"
        android:layout_width="@dimen/unlock_dialog_width"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_gravity="center"
        android:orientation="vertical"
        android:background="@drawable/unlock_dialog_background"
        android:padding="@*android:dimen/car_padding_2">
        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <ProgressBar
                android:layout_gravity="center"
                android:layout_width="@dimen/unlock_dialog_progress_bar_size"
                android:layout_height="@dimen/unlock_dialog_progress_bar_size" />
            <ImageView
                android:id="@+id/avatar"
                android:layout_gravity="center"
                android:layout_width="@dimen/unlock_dialog_avatar_size"
                android:layout_height="@dimen/unlock_dialog_avatar_size"
                android:scaleType="fitCenter"/>
        </FrameLayout>

        <TextView
            android:id="@+id/user_name"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="@string/unlock_dialog_default_user_name"
            android:textSize="@*android:dimen/car_body1_size"
            android:textColor="@android:color/white"/>

        <TextView
            android:id="@+id/unlocking_text"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_marginTop="@*android:dimen/car_padding_1"
            android:text="@string/unlock_dialog_message_default"
            android:textSize="@*android:dimen/car_body4_size"
            android:textColor="@color/unlock_dialog_message_text_default"/>

        <Button
            android:id="@+id/enter_pin_button"
            android:layout_marginTop="@*android:dimen/car_padding_1"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="@string/unlock_dialog_button_text_pin"
            style="@style/UnlockDialogButton"/>
    </LinearLayout>
</FrameLayout>