Podlite 1.12: a build for Android 4.1 (Xperia J) with ExoPlayer, speed and skip silences
- 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>
This commit is contained in:
1 parent
b2ca212c45
commit
666a7eb8cd
32 files changed
+1267
-123
No files matched your search
@@ -33,6 +33,13 @@
|
||||
android:layout_height="fill_parent"
|
||||
android:background="@drawable/row_sel"
|
||||
android:src="@drawable/ic_refresh" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/menu"
|
||||
android:layout_width="@dimen/header_h"
|
||||
android:layout_height="fill_parent"
|
||||
android:background="@drawable/row_sel"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -18,6 +18,27 @@
|
||||
android:singleLine="true"
|
||||
android:ellipsize="end"
|
||||
android:background="@drawable/row_sel" />
|
||||
|
||||
<!-- Android 4.1 build: playback speed -->
|
||||
<Button
|
||||
android:id="@+id/speed"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:minWidth="@dimen/header_h"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:background="@drawable/row_sel"
|
||||
android:textColor="@color/accent_light"
|
||||
android:textSize="@dimen/header_sub"
|
||||
android:textStyle="bold"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/menu"
|
||||
android:layout_width="@dimen/header_h"
|
||||
android:layout_height="fill_parent"
|
||||
android:background="@drawable/row_sel"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- The Android 4.1 build's playback notification (Platform in platform/api16 fills it). 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:gravity="center_vertical"
|
||||
android:background="@color/surface"
|
||||
android:padding="4dp">
|
||||
|
||||
<ImageView android:id="@+id/n_cover"
|
||||
android:layout_width="56dp" android:layout_height="56dp"
|
||||
android:scaleType="centerCrop" android:src="@drawable/ic_launcher" />
|
||||
|
||||
<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"
|
||||
android:paddingLeft="8dp" android:paddingRight="2dp">
|
||||
<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:singleLine="true" 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>
|
||||
|
||||
<Button android:id="@+id/n_back" android:layout_width="42dp" android:layout_height="48dp"
|
||||
android:background="@drawable/btn_flat" android:textColor="@color/text" android:textSize="13sp" android:textStyle="bold" />
|
||||
<ImageButton android:id="@+id/n_play" android:layout_width="44dp" android:layout_height="48dp"
|
||||
android:background="@drawable/btn_flat" android:scaleType="center" android:src="@drawable/ic_play_small" />
|
||||
<Button android:id="@+id/n_fwd" android:layout_width="42dp" android:layout_height="48dp"
|
||||
android:background="@drawable/btn_flat" android:textColor="@color/text" android:textSize="13sp" android:textStyle="bold" />
|
||||
<ImageButton android:id="@+id/n_close" android:layout_width="34dp" android:layout_height="48dp"
|
||||
android:background="@drawable/btn_flat" android:scaleType="center"
|
||||
android:src="@android:drawable/ic_menu_close_clear_cancel" />
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,46 @@
|
||||
<?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>
|
||||
Reference in new issue
Block a user