Minor fragment/coil fixes
Update LoadingFragment path to prevent a crash on startup. Also switch how CoilUtils handles ArtistImageFetcher so that it doesnt cause a memory leak.
This commit is contained in:
parent
031815d746
commit
4b50b80af4
6 changed files with 16 additions and 17 deletions
|
@ -18,9 +18,9 @@ import com.google.android.material.tabs.TabLayout
|
|||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import org.oxycblt.auxio.databinding.ActivityMainBinding
|
||||
import org.oxycblt.auxio.library.LibraryFragment
|
||||
import org.oxycblt.auxio.library.SongsFragment
|
||||
import org.oxycblt.auxio.music.MusicViewModel
|
||||
import org.oxycblt.auxio.music.processing.MusicLoaderResponse
|
||||
import org.oxycblt.auxio.library.SongsFragment
|
||||
import org.oxycblt.auxio.theme.accent
|
||||
import org.oxycblt.auxio.theme.getInactiveAlpha
|
||||
import org.oxycblt.auxio.theme.getTransparentAccent
|
||||
|
@ -58,7 +58,8 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = DataBindingUtil.setContentView<ActivityMainBinding>(
|
||||
|
||||
binding = DataBindingUtil.setContentView(
|
||||
this, R.layout.activity_main
|
||||
)
|
||||
|
||||
|
@ -105,16 +106,17 @@ class MainActivity : AppCompatActivity() {
|
|||
)
|
||||
|
||||
musicModel.response.observe(
|
||||
this, {
|
||||
this,
|
||||
{
|
||||
// When the load is completed successfully, remove the loadingFragment view
|
||||
// and replace it with the ViewPager, now that its loaded.
|
||||
if (it == MusicLoaderResponse.DONE) {
|
||||
binding.loadingFragment.visibility = View.GONE
|
||||
// binding.loadingFragment.visibility = View.GONE
|
||||
binding.viewPager.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
musicModel.go()
|
||||
|
||||
Log.d(this::class.simpleName, "Activity Created.")
|
||||
}
|
||||
|
||||
|
|
|
@ -11,8 +11,6 @@ import org.oxycblt.auxio.music.models.Album
|
|||
import org.oxycblt.auxio.music.models.Artist
|
||||
import org.oxycblt.auxio.music.models.Song
|
||||
|
||||
private var artistImageFetcher: ArtistImageFetcher? = null
|
||||
|
||||
// Get the cover art for a song or album
|
||||
@BindingAdapter("coverArt")
|
||||
fun ImageView.getCoverArt(song: Song) {
|
||||
|
@ -44,14 +42,11 @@ fun ImageView.getArtistImage(artist: Artist) {
|
|||
uris.add(artist.albums[i].coverUri)
|
||||
}
|
||||
|
||||
// Initialize the fetcher if it hasn't been already.
|
||||
if (artistImageFetcher == null) {
|
||||
artistImageFetcher = ArtistImageFetcher(context)
|
||||
}
|
||||
val fetcher = ArtistImageFetcher(context)
|
||||
|
||||
getDefaultRequest(context, this)
|
||||
.data(uris)
|
||||
.fetcher(artistImageFetcher!!)
|
||||
.fetcher(fetcher)
|
||||
.error(R.drawable.ic_artist)
|
||||
.build()
|
||||
} else {
|
||||
|
|
|
@ -8,7 +8,6 @@ import android.view.ViewGroup
|
|||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.databinding.FragmentLibraryBinding
|
||||
import org.oxycblt.auxio.music.MusicViewModel
|
||||
|
|
|
@ -8,7 +8,6 @@ import android.view.ViewGroup
|
|||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.databinding.FragmentSongsBinding
|
||||
import org.oxycblt.auxio.music.MusicViewModel
|
||||
|
|
|
@ -6,7 +6,11 @@ import androidx.lifecycle.LiveData
|
|||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import org.oxycblt.auxio.R
|
||||
import org.oxycblt.auxio.music.models.Album
|
||||
import org.oxycblt.auxio.music.models.Artist
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/loading_fragment"
|
||||
android:name="org.oxycblt.auxio.loading.LoadingFragment"
|
||||
android:name="org.oxycblt.auxio.library.LoadingFragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tabs"
|
||||
|
|
Loading…
Reference in a new issue