Skip to content

Commit 9a17672

Browse files
authored
Merge pull request #89 from KeineDX4/rf_dobrochan_webp_preview
DobrochanRefuge: thumbnail loading fix
2 parents 95cab76 + 2d5bd83 commit 9a17672

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

extensions/refugedobrochan/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apply plugin: 'chan-extension'
33
chan {
44
nameUpper 'RefugeDobrochan'
55
packageName 'com.trixiether.dashchan.chan.refugedobrochan'
6-
versionName '1.5'
6+
versionName '1.6'
77
apiVersion 1
88
hosts 'rf.dobrochan.net'
99
}

extensions/refugedobrochan/src/com/trixiether/dashchan/chan/refugedobrochan/RefugeDobrochanChanPerformer.java

+19
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,29 @@
11
package com.trixiether.dashchan.chan.refugedobrochan;
22

3+
import android.net.Uri;
4+
import java.net.HttpURLConnection;
5+
import chan.content.InvalidResponseException;
36
import chan.content.VichanChanPerformer;
7+
import chan.http.HttpException;
8+
import chan.http.HttpRequest;
9+
import chan.http.HttpResponse;
410
import chan.http.MultipartEntity;
511
import chan.text.ParseException;
612

713
public class RefugeDobrochanChanPerformer extends VichanChanPerformer {
14+
@Override
15+
public ReadContentResult onReadContent(ReadContentData data) throws HttpException, InvalidResponseException {
16+
if (data.uri.toString().contains("/thumb/") && data.uri.toString().endsWith(".png")) {
17+
HttpResponse response = new HttpRequest(data.uri, data).setSuccessOnly(false).perform();
18+
if (response.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND)
19+
{
20+
Uri webpThumbUri = Uri.parse(data.uri.toString().replace(".png", ".webp"));
21+
return new ReadContentResult(new HttpRequest(webpThumbUri, data.direct).perform());
22+
}
23+
}
24+
return super.onReadContent(data);
25+
}
26+
827
@Override
928
protected void parseAntispamFields(String text, MultipartEntity entity) throws ParseException {
1029
RefugeDobrochanAntispamFieldsParser.parseAndApply(text, entity, "board", "thread", "name", "email",

0 commit comments

Comments
 (0)