Layoit fixes
This commit is contained in:
parent
636da3daa8
commit
fdb2ab300e
46 changed files with 594 additions and 1346 deletions
|
@ -13,7 +13,6 @@ import androidx.core.app.ActivityCompat
|
|||
import androidx.recyclerview.widget.DefaultItemAnimator
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil
|
||||
import code.name.monkey.appthemehelper.util.MaterialUtil
|
||||
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
|
||||
|
@ -38,25 +37,31 @@ import code.name.monkey.retromusic.model.Album
|
|||
import code.name.monkey.retromusic.model.Artist
|
||||
import code.name.monkey.retromusic.mvp.presenter.AlbumDetailsPresenter
|
||||
import code.name.monkey.retromusic.mvp.presenter.AlbumDetailsView
|
||||
import code.name.monkey.retromusic.rest.model.LastFmAlbum
|
||||
import code.name.monkey.retromusic.util.MusicUtil
|
||||
import code.name.monkey.retromusic.util.NavigationUtil
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import code.name.monkey.retromusic.util.RetroColorUtil
|
||||
import code.name.monkey.retromusic.util.RetroUtil
|
||||
import com.afollestad.materialcab.MaterialCab
|
||||
import com.bumptech.glide.Glide
|
||||
import kotlinx.android.synthetic.main.activity_album.albumCoverContainer
|
||||
import kotlinx.android.synthetic.main.activity_album.albumText
|
||||
import kotlinx.android.synthetic.main.activity_album.albumTitle
|
||||
import kotlinx.android.synthetic.main.activity_album.container
|
||||
import kotlinx.android.synthetic.main.activity_album.image
|
||||
import kotlinx.android.synthetic.main.activity_album.toolbar
|
||||
import kotlinx.android.synthetic.main.activity_album_content.aboutAlbumText
|
||||
import kotlinx.android.synthetic.main.activity_album_content.aboutAlbumTitle
|
||||
import kotlinx.android.synthetic.main.activity_album_content.listeners
|
||||
import kotlinx.android.synthetic.main.activity_album_content.listenersLabel
|
||||
import kotlinx.android.synthetic.main.activity_album_content.moreRecyclerView
|
||||
import kotlinx.android.synthetic.main.activity_album_content.moreTitle
|
||||
import kotlinx.android.synthetic.main.activity_album_content.playAction
|
||||
import kotlinx.android.synthetic.main.activity_album_content.recyclerView
|
||||
import kotlinx.android.synthetic.main.activity_album_content.scrobbles
|
||||
import kotlinx.android.synthetic.main.activity_album_content.scrobblesLabel
|
||||
import kotlinx.android.synthetic.main.activity_album_content.shuffleAction
|
||||
import kotlinx.android.synthetic.main.activity_album_content.songTitle
|
||||
import me.everything.android.ui.overscroll.OverScrollDecoratorHelper
|
||||
import java.util.ArrayList
|
||||
import javax.inject.Inject
|
||||
import android.util.Pair as UtilPair
|
||||
|
@ -151,6 +156,14 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C
|
|||
shuffleAction.apply {
|
||||
setOnClickListener { MusicPlayerRemote.openAndShuffleQueue(album.songs!!, true) }
|
||||
}
|
||||
|
||||
aboutAlbumText.setOnClickListener {
|
||||
if (aboutAlbumText.maxLines == 4) {
|
||||
aboutAlbumText.maxLines = Integer.MAX_VALUE
|
||||
} else {
|
||||
aboutAlbumText.maxLines = 4
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupRecyclerView() {
|
||||
|
@ -161,8 +174,6 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C
|
|||
isNestedScrollingEnabled = false
|
||||
adapter = simpleSongAdapter
|
||||
}
|
||||
|
||||
OverScrollDecoratorHelper.setUpOverScroll(container)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
|
@ -200,6 +211,7 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C
|
|||
loadAlbumCover()
|
||||
simpleSongAdapter.swapDataSet(album.songs)
|
||||
albumDetailsPresenter.loadMore(album.artistId)
|
||||
albumDetailsPresenter.aboutAlbum(album.artistName!!, album.title!!)
|
||||
}
|
||||
|
||||
override fun moreAlbums(albums: ArrayList<Album>) {
|
||||
|
@ -217,6 +229,24 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C
|
|||
moreRecyclerView.adapter = albumAdapter
|
||||
}
|
||||
|
||||
override fun aboutAlbum(lastFmAlbum: LastFmAlbum) {
|
||||
if (lastFmAlbum.album.wiki != null) {
|
||||
aboutAlbumText.show()
|
||||
aboutAlbumTitle.show()
|
||||
aboutAlbumTitle.text = String.format("About %s", lastFmAlbum.album.name)
|
||||
aboutAlbumText.text = lastFmAlbum.album.wiki.content
|
||||
}
|
||||
if (lastFmAlbum.album.listeners.isNotEmpty()) {
|
||||
listeners.show()
|
||||
listenersLabel.show()
|
||||
scrobbles.show()
|
||||
scrobblesLabel.show()
|
||||
|
||||
listeners.text = RetroUtil.formatValue(lastFmAlbum.album.listeners.toFloat())
|
||||
scrobbles.text = RetroUtil.formatValue(lastFmAlbum.album.playcount.toFloat())
|
||||
}
|
||||
}
|
||||
|
||||
override fun loadArtistImage(artist: Artist) {
|
||||
ArtistGlideRequest.Builder.from(Glide.with(this), artist).generatePalette(this).build()
|
||||
.dontAnimate().dontTransform().into(object : RetroMusicColoredTarget(artistImage) {
|
||||
|
@ -239,11 +269,14 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C
|
|||
}
|
||||
|
||||
private fun setColors(color: Int) {
|
||||
val themeColor = if (PreferenceUtil.getInstance(this).adaptiveColor) color.ripAlpha()
|
||||
else ThemeStore.accentColor(this)
|
||||
val textColor = if (PreferenceUtil.getInstance(this).adaptiveColor)
|
||||
color.ripAlpha()
|
||||
else
|
||||
ATHUtil.resolveColor(this, android.R.attr.textColorPrimary)
|
||||
|
||||
songTitle.setTextColor(themeColor)
|
||||
moreTitle.setTextColor(themeColor)
|
||||
songTitle.setTextColor(textColor)
|
||||
moreTitle.setTextColor(textColor)
|
||||
aboutAlbumTitle.setTextColor(textColor)
|
||||
|
||||
val buttonColor = if (PreferenceUtil.getInstance(this).adaptiveColor)
|
||||
color.ripAlpha()
|
||||
|
|
|
@ -15,17 +15,16 @@ import androidx.core.app.ActivityCompat
|
|||
import androidx.recyclerview.widget.DefaultItemAnimator
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil
|
||||
import code.name.monkey.appthemehelper.util.MaterialUtil
|
||||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.activities.base.AbsSlidingMusicPanelActivity
|
||||
import code.name.monkey.retromusic.adapter.album.AlbumAdapter
|
||||
import code.name.monkey.retromusic.adapter.album.HorizontalAlbumAdapter
|
||||
import code.name.monkey.retromusic.adapter.song.SimpleSongAdapter
|
||||
import code.name.monkey.retromusic.dialogs.AddToPlaylistDialog
|
||||
import code.name.monkey.retromusic.extensions.ripAlpha
|
||||
import code.name.monkey.retromusic.extensions.show
|
||||
import code.name.monkey.retromusic.glide.ArtistGlideRequest
|
||||
import code.name.monkey.retromusic.glide.RetroMusicColoredTarget
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||
|
@ -35,29 +34,30 @@ import code.name.monkey.retromusic.mvp.presenter.ArtistDetailsPresenter
|
|||
import code.name.monkey.retromusic.mvp.presenter.ArtistDetailsView
|
||||
import code.name.monkey.retromusic.rest.model.LastFmArtist
|
||||
import code.name.monkey.retromusic.util.CustomArtistImageUtil
|
||||
import code.name.monkey.retromusic.util.DensityUtil
|
||||
import code.name.monkey.retromusic.util.MusicUtil
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import code.name.monkey.retromusic.util.RetroColorUtil
|
||||
import code.name.monkey.retromusic.util.RetroUtil
|
||||
import com.afollestad.materialcab.MaterialCab
|
||||
import com.bumptech.glide.Glide
|
||||
import kotlinx.android.synthetic.main.activity_album.container
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.albumRecyclerView
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.albumTitle
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.biographyText
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.biographyTitle
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.listeners
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.listenersLabel
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.playAction
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.recyclerView
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.scrobbles
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.scrobblesLabel
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.shuffleAction
|
||||
import kotlinx.android.synthetic.main.activity_artist_content.songTitle
|
||||
import kotlinx.android.synthetic.main.activity_artist_details.artistCoverContainer
|
||||
import kotlinx.android.synthetic.main.activity_artist_details.artistTitle
|
||||
import kotlinx.android.synthetic.main.activity_artist_details.image
|
||||
import kotlinx.android.synthetic.main.activity_artist_details.imageContainer
|
||||
import kotlinx.android.synthetic.main.activity_artist_details.text
|
||||
import kotlinx.android.synthetic.main.activity_artist_details.toolbar
|
||||
import me.everything.android.ui.overscroll.OverScrollDecoratorHelper
|
||||
import java.text.DecimalFormat
|
||||
import java.util.Locale
|
||||
import javax.inject.Inject
|
||||
|
||||
|
@ -85,7 +85,7 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView,
|
|||
private var biography: Spanned? = null
|
||||
private lateinit var artist: Artist
|
||||
private lateinit var songAdapter: SimpleSongAdapter
|
||||
private lateinit var albumAdapter: AlbumAdapter
|
||||
private lateinit var albumAdapter: HorizontalAlbumAdapter
|
||||
private var forceDownload: Boolean = false
|
||||
|
||||
override fun createContentView(): View {
|
||||
|
@ -101,7 +101,6 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView,
|
|||
slide.excludeTarget(R.id.status_bar, true)
|
||||
slide.excludeTarget(android.R.id.statusBarBackground, true)
|
||||
slide.excludeTarget(android.R.id.navigationBarBackground, true)
|
||||
|
||||
window.enterTransition = slide
|
||||
}
|
||||
|
||||
|
@ -131,7 +130,7 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView,
|
|||
windowEnterTransition()
|
||||
ActivityCompat.postponeEnterTransition(this)
|
||||
|
||||
setUpViews()
|
||||
setupRecyclerView()
|
||||
|
||||
playAction.apply {
|
||||
setOnClickListener { MusicPlayerRemote.openQueue(artist.songs, 0, true) }
|
||||
|
@ -154,19 +153,6 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView,
|
|||
artistDetailsPresenter.detachView()
|
||||
}
|
||||
|
||||
private fun setUpViews() {
|
||||
setupRecyclerView()
|
||||
setupContainerHeight()
|
||||
}
|
||||
|
||||
private fun setupContainerHeight() {
|
||||
imageContainer?.let {
|
||||
val params = it.layoutParams
|
||||
params.width = DensityUtil.getScreenHeight(this) / 2
|
||||
it.layoutParams = params
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupRecyclerView() {
|
||||
albumAdapter = HorizontalAlbumAdapter(this, ArrayList(), false, null)
|
||||
albumRecyclerView.apply {
|
||||
|
@ -180,7 +166,6 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView,
|
|||
layoutManager = LinearLayoutManager(this.context)
|
||||
adapter = songAdapter
|
||||
}
|
||||
OverScrollDecoratorHelper.setUpOverScroll(container)
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
|
@ -247,6 +232,16 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView,
|
|||
Html.fromHtml(bioContent)
|
||||
}
|
||||
biographyText.text = biography
|
||||
|
||||
if (lastFmArtist.artist.stats.listeners.isNotEmpty()) {
|
||||
listeners.show()
|
||||
listenersLabel.show()
|
||||
scrobbles.show()
|
||||
scrobblesLabel.show()
|
||||
|
||||
listeners.text = RetroUtil.formatValue(lastFmArtist.artist.stats.listeners.toFloat())
|
||||
scrobbles.text = RetroUtil.formatValue(lastFmArtist.artist.stats.playcount.toFloat())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -271,7 +266,7 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView,
|
|||
val textColor = if (PreferenceUtil.getInstance(this).adaptiveColor)
|
||||
color.ripAlpha()
|
||||
else
|
||||
ThemeStore.accentColor(this)
|
||||
ATHUtil.resolveColor(this, android.R.attr.textColorPrimary)
|
||||
|
||||
albumTitle.setTextColor(textColor)
|
||||
songTitle.setTextColor(textColor)
|
||||
|
@ -292,6 +287,18 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView,
|
|||
supportActionBar?.title = null
|
||||
}
|
||||
|
||||
private fun numberFormat(count: Float): String {
|
||||
val prefixes = arrayOf("", "K", "M", "B", "T", "P", "E")
|
||||
var index = 0
|
||||
var finalCount = count
|
||||
while (finalCount / 1000 >= 1) {
|
||||
finalCount /= 1000
|
||||
index++
|
||||
}
|
||||
val decimal = DecimalFormat("#.##")
|
||||
return String.format("%s %s", decimal.format(finalCount), prefixes[index])
|
||||
}
|
||||
|
||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||
return handleSortOrderMenuItem(item)
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@ import java.io.BufferedReader;
|
|||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import me.everything.android.ui.overscroll.OverScrollDecoratorHelper;
|
||||
|
||||
public class WhatsNewActivity extends AbsBaseActivity {
|
||||
|
||||
|
@ -52,7 +51,6 @@ public class WhatsNewActivity extends AbsBaseActivity {
|
|||
toolbar.setNavigationOnClickListener(v -> onBackPressed());
|
||||
ToolbarContentTintHelper.colorBackButton(toolbar);
|
||||
NestedScrollView nestedScrollView = findViewById(R.id.container);
|
||||
OverScrollDecoratorHelper.setUpOverScroll(nestedScrollView);
|
||||
|
||||
try {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue