Skip to content

Commit f08e536

Browse files
committed
updates glide library and fixes image cropping problems on conference tiles
1 parent 17b3d79 commit f08e536

File tree

7 files changed

+44
-27
lines changed

7 files changed

+44
-27
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ext {
1616
crashlyticsVersion = "2.9.0"
1717
daggerVersion = "2.14.1"
1818
exoplayerVersion = "2.7.0"
19-
glideVersion = "3.8.0"
19+
glideVersion = "4.6.1"
2020
gsonVersion = "2.8.2"
2121
playServicesVersion = "11.4.0"
2222
rxAndroidVersion = "2.0.2"

app/src/main/java/de/stefanmedack/ccctv/ui/cards/ConferenceCardPresenter.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.support.v4.content.ContextCompat
66
import android.support.v7.view.ContextThemeWrapper
77
import android.view.ViewGroup
88
import com.bumptech.glide.Glide
9+
import com.bumptech.glide.request.RequestOptions
910
import de.stefanmedack.ccctv.R
1011
import de.stefanmedack.ccctv.persistence.entities.Conference
1112
import kotlin.properties.Delegates
@@ -34,13 +35,18 @@ class ConferenceCardPresenter : Presenter() {
3435

3536
override fun onBindViewHolder(viewHolder: Presenter.ViewHolder, item: Any) {
3637
if (item is Conference) {
38+
val width = viewHolder.view.resources.getDimensionPixelSize(R.dimen.grid_card_width)
39+
val height = viewHolder.view.resources.getDimensionPixelSize(R.dimen.grid_card_height)
3740
(viewHolder.view as ImageCardView).let {
3841
it.titleText = item.title
3942
it.contentText = item.acronym
40-
Glide.with(viewHolder.view.context)
43+
Glide.with(viewHolder.view)
4144
.load(item.logoUrl)
42-
.fitCenter() // TODO check why fitCenter does not work
43-
.error(R.drawable.voctocat)
45+
.apply(RequestOptions()
46+
.error(R.drawable.voctocat)
47+
.override(width, height)
48+
.centerInside()
49+
)
4450
.into(it.mainImageView)
4551
}
4652
}

app/src/main/java/de/stefanmedack/ccctv/ui/cards/EventCardPresenter.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.support.v4.content.ContextCompat
66
import android.support.v7.view.ContextThemeWrapper
77
import android.view.ViewGroup
88
import com.bumptech.glide.Glide
9+
import com.bumptech.glide.request.RequestOptions
910
import de.stefanmedack.ccctv.R
1011
import de.stefanmedack.ccctv.persistence.entities.Event
1112
import de.stefanmedack.ccctv.util.stripHtml
@@ -38,10 +39,12 @@ class EventCardPresenter : Presenter() {
3839
(viewHolder.view as ImageCardView).let {
3940
it.titleText = item.title.stripHtml()
4041
it.contentText = item.description.stripHtml()
41-
Glide.with(viewHolder.view.context)
42+
Glide.with(viewHolder.view)
4243
.load(item.thumbUrl)
43-
.centerCrop()
44-
.error(R.drawable.voctocat)
44+
.apply(RequestOptions()
45+
.error(R.drawable.voctocat)
46+
.centerCrop()
47+
)
4548
.into(it.mainImageView)
4649
}
4750
}

app/src/main/java/de/stefanmedack/ccctv/ui/cards/StreamCardPresenter.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.support.v4.content.ContextCompat
66
import android.support.v7.view.ContextThemeWrapper
77
import android.view.ViewGroup
88
import com.bumptech.glide.Glide
9+
import com.bumptech.glide.request.RequestOptions
910
import de.stefanmedack.ccctv.R
1011
import info.metadude.java.library.brockman.models.Stream
1112
import kotlin.properties.Delegates
@@ -37,10 +38,12 @@ class StreamCardPresenter(val thumbPictureUrl: String) : Presenter() {
3738
(viewHolder.view as ImageCardView).let {
3839
it.titleText = item.display
3940
it.contentText = item.slug
40-
Glide.with(viewHolder.view.context)
41+
Glide.with(viewHolder.view)
4142
.load(thumbPictureUrl)
42-
.centerCrop()
43-
.error(R.drawable.voctocat)
43+
.apply(RequestOptions()
44+
.error(R.drawable.voctocat)
45+
.centerCrop()
46+
)
4447
.into(it.mainImageView)
4548
}
4649
}

app/src/main/java/de/stefanmedack/ccctv/ui/detail/DetailFragment.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package de.stefanmedack.ccctv.ui.detail
33
import android.arch.lifecycle.ViewModelProvider
44
import android.arch.lifecycle.ViewModelProviders
55
import android.content.Context
6+
import android.graphics.drawable.Drawable
67
import android.os.Build
78
import android.os.Bundle
89
import android.support.v17.leanback.app.DetailsSupportFragment
@@ -13,9 +14,9 @@ import android.view.KeyEvent
1314
import android.view.View
1415
import android.widget.Toast
1516
import com.bumptech.glide.Glide
16-
import com.bumptech.glide.load.resource.drawable.GlideDrawable
17-
import com.bumptech.glide.request.animation.GlideAnimation
17+
import com.bumptech.glide.request.RequestOptions
1818
import com.bumptech.glide.request.target.SimpleTarget
19+
import com.bumptech.glide.request.transition.Transition
1920
import dagger.android.support.AndroidSupportInjection
2021
import de.stefanmedack.ccctv.R
2122
import de.stefanmedack.ccctv.persistence.entities.Event
@@ -113,15 +114,14 @@ class DetailFragment : DetailsSupportFragment() {
113114
private fun showPoster(context: Context, detailsOverview: DetailsOverviewRow) {
114115
detailsOverview.imageDrawable = ContextCompat.getDrawable(context, R.drawable.voctocat)
115116

116-
Glide.with(activity)
117+
Glide.with(this)
117118
.load(arguments?.getString(EVENT_PICTURE))
118-
.centerCrop()
119-
.error(R.drawable.voctocat)
120-
.into<SimpleTarget<GlideDrawable>>(object : SimpleTarget<GlideDrawable>(
121-
resources.getDimensionPixelSize(R.dimen.event_card_width),
122-
resources.getDimensionPixelSize(R.dimen.event_card_height)) {
123-
override fun onResourceReady(resource: GlideDrawable,
124-
glideAnimation: GlideAnimation<in GlideDrawable>) {
119+
.apply(RequestOptions()
120+
.error(R.drawable.voctocat)
121+
.centerCrop()
122+
)
123+
.into(object : SimpleTarget<Drawable>() {
124+
override fun onResourceReady(resource: Drawable, transition: Transition<in Drawable>?) {
125125
detailsOverview.imageDrawable = resource
126126
}
127127
})

app/src/main/java/de/stefanmedack/ccctv/ui/events/EventsFragment.kt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@ import android.util.DisplayMetrics
1414
import android.view.View
1515
import android.widget.Toast
1616
import com.bumptech.glide.Glide
17-
import com.bumptech.glide.request.animation.GlideAnimation
17+
import com.bumptech.glide.request.RequestOptions
1818
import com.bumptech.glide.request.target.SimpleTarget
19+
import com.bumptech.glide.request.transition.Transition
1920
import dagger.android.support.AndroidSupportInjection
21+
import de.stefanmedack.ccctv.R
2022
import de.stefanmedack.ccctv.model.Resource
2123
import de.stefanmedack.ccctv.persistence.entities.Event
2224
import de.stefanmedack.ccctv.ui.cards.EventCardPresenter
@@ -113,13 +115,15 @@ class EventsFragment : VerticalGridSupportFragment() {
113115

114116
val logoUrl = arguments?.getString(CONFERENCE_LOGO_URL)
115117
if (logoUrl != null) {
116-
Glide.with(activityContext)
117-
.load(logoUrl)
118+
Glide.with(this)
118119
.asBitmap()
119-
.override(width, height)
120-
.fitCenter()
121-
.into<SimpleTarget<Bitmap>>(object : SimpleTarget<Bitmap>(width, height) {
122-
override fun onResourceReady(resource: Bitmap, glideAnimation: GlideAnimation<in Bitmap>) {
120+
.load(logoUrl)
121+
.apply(RequestOptions()
122+
.error(R.drawable.voctocat)
123+
.centerCrop()
124+
)
125+
.into(object : SimpleTarget<Bitmap>(width, height) {
126+
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
123127
backgroundManager?.setBitmap(darkenBitMap(resource))
124128
}
125129
})

app/src/main/res/values/styles.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
<style name="GridCardImageStyle" parent="Widget.Leanback.ImageCardView.ImageStyle">
4343
<item name="android:layout_width">@dimen/grid_card_width</item>
4444
<item name="android:layout_height">@dimen/grid_card_height</item>
45+
<item name="android:scaleType">fitCenter</item>
4546
</style>
4647

4748
<style name="ConferenceCardStyle" parent="Theme.Leanback">

0 commit comments

Comments
 (0)