From 3b7ee86592f7df0394ab49564ea82ce6479a1a93 Mon Sep 17 00:00:00 2001 From: Floens Date: Wed, 13 Jul 2016 17:01:54 +0200 Subject: [PATCH] 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 --- .travis.yml | 4 +- Clover/app/build.gradle | 26 ++++++------- .../org/floens/chan/core/cache/FileCache.java | 37 +++++++++---------- .../floens/chan/core/http/DeleteHttpCall.java | 10 ++--- .../org/floens/chan/core/http/HttpCall.java | 15 ++++---- .../floens/chan/core/http/PassHttpCall.java | 10 ++--- .../floens/chan/core/http/ReplyHttpCall.java | 16 ++++---- .../floens/chan/core/http/ReplyManager.java | 15 ++++---- .../java/org/floens/chan/ui/theme/Theme.java | 1 + 9 files changed, 68 insertions(+), 66 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6d8b1faf..7127ff13 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/Clover/app/build.gradle b/Clover/app/build.gradle index 39b0b97e..1d78faa3 100644 --- a/Clover/app/build.gradle +++ b/Clover/app/build.gradle @@ -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' } diff --git a/Clover/app/src/main/java/org/floens/chan/core/cache/FileCache.java b/Clover/app/src/main/java/org/floens/chan/core/cache/FileCache.java index fb84027b..a4aee94a 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/cache/FileCache.java +++ b/Clover/app/src/main/java/org/floens/chan/core/cache/FileCache.java @@ -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(); diff --git a/Clover/app/src/main/java/org/floens/chan/core/http/DeleteHttpCall.java b/Clover/app/src/main/java/org/floens/chan/core/http/DeleteHttpCall.java index dd606a48..213eedd1 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/http/DeleteHttpCall.java +++ b/Clover/app/src/main/java/org/floens/chan/core/http/DeleteHttpCall.java @@ -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"); diff --git a/Clover/app/src/main/java/org/floens/chan/core/http/HttpCall.java b/Clover/app/src/main/java/org/floens/chan/core/http/HttpCall.java index c9cc8481..1656f6e7 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/http/HttpCall.java +++ b/Clover/app/src/main/java/org/floens/chan/core/http/HttpCall.java @@ -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() { diff --git a/Clover/app/src/main/java/org/floens/chan/core/http/PassHttpCall.java b/Clover/app/src/main/java/org/floens/chan/core/http/PassHttpCall.java index cbf3fa1c..4d68f1a5 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/http/PassHttpCall.java +++ b/Clover/app/src/main/java/org/floens/chan/core/http/PassHttpCall.java @@ -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"); diff --git a/Clover/app/src/main/java/org/floens/chan/core/http/ReplyHttpCall.java b/Clover/app/src/main/java/org/floens/chan/core/http/ReplyHttpCall.java index 8ba1f622..688d715d 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/http/ReplyHttpCall.java +++ b/Clover/app/src/main/java/org/floens/chan/core/http/ReplyHttpCall.java @@ -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); diff --git a/Clover/app/src/main/java/org/floens/chan/core/http/ReplyManager.java b/Clover/app/src/main/java/org/floens/chan/core/http/ReplyManager.java index 5277b4f5..08e74935 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/http/ReplyManager.java +++ b/Clover/app/src/main/java/org/floens/chan/core/http/ReplyManager.java @@ -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) { diff --git a/Clover/app/src/main/java/org/floens/chan/ui/theme/Theme.java b/Clover/app/src/main/java/org/floens/chan/ui/theme/Theme.java index c2d1d3cd..cec1de21 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/theme/Theme.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/theme/Theme.java @@ -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);