diff --git a/app/build.gradle b/app/build.gradle index 977f89adc..7624ea62c 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 c96bc01c3..ee77b8949 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 000000000..947b8ffe7 --- /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