Commit f04e6406 authored by Varun Patil's avatar Varun Patil

Move creation of singleton Picasso to Application onCreate

This allows using cached images for notifications
parent 76366bc3
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
android:label="@string/app_name" android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme"
android:name="app.insti.InstiAppApplication">
<meta-data <meta-data
android:name="com.google.android.gms.version" android:name="com.google.android.gms.version"
......
package app.insti;
import android.app.Application;
import com.squareup.picasso.Picasso;
import java.io.File;
import okhttp3.Cache;
import okhttp3.OkHttpClient;
public class InstiAppApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
try {
initPicasso();
} catch (IllegalStateException ignored) {}
}
public void initPicasso() {
Picasso.Builder builder = new Picasso.Builder(getApplicationContext());
OkHttpClient.Builder client = new OkHttpClient.Builder();
Cache cache = new Cache(new File(getApplicationContext().getCacheDir(), "http-cache"), 100 * 1024 * 1024);
client.cache(cache);
builder.downloader(new com.squareup.picasso.OkHttp3Downloader((
client.build()
)));
Picasso built = builder.build();
built.setIndicatorsEnabled(false);
built.setLoggingEnabled(false);
Picasso.setSingletonInstance(built);
}
}
...@@ -13,7 +13,6 @@ import android.graphics.PorterDuffXfermode; ...@@ -13,7 +13,6 @@ import android.graphics.PorterDuffXfermode;
import android.graphics.Rect; import android.graphics.Rect;
import android.media.RingtoneManager; import android.media.RingtoneManager;
import android.net.Uri; import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationManagerCompat; import android.support.v4.app.NotificationManagerCompat;
......
...@@ -38,7 +38,6 @@ import com.google.gson.JsonElement; ...@@ -38,7 +38,6 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.squareup.picasso.Picasso; import com.squareup.picasso.Picasso;
import java.io.File;
import java.util.List; import java.util.List;
import app.insti.Constants; import app.insti.Constants;
...@@ -47,12 +46,12 @@ import app.insti.SessionManager; ...@@ -47,12 +46,12 @@ import app.insti.SessionManager;
import app.insti.api.EmptyCallback; import app.insti.api.EmptyCallback;
import app.insti.api.RetrofitInterface; import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator; import app.insti.api.ServiceGenerator;
import app.insti.api.request.UserFCMPatchRequest;
import app.insti.api.model.Body; import app.insti.api.model.Body;
import app.insti.api.model.Event; import app.insti.api.model.Event;
import app.insti.api.model.Notification; import app.insti.api.model.Notification;
import app.insti.api.model.Role; import app.insti.api.model.Role;
import app.insti.api.model.User; import app.insti.api.model.User;
import app.insti.api.request.UserFCMPatchRequest;
import app.insti.fragment.BackHandledFragment; import app.insti.fragment.BackHandledFragment;
import app.insti.fragment.BodyFragment; import app.insti.fragment.BodyFragment;
import app.insti.fragment.CalendarFragment; import app.insti.fragment.CalendarFragment;
...@@ -68,8 +67,6 @@ import app.insti.fragment.QuickLinksFragment; ...@@ -68,8 +67,6 @@ import app.insti.fragment.QuickLinksFragment;
import app.insti.fragment.SettingsFragment; import app.insti.fragment.SettingsFragment;
import app.insti.fragment.TrainingBlogFragment; import app.insti.fragment.TrainingBlogFragment;
import app.insti.fragment.UserFragment; import app.insti.fragment.UserFragment;
import okhttp3.Cache;
import okhttp3.OkHttpClient;
import retrofit2.Call; import retrofit2.Call;
import retrofit2.Response; import retrofit2.Response;
...@@ -116,10 +113,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On ...@@ -116,10 +113,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
try {
initPicasso();
} catch (IllegalStateException ignored) {
}
ServiceGenerator serviceGenerator = new ServiceGenerator(getApplicationContext()); ServiceGenerator serviceGenerator = new ServiceGenerator(getApplicationContext());
this.retrofitInterface = serviceGenerator.getRetrofitInterface(); this.retrofitInterface = serviceGenerator.getRetrofitInterface();
...@@ -608,20 +601,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On ...@@ -608,20 +601,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
return "sessionid=" + session.getSessionID(); return "sessionid=" + session.getSessionID();
} }
public void initPicasso() {
Picasso.Builder builder = new Picasso.Builder(getApplicationContext());
OkHttpClient.Builder client = new OkHttpClient.Builder();
Cache cache = new Cache(new File(getApplicationContext().getCacheDir(), "http-cache"), 100 * 1024 * 1024);
client.cache(cache);
builder.downloader(new com.squareup.picasso.OkHttp3Downloader((
client.build()
)));
Picasso built = builder.build();
built.setIndicatorsEnabled(false);
built.setLoggingEnabled(false);
Picasso.setSingletonInstance(built);
}
@Override @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment