Here's a list of changes/features: https://github.com/RetroMusicPlayer/RetroMusicPlayer/releases/tag/v5.0

Internal Changes:
1) Migrated to ViewBinding
2) Migrated to Glide V4
3) Migrated to kotlin version of Material Dialogs
This commit is contained in:
Prathamesh More 2021-09-09 00:00:20 +05:30
parent fc42767031
commit bce6dbfa27
421 changed files with 13285 additions and 5757 deletions

View file

@ -19,10 +19,13 @@ import android.content.res.TypedArray;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.util.TypedValue;
import androidx.annotation.FontRes;
import code.name.monkey.retromusic.R;
import com.google.android.material.textview.MaterialTextView;
import code.name.monkey.retromusic.R;
public class BaselineGridTextView extends MaterialTextView {
private final float FOUR_DIP;

View file

@ -26,16 +26,19 @@ import android.widget.HorizontalScrollView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import code.name.monkey.appthemehelper.util.ATHUtil;
import code.name.monkey.retromusic.R;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import code.name.monkey.appthemehelper.util.ATHUtil;
import code.name.monkey.retromusic.R;
/** @author Aidan Follestad (afollestad), modified for Phonograph by Karim Abou Zeid (kabouzeid) */
public class BreadCrumbLayout extends HorizontalScrollView implements View.OnClickListener {

View file

@ -27,7 +27,9 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Log;
import androidx.appcompat.widget.AppCompatImageView;
import code.name.monkey.retromusic.R;
public class CircularImageView extends AppCompatImageView {

View file

@ -24,8 +24,10 @@ import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import code.name.monkey.retromusic.R;
public class ContributorsView extends FrameLayout {

View file

@ -16,18 +16,19 @@ package code.name.monkey.retromusic.views
import android.content.Context
import android.util.AttributeSet
import android.view.View
import android.view.LayoutInflater
import android.widget.FrameLayout
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.ListItemViewNoCardBinding
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show
import kotlinx.android.synthetic.main.list_item_view.view.*
/**
* Created by hemanths on 2019-10-02.
*/
class ListItemView : FrameLayout {
private lateinit var binding: ListItemViewNoCardBinding
constructor(context: Context) : super(context) {
init(context, null)
@ -46,27 +47,27 @@ class ListItemView : FrameLayout {
}
private fun init(context: Context, attrs: AttributeSet?) {
View.inflate(context, R.layout.list_item_view_no_card, this)
binding = ListItemViewNoCardBinding.inflate(LayoutInflater.from(context))
addView(binding.root)
val typedArray = context.obtainStyledAttributes(attrs, R.styleable.ListItemView)
if (typedArray.hasValue(R.styleable.ListItemView_listItemIcon)) {
icon.setImageDrawable(typedArray.getDrawable(R.styleable.ListItemView_listItemIcon))
binding.icon.setImageDrawable(typedArray.getDrawable(R.styleable.ListItemView_listItemIcon))
} else {
icon.hide()
binding.icon.hide()
}
title.text = typedArray.getText(R.styleable.ListItemView_listItemTitle)
binding.title.text = typedArray.getText(R.styleable.ListItemView_listItemTitle)
if (typedArray.hasValue(R.styleable.ListItemView_listItemSummary)) {
summary.text = typedArray.getText(R.styleable.ListItemView_listItemSummary)
binding.summary.text = typedArray.getText(R.styleable.ListItemView_listItemSummary)
} else {
summary.hide()
binding.summary.hide()
}
typedArray.recycle()
}
fun setSummary(appVersion: String) {
summary.show()
summary.text = appVersion
binding.summary.show()
binding.summary.text = appVersion
}
}

View file

@ -17,11 +17,14 @@ package code.name.monkey.retromusic.views;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import code.name.monkey.retromusic.R;
import com.bumptech.glide.Glide;
import code.name.monkey.retromusic.R;
/** @author Hemanth S (h4h13). */
public class NetworkImageView extends CircularImageView {

View file

@ -3,12 +3,13 @@ package code.name.monkey.retromusic.views
import android.content.Context
import android.content.res.ColorStateList
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.FrameLayout
import code.name.monkey.appthemehelper.ThemeStore
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.ItemPermissionBinding
import code.name.monkey.retromusic.extensions.accentOutlineColor
import kotlinx.android.synthetic.main.item_permission.view.*
class PermissionItem @JvmOverloads constructor(
context: Context,
@ -16,28 +17,34 @@ class PermissionItem @JvmOverloads constructor(
defStyleAttr: Int = -1,
defStyleRes: Int = -1
) : FrameLayout(context, attrs, defStyleAttr, defStyleRes) {
private var binding: ItemPermissionBinding
val checkImage get() = binding.checkImage
init {
val attributes = context.obtainStyledAttributes(attrs, R.styleable.PermissionItem, 0, 0)
inflate(context, R.layout.item_permission, this)
binding = ItemPermissionBinding.inflate(LayoutInflater.from(context))
addView(binding.root)
title.text = attributes.getText(R.styleable.PermissionItem_permissionTitle)
summary.text = attributes.getText(R.styleable.PermissionItem_permissionTitleSubTitle)
number.text = attributes.getText(R.styleable.PermissionItem_permissionTitleNumber)
button.text = attributes.getText(R.styleable.PermissionItem_permissionButtonTitle)
button.setIconResource(
binding.title.text = attributes.getText(R.styleable.PermissionItem_permissionTitle)
binding.summary.text =
attributes.getText(R.styleable.PermissionItem_permissionTitleSubTitle)
binding.number.text = attributes.getText(R.styleable.PermissionItem_permissionTitleNumber)
binding.button.text = attributes.getText(R.styleable.PermissionItem_permissionButtonTitle)
binding.button.setIconResource(
attributes.getResourceId(
R.styleable.PermissionItem_permissionIcon,
R.drawable.ic_album
)
)
val color = ThemeStore.accentColor(context)
number.backgroundTintList = ColorStateList.valueOf(ColorUtil.withAlpha(color, 0.22f))
binding.number.backgroundTintList =
ColorStateList.valueOf(ColorUtil.withAlpha(color, 0.22f))
button.accentOutlineColor()
binding.button.accentOutlineColor()
attributes.recycle()
}
fun setButtonClick(callBack: () -> Unit) {
button.setOnClickListener { callBack.invoke() }
binding.button.setOnClickListener { callBack.invoke() }
}
}

View file

@ -27,9 +27,11 @@ import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.graphics.drawable.DrawableCompat;
import code.name.monkey.appthemehelper.ThemeStore;
import code.name.monkey.retromusic.R;

View file

@ -17,8 +17,10 @@ package code.name.monkey.retromusic.views;
import android.graphics.Rect;
import android.view.View;
import android.view.WindowInsets;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import me.zhanghai.android.fastscroll.FastScroller;
public class ScrollingViewOnApplyWindowInsetsListener implements View.OnApplyWindowInsetsListener {

View file

@ -24,6 +24,7 @@ import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import code.name.monkey.retromusic.R;
/**
@ -206,10 +207,6 @@ public class SeekArc extends View {
updateOnTouch(event);
break;
case MotionEvent.ACTION_UP:
onStopTrackingTouch();
setPressed(false);
this.getParent().requestDisallowInterceptTouchEvent(false);
break;
case MotionEvent.ACTION_CANCEL:
onStopTrackingTouch();
setPressed(false);

View file

@ -16,10 +16,10 @@ package code.name.monkey.retromusic.views
import android.content.Context
import android.graphics.Color
import android.util.AttributeSet
import android.view.View
import android.view.LayoutInflater
import android.widget.FrameLayout
import code.name.monkey.retromusic.R
import kotlinx.android.synthetic.main.list_setting_item_view.view.*
import code.name.monkey.retromusic.databinding.ListSettingItemViewBinding
/**
* Created by hemanths on 2019-12-10.
@ -30,22 +30,26 @@ class SettingListItemView @JvmOverloads constructor(
defStyleAttr: Int = -1,
defStyleRes: Int = -1
) : FrameLayout(context, attrs, defStyleAttr, defStyleRes) {
private var binding: ListSettingItemViewBinding =
ListSettingItemViewBinding.inflate(LayoutInflater.from(context))
init {
View.inflate(context, R.layout.list_setting_item_view, this)
addView(binding.root)
val typedArray =
context.obtainStyledAttributes(attrs, R.styleable.SettingListItemView)
icon as ColorIconsImageView
binding.icon
if (typedArray.hasValue(R.styleable.SettingListItemView_settingListItemIcon)) {
icon.setImageDrawable(typedArray.getDrawable(R.styleable.SettingListItemView_settingListItemIcon))
binding.icon.setImageDrawable(typedArray.getDrawable(R.styleable.SettingListItemView_settingListItemIcon))
}
icon.setIconBackgroundColor(
binding.icon.setIconBackgroundColor(
typedArray.getColor(
R.styleable.SettingListItemView_settingListItemIconColor,
Color.WHITE
)
)
title.text = typedArray.getText(R.styleable.SettingListItemView_settingListItemTitle)
text.text = typedArray.getText(R.styleable.SettingListItemView_settingListItemText)
binding.title.text =
typedArray.getText(R.styleable.SettingListItemView_settingListItemTitle)
binding.text.text = typedArray.getText(R.styleable.SettingListItemView_settingListItemText)
typedArray.recycle()
}
}

View file

@ -19,6 +19,7 @@ import android.os.Build;
import android.util.AttributeSet;
import android.view.WindowInsets;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
public class StatusBarMarginFrameLayout extends FrameLayout {

View file

@ -18,6 +18,7 @@ import android.content.Context;
import android.content.res.Resources;
import android.util.AttributeSet;
import android.view.View;
import androidx.annotation.NonNull;
public class StatusBarView extends View {

View file

@ -19,6 +19,7 @@ import android.graphics.Canvas;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.view.Gravity;
import androidx.appcompat.widget.AppCompatTextView;
public class VerticalTextView extends AppCompatTextView {