Code refactor and Flat, Fit, Full, Circle theme toolbar shadow fixes

This commit is contained in:
= 2020-02-26 22:19:24 +05:30
parent 954dfb6327
commit 724f743627
304 changed files with 3874 additions and 3524 deletions

View file

@ -19,7 +19,10 @@ import android.provider.MediaStore.Audio.AudioColumns
import code.name.monkey.retromusic.model.Album
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.util.PreferenceUtil
import java.util.Comparator
import java.util.*
import kotlin.collections.ArrayList
import kotlin.collections.isNotEmpty
import kotlin.collections.sortWith
/**
@ -29,42 +32,54 @@ import java.util.Comparator
object AlbumLoader {
fun getAlbums(
context: Context,
query: String
context: Context,
query: String
): ArrayList<Album> {
val songs = SongLoader.getSongs(SongLoader.makeSongCursor(
val songs = SongLoader.getSongs(
SongLoader.makeSongCursor(
context,
AudioColumns.ALBUM + " LIKE ?",
arrayOf("%$query%"),
getSongLoaderSortOrder(context))
getSongLoaderSortOrder(context)
)
)
return splitIntoAlbums(songs)
}
@JvmStatic
fun getAlbum(
context: Context,
albumId: Int
context: Context,
albumId: Int
): Album {
val songs = SongLoader.getSongs(
SongLoader.makeSongCursor(
context,
AudioColumns.ALBUM_ID + "=?",
arrayOf(albumId.toString()),
getSongLoaderSortOrder(context)))
SongLoader.makeSongCursor(
context,
AudioColumns.ALBUM_ID + "=?",
arrayOf(albumId.toString()),
getSongLoaderSortOrder(context)
)
)
val album = Album(songs)
sortSongsByTrackNumber(album)
return album
}
fun getAllAlbums(
context: Context
context: Context
): ArrayList<Album> {
val songs = SongLoader.getSongs(SongLoader.makeSongCursor(context, null, null, getSongLoaderSortOrder(context)))
val songs = SongLoader.getSongs(
SongLoader.makeSongCursor(
context,
null,
null,
getSongLoaderSortOrder(context)
)
)
return splitIntoAlbums(songs)
}
fun splitIntoAlbums(
songs: ArrayList<Song>?
songs: ArrayList<Song>?
): ArrayList<Album> {
val albums = ArrayList<Album>()
if (songs != null) {
@ -79,8 +94,8 @@ object AlbumLoader {
}
private fun getOrCreateAlbum(
albums: ArrayList<Album>,
albumId: Int
albums: ArrayList<Album>,
albumId: Int
): Album {
for (album in albums) {
if (album.songs!!.isNotEmpty() && album.songs[0].albumId == albumId) {
@ -97,6 +112,8 @@ object AlbumLoader {
}
private fun getSongLoaderSortOrder(context: Context): String {
return PreferenceUtil.getInstance(context).albumSortOrder + ", " + PreferenceUtil.getInstance(context).albumSongSortOrder
return PreferenceUtil.getInstance(context).albumSortOrder + ", " + PreferenceUtil.getInstance(
context
).albumSongSortOrder
}
}

View file

@ -22,7 +22,9 @@ import code.name.monkey.retromusic.util.PreferenceUtil
object ArtistLoader {
private fun getSongLoaderSortOrder(context: Context): String {
return PreferenceUtil.getInstance(context).artistSortOrder + ", " + PreferenceUtil.getInstance(context).artistAlbumSortOrder + ", " + PreferenceUtil.getInstance(
return PreferenceUtil.getInstance(context).artistSortOrder + ", " + PreferenceUtil.getInstance(
context
).artistAlbumSortOrder + ", " + PreferenceUtil.getInstance(
context
).albumSongSortOrder
}

View file

@ -82,8 +82,9 @@ object GenreLoader {
private fun makeAllSongsWithGenreCursor(context: Context): Cursor? {
try {
return context.contentResolver.query(
Uri.parse("content://media/external/audio/genres/all/members"),
arrayOf(Genres.Members.AUDIO_ID), null, null, null)
Uri.parse("content://media/external/audio/genres/all/members"),
arrayOf(Genres.Members.AUDIO_ID), null, null, null
)
} catch (e: SecurityException) {
return null
}
@ -93,8 +94,12 @@ object GenreLoader {
private fun makeGenreSongCursor(context: Context, genreId: Int): Cursor? {
try {
return context.contentResolver.query(
Genres.Members.getContentUri("external", genreId.toLong()),
baseProjection, BASE_SELECTION, null, PreferenceUtil.getInstance(context).songSortOrder)
Genres.Members.getContentUri("external", genreId.toLong()),
baseProjection,
BASE_SELECTION,
null,
PreferenceUtil.getInstance(context).songSortOrder
)
} catch (e: SecurityException) {
return null
}
@ -112,7 +117,11 @@ object GenreLoader {
} else {
// try to remove the empty genre from the media store
try {
context.contentResolver.delete(Genres.EXTERNAL_CONTENT_URI, Genres._ID + " == " + genre.id, null)
context.contentResolver.delete(
Genres.EXTERNAL_CONTENT_URI,
Genres._ID + " == " + genre.id,
null
)
} catch (e: Exception) {
e.printStackTrace()
}
@ -140,7 +149,13 @@ object GenreLoader {
private fun makeGenreCursor(context: Context): Cursor? {
val projection = arrayOf(Genres._ID, Genres.NAME)
try {
return context.contentResolver.query(Genres.EXTERNAL_CONTENT_URI, projection, null, null, PreferenceUtil.getInstance(context).genreSortOrder)
return context.contentResolver.query(
Genres.EXTERNAL_CONTENT_URI,
projection,
null,
null,
PreferenceUtil.getInstance(context).genreSortOrder
)
} catch (e: SecurityException) {
return null
}

View file

@ -36,10 +36,11 @@ object LastAddedSongsLoader {
val cutoff = PreferenceUtil.getInstance(context).lastAddedCutoff
return SongLoader.makeSongCursor(
context,
MediaStore.Audio.Media.DATE_ADDED + ">?",
arrayOf(cutoff.toString()),
MediaStore.Audio.Media.DATE_ADDED + " DESC")
context,
MediaStore.Audio.Media.DATE_ADDED + ">?",
arrayOf(cutoff.toString()),
MediaStore.Audio.Media.DATE_ADDED + " DESC"
)
}
fun getLastAddedAlbums(context: Context): ArrayList<Album> {

View file

@ -20,7 +20,7 @@ import android.provider.BaseColumns
import android.provider.MediaStore
import android.provider.MediaStore.Audio.PlaylistsColumns
import code.name.monkey.retromusic.model.Playlist
import java.util.ArrayList
import java.util.*
/**
* Created by hemanths on 16/08/17.

View file

@ -23,7 +23,7 @@ import code.name.monkey.retromusic.model.AbsCustomPlaylist
import code.name.monkey.retromusic.model.Playlist
import code.name.monkey.retromusic.model.PlaylistSong
import code.name.monkey.retromusic.model.Song
import java.util.ArrayList
import java.util.*
/**
* Created by hemanths on 16/08/17.
@ -38,6 +38,7 @@ object PlaylistSongsLoader {
return (playlist as? AbsCustomPlaylist)?.getSongs(context)
?: getPlaylistSongList(context, playlist.id)
}
@JvmStatic
fun getPlaylistSongList(context: Context, playlistId: Int): ArrayList<Song> {
val songs = arrayListOf<Song>()

View file

@ -17,7 +17,7 @@ package code.name.monkey.retromusic.loaders
import android.content.Context
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.model.Genre
import java.util.Locale
import java.util.*
object SearchLoader {
fun searchAll(context: Context, query: String?): MutableList<Any> {

View file

@ -23,7 +23,7 @@ import code.name.monkey.retromusic.Constants.baseProjection
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.providers.BlacklistStore
import code.name.monkey.retromusic.util.PreferenceUtil
import java.util.ArrayList
import java.util.*
/**
* Created by hemanths on 10/08/17.

View file

@ -15,6 +15,7 @@ package code.name.monkey.retromusic.loaders;
import android.database.AbstractCursor;
import android.database.Cursor;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

View file

@ -15,6 +15,7 @@ package code.name.monkey.retromusic.loaders;
import android.database.AbstractCursor;
import android.database.Cursor;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

View file

@ -23,7 +23,7 @@ import code.name.monkey.retromusic.model.Artist
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.providers.HistoryStore
import code.name.monkey.retromusic.providers.SongPlayCountStore
import java.util.ArrayList
import java.util.*
/**
* Created by hemanths on 16/08/17.