- One build per Android level, as in Tenda and Plexamp Lite: build/Podlite.apk (Android 2.2+, versionCode 1308) and build/Podlite-api16.apk (Android 4.1+, 1316), from shared src/ plus platform/api8 or platform/api16; build.sh now runs on the local toolchain (aapt2, dx or R8, signapk.py; the JKS key converted for the run). - Android 4.1 build: ExoPlayer 2.18.7 behind an Engine interface, with playback speed (player header) and skipping silences (Settings), a 3-minute buffer and MediaPlayer as fallback for audio it can't decode; a notification and lock screen with the cover and buttons; Holo; a menu button on phones without a Menu key; metered networks for "download on Wi-Fi only". - Both builds: tlskit's Http.abort fix (a finished response's pooled connection is no longer closed under a later request); the lock screen's and newer headsets' play/pause keys. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
47 lines
3.0 KiB
XML
47 lines
3.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- The Android 4.1 build's notification, pulled down. RemoteViews-only views. -->
|
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:layout_width="fill_parent"
|
|
android:layout_height="fill_parent"
|
|
android:orientation="horizontal"
|
|
android:background="@color/surface"
|
|
android:padding="6dp">
|
|
|
|
<ImageView android:id="@+id/n_cover"
|
|
android:layout_width="112dp" android:layout_height="112dp"
|
|
android:layout_gravity="center_vertical"
|
|
android:scaleType="centerCrop" android:src="@drawable/ic_launcher" />
|
|
|
|
<LinearLayout
|
|
android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1"
|
|
android:orientation="vertical" android:paddingLeft="10dp">
|
|
<LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1"
|
|
android:orientation="horizontal">
|
|
<LinearLayout android:id="@+id/n_text"
|
|
android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1"
|
|
android:orientation="vertical" android:gravity="center_vertical">
|
|
<TextView android:id="@+id/n_title"
|
|
android:layout_width="fill_parent" android:layout_height="wrap_content"
|
|
android:textColor="@color/text" android:textSize="15sp" android:textStyle="bold"
|
|
android:maxLines="2" android:ellipsize="end" />
|
|
<TextView android:id="@+id/n_sub"
|
|
android:layout_width="fill_parent" android:layout_height="wrap_content"
|
|
android:textColor="@color/sub" android:textSize="13sp"
|
|
android:singleLine="true" android:ellipsize="end" />
|
|
</LinearLayout>
|
|
<ImageButton android:id="@+id/n_close" android:layout_width="34dp" android:layout_height="34dp"
|
|
android:background="@drawable/btn_flat" android:scaleType="center"
|
|
android:src="@android:drawable/ic_menu_close_clear_cancel" />
|
|
</LinearLayout>
|
|
<LinearLayout android:layout_width="fill_parent" android:layout_height="48dp"
|
|
android:orientation="horizontal" android:gravity="center">
|
|
<Button android:id="@+id/n_back" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="1"
|
|
android:background="@drawable/btn_flat" android:textColor="@color/text" android:textSize="15sp" android:textStyle="bold" />
|
|
<ImageButton android:id="@+id/n_play" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="1"
|
|
android:background="@drawable/btn_flat" android:scaleType="center" android:src="@drawable/ic_play_small" />
|
|
<Button android:id="@+id/n_fwd" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="1"
|
|
android:background="@drawable/btn_flat" android:textColor="@color/text" android:textSize="15sp" android:textStyle="bold" />
|
|
</LinearLayout>
|
|
</LinearLayout>
|
|
</LinearLayout>
|