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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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