Files
Portal-Camera/portal-capability-test/res/layout/item_client_paired.xml
T

126 lines
4.9 KiB
XML
Raw Normal View History

2026-09-13 18:25:57 -07:00
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/pc_card_inner"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical"
android:nextFocusRight="@+id/client_revoke"
android:orientation="horizontal"
android:padding="12dp">
<!-- Left: client info (equal weight keeps Paired At centered) -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/client_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/pc_icon_circle_green"
android:fontFamily="@font/lucide"
android:gravity="center"
android:includeFontPadding="false"
android:textColor="@color/pc_green"
android:textSize="18sp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:orientation="vertical">
<TextView
android:id="@+id/client_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/pc_text"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:id="@+id/client_meta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/pc_text_secondary"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<!-- Center: Paired At with separators on both sides -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="top"
android:orientation="horizontal">
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:layout_marginEnd="28dp"
android:background="@color/pc_separator" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="start"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Paired At"
android:textColor="@color/pc_text_dim"
android:textSize="11sp" />
<TextView
android:id="@+id/client_paired_at"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/pc_text_secondary"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
<!-- Right: status + revoke (equal weight keeps center block centered) -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="end|center_vertical"
android:orientation="horizontal"
android:paddingStart="28dp">
<LinearLayout
android:id="@+id/client_connected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:layout_width="8dp"
android:layout_height="8dp"
android:layout_marginEnd="6dp"
android:background="@drawable/pc_dot_green" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="12dp"
android:text="Connected"
android:textColor="@color/pc_green"
android:textSize="13sp" />
</LinearLayout>
<Button
android:id="@+id/client_revoke"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:background="@drawable/pc_btn_danger"
android:focusable="true"
android:paddingStart="14dp"
android:paddingEnd="14dp"
android:text="Revoke"
android:textAllCaps="false"
android:textColor="@color/pc_red"
android:textSize="13sp" />
</LinearLayout>
</LinearLayout>