Search code examples
androidtimeoutandroid-glide

glide image loading timeout increase


I am using glide to load images from URL. While I am fetching the images I am showing a loader in the image view. Some of the images being fetched are larger and therefore in slow internet connection timeout occurs and throws exception

How can I increase the timeout?


Solution

  • After searching a lot finally got an answer, if you are using volley:

    public class CustomGlide implements GlideModule {
        @Override
        public void applyOptions(Context context, GlideBuilder builder) {
        }
    
        @Override
        public void registerComponents(Context context, Glide glide) {
            RequestQueue queue = new RequestQueue( // params hardcoded from Volley.newRequestQueue()
                    new DiskBasedCache(new File(context.getCacheDir(), "volley")),
                    new BasicNetwork(new HurlStack())) {
                @Override public <T> Request<T> add(Request<T> request) {
                    request.setRetryPolicy(new DefaultRetryPolicy(10000, 1, 1));
                    return super.add(request);
                }
            };
            queue.start();
            glide.register(GlideUrl.class, InputStream.class, new VolleyUrlLoader.Factory(queue));
        }
    }
    

    Change the DefaultRetryPolicy according to your need

    And in the manifest:

     <meta-data
                android:name="<package-name>.CustomGlide"
                android:value="GlideModule" />