Proyectos de Subversion Android Microlearning - Inconcert

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
18 efrain 1
package com.cesams.twogetskills.inconcert.library;
2
 
3
import android.content.Context;
4
import android.widget.ImageView;
5
 
6
import com.bumptech.glide.Glide;
7
import com.bumptech.glide.load.engine.DiskCacheStrategy;
8
import com.bumptech.glide.load.model.GlideUrl;
9
import com.bumptech.glide.load.model.LazyHeaders;
10
import com.bumptech.glide.request.RequestOptions;
11
import com.cesams.twogetskills.inconcert.Constants;
12
import com.cesams.twogetskills.inconcert.preference.Preference;
13
import com.cesams.twogetskills.inconcert.skeleton.ITwoGetSkills;
14
 
15
import java.util.Calendar;
16
import java.util.Random;
17
import java.util.TimeZone;
18
 
19
public abstract class ImageService {
20
 
21
    public static void retrieve(Context context, String imageName, ImageView imageView)
22
    {
23
        TimeZone timeZone = TimeZone.getTimeZone("UTC");
24
        Calendar calendar = Calendar.getInstance(timeZone);
25
        TimeZone tz = calendar.getTimeZone();
26
        int created = (int) (calendar.getTimeInMillis() / 1000);
27
 
28
        Random random = new Random(created);
29
        int rand = 1000 + random.nextInt(8999);
30
 
31
        ITwoGetSkills iTwoGetSkills = (ITwoGetSkills) context;
32
 
33
        String deviceUuid = iTwoGetSkills.getPreference().getDeviceUuid();
34
        String password = iTwoGetSkills.getPreference().getPassword();
35
 
36
 
37
        String secret = MD5.generar(password + ':' + created + ':' + rand);
38
        GlideUrl url = new GlideUrl(imageName, new LazyHeaders.Builder()
39
                .addHeader(Constants.HTTP_HEADER_ACCEPT, Constants.HTTP_HEADER_ACCEPT_VALUE)
40
                .addHeader(Constants.HTTP_HEADER_SECURITY_TOKEN, deviceUuid)
41
                .addHeader(Constants.HTTP_HEADER_SECURITY_SECRET, secret)
42
                .addHeader(Constants.HTTP_HEADER_SECURITY_CREATED, String.valueOf(created))
43
                .addHeader(Constants.HTTP_HEADER_SECURITY_RAND, String.valueOf(rand))
44
                .build());
45
 
46
        RequestOptions options = new RequestOptions()
47
                .diskCacheStrategy(DiskCacheStrategy.ALL);
48
 
49
        Glide.with(context).load(url)
50
                .thumbnail()
51
                .apply(options)
52
                .into(imageView);
53
 
54
    }
55
}