From c11606e7bdb82ea2412a283ada3b3a1db394863e Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Sat, 22 Apr 2017 13:13:48 +0800 Subject: [PATCH 1/2] Fix #198: Use OkHttp3Downloader by default --- app/build.gradle | 2 + app/src/main/AndroidManifest.xml | 3 +- .../keylesspalace/tusky/TuskyApplication.java | 50 +++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java diff --git a/app/build.gradle b/app/build.gradle index 977f89ad..7624ea62 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,6 +39,8 @@ dependencies { compile 'com.android.support:design:25.3.1' compile 'com.android.support:exifinterface:25.3.1' compile 'com.squareup.picasso:picasso:2.5.2' + compile 'com.squareup.okhttp3:okhttp:3.7.0' + compile 'com.jakewharton.picasso:picasso2-okhttp3-downloader:1.1.0' compile 'com.pkmmte.view:circularimageview:1.1' compile 'com.github.peter9870:sparkbutton:master' compile 'com.mikhaellopez:circularfillableloaders:1.2.0' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c96bc01c..ee77b894 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,7 +13,8 @@ android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" - android:theme="@style/AppTheme"> + android:theme="@style/AppTheme" + android:name=".TuskyApplication"> diff --git a/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java b/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java new file mode 100644 index 00000000..947b8ffe --- /dev/null +++ b/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java @@ -0,0 +1,50 @@ +/* Copyright 2017 Andrew Dawson + * + * This file is a part of Tusky. + * + * This program is free software; you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. + * + * Tusky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + * Public License for more details. + * + * You should have received a copy of the GNU General Public License along with Tusky; if not, + * see . */ + +package com.keylesspalace.tusky; + +import android.app.Application; +import android.net.Uri; + +import com.squareup.picasso.Picasso; +import com.jakewharton.picasso.OkHttp3Downloader; +import okhttp3.OkHttpClient; + +public class TuskyApplication extends Application { + @Override + public void onCreate() { + // Initialize Picasso configuration + Picasso.Builder builder = new Picasso.Builder(this); + builder.downloader(new OkHttp3Downloader(new OkHttpClient())); + if (BuildConfig.DEBUG) { + builder.listener(new Picasso.Listener() { + @Override + public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) { + exception.printStackTrace(); + } + }); + } + + try { + Picasso.setSingletonInstance(builder.build()); + } catch (IllegalStateException e) { + throw new RuntimeException(e); + } + + if (BuildConfig.DEBUG) { + Picasso.with(this).setLoggingEnabled(true); + } + } +} \ No newline at end of file From 4048d04338d90bda80dcb6bca92f2c3380c87d83 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Sat, 22 Apr 2017 13:29:00 +0800 Subject: [PATCH 2/2] Let OkHttp3Downloader create an OkHttpClient by default This re-enables the local cache in default cache directory --- .../main/java/com/keylesspalace/tusky/TuskyApplication.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java b/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java index 947b8ffe..6fc59398 100644 --- a/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java +++ b/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java @@ -20,14 +20,13 @@ import android.net.Uri; import com.squareup.picasso.Picasso; import com.jakewharton.picasso.OkHttp3Downloader; -import okhttp3.OkHttpClient; public class TuskyApplication extends Application { @Override public void onCreate() { // Initialize Picasso configuration Picasso.Builder builder = new Picasso.Builder(this); - builder.downloader(new OkHttp3Downloader(new OkHttpClient())); + builder.downloader(new OkHttp3Downloader(this)); if (BuildConfig.DEBUG) { builder.listener(new Picasso.Listener() { @Override