Kotlin refactoring

This commit is contained in:
Hemanth S 2020-05-23 19:23:10 +05:30
parent e9bd24872f
commit 4056a0c1c5
56 changed files with 317 additions and 308 deletions

View file

@ -52,7 +52,6 @@ object Constants {
const val NUMBER_OF_TOP_TRACKS = 99
}
const val LIBRARY_CATEGORIES = "library_categories"

View file

@ -31,7 +31,10 @@ import code.name.monkey.retromusic.lyrics.LrcHelper
import code.name.monkey.retromusic.lyrics.LrcView
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.model.lyrics.Lyrics
import code.name.monkey.retromusic.util.*
import code.name.monkey.retromusic.util.LyricUtil
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtilKT
import code.name.monkey.retromusic.util.RetroUtil
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.input.getInputLayout
import com.afollestad.materialdialogs.input.input

View file

@ -33,8 +33,6 @@ import kotlinx.android.synthetic.main.activity_search.*
import java.util.*
import javax.inject.Inject
import kotlin.collections.ArrayList
import kotlin.collections.MutableList
import kotlin.collections.emptyList
class SearchActivity : AbsMusicServiceActivity(), OnQueryTextListener, TextWatcher, SearchView {
@Inject

View file

@ -4,8 +4,6 @@ import android.os.Bundle
import android.view.MenuItem
import androidx.annotation.StringRes
import androidx.fragment.app.Fragment
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
import code.name.monkey.retromusic.extensions.applyToolbar
@ -23,7 +21,6 @@ class SettingsActivity : AbsBaseActivity() {
setStatusbarColorAuto()
setNavigationbarColorAuto()
setLightNavigationBar(true)
setupToolbar()
if (savedInstanceState == null) {
@ -49,7 +46,6 @@ class SettingsActivity : AbsBaseActivity() {
fragmentTransaction.replace(R.id.contentFrame, fragment, fragment.tag)
fragmentTransaction.addToBackStack(null)
fragmentTransaction.commit()
setTitle(titleName)
}

View file

@ -137,7 +137,7 @@ abstract class AbsBaseActivity : AbsThemeActivity() {
}
}
hadPermissions = true
onHasPermissionsChanged(true)
onHasPermissionsChanged(true)
}
}

View file

@ -22,12 +22,9 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.R.drawable
import code.name.monkey.retromusic.activities.base.AbsBaseActivity
import code.name.monkey.retromusic.activities.saf.SAFGuideActivity
import code.name.monkey.retromusic.util.RetroUtil
import code.name.monkey.retromusic.util.SAFUtil
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
import com.afollestad.materialdialogs.list.listItems
import com.google.android.material.button.MaterialButton
import kotlinx.android.synthetic.main.activity_album_tag_editor.*

View file

@ -42,8 +42,7 @@ public class CategoryInfoAdapter extends RecyclerView.Adapter<CategoryInfoAdapte
private List<CategoryInfo> categoryInfos;
private ItemTouchHelper touchHelper;
public CategoryInfoAdapter(@NonNull List<CategoryInfo> categoryInfos) {
this.categoryInfos = categoryInfos;
public CategoryInfoAdapter() {
SwipeAndDragHelper swipeAndDragHelper = new SwipeAndDragHelper(this);
touchHelper = new ItemTouchHelper(swipeAndDragHelper);
}

View file

@ -36,7 +36,8 @@ class LastAddedShortcutType(context: Context) : BaseShortcutType(context) {
context,
R.drawable.ic_app_shortcut_last_added
)
).setIntent(getPlaySongsIntent(AppShortcutLauncherActivity.SHORTCUT_TYPE_LAST_ADDED)).build()
).setIntent(getPlaySongsIntent(AppShortcutLauncherActivity.SHORTCUT_TYPE_LAST_ADDED))
.build()
companion object {

View file

@ -34,7 +34,8 @@ class SearchShortCutType(context: Context) : BaseShortcutType(context) {
get() = ShortcutInfo.Builder(
context,
id
).setShortLabel(context.getString(R.string.action_search)).setLongLabel(context.getString(R.string.search_hint)).setIcon(
).setShortLabel(context.getString(R.string.action_search))
.setLongLabel(context.getString(R.string.search_hint)).setIcon(
AppShortcutIconGenerator.generateThemedIcon(
context,
R.drawable.ic_app_shortcut_search

View file

@ -34,7 +34,8 @@ class ShuffleAllShortcutType(context: Context) : BaseShortcutType(context) {
AppShortcutIconGenerator.generateThemedIcon(
context, R.drawable.ic_app_shortcut_shuffle_all
)
).setIntent(getPlaySongsIntent(AppShortcutLauncherActivity.SHORTCUT_TYPE_SHUFFLE_ALL)).build()
).setIntent(getPlaySongsIntent(AppShortcutLauncherActivity.SHORTCUT_TYPE_SHUFFLE_ALL))
.build()
companion object {

View file

@ -34,7 +34,8 @@ class TopTracksShortcutType(context: Context) : BaseShortcutType(context) {
AppShortcutIconGenerator.generateThemedIcon(
context, R.drawable.ic_app_shortcut_top_tracks
)
).setIntent(getPlaySongsIntent(AppShortcutLauncherActivity.SHORTCUT_TYPE_TOP_TRACKS)).build()
).setIntent(getPlaySongsIntent(AppShortcutLauncherActivity.SHORTCUT_TYPE_TOP_TRACKS))
.build()
companion object {

View file

@ -193,7 +193,8 @@ class AppWidgetBig : BaseAppWidget() {
* Link up various button actions using [PendingIntent].
*/
private fun linkButtons(context: Context, views: RemoteViews) {
val action = Intent(context, MainActivity::class.java).putExtra(MainActivity.EXPAND_PANEL, true)
val action =
Intent(context, MainActivity::class.java).putExtra(MainActivity.EXPAND_PANEL, true)
var pendingIntent: PendingIntent
val serviceName = ComponentName(context, MusicService::class.java)

View file

@ -21,10 +21,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.loaders.PlaylistLoader
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.PlaylistsUtil
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
import com.afollestad.materialdialogs.list.listItems
class AddToPlaylistDialog : DialogFragment() {

View file

@ -23,10 +23,7 @@ import android.os.Environment
import androidx.core.app.ActivityCompat
import androidx.fragment.app.DialogFragment
import code.name.monkey.retromusic.R
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
import com.afollestad.materialdialogs.list.listItems
import java.io.File
import java.util.*

View file

@ -20,10 +20,7 @@ import androidx.core.text.HtmlCompat
import androidx.fragment.app.DialogFragment
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.model.smartplaylist.AbsSmartPlaylist
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
class ClearSmartPlaylistDialog : DialogFragment() {

View file

@ -26,10 +26,7 @@ import code.name.monkey.retromusic.R.string
import code.name.monkey.retromusic.extensions.appHandleColor
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.PlaylistsUtil
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
import com.afollestad.materialdialogs.customview.customView
import com.afollestad.materialdialogs.customview.getCustomView
import com.google.android.material.textfield.TextInputEditText

View file

@ -22,10 +22,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.R.string
import code.name.monkey.retromusic.model.Playlist
import code.name.monkey.retromusic.util.PlaylistsUtil
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
import java.util.*
class DeletePlaylistDialog : DialogFragment() {

View file

@ -25,15 +25,13 @@ import code.name.monkey.retromusic.activities.saf.SAFGuideActivity
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.SAFUtil
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
class DeleteSongsDialog : DialogFragment() {
@JvmField
var currentSong: Song? = null
@JvmField
var songsToRemove: List<Song>? = null

View file

@ -22,10 +22,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.R.string
import code.name.monkey.retromusic.model.PlaylistSong
import code.name.monkey.retromusic.util.PlaylistsUtil
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
class RemoveFromPlaylistDialog : DialogFragment() {

View file

@ -25,10 +25,7 @@ import code.name.monkey.retromusic.R.layout
import code.name.monkey.retromusic.R.string
import code.name.monkey.retromusic.extensions.appHandleColor
import code.name.monkey.retromusic.util.PlaylistsUtil
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
import com.afollestad.materialdialogs.customview.customView
import com.afollestad.materialdialogs.customview.getCustomView
import com.google.android.material.textfield.TextInputEditText

View file

@ -29,10 +29,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.R.string
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
import com.afollestad.materialdialogs.customview.customView
import com.afollestad.materialdialogs.customview.getCustomView
import org.jaudiotagger.audio.AudioFileIO

View file

@ -22,10 +22,7 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.ShareInstagramStory
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
import com.afollestad.materialdialogs.list.listItems
class SongShareDialog : DialogFragment() {

View file

@ -26,9 +26,12 @@ import androidx.annotation.DimenRes
import androidx.annotation.DrawableRes
import androidx.core.content.ContextCompat
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.util.DensityUtil
fun Context.scaledDrawableResources(@DrawableRes id: Int, @DimenRes width: Int, @DimenRes height: Int): Drawable {
fun Context.scaledDrawableResources(
@DrawableRes id: Int,
@DimenRes width: Int,
@DimenRes height: Int
): Drawable {
val w = resources.getDimension(width).toInt()
val h = resources.getDimension(height).toInt()
return scaledDrawable(id, w, h)

View file

@ -20,7 +20,7 @@ class AlbumViewModel(application: Application) : AndroidViewModel(application) {
val result = RepositoryImpl(getApplication()).allAlbums()
if (result is Result.Success) {
albums.value = result.data
}else {
} else {
albums.value = listOf()
}
}

View file

@ -64,9 +64,11 @@ abstract class AbsPlayerControlsFragment : AbsMusicServiceFragment(),
private fun hideVolumeIfAvailable() {
if (PreferenceUtilKT.isVolumeVisibilityMode) {
childFragmentManager.beginTransaction().replace(R.id.volumeFragmentContainer, VolumeFragment()).commit()
childFragmentManager.beginTransaction()
.replace(R.id.volumeFragmentContainer, VolumeFragment()).commit()
childFragmentManager.executePendingTransactions()
volumeFragment = childFragmentManager.findFragmentById(R.id.volumeFragmentContainer) as VolumeFragment?
volumeFragment =
childFragmentManager.findFragmentById(R.id.volumeFragmentContainer) as VolumeFragment?
}
}

View file

@ -20,7 +20,7 @@ class GenreViewModel(application: Application) : AndroidViewModel(application) {
val result = RepositoryImpl(getApplication()).allGenres()
if (result is Success) {
genres.value = result.data
}else {
} else {
genres.value = listOf()
}
}

View file

@ -25,22 +25,9 @@ import code.name.monkey.retromusic.helper.PlayPauseButtonOnClickHandler
import code.name.monkey.retromusic.misc.SimpleOnSeekbarChangeListener
import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtilKT
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.*
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.nextButton
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.playPauseButton
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.previousButton
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.progressSlider
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.repeatButton
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.shuffleButton
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.songCurrentProgress
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.songInfo
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.songTotalTime
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.text
import kotlinx.android.synthetic.main.fragment_blur_player_playback_controls.title
import kotlinx.android.synthetic.main.fragment_player_playback_controls.*
class BlurPlaybackControlsFragment : AbsPlayerControlsFragment() {

View file

@ -19,11 +19,10 @@ import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.fragment.app.DialogFragment
import androidx.preference.ListPreference
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceFragmentCompat
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.preferences.*
@ -33,7 +32,7 @@ import code.name.monkey.retromusic.util.NavigationUtil
* @author Hemanth S (h4h13).
*/
abstract class AbsSettingsFragment : ATEPreferenceFragmentCompat() {
abstract class AbsSettingsFragment : PreferenceFragmentCompat() {
internal fun showProToastAndNavigate(message: String) {
Toast.makeText(requireContext(), "$message is Pro version feature.", Toast.LENGTH_SHORT)
@ -73,16 +72,25 @@ abstract class AbsSettingsFragment : ATEPreferenceFragmentCompat() {
invalidateSettings()
}
override fun onCreatePreferenceDialog(preference: Preference): DialogFragment? {
return when (preference) {
is LibraryPreference -> LibraryPreferenceDialog.newInstance()
is NowPlayingScreenPreference -> NowPlayingScreenPreferenceDialog.newInstance(preference.key)
is AlbumCoverStylePreference -> AlbumCoverStylePreferenceDialog.newInstance(preference.key)
is MaterialListPreference -> {
MaterialListPreferenceDialog.newInstance(preference)
override fun onDisplayPreferenceDialog(preference: Preference?) {
when (preference) {
is LibraryPreference -> {
val fragment = LibraryPreferenceDialog.newInstance()
fragment.show(childFragmentManager, preference.key)
}
is BlacklistPreference -> BlacklistPreferenceDialog.newInstance()
else -> super.onCreatePreferenceDialog(preference)
is NowPlayingScreenPreference -> {
val fragment = NowPlayingScreenPreferenceDialog.newInstance()
fragment.show(childFragmentManager, preference.key)
}
is AlbumCoverStylePreference -> {
val fragment = AlbumCoverStylePreferenceDialog.newInstance()
fragment.show(childFragmentManager, preference.key)
}
is BlacklistPreference -> {
val fragment = BlacklistPreferenceDialog.newInstance()
fragment.show(childFragmentManager, preference.key)
}
else -> super.onDisplayPreferenceDialog(preference)
}
}
}

View file

@ -29,7 +29,7 @@ import code.name.monkey.retromusic.util.NavigationUtil
class AudioSettings : AbsSettingsFragment() {
override fun invalidateSettings() {
val findPreference: Preference = findPreference("equalizer")!!
if (!hasEqualizer() ) {
if (!hasEqualizer()) {
findPreference.isEnabled = false
findPreference.summary = resources.getString(R.string.no_equalizer)
} else {

View file

@ -34,7 +34,7 @@ abstract class RetroMusicColoredTarget(view: ImageView) : BitmapPaletteTarget(vi
override fun onLoadFailed(e: Exception?, errorDrawable: Drawable?) {
super.onLoadFailed(e, errorDrawable)
val colors = MediaNotificationProcessor(App.getContext(),errorDrawable)
val colors = MediaNotificationProcessor(App.getContext(), errorDrawable)
onColorReady(colors)
/* MediaNotificationProcessor(App.getContext()).getPaletteAsync({
onColorReady(it)

View file

@ -99,6 +99,7 @@ class EqualizerHelper private constructor() : EqualizerInterface {
companion object {
private val TAG = "EqualizerHelper"
@Volatile
private var ourInstance: EqualizerHelper? = null

View file

@ -28,6 +28,7 @@ object SearchQueryHelper {
private const val ARTIST_SELECTION = "lower(" + MediaStore.Audio.AudioColumns.ARTIST + ") = ?"
private const val AND = " AND "
var songs = ArrayList<Song>()
@JvmStatic
fun getSongs(context: Context, extras: Bundle): ArrayList<Song> {
val query = extras.getString(SearchManager.QUERY, null)

View file

@ -35,7 +35,6 @@ import android.view.animation.DecelerateInterpolator
import android.widget.OverScroller
import androidx.annotation.ColorInt
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat
import androidx.core.view.ViewCompat
import code.name.monkey.retromusic.BuildConfig
import code.name.monkey.retromusic.R
@ -216,9 +215,9 @@ class LrcView @JvmOverloads constructor(
isAntiAlias = true
textAlign = Paint.Align.LEFT
textSize = mLrcTextSize
/* if (BuildConfig.FLAVOR != "nofont") {
typeface = ResourcesCompat.getFont(context, R.font.circular)
}*/
/* if (BuildConfig.FLAVOR != "nofont") {
typeface = ResourcesCompat.getFont(context, R.font.circular)
}*/
}
mDefaultContent = DEFAULT_CONTENT

View file

@ -27,7 +27,7 @@ import android.widget.TextView
import android.widget.Toast
import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat.SRC_IN
import androidx.preference.PreferenceDialogFragmentCompat
import androidx.fragment.app.DialogFragment
import androidx.viewpager.widget.PagerAdapter
import androidx.viewpager.widget.ViewPager
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference
@ -37,12 +37,10 @@ import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.fragments.AlbumCoverStyle
import code.name.monkey.retromusic.fragments.AlbumCoverStyle.*
import code.name.monkey.retromusic.util.NavigationUtil
import code.name.monkey.retromusic.util.PreferenceUtilKT
import code.name.monkey.retromusic.util.ViewUtil
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.customview.customView
import com.bumptech.glide.Glide
import com.google.android.material.dialog.MaterialAlertDialogBuilder
class AlbumCoverStylePreference @JvmOverloads constructor(
context: Context,
@ -66,10 +64,8 @@ class AlbumCoverStylePreference @JvmOverloads constructor(
}
}
class AlbumCoverStylePreferenceDialog : PreferenceDialogFragmentCompat(),
class AlbumCoverStylePreferenceDialog : DialogFragment(),
ViewPager.OnPageChangeListener {
override fun onDialogClosed(positiveResult: Boolean) {
}
private var viewPagerPosition: Int = 0
@ -83,10 +79,9 @@ class AlbumCoverStylePreferenceDialog : PreferenceDialogFragmentCompat(),
viewPager.pageMargin = ViewUtil.convertDpToPixel(32f, resources).toInt()
viewPager.currentItem = PreferenceUtilKT.albumCoverStyle.ordinal
return MaterialDialog(requireActivity()).show {
title(R.string.pref_title_album_cover_style)
positiveButton(R.string.set) {
return MaterialAlertDialogBuilder(requireActivity())
.setTitle(R.string.pref_title_album_cover_style)
.setPositiveButton(R.string.set) { _, _ ->
val coverStyle = values()[viewPagerPosition]
if (isAlbumCoverStyle(coverStyle)) {
val result = getString(coverStyle.titleRes) + " theme is Pro version feature."
@ -96,9 +91,11 @@ class AlbumCoverStylePreferenceDialog : PreferenceDialogFragmentCompat(),
PreferenceUtilKT.albumCoverStyle = coverStyle
}
}
negativeButton(android.R.string.cancel)
customView(view = view, scrollable = false, noVerticalPadding = false)
}
.setNegativeButton(android.R.string.cancel) { _, _ ->
dismiss()
}
.setView(view)
.create()
}
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
@ -162,12 +159,8 @@ class AlbumCoverStylePreferenceDialog : PreferenceDialogFragmentCompat(),
companion object {
val TAG: String = AlbumCoverStylePreferenceDialog::class.java.simpleName
fun newInstance(key: String): AlbumCoverStylePreferenceDialog {
val bundle = Bundle()
bundle.putString(ARG_KEY, key)
val fragment = AlbumCoverStylePreferenceDialog()
fragment.arguments = bundle
return fragment
fun newInstance(): AlbumCoverStylePreferenceDialog {
return AlbumCoverStylePreferenceDialog()
}
}
}

View file

@ -63,7 +63,6 @@ class BlacklistPreferenceDialog : DialogFragment(), BlacklistFolderChooserDialog
refreshBlacklistData()
return MaterialDialog(requireContext()).show {
title(R.string.blacklist)
positiveButton(android.R.string.ok) {
dismiss()
}

View file

@ -14,15 +14,17 @@
package code.name.monkey.retromusic.preferences
import android.annotation.SuppressLint
import android.app.Dialog
import android.content.Context
import android.os.Bundle
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat.SRC_IN
import androidx.preference.PreferenceDialogFragmentCompat
import androidx.fragment.app.DialogFragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference
@ -30,60 +32,52 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.adapter.CategoryInfoAdapter
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.model.CategoryInfo
import code.name.monkey.retromusic.util.PreferenceUtilKT
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.customview.customView
import com.google.android.material.dialog.MaterialAlertDialogBuilder
class LibraryPreference @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = -1,
defStyleRes: Int = -1
) :
ATEDialogPreference(context, attrs, defStyleAttr, defStyleRes) {
defStyleAttr: Int = 0,
defStyleRes: Int = 0
) : ATEDialogPreference(context, attrs, defStyleAttr, defStyleRes) {
init {
icon?.colorFilter =
BlendModeColorFilterCompat.createBlendModeColorFilterCompat(
context.colorControlNormal(),
SRC_IN
)
icon?.colorFilter = BlendModeColorFilterCompat.createBlendModeColorFilterCompat(
context.colorControlNormal(),
SRC_IN
)
}
}
class LibraryPreferenceDialog : PreferenceDialogFragmentCompat() {
override fun onDialogClosed(positiveResult: Boolean) {
}
lateinit var adapter: CategoryInfoAdapter
class LibraryPreferenceDialog : DialogFragment() {
@SuppressLint("InflateParams")
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val view = LayoutInflater.from(requireContext())
.inflate(R.layout.preference_dialog_library_categories, null)
adapter = CategoryInfoAdapter(PreferenceUtilKT.libraryCategory)
val categoryAdapter = CategoryInfoAdapter()
categoryAdapter.categoryInfos = PreferenceUtilKT.libraryCategory
val recyclerView = view.findViewById<RecyclerView>(R.id.recycler_view)
recyclerView.layoutManager = LinearLayoutManager(activity)
recyclerView.adapter = adapter
recyclerView.adapter = categoryAdapter
categoryAdapter.attachToRecyclerView(recyclerView)
adapter.attachToRecyclerView(recyclerView)
return MaterialDialog(requireContext())
.title(R.string.library_categories)
.customView(view = view)
.positiveButton(android.R.string.ok) {
updateCategories(adapter.categoryInfos)
dismiss()
return MaterialAlertDialogBuilder(requireContext())
.setTitle(R.string.library_categories)
.setNeutralButton(
R.string.reset_action
) { _, _ ->
categoryAdapter.categoryInfos = PreferenceUtilKT.defaultCategories
}
.negativeButton(android.R.string.cancel) {
dismiss()
}
.neutralButton(R.string.reset_action) {
adapter.categoryInfos = PreferenceUtilKT.defaultCategories
}
.noAutoDismiss()
.setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(
android.R.string.ok
) { _, _ -> updateCategories(categoryAdapter.categoryInfos) }
.setView(view)
.create()
}
private fun updateCategories(categories: List<CategoryInfo>) {

View file

@ -26,7 +26,7 @@ import android.widget.TextView
import android.widget.Toast
import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat.SRC_IN
import androidx.preference.PreferenceDialogFragmentCompat
import androidx.fragment.app.DialogFragment
import androidx.viewpager.widget.PagerAdapter
import androidx.viewpager.widget.ViewPager
import code.name.monkey.appthemehelper.common.prefs.supportv7.ATEDialogPreference
@ -38,9 +38,8 @@ import code.name.monkey.retromusic.fragments.NowPlayingScreen.*
import code.name.monkey.retromusic.util.NavigationUtil
import code.name.monkey.retromusic.util.PreferenceUtilKT
import code.name.monkey.retromusic.util.ViewUtil
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.customview.customView
import com.bumptech.glide.Glide
import com.google.android.material.dialog.MaterialAlertDialogBuilder
class NowPlayingScreenPreference @JvmOverloads constructor(
context: Context,
@ -63,8 +62,7 @@ class NowPlayingScreenPreference @JvmOverloads constructor(
}
}
class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(),
ViewPager.OnPageChangeListener {
class NowPlayingScreenPreferenceDialog : DialogFragment(), ViewPager.OnPageChangeListener {
private var viewPagerPosition: Int = 0
@ -78,9 +76,6 @@ class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(),
this.viewPagerPosition = position
}
override fun onDialogClosed(positiveResult: Boolean) {
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val view = LayoutInflater.from(requireContext())
.inflate(R.layout.preference_dialog_now_playing_screen, null)
@ -91,7 +86,23 @@ class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(),
viewPager.pageMargin = ViewUtil.convertDpToPixel(32f, resources).toInt()
viewPager.currentItem = PreferenceUtilKT.nowPlayingScreen.ordinal
return MaterialDialog(requireContext()).show {
return MaterialAlertDialogBuilder(requireContext())
.setTitle(R.string.pref_title_now_playing_screen_appearance)
.setCancelable(false)
.setPositiveButton(R.string.set) { _, _ ->
val nowPlayingScreen = values()[viewPagerPosition]
if (isNowPlayingThemes(nowPlayingScreen)) {
val result =
getString(nowPlayingScreen.titleRes) + " theme is Pro version feature."
Toast.makeText(context, result, Toast.LENGTH_SHORT).show()
NavigationUtil.goToProVersion(requireContext())
} else {
PreferenceUtilKT.nowPlayingScreen = nowPlayingScreen
}
}
.setView(view)
.create()
/*.show {
title(R.string.pref_title_now_playing_screen_appearance)
positiveButton(R.string.set) {
val nowPlayingScreen = values()[viewPagerPosition]
@ -107,16 +118,12 @@ class NowPlayingScreenPreferenceDialog : PreferenceDialogFragmentCompat(),
negativeButton(android.R.string.cancel)
customView(view = view, scrollable = false, noVerticalPadding = false)
}
}*/
}
companion object {
fun newInstance(key: String): NowPlayingScreenPreferenceDialog {
val bundle = Bundle()
bundle.putString(ARG_KEY, key)
val fragment = NowPlayingScreenPreferenceDialog()
fragment.arguments = bundle
return fragment
fun newInstance(): NowPlayingScreenPreferenceDialog {
return NowPlayingScreenPreferenceDialog()
}
}
}

View file

@ -20,11 +20,9 @@ import android.content.SharedPreferences
import android.graphics.Color
import android.net.Uri
import code.name.monkey.retromusic.R
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.WhichButton
import com.afollestad.materialdialogs.actions.getActionButton
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
object AppRater {
private const val DO_NOT_SHOW_AGAIN = "do_not_show_again"// Package Name
@ -34,6 +32,7 @@ object AppRater {
private const val DAYS_UNTIL_PROMPT = 3//Min number of days
private const val LAUNCHES_UNTIL_PROMPT = 5//Min number of launches
@JvmStatic
fun appLaunched(context: Context) {
val prefs = context.getSharedPreferences(APP_RATING, 0)

View file

@ -10,6 +10,7 @@ object PremiumShow {
private const val PREF_NAME = "premium_show"
private const val LAUNCH_COUNT = "launch_count"
private const val DATE_FIRST_LAUNCH = "date_first_launch"
@JvmStatic
fun launch(context: Context) {
val pref = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE)

View file

@ -26,9 +26,7 @@ import android.widget.Toast
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.MusicUtil.getSongFileUri
import com.afollestad.materialdialogs.LayoutMode
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
class RingtoneManager(val context: Context) {
fun setRingtone(song: Song) {

View file

@ -41,7 +41,8 @@ object ViewUtil {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1) {
val layerDrawable = progressSlider.progressDrawable as LayerDrawable
val progressDrawable = layerDrawable.findDrawableByLayerId(android.R.id.progress)
progressDrawable.colorFilter = BlendModeColorFilterCompat.createBlendModeColorFilterCompat(newColor, SRC_IN)
progressDrawable.colorFilter =
BlendModeColorFilterCompat.createBlendModeColorFilterCompat(newColor, SRC_IN)
} else {
progressSlider.progressTintList = ColorStateList.valueOf(newColor)
}

View file

@ -118,7 +118,7 @@ public class PopupBackground extends Drawable {
updatePath();
return true;
}
@Override
protected void onBoundsChange(@NonNull Rect bounds) {