Skip to content

Commit f74402b

Browse files
Added Coil helper method
1 parent 4d3b4a7 commit f74402b

4 files changed

Lines changed: 17 additions & 27 deletions

File tree

app/src/main/java/org/schabi/newpipe/local/feed/notifications/NotificationHelper.kt

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,12 @@ import androidx.core.app.NotificationManagerCompat
1414
import androidx.core.app.PendingIntentCompat
1515
import androidx.core.content.ContextCompat
1616
import androidx.core.content.getSystemService
17-
import androidx.core.graphics.drawable.toBitmapOrNull
1817
import androidx.preference.PreferenceManager
19-
import coil.executeBlocking
20-
import coil.imageLoader
21-
import coil.request.ImageRequest
2218
import org.schabi.newpipe.R
2319
import org.schabi.newpipe.extractor.stream.StreamInfoItem
2420
import org.schabi.newpipe.local.feed.service.FeedUpdateInfo
2521
import org.schabi.newpipe.util.NavigationHelper
26-
import org.schabi.newpipe.util.image.ImageStrategy
22+
import org.schabi.newpipe.util.image.CoilHelper
2723

2824
/**
2925
* Helper for everything related to show notifications about new streams to the user.
@@ -68,24 +64,15 @@ class NotificationHelper(val context: Context) {
6864
summaryBuilder.setStyle(style)
6965

7066
// open the channel page when clicking on the summary notification
67+
val intent = NavigationHelper
68+
.getChannelIntent(context, data.serviceId, data.url)
69+
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
7170
summaryBuilder.setContentIntent(
72-
PendingIntentCompat.getActivity(
73-
context,
74-
data.pseudoId,
75-
NavigationHelper
76-
.getChannelIntent(context, data.serviceId, data.url)
77-
.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK),
78-
0,
79-
false
80-
)
71+
PendingIntentCompat.getActivity(context, data.pseudoId, intent, 0, false)
8172
)
8273

83-
val request = ImageRequest.Builder(context)
84-
.data(data.avatarUrl?.takeIf { ImageStrategy.shouldLoadImages() })
85-
.placeholder(R.drawable.ic_newpipe_triangle_white)
86-
.error(R.drawable.ic_newpipe_triangle_white)
87-
.build()
88-
val avatarIcon = context.imageLoader.executeBlocking(request).drawable?.toBitmapOrNull()
74+
val avatarIcon =
75+
CoilHelper.loadBitmapBlocking(context, data.avatarUrl, R.drawable.ic_newpipe_triangle_white)
8976

9077
summaryBuilder.setLargeIcon(avatarIcon)
9178

app/src/main/java/org/schabi/newpipe/player/seekbarpreview/SeekbarPreviewThumbnailHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ private Bitmap getBitMapFrom(final String url) {
179179

180180
// Gets the bitmap within the timeout of 15 seconds imposed by default by OkHttpClient
181181
// Ensure that you are not running on the main thread, otherwise this will hang
182-
final var bitmap = CoilHelper.INSTANCE.loadBitmap(App.getApp(), url);
182+
final var bitmap = CoilHelper.INSTANCE.loadBitmapBlocking(App.getApp(), url);
183183

184184
if (sw != null) {
185185
Log.d(TAG, "Download of bitmap for seekbarPreview from '" + url + "' took "

app/src/main/java/org/schabi/newpipe/util/external_communication/ShareUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ private static ClipData generateClipDataForImagePreview(
369369
@NonNull final Context context,
370370
@NonNull final String thumbnailUrl) {
371371
try {
372-
final var bitmap = CoilHelper.INSTANCE.loadBitmap(context, thumbnailUrl);
372+
final var bitmap = CoilHelper.INSTANCE.loadBitmapBlocking(context, thumbnailUrl);
373373
if (bitmap == null) {
374374
return null;
375375
}

app/src/main/java/org/schabi/newpipe/util/image/CoilHelper.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,15 @@ import org.schabi.newpipe.ktx.scale
1919
import kotlin.math.min
2020

2121
object CoilHelper {
22-
private const val TAG = "CoilHelper"
22+
private val TAG = CoilHelper::class.java.simpleName
2323

24-
fun loadBitmap(context: Context, url: String): Bitmap? {
25-
val request = ImageRequest.Builder(context)
26-
.data(url)
27-
.build()
24+
@JvmOverloads
25+
fun loadBitmapBlocking(
26+
context: Context,
27+
url: String?,
28+
placeholderResId: Int = 0
29+
): Bitmap? {
30+
val request = getImageRequest(context, url, placeholderResId).build()
2831
return context.imageLoader.executeBlocking(request).drawable?.toBitmapOrNull()
2932
}
3033

0 commit comments

Comments
 (0)