Skip to content

Commit 80bc0f5

Browse files
Merge pull request #277 from SimonHalvdansson/codex/migrate-image-loading-from-picasso-to-coil
Replace Picasso with Coil
2 parents a6c6744 + 949d90a commit 80bc0f5

File tree

5 files changed

+21
-14
lines changed

5 files changed

+21
-14
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,6 @@ dependencies {
6666
implementation(libs.volley)
6767
implementation(libs.bundles.okhttp)
6868
implementation(libs.shimmer)
69-
implementation(libs.picasso)
69+
implementation(libs.coil)
7070
implementation(libs.jsoup)
7171
}

app/src/main/java/com/simon/harmonichackernews/adapters/CommentsRecyclerViewAdapter.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@
5151
import com.simon.harmonichackernews.utils.FontUtils;
5252
import com.simon.harmonichackernews.utils.ThemeUtils;
5353
import com.simon.harmonichackernews.utils.Utils;
54-
import com.squareup.picasso.Picasso;
54+
import coil.Coil;
55+
import coil.request.ImageRequest;
5556

5657
import org.jetbrains.annotations.NotNull;
5758
import org.sufficientlysecure.htmltextview.HtmlTextView;
@@ -306,9 +307,11 @@ public void onClick(View v) {
306307
if (story.nitterInfo.imgSrc != null) {
307308
headerViewHolder.nitterImage.setVisibility(VISIBLE);
308309
try {
309-
Picasso.get()
310-
.load(story.nitterInfo.imgSrc)
311-
.into(headerViewHolder.nitterImage);
310+
ImageRequest request = new ImageRequest.Builder(ctx)
311+
.data(story.nitterInfo.imgSrc)
312+
.target(headerViewHolder.nitterImage)
313+
.build();
314+
Coil.imageLoader(ctx).enqueue(request);
312315
} catch (Exception e){
313316
e.printStackTrace();
314317
};

app/src/main/java/com/simon/harmonichackernews/network/FaviconLoader.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77

88
import com.simon.harmonichackernews.R;
99
import com.simon.harmonichackernews.utils.Utils;
10-
import com.squareup.picasso.Picasso;
10+
11+
import coil.Coil;
12+
import coil.request.ImageRequest;
1113

1214
import java.util.Objects;
1315

@@ -18,12 +20,14 @@ public static void loadFavicon(String url, ImageView into, Context ctx, String f
1820
String host = Utils.getDomainName(url);
1921
int faviconSize = Utils.pxFromDpInt(ctx.getResources(), 17);
2022

21-
Picasso.get()
22-
.load(getFaviconUrl(host, faviconProvider))
23-
.resize(faviconSize, faviconSize)
24-
.onlyScaleDown()
23+
ImageRequest request = new ImageRequest.Builder(ctx)
24+
.data(getFaviconUrl(host, faviconProvider))
25+
.size(faviconSize, faviconSize)
2526
.placeholder(Objects.requireNonNull(ContextCompat.getDrawable(ctx, R.drawable.ic_action_web)))
26-
.into(into);
27+
.target(into)
28+
.build();
29+
30+
Coil.imageLoader(ctx).enqueue(request);
2731
} catch (Exception ignored){};
2832
}
2933

app/src/main/res/layout/activity_about.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@
118118
<TextView
119119
android:paddingTop="3dp"
120120
android:paddingBottom="3dp"
121-
android:text="Picasso by Square - Apache 2.0"
121+
android:text="Coil by Instacart - Apache 2.0"
122122
android:layout_width="wrap_content"
123123
android:layout_height="wrap_content"/>
124124

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[versions]
2-
agp = "8.13.0"
2+
agp = "8.13.1"
33
kotlin = "2.2.10"
44

55
[plugins]
@@ -31,8 +31,8 @@ okhttp-core = "com.squareup.okhttp3:okhttp:5.2.0"
3131
okhttp-urlconnection = "com.squareup.okhttp3:okhttp-urlconnection:5.2.0"
3232

3333
shimmer = "com.facebook.shimmer:shimmer:0.5.0"
34-
picasso = "com.squareup.picasso:picasso:2.8"
3534
jsoup = "org.jsoup:jsoup:1.21.2"
35+
coil = "io.coil-kt:coil:2.7.0"
3636

3737
[bundles]
3838
androidx-lifecycle = ["androidx-lifecycle-viewmodel", "androidx-lifecycle-viewmodel-ktx"]

0 commit comments

Comments
 (0)