Private
Public Access
Plexamp Lite 1.14: Android 4.1 build with ExoPlayer, lyrics, home-screen widget
- One build per Android level, as in Tenda: build/PlexampLite.apk (Android 2.2+, versionCode 1508) and build/PlexampLite-api16.apk (Android 4.1+, 1516), from shared src/ plus platform/api8 or platform/api16. - Android 4.1 build: ExoPlayer 2.18.7 behind a small Engine interface (gapless hand-over to read-ahead and downloaded files, a longer buffer, MediaPlayer fallback for tracks it can't decode), a notification and lock screen with art and buttons, a resizable widget, Holo, a menu button without a Menu key, metered networks. R8 shrinks ExoPlayer and Guava (tools/fetch_exoplayer.sh, tools/r8-rules.pro). - Both builds: lyrics in Now Playing as in the Mac app (timed lyrics follow and seek), a home-screen widget, media play/pause keys, the moon icon drawn without clipPath. - PlexampLite-noreport on the SD card stops play reports, for tests against a real server. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2e7476669e
commit
13f29e26c4
39 files changed
+1685
-119
No files matched your search
@@ -23,6 +23,7 @@
|
||||
android:layout_width="wrap_content" android:layout_height="wrap_content"
|
||||
android:textColor="@color/text" android:textSize="@dimen/text_sub" />
|
||||
</LinearLayout>
|
||||
<ImageButton android:id="@+id/np_lyrics_btn" style="@style/IconButton" android:contentDescription="@string/lyrics" />
|
||||
<ImageButton android:id="@+id/np_queue" style="@style/IconButton" />
|
||||
</LinearLayout>
|
||||
|
||||
@@ -41,6 +42,11 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center"
|
||||
android:scaleType="centerCrop" />
|
||||
<com.minamp.LyricsView
|
||||
android:id="@+id/np_lyrics"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="gone" />
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Home-screen widget (4x1) and the Android 4.1 notification. Only views RemoteViews allows; PlayerViews fills it. -->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/rv_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:background="@drawable/widget_bg"
|
||||
android:padding="4dp">
|
||||
|
||||
<ImageView android:id="@+id/rv_art"
|
||||
android:layout_width="56dp" android:layout_height="56dp"
|
||||
android:scaleType="centerCrop" android:src="@drawable/art_placeholder" />
|
||||
|
||||
<LinearLayout android:id="@+id/rv_text"
|
||||
android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"
|
||||
android:orientation="vertical" android:gravity="center_vertical"
|
||||
android:paddingLeft="8dp" android:paddingRight="2dp">
|
||||
<TextView android:id="@+id/rv_title"
|
||||
android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||
android:textColor="@color/text" android:textSize="@dimen/text_mini_title" android:textStyle="bold"
|
||||
android:singleLine="true" android:ellipsize="end" />
|
||||
<TextView android:id="@+id/rv_sub"
|
||||
android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||
android:textColor="@color/text2" android:textSize="@dimen/text_mini_sub"
|
||||
android:singleLine="true" android:ellipsize="end" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageButton android:id="@+id/rv_prev" android:layout_width="38dp" android:layout_height="48dp"
|
||||
android:background="@drawable/bg_pressable_round" android:scaleType="center" android:contentDescription="@string/previous" />
|
||||
<ImageButton android:id="@+id/rv_toggle" android:layout_width="44dp" android:layout_height="48dp"
|
||||
android:background="@drawable/bg_pressable_round" android:scaleType="center" android:contentDescription="@string/play_pause" />
|
||||
<ImageButton android:id="@+id/rv_next" android:layout_width="38dp" android:layout_height="48dp"
|
||||
android:background="@drawable/bg_pressable_round" android:scaleType="center" android:contentDescription="@string/next" />
|
||||
<ImageButton android:id="@+id/rv_close" android:layout_width="34dp" android:layout_height="48dp"
|
||||
android:background="@drawable/bg_pressable_round" android:scaleType="center" android:contentDescription="@string/close"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- The larger widget (Android 4.1+, when it's made two rows tall or more) and the expanded Android 4.1 notification. -->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/rv_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal"
|
||||
android:background="@drawable/widget_bg"
|
||||
android:padding="6dp">
|
||||
|
||||
<ImageView android:id="@+id/rv_art"
|
||||
android:layout_width="112dp" android:layout_height="112dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:scaleType="centerCrop" android:src="@drawable/art_placeholder" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"
|
||||
android:orientation="vertical" android:paddingLeft="10dp">
|
||||
|
||||
<LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"
|
||||
android:orientation="horizontal">
|
||||
<LinearLayout android:id="@+id/rv_text"
|
||||
android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"
|
||||
android:orientation="vertical" android:gravity="center_vertical">
|
||||
<TextView android:id="@+id/rv_title"
|
||||
android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||
android:textColor="@color/text" android:textSize="@dimen/text_body" android:textStyle="bold"
|
||||
android:maxLines="2" android:ellipsize="end" />
|
||||
<TextView android:id="@+id/rv_sub"
|
||||
android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||
android:textColor="@color/text2" android:textSize="@dimen/text_sub"
|
||||
android:singleLine="true" android:ellipsize="end" />
|
||||
<TextView android:id="@+id/rv_album"
|
||||
android:layout_width="match_parent" android:layout_height="wrap_content"
|
||||
android:textColor="@color/text2" android:textSize="@dimen/text_mini_sub"
|
||||
android:singleLine="true" android:ellipsize="end" />
|
||||
</LinearLayout>
|
||||
<ImageButton android:id="@+id/rv_close" android:layout_width="34dp" android:layout_height="34dp"
|
||||
android:background="@drawable/bg_pressable_round" android:scaleType="center"
|
||||
android:contentDescription="@string/close" android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout android:layout_width="match_parent" android:layout_height="48dp"
|
||||
android:orientation="horizontal" android:gravity="center">
|
||||
<ImageButton android:id="@+id/rv_prev" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="1"
|
||||
android:background="@drawable/bg_pressable_round" android:scaleType="center" android:contentDescription="@string/previous" />
|
||||
<ImageButton android:id="@+id/rv_toggle" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="1"
|
||||
android:background="@drawable/bg_pressable_round" android:scaleType="center" android:contentDescription="@string/play_pause" />
|
||||
<ImageButton android:id="@+id/rv_next" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="1"
|
||||
android:background="@drawable/bg_pressable_round" android:scaleType="center" android:contentDescription="@string/next" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
Reference in new issue
Block a user