Private
Public Access
- New setting "Text and button size" (Normal / Large / Extra large): scales text, icons and buttons on top of the phone's density (App.UI_SCALES) - Larger default text, rows, tiles, touch targets and player icons; all sizes now live in res/values/dimens.xml - Seek bar knob drawn in code, since Android 2.x caches XML shapes at the size they were first loaded - Full-width buttons wrap to two lines instead of cutting words off - Shorter labels so they fit 240x320 screens in both languages - tools/check_fit.py checks that UI texts fit their slots at every size and language using Droid Sans metrics; build.sh runs it and setup_toolchain.sh fetches the font Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
130 lines
8.1 KiB
XML
130 lines
8.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:fillViewport="true"
|
|
android:fadingEdge="none">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:padding="20dp">
|
|
|
|
<!-- welcome -->
|
|
<LinearLayout android:id="@+id/page_welcome"
|
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
|
android:orientation="vertical" android:gravity="center_horizontal">
|
|
<ImageView android:layout_width="64dp" android:layout_height="64dp"
|
|
android:layout_marginTop="12dp" android:src="@drawable/ic_launcher"
|
|
android:scaleType="fitCenter" />
|
|
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:text="@string/app_name" android:textSize="26sp" android:textStyle="bold"
|
|
android:paddingTop="8dp" />
|
|
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:gravity="center" android:textColor="@color/text2" android:textSize="@dimen/text_sub"
|
|
android:paddingTop="4dp" android:paddingBottom="22dp"
|
|
android:text="@string/tagline" />
|
|
<Button android:id="@+id/btn_signin" style="@style/ButtonAccent"
|
|
android:layout_width="match_parent" android:text="@string/sign_in" />
|
|
<Button android:id="@+id/btn_manual" style="@style/ButtonOutline"
|
|
android:layout_width="match_parent" android:layout_marginTop="10dp"
|
|
android:text="@string/connect_address" />
|
|
<TextView android:id="@+id/btn_setup_log"
|
|
android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:layout_marginTop="18dp" android:padding="8dp"
|
|
android:background="@drawable/bg_pressable"
|
|
android:textColor="@color/text2" android:textSize="@dimen/text_sub"
|
|
android:text="@string/connection_log" />
|
|
</LinearLayout>
|
|
|
|
<!-- PIN -->
|
|
<LinearLayout android:id="@+id/page_pin"
|
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
|
android:orientation="vertical" android:gravity="center_horizontal"
|
|
android:visibility="gone">
|
|
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:gravity="center" android:textColor="@color/text2" android:textSize="@dimen/text_sub"
|
|
android:paddingTop="12dp"
|
|
android:text="@string/pin_open" />
|
|
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:text="plex.tv/link" android:textSize="22sp" android:textStyle="bold"
|
|
android:textColor="@color/accent" android:paddingTop="4dp" />
|
|
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:textColor="@color/text2" android:textSize="@dimen/text_sub" android:paddingTop="10dp"
|
|
android:text="@string/pin_enter" />
|
|
<TextView android:id="@+id/pin_code"
|
|
android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:textSize="40sp" android:textStyle="bold" android:typeface="monospace"
|
|
android:paddingTop="6dp" android:paddingBottom="10dp" />
|
|
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:orientation="horizontal" android:gravity="center_vertical">
|
|
<ProgressBar style="@android:style/Widget.ProgressBar.Small"
|
|
android:layout_width="wrap_content" android:layout_height="wrap_content" />
|
|
<TextView android:id="@+id/pin_status"
|
|
android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:textColor="@color/text2" android:textSize="@dimen/text_sub" android:paddingLeft="8dp"
|
|
android:text="@string/pin_waiting" />
|
|
</LinearLayout>
|
|
<Button android:id="@+id/btn_pin_check" style="@style/ButtonAccent"
|
|
android:layout_width="match_parent" android:layout_marginTop="20dp"
|
|
android:text="@string/pin_check_now" />
|
|
<Button android:id="@+id/btn_pin_cancel" style="@style/ButtonOutline"
|
|
android:layout_width="match_parent" android:layout_marginTop="10dp"
|
|
android:text="@string/cancel" />
|
|
</LinearLayout>
|
|
|
|
<!-- manual -->
|
|
<LinearLayout android:id="@+id/page_manual"
|
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
|
android:orientation="vertical" android:visibility="gone">
|
|
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:text="@string/server_address" android:textSize="@dimen/text_title" android:textStyle="bold" />
|
|
<TextView style="@style/Sub" android:layout_width="match_parent" android:layout_height="wrap_content"
|
|
android:singleLine="false" android:paddingTop="4dp" android:paddingBottom="10dp"
|
|
android:text="@string/server_address_help" />
|
|
<EditText android:id="@+id/edit_url" style="@style/Edit"
|
|
android:hint="@string/address_hint" android:inputType="textUri" />
|
|
<EditText android:id="@+id/edit_token" style="@style/Edit"
|
|
android:layout_marginTop="8dp" android:hint="@string/token_hint"
|
|
android:inputType="textVisiblePassword" />
|
|
<Button android:id="@+id/btn_manual_go" style="@style/ButtonAccent"
|
|
android:layout_width="match_parent" android:layout_marginTop="14dp"
|
|
android:text="@string/connect" />
|
|
<Button android:id="@+id/btn_manual_back" style="@style/ButtonOutline"
|
|
android:layout_width="match_parent" android:layout_marginTop="10dp"
|
|
android:text="@string/back" />
|
|
</LinearLayout>
|
|
|
|
<!-- choose server / library -->
|
|
<LinearLayout android:id="@+id/page_choose"
|
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
|
android:orientation="vertical" android:visibility="gone">
|
|
<TextView android:id="@+id/choose_title"
|
|
android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:textSize="@dimen/text_title" android:textStyle="bold" />
|
|
<TextView android:id="@+id/choose_sub" style="@style/Sub"
|
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
|
android:singleLine="false" android:paddingTop="2dp" android:paddingBottom="10dp" />
|
|
<LinearLayout android:id="@+id/choose_list"
|
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
|
android:orientation="vertical" />
|
|
<Button android:id="@+id/btn_choose_back" style="@style/ButtonOutline"
|
|
android:layout_width="match_parent" android:layout_marginTop="14dp"
|
|
android:text="@string/back" />
|
|
</LinearLayout>
|
|
|
|
<!-- busy -->
|
|
<LinearLayout android:id="@+id/page_busy"
|
|
android:layout_width="match_parent" android:layout_height="wrap_content"
|
|
android:orientation="vertical" android:gravity="center_horizontal"
|
|
android:paddingTop="60dp" android:visibility="gone">
|
|
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" />
|
|
<TextView android:id="@+id/busy_text"
|
|
android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:gravity="center" android:textColor="@color/text2" android:textSize="@dimen/text_sub"
|
|
android:paddingTop="12dp" />
|
|
</LinearLayout>
|
|
</LinearLayout>
|
|
</ScrollView>
|