Set target version to API 24

Update build tools to 24.0.0
Update support libraries to 24.0.0
Update jsoup
Update to okhttp3, some changes required, no functionality changed.

Suppress useless lint error in Theme.resolveSpanColors
multisite
Floens 9 years ago
parent 6c4137ab69
commit 3b7ee86592
  1. 4
      .travis.yml
  2. 26
      Clover/app/build.gradle
  3. 37
      Clover/app/src/main/java/org/floens/chan/core/cache/FileCache.java
  4. 10
      Clover/app/src/main/java/org/floens/chan/core/http/DeleteHttpCall.java
  5. 15
      Clover/app/src/main/java/org/floens/chan/core/http/HttpCall.java
  6. 10
      Clover/app/src/main/java/org/floens/chan/core/http/PassHttpCall.java
  7. 16
      Clover/app/src/main/java/org/floens/chan/core/http/ReplyHttpCall.java
  8. 15
      Clover/app/src/main/java/org/floens/chan/core/http/ReplyManager.java
  9. 1
      Clover/app/src/main/java/org/floens/chan/ui/theme/Theme.java

@ -5,7 +5,7 @@ android:
- platform-tools
- tools
- extra-android-m2repository
- build-tools-23.0.3
- android-23
- build-tools-24.0.0
- android-24
script: cd Clover && ./gradlew build --console plain -x lint

@ -1,14 +1,14 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
compileSdkVersion 24
// update the travis config when changing this
buildToolsVersion '23.0.3'
buildToolsVersion '24.0.0'
defaultConfig {
applicationId "org.floens.chan"
minSdkVersion 15
targetSdkVersion 23
targetSdkVersion 24
versionName "v2.1.3"
versionCode 55
@ -84,19 +84,19 @@ android {
}
dependencies {
compile 'com.android.support:support-v13:23.4.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.android.support:support-annotations:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:customtabs:23.4.0'
compile 'org.jsoup:jsoup:1.8.3'
compile 'com.android.support:support-v13:24.0.0'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:recyclerview-v7:24.0.0'
compile 'com.android.support:cardview-v7:24.0.0'
compile 'com.android.support:support-annotations:24.0.0'
compile 'com.android.support:design:24.0.0'
compile 'com.android.support:customtabs:24.0.0'
compile 'org.jsoup:jsoup:1.9.2'
compile 'com.j256.ormlite:ormlite-core:4.48'
compile 'com.j256.ormlite:ormlite-android:4.48'
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.16'
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0'
compile 'com.squareup.okhttp:okhttp:2.5.0'
compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'de.greenrobot:eventbus:2.4.0'
}

@ -17,14 +17,6 @@
*/
package org.floens.chan.core.cache;
import com.squareup.okhttp.Call;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Protocol;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import com.squareup.okhttp.ResponseBody;
import com.squareup.okhttp.internal.Util;
import org.floens.chan.core.settings.ChanSettings;
import org.floens.chan.utils.AndroidUtils;
import org.floens.chan.utils.Logger;
@ -45,6 +37,13 @@ import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import okhttp3.Call;
import okhttp3.OkHttpClient;
import okhttp3.Protocol;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
import okhttp3.internal.Util;
import okio.BufferedSource;
public class FileCache {
@ -68,13 +67,13 @@ public class FileCache {
this.maxSize = maxSize;
this.userAgent = userAgent;
httpClient = new OkHttpClient();
httpClient.setConnectTimeout(TIMEOUT, TimeUnit.MILLISECONDS);
httpClient.setReadTimeout(TIMEOUT, TimeUnit.MILLISECONDS);
httpClient.setWriteTimeout(TIMEOUT, TimeUnit.MILLISECONDS);
// Disable SPDY, causes reproducible timeouts, only one download at the same time and other fun stuff
httpClient.setProtocols(Collections.singletonList(Protocol.HTTP_1_1));
httpClient = new OkHttpClient.Builder()
.connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
.readTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
.writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
// Disable SPDY, causes reproducible timeouts, only one download at the same time and other fun stuff
.protocols(Collections.singletonList(Protocol.HTTP_1_1))
.build();
makeDir();
calculateSize();
@ -428,9 +427,11 @@ public class FileCache {
.header("User-Agent", userAgent)
.build();
fileCache.httpClient.setProxy(ChanSettings.getProxy());
call = fileCache.httpClient.newBuilder()
.proxy(ChanSettings.getProxy())
.build()
.newCall(request);
call = fileCache.httpClient.newCall(request);
Response response = call.execute();
if (!response.isSuccessful()) {
cancelDueToHttpError(response.code());
@ -459,8 +460,6 @@ public class FileCache {
totalLast = total;
postProgress(total, contentLength <= 0 ? total : contentLength, false);
}
if (Thread.currentThread().isInterrupted()) throw new InterruptedIOException();
}
if (Thread.currentThread().isInterrupted()) throw new InterruptedIOException();

@ -17,10 +17,6 @@
*/
package org.floens.chan.core.http;
import com.squareup.okhttp.FormEncodingBuilder;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import org.floens.chan.chan.ChanUrls;
import org.floens.chan.core.model.SavedReply;
import org.jsoup.Jsoup;
@ -29,6 +25,10 @@ import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import okhttp3.FormBody;
import okhttp3.Request;
import okhttp3.Response;
public class DeleteHttpCall extends HttpCall {
private static final Pattern ERROR_MESSAGE = Pattern.compile("\"errmsg\"[^>]*>(.*?)<\\/span");
@ -45,7 +45,7 @@ public class DeleteHttpCall extends HttpCall {
@Override
public void setup(Request.Builder requestBuilder) {
FormEncodingBuilder formBuilder = new FormEncodingBuilder();
FormBody.Builder formBuilder = new FormBody.Builder();
formBuilder.add(Integer.toString(reply.no), "delete");
if (onlyImageDelete) {
formBuilder.add("onlyimgdel", "on");

@ -17,16 +17,17 @@
*/
package org.floens.chan.core.http;
import com.squareup.okhttp.Callback;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import org.floens.chan.utils.AndroidUtils;
import org.floens.chan.utils.IOUtils;
import org.floens.chan.utils.Logger;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Request;
import okhttp3.Response;
public abstract class HttpCall implements Callback {
private static final String TAG = "HttpCall";
@ -51,14 +52,14 @@ public abstract class HttpCall implements Callback {
}
@Override
public void onResponse(Response response) {
public void onResponse(Call call, Response response) {
try {
if (response.isSuccessful() && response.body() != null) {
String responseString = response.body().string();
process(response, responseString);
successful = true;
} else {
onFailure(response.request(), null);
onFailure(call, null);
}
} catch (IOException e) {
Logger.e(TAG, "IOException processing response", e);
@ -75,7 +76,7 @@ public abstract class HttpCall implements Callback {
}
@Override
public void onFailure(Request request, IOException e) {
public void onFailure(Call call, IOException e) {
AndroidUtils.runOnUiThread(new Runnable() {
@Override
public void run() {

@ -17,16 +17,16 @@
*/
package org.floens.chan.core.http;
import com.squareup.okhttp.FormEncodingBuilder;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import org.floens.chan.chan.ChanUrls;
import java.io.IOException;
import java.net.HttpCookie;
import java.util.List;
import okhttp3.FormBody;
import okhttp3.Request;
import okhttp3.Response;
public class PassHttpCall extends HttpCall {
public boolean success;
public String message;
@ -42,7 +42,7 @@ public class PassHttpCall extends HttpCall {
@Override
public void setup(Request.Builder requestBuilder) {
FormEncodingBuilder formBuilder = new FormEncodingBuilder();
FormBody.Builder formBuilder = new FormBody.Builder();
formBuilder.add("act", "do_login");

@ -19,12 +19,6 @@ package org.floens.chan.core.http;
import android.text.TextUtils;
import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.MultipartBuilder;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.RequestBody;
import com.squareup.okhttp.Response;
import org.floens.chan.chan.ChanUrls;
import org.floens.chan.core.model.Reply;
import org.jsoup.Jsoup;
@ -34,6 +28,12 @@ import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class ReplyHttpCall extends HttpCall {
private static final String TAG = "ReplyHttpCall";
private static final Random RANDOM = new Random();
@ -59,8 +59,8 @@ public class ReplyHttpCall extends HttpCall {
password = Long.toHexString(RANDOM.nextLong());
MultipartBuilder formBuilder = new MultipartBuilder();
formBuilder.type(MultipartBuilder.FORM);
MultipartBody.Builder formBuilder = new MultipartBody.Builder();
formBuilder.setType(MultipartBody.FORM);
formBuilder.addFormDataPart("mode", "regist");
formBuilder.addFormDataPart("pwd", password);

@ -19,9 +19,6 @@ package org.floens.chan.core.http;
import android.content.Context;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import org.floens.chan.core.model.Loadable;
import org.floens.chan.core.model.Reply;
@ -30,6 +27,9 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
import okhttp3.Request;
/**
* To send an reply to 4chan.
*/
@ -46,10 +46,11 @@ public class ReplyManager {
this.context = context;
this.userAgent = userAgent;
client = new OkHttpClient();
client.setConnectTimeout(TIMEOUT, TimeUnit.MILLISECONDS);
client.setReadTimeout(TIMEOUT, TimeUnit.MILLISECONDS);
client.setWriteTimeout(TIMEOUT, TimeUnit.MILLISECONDS);
client = new OkHttpClient.Builder()
.connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
.readTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
.writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS)
.build();
}
public Reply getReply(Loadable loadable) {

@ -99,6 +99,7 @@ public class Theme {
fab.setBackgroundTintList(ColorStateList.valueOf(accentColor.color));
}
@SuppressWarnings("ResourceType")
private void resolveSpanColors() {
Resources.Theme theme = AndroidUtils.getAppContext().getResources().newTheme();
theme.applyStyle(R.style.Chan_Theme, true);

Loading…
Cancel
Save