store album cover art in the class itself
This commit is contained in:
parent
48cf2dcc15
commit
4cd25f9b7f
4 changed files with 8 additions and 9 deletions
|
@ -41,8 +41,8 @@ class AlbumsActivity : SimpleActivity() {
|
||||||
var tracksSectionLabel = resources.getQuantityString(R.plurals.tracks, tracksToAdd.size, tracksToAdd.size)
|
var tracksSectionLabel = resources.getQuantityString(R.plurals.tracks, tracksToAdd.size, tracksToAdd.size)
|
||||||
tracksSectionLabel += " • ${trackFullDuration.getFormattedDuration(true)}"
|
tracksSectionLabel += " • ${trackFullDuration.getFormattedDuration(true)}"
|
||||||
listItems.add(AlbumSection(tracksSectionLabel))
|
listItems.add(AlbumSection(tracksSectionLabel))
|
||||||
|
|
||||||
listItems.addAll(tracksToAdd)
|
listItems.addAll(tracksToAdd)
|
||||||
|
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
AlbumsAdapter(this, listItems, albums_list) {
|
AlbumsAdapter(this, listItems, albums_list) {
|
||||||
if (it is Album) {
|
if (it is Album) {
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package com.simplemobiletools.musicplayer.adapters
|
package com.simplemobiletools.musicplayer.adapters
|
||||||
|
|
||||||
import android.content.ContentUris
|
|
||||||
import android.net.Uri
|
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
@ -94,14 +92,11 @@ class AlbumsAdapter(activity: SimpleActivity, val items: ArrayList<ListItem>, re
|
||||||
album_title.text = album.title
|
album_title.text = album.title
|
||||||
album_title.setTextColor(textColor)
|
album_title.setTextColor(textColor)
|
||||||
|
|
||||||
val artworkUri = Uri.parse("content://media/external/audio/albumart")
|
|
||||||
val albumArtUri = ContentUris.withAppendedId(artworkUri, album.id.toLong())
|
|
||||||
|
|
||||||
val options = RequestOptions()
|
val options = RequestOptions()
|
||||||
.transform(CenterCrop(), RoundedCorners(16))
|
.transform(CenterCrop(), RoundedCorners(16))
|
||||||
|
|
||||||
Glide.with(activity)
|
Glide.with(activity)
|
||||||
.load(albumArtUri)
|
.load(album.coverArt)
|
||||||
.apply(options)
|
.apply(options)
|
||||||
.into(findViewById(R.id.album_image))
|
.into(findViewById(R.id.album_image))
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
package com.simplemobiletools.musicplayer.extensions
|
package com.simplemobiletools.musicplayer.extensions
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
|
import android.content.ContentUris
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.net.Uri
|
||||||
import android.provider.MediaStore.Audio
|
import android.provider.MediaStore.Audio
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
import com.simplemobiletools.commons.extensions.getIntValue
|
import com.simplemobiletools.commons.extensions.getIntValue
|
||||||
|
@ -127,6 +129,7 @@ fun Context.getAlbums(artist: Artist, callback: (artists: ArrayList<Album>) -> U
|
||||||
|
|
||||||
fun Context.getAlbumsSync(artist: Artist): ArrayList<Album> {
|
fun Context.getAlbumsSync(artist: Artist): ArrayList<Album> {
|
||||||
val albums = ArrayList<Album>()
|
val albums = ArrayList<Album>()
|
||||||
|
val artworkUri = Uri.parse("content://media/external/audio/albumart")
|
||||||
val uri = Audio.Albums.EXTERNAL_CONTENT_URI
|
val uri = Audio.Albums.EXTERNAL_CONTENT_URI
|
||||||
val projection = arrayOf(
|
val projection = arrayOf(
|
||||||
Audio.Albums._ID,
|
Audio.Albums._ID,
|
||||||
|
@ -149,7 +152,8 @@ fun Context.getAlbumsSync(artist: Artist): ArrayList<Album> {
|
||||||
val id = cursor.getIntValue(Audio.Albums._ID)
|
val id = cursor.getIntValue(Audio.Albums._ID)
|
||||||
val artistName = cursor.getStringValue(Audio.Albums.ARTIST)
|
val artistName = cursor.getStringValue(Audio.Albums.ARTIST)
|
||||||
val title = cursor.getStringValue(Audio.Albums.ALBUM)
|
val title = cursor.getStringValue(Audio.Albums.ALBUM)
|
||||||
val album = Album(id, artistName, title)
|
val coverArt = ContentUris.withAppendedId(artworkUri, id.toLong())
|
||||||
|
val album = Album(id, artistName, title, coverArt.toString())
|
||||||
albums.add(album)
|
albums.add(album)
|
||||||
} while (cursor.moveToNext())
|
} while (cursor.moveToNext())
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
package com.simplemobiletools.musicplayer.models
|
package com.simplemobiletools.musicplayer.models
|
||||||
|
|
||||||
data class Album(val id: Int, val artist: String, val title: String): ListItem()
|
data class Album(val id: Int, val artist: String, val title: String, val coverArt: String): ListItem()
|
||||||
|
|
Loading…
Reference in a new issue