Removed font onum

main
h4h13 2019-12-30 10:23:51 +05:30
parent 9b1e078c20
commit bed8a7a9ad
32 changed files with 341 additions and 369 deletions

View File

@ -15,7 +15,9 @@
package code.name.monkey.retromusic.appwidgets
import android.app.PendingIntent
import android.content.*
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import android.text.TextUtils
@ -31,201 +33,201 @@ import code.name.monkey.retromusic.service.MusicService.*
import code.name.monkey.retromusic.util.RetroUtil
import com.bumptech.glide.Glide
import com.bumptech.glide.request.animation.GlideAnimation
import com.bumptech.glide.request.target.*
import com.bumptech.glide.request.target.SimpleTarget
import com.bumptech.glide.request.target.Target
class AppWidgetBig : BaseAppWidget() {
private var target: Target<Bitmap>? = null // for cancellation
private var target: Target<Bitmap>? = null // for cancellation
/**
* Initialize given widgets to default state, where we launch Music on default click and hide
* actions if service not running.
*/
override fun defaultAppWidget(context: Context, appWidgetIds: IntArray) {
val appWidgetView = RemoteViews(
context.packageName, code.name.monkey.retromusic.R.layout.app_widget_big
)
/**
* Initialize given widgets to default state, where we launch Music on default click and hide
* actions if service not running.
*/
override fun defaultAppWidget(context: Context, appWidgetIds: IntArray) {
val appWidgetView = RemoteViews(
context.packageName, code.name.monkey.retromusic.R.layout.app_widget_big
)
appWidgetView.setViewVisibility(
code.name.monkey.retromusic.R.id.media_titles,
View.INVISIBLE
)
appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art)
appWidgetView.setImageViewBitmap(
R.id.button_next, BaseAppWidget.createBitmap(
RetroUtil.getTintedVectorDrawable(
context,
code.name.monkey.retromusic.R.drawable.ic_skip_next_white_24dp,
MaterialValueHelper.getPrimaryTextColor(context, false)
)!!, 1f
)
)
appWidgetView.setImageViewBitmap(
R.id.button_prev, BaseAppWidget.Companion.createBitmap(
RetroUtil.getTintedVectorDrawable(
context,
code.name.monkey.retromusic.R.drawable.ic_skip_previous_white_24dp,
MaterialValueHelper.getPrimaryTextColor(context, false)
)!!, 1f
)
)
appWidgetView.setImageViewBitmap(
R.id.button_toggle_play_pause, BaseAppWidget.Companion.createBitmap(
RetroUtil.getTintedVectorDrawable(
context,
code.name.monkey.retromusic.R.drawable.ic_play_arrow_white_32dp,
MaterialValueHelper.getPrimaryTextColor(context, false)
)!!, 1f
)
)
appWidgetView.setViewVisibility(
code.name.monkey.retromusic.R.id.media_titles,
View.INVISIBLE
)
appWidgetView.setImageViewResource(R.id.image, R.drawable.default_album_art)
appWidgetView.setImageViewBitmap(
R.id.button_next, BaseAppWidget.createBitmap(
RetroUtil.getTintedVectorDrawable(
context,
code.name.monkey.retromusic.R.drawable.ic_skip_next_white_24dp,
MaterialValueHelper.getPrimaryTextColor(context, false)
)!!, 1f
)
)
appWidgetView.setImageViewBitmap(
R.id.button_prev, BaseAppWidget.Companion.createBitmap(
RetroUtil.getTintedVectorDrawable(
context,
code.name.monkey.retromusic.R.drawable.ic_skip_previous_white_24dp,
MaterialValueHelper.getPrimaryTextColor(context, false)
)!!, 1f
)
)
appWidgetView.setImageViewBitmap(
R.id.button_toggle_play_pause, BaseAppWidget.Companion.createBitmap(
RetroUtil.getTintedVectorDrawable(
context,
code.name.monkey.retromusic.R.drawable.ic_play_arrow_white_32dp,
MaterialValueHelper.getPrimaryTextColor(context, false)
)!!, 1f
)
)
linkButtons(context, appWidgetView)
pushUpdate(context, appWidgetIds, appWidgetView)
}
linkButtons(context, appWidgetView)
pushUpdate(context, appWidgetIds, appWidgetView)
}
/**
* Update all active widget instances by pushing changes
*/
override fun performUpdate(service: MusicService, appWidgetIds: IntArray?) {
val appWidgetView = RemoteViews(
service.packageName, code.name.monkey.retromusic.R.layout.app_widget_big
)
/**
* Update all active widget instances by pushing changes
*/
override fun performUpdate(service: MusicService, appWidgetIds: IntArray?) {
val appWidgetView = RemoteViews(
service.packageName, code.name.monkey.retromusic.R.layout.app_widget_big
)
val isPlaying = service.isPlaying
val song = service.currentSong
val isPlaying = service.isPlaying
val song = service.currentSong
// Set the titles and artwork
if (TextUtils.isEmpty(song.title) && TextUtils.isEmpty(song.artistName)) {
appWidgetView.setViewVisibility(
code.name.monkey.retromusic.R.id.media_titles,
View.INVISIBLE
)
} else {
appWidgetView.setViewVisibility(
code.name.monkey.retromusic.R.id.media_titles,
View.VISIBLE
)
appWidgetView.setTextViewText(code.name.monkey.retromusic.R.id.title, song.title)
appWidgetView.setTextViewText(
code.name.monkey.retromusic.R.id.text,
getSongArtistAndAlbum(song)
)
}
// Set the titles and artwork
if (TextUtils.isEmpty(song.title) && TextUtils.isEmpty(song.artistName)) {
appWidgetView.setViewVisibility(
code.name.monkey.retromusic.R.id.media_titles,
View.INVISIBLE
)
} else {
appWidgetView.setViewVisibility(
code.name.monkey.retromusic.R.id.media_titles,
View.VISIBLE
)
appWidgetView.setTextViewText(code.name.monkey.retromusic.R.id.title, song.title)
appWidgetView.setTextViewText(
code.name.monkey.retromusic.R.id.text,
getSongArtistAndAlbum(song)
)
}
// Set correct drawable for pause state
val playPauseRes = if (isPlaying) code.name.monkey.retromusic.R.drawable.ic_pause_white_24dp else code.name.monkey.retromusic.R.drawable.ic_play_arrow_white_32dp
appWidgetView.setImageViewBitmap(
R.id.button_toggle_play_pause, BaseAppWidget.createBitmap(
RetroUtil.getTintedVectorDrawable(
service,
playPauseRes,
MaterialValueHelper.getPrimaryTextColor(service, false)
)!!, 1f
)
)
// Set correct drawable for pause state
val playPauseRes = if (isPlaying) code.name.monkey.retromusic.R.drawable.ic_pause_white_24dp else code.name.monkey.retromusic.R.drawable.ic_play_arrow_white_32dp
appWidgetView.setImageViewBitmap(
R.id.button_toggle_play_pause, BaseAppWidget.createBitmap(
RetroUtil.getTintedVectorDrawable(
service,
playPauseRes,
MaterialValueHelper.getPrimaryTextColor(service, false)
)!!, 1f
)
)
// Set prev/next button drawables
appWidgetView.setImageViewBitmap(
R.id.button_next, BaseAppWidget.Companion.createBitmap(
RetroUtil.getTintedVectorDrawable(
service,
code.name.monkey.retromusic.R.drawable.ic_skip_next_white_24dp,
MaterialValueHelper.getPrimaryTextColor(service, false)
)!!, 1f
)
)
appWidgetView.setImageViewBitmap(
R.id.button_prev, BaseAppWidget.Companion.createBitmap(
RetroUtil.getTintedVectorDrawable(
service,
code.name.monkey.retromusic.R.drawable.ic_skip_previous_white_24dp,
MaterialValueHelper.getPrimaryTextColor(service, false)
)!!, 1f
)
)
// Set prev/next button drawables
appWidgetView.setImageViewBitmap(
R.id.button_next, BaseAppWidget.Companion.createBitmap(
RetroUtil.getTintedVectorDrawable(
service,
code.name.monkey.retromusic.R.drawable.ic_skip_next_white_24dp,
MaterialValueHelper.getPrimaryTextColor(service, false)
)!!, 1f
)
)
appWidgetView.setImageViewBitmap(
R.id.button_prev, BaseAppWidget.Companion.createBitmap(
RetroUtil.getTintedVectorDrawable(
service,
code.name.monkey.retromusic.R.drawable.ic_skip_previous_white_24dp,
MaterialValueHelper.getPrimaryTextColor(service, false)
)!!, 1f
)
)
// Link actions buttons to intents
linkButtons(service, appWidgetView)
// Link actions buttons to intents
linkButtons(service, appWidgetView)
// Load the album cover async and push the update on completion
val p = RetroUtil.getScreenSize(service)
val widgetImageSize = Math.min(p.x, p.y)
val appContext = service.applicationContext
service.runOnUiThread {
if (target != null) {
Glide.clear(target)
}
target = SongGlideRequest.Builder.from(Glide.with(appContext), song)
.checkIgnoreMediaStore(appContext).asBitmap().build()
.into(object : SimpleTarget<Bitmap>(widgetImageSize, widgetImageSize) {
override fun onResourceReady(
resource: Bitmap,
glideAnimation: GlideAnimation<in Bitmap>
) {
update(resource)
}
// Load the album cover async and push the update on completion
val p = RetroUtil.getScreenSize(service)
val widgetImageSize = Math.min(p.x, p.y)
val appContext = service.applicationContext
service.runOnUiThread {
if (target != null) {
Glide.clear(target)
}
target = SongGlideRequest.Builder.from(Glide.with(appContext), song)
.checkIgnoreMediaStore(appContext).asBitmap().build()
.into(object : SimpleTarget<Bitmap>(widgetImageSize, widgetImageSize) {
override fun onResourceReady(
resource: Bitmap,
glideAnimation: GlideAnimation<in Bitmap>
) {
update(resource)
}
override fun onLoadFailed(e: Exception?, errorDrawable: Drawable?) {
super.onLoadFailed(e, errorDrawable)
update(null)
}
override fun onLoadFailed(e: Exception?, errorDrawable: Drawable?) {
super.onLoadFailed(e, errorDrawable)
update(null)
}
private fun update(bitmap: Bitmap?) {
if (bitmap == null) {
appWidgetView.setImageViewResource(
R.id.image,
R.drawable.default_album_art
)
} else {
appWidgetView.setImageViewBitmap(R.id.image, bitmap)
}
pushUpdate(appContext, appWidgetIds, appWidgetView)
}
});
}
}
private fun update(bitmap: Bitmap?) {
if (bitmap == null) {
appWidgetView.setImageViewResource(
R.id.image,
R.drawable.default_album_art
)
} else {
appWidgetView.setImageViewBitmap(R.id.image, bitmap)
}
pushUpdate(appContext, appWidgetIds, appWidgetView)
}
});
}
}
/**
* Link up various button actions using [PendingIntent].
*/
private fun linkButtons(context: Context, views: RemoteViews) {
val action = Intent(context, MainActivity::class.java).putExtra("expand", true)
var pendingIntent: PendingIntent
/**
* Link up various button actions using [PendingIntent].
*/
private fun linkButtons(context: Context, views: RemoteViews) {
val action = Intent(context, MainActivity::class.java).putExtra("expand", true)
var pendingIntent: PendingIntent
val serviceName = ComponentName(context, MusicService::class.java)
val serviceName = ComponentName(context, MusicService::class.java)
// Home
action.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP
pendingIntent = PendingIntent.getActivity(context, 0, action, 0)
views.setOnClickPendingIntent(R.id.clickable_area, pendingIntent)
// Home
action.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP
pendingIntent = PendingIntent.getActivity(context, 0, action, 0)
views.setOnClickPendingIntent(R.id.clickable_area, pendingIntent)
// Previous track
pendingIntent = buildPendingIntent(context, ACTION_REWIND, serviceName)
views.setOnClickPendingIntent(R.id.button_prev, pendingIntent)
// Previous track
pendingIntent = buildPendingIntent(context, ACTION_REWIND, serviceName)
views.setOnClickPendingIntent(R.id.button_prev, pendingIntent)
// Play and pause
pendingIntent = buildPendingIntent(context, ACTION_TOGGLE_PAUSE, serviceName)
views.setOnClickPendingIntent(R.id.button_toggle_play_pause, pendingIntent)
// Play and pause
pendingIntent = buildPendingIntent(context, ACTION_TOGGLE_PAUSE, serviceName)
views.setOnClickPendingIntent(R.id.button_toggle_play_pause, pendingIntent)
// Next track
pendingIntent = buildPendingIntent(context, ACTION_SKIP, serviceName)
views.setOnClickPendingIntent(R.id.button_next, pendingIntent)
// Next track
pendingIntent = buildPendingIntent(context, ACTION_SKIP, serviceName)
views.setOnClickPendingIntent(R.id.button_next, pendingIntent)
}
}
companion object {
companion object {
const val NAME: String = "app_widget_big"
private var mInstance: AppWidgetBig? = null
const val NAME: String = "app_widget_big"
private var mInstance: AppWidgetBig? = null
val instance: AppWidgetBig
@Synchronized get() {
if (mInstance == null) {
mInstance = AppWidgetBig()
}
return mInstance!!
}
val instance: AppWidgetBig
@Synchronized get() {
if (mInstance == null) {
mInstance = AppWidgetBig()
}
return mInstance!!
}
}
}
}

View File

@ -69,7 +69,7 @@ object MusicPlayerRemote {
val playingQueue: ArrayList<Song>
get() = if (musicService != null) {
musicService!!.playingQueue
musicService?.playingQueue as ArrayList<Song>
} else ArrayList()
val songProgressMillis: Int
@ -153,11 +153,13 @@ object MusicPlayerRemote {
}
return null
}
fun getQueueDurationSongs(): Int {
return if (musicService != null) {
musicService!!.playingQueue.size
musicService!!.playingQueue!!.size
} else -1
}
/**
* Async
*/

View File

@ -747,12 +747,12 @@ public class MusicService extends Service implements
uiThreadHandler.post(runnable);
}
@Nullable
@NonNull
public Song getCurrentSong() {
return getSongAt(getPosition());
}
@Nullable
@NonNull
public Song getSongAt(int position) {
if (position >= 0 && getPlayingQueue() != null && position < getPlayingQueue().size()) {
return getPlayingQueue().get(position);

View File

@ -111,8 +111,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:paddingTop="4dp"
android:singleLine="true"
android:textAppearance="@style/TextViewSubtitle2"

View File

@ -96,8 +96,6 @@
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:paddingTop="4dp"
android:textAppearance="@style/TextViewSubtitle2"
android:textColor="?android:attr/textColorSecondary"

View File

@ -126,8 +126,6 @@
android:id="@+id/albumText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:paddingTop="4dp"
android:textAppearance="@style/TextViewHeadline6"
android:textColor="?android:attr/textColorSecondary"

View File

@ -98,8 +98,6 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:paddingTop="4dp"
android:singleLine="true"
android:textAppearance="@style/TextViewHeadline6"

View File

@ -130,8 +130,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"
@ -145,8 +145,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"

View File

@ -132,8 +132,6 @@
android:layout_gravity="center"
android:ellipsize="marquee"
android:focusable="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:focusableInTouchMode="true"
android:freezesText="true"
android:textColor="?android:attr/textColorSecondary"

View File

@ -100,8 +100,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="4dp"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:textAppearance="@style/TextViewHeadline6"
android:textColor="?android:attr/textColorSecondary"
tools:ignore="MissingPrefix"

View File

@ -112,8 +112,6 @@
android:layout_marginStart="16dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="16dp"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:singleLine="true"
android:textAppearance="@style/TextViewSubtitle2"
android:textColor="?android:attr/textColorSecondary"

View File

@ -96,8 +96,6 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="4dp"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:layout_marginEnd="16dp"
android:textAppearance="@style/TextViewSubtitle2"
android:textColor="?android:attr/textColorSecondary"

View File

@ -24,8 +24,6 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
@ -39,8 +37,6 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"

View File

@ -51,8 +51,6 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"
@ -66,8 +64,6 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"

View File

@ -38,8 +38,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:textAppearance="@style/TextViewOverline"
@ -52,8 +50,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:textAppearance="@style/TextViewOverline"

View File

@ -1,126 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/playback_controls"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
tools:ignore="MissingPrefix">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/playback_controls"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:orientation="vertical"
tools:ignore="MissingPrefix">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/progress_container_height"
android:background="@color/twenty_percent_black_overlay">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/progress_container_height"
android:background="@color/twenty_percent_black_overlay">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/songCurrentProgress"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
android:textColor="?colorOnSecondary"
android:textSize="12sp"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/songCurrentProgress"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
android:textColor="?colorOnSecondary"
android:textSize="12sp"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/songTotalTime"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"
android:textColor="?colorOnSecondary"
android:textSize="12sp"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/songTotalTime"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"
android:textColor="?colorOnSecondary"
android:textSize="12sp"
tools:ignore="RtlHardcoded,RtlSymmetry" />
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/progressSlider"
style="@style/MusicProgressSlider"
android:layout_height="match_parent"
android:layout_toLeftOf="@id/songTotalTime"
android:layout_toRightOf="@id/songCurrentProgress"
tools:ignore="RtlHardcoded,UnusedAttribute" />
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/progressSlider"
style="@style/MusicProgressSlider"
android:layout_height="match_parent"
android:layout_toLeftOf="@id/songTotalTime"
android:layout_toRightOf="@id/songCurrentProgress"
tools:ignore="RtlHardcoded,UnusedAttribute" />
</RelativeLayout>
</RelativeLayout>
<include layout="@layout/media_button" />
<include layout="@layout/media_button" />
<FrameLayout
android:id="@+id/volumeFragmentContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="8dp"
android:paddingEnd="8dp" />
<FrameLayout
android:id="@+id/volumeFragmentContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="8dp"
android:paddingEnd="8dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:foreground="?rectSelector"
android:minHeight="72dp"
android:orientation="horizontal"
tools:ignore="UnusedAttribute">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:foreground="?rectSelector"
android:minHeight="72dp"
android:orientation="horizontal"
tools:ignore="UnusedAttribute">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="16dp"
android:scaleType="centerCrop"
app:srcCompat="@drawable/ic_play_circle_filled_white_24dp"
app:tint="?colorAccent" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="16dp"
android:scaleType="centerCrop"
app:srcCompat="@drawable/ic_play_circle_filled_white_24dp"
app:tint="?colorAccent" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:layout_weight="1.0"
android:orientation="vertical"
android:paddingStart="0dp"
android:paddingEnd="16dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:layout_weight="1.0"
android:orientation="vertical"
android:paddingStart="0dp"
android:paddingEnd="16dp">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="@style/TextViewHeadline6"
android:textStyle="bold"
tools:text="@tools:sample/lorem/random" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="@style/TextViewHeadline6"
android:textStyle="bold"
tools:text="@tools:sample/lorem/random" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textStyle="bold"
tools:text="@tools:sample/lorem/random" />
</LinearLayout>
</LinearLayout>
<com.google.android.material.textview.MaterialTextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textStyle="bold"
tools:text="@tools:sample/lorem/random" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@ -23,8 +23,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
@ -37,8 +37,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"

View File

@ -18,8 +18,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
@ -33,8 +33,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"

View File

@ -23,8 +23,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
@ -38,8 +38,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"

View File

@ -88,7 +88,7 @@
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif-medium"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
@ -103,7 +103,7 @@
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif-medium"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"

View File

@ -24,8 +24,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
@ -39,8 +39,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"

View File

@ -24,8 +24,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
@ -39,8 +39,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"

View File

@ -35,8 +35,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
@ -50,8 +50,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"

View File

@ -22,8 +22,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"
@ -37,8 +37,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"

View File

@ -38,8 +38,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|right|end"
android:paddingRight="8dp"
android:singleLine="true"
@ -53,8 +53,8 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center_vertical|left|end"
android:paddingLeft="8dp"
android:singleLine="true"

View File

@ -58,8 +58,8 @@
android:layout_height="wrap_content"
android:gravity="center"
android:paddingStart="16dp"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:paddingEnd="16dp"
android:textAppearance="@style/TextViewSubtitle2"
app:layout_constraintBottom_toTopOf="@+id/playerMediaControllerContainer"

View File

@ -51,8 +51,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:padding="16dp"
android:textAppearance="@style/TextViewHeadline3"
android:textStyle="bold"

View File

@ -55,7 +55,7 @@
android:id="@+id/imageText"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:fontFeatureSettings="onum"
android:gravity="center"
android:maxLines="1"
android:minHeight="40dp"
@ -92,8 +92,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:maxLines="1"
android:textColor="?android:attr/textColorSecondary"
tools:text="Song artist name " />

View File

@ -38,8 +38,8 @@
android:id="@+id/text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:singleLine="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

@ -43,7 +43,7 @@
android:id="@+id/imageText"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:fontFeatureSettings="onum"
android:gravity="center"
android:maxLines="1"
android:minWidth="36dp"
@ -78,8 +78,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:maxLines="1"
tools:text="Song details" />
</LinearLayout>

View File

@ -24,8 +24,8 @@
android:id="@+id/imageText"
android:layout_width="40dp"
android:layout_height="match_parent"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:gravity="center"
android:maxLines="1"
android:minHeight="40dp"
@ -54,8 +54,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:padding="8dp"
android:textColor="?android:attr/textColorSecondary"
app:layout_constraintBottom_toBottomOf="parent"

View File

@ -89,8 +89,8 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="16dp"
android:fontFamily="sans-serif"
android:fontFeatureSettings="onum"
android:textAppearance="@style/TextViewSubtitle1"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"