Proyectos de Subversion Android Microlearning - Inconcert

Rev

Rev 16 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 16 Rev 18
Línea 11... Línea 11...
11
import android.widget.ImageView;
11
import android.widget.ImageView;
Línea 12... Línea 12...
12
 
12
 
13
import androidx.fragment.app.FragmentActivity;
13
import androidx.fragment.app.FragmentActivity;
Línea 14... Línea -...
14
import androidx.recyclerview.widget.RecyclerView;
-
 
15
 
-
 
16
import com.bumptech.glide.Glide;
-
 
17
import com.bumptech.glide.load.engine.DiskCacheStrategy;
-
 
18
import com.bumptech.glide.load.model.GlideUrl;
-
 
-
 
14
import androidx.recyclerview.widget.RecyclerView;
19
import com.bumptech.glide.load.model.LazyHeaders;
15
 
20
import com.bumptech.glide.request.RequestOptions;
16
 
21
import com.cesams.twogetskills.inconcert.Constants;
17
import com.cesams.twogetskills.inconcert.Constants;
22
import com.cesams.twogetskills.inconcert.R;
18
import com.cesams.twogetskills.inconcert.R;
23
import com.cesams.twogetskills.inconcert.dao.ProgressDao;
19
import com.cesams.twogetskills.inconcert.dao.ProgressDao;
24
import com.cesams.twogetskills.inconcert.dao.SyncDao;
20
import com.cesams.twogetskills.inconcert.dao.SyncDao;
25
import com.cesams.twogetskills.inconcert.dao.UserLogDao;
21
import com.cesams.twogetskills.inconcert.dao.UserLogDao;
26
import com.cesams.twogetskills.inconcert.entity.Progress;
22
import com.cesams.twogetskills.inconcert.entity.Progress;
27
import com.cesams.twogetskills.inconcert.entity.Slide;
23
import com.cesams.twogetskills.inconcert.entity.Slide;
-
 
24
import com.cesams.twogetskills.inconcert.entity.Sync;
28
import com.cesams.twogetskills.inconcert.entity.Sync;
25
import com.cesams.twogetskills.inconcert.entity.UserLog;
29
import com.cesams.twogetskills.inconcert.entity.UserLog;
26
import com.cesams.twogetskills.inconcert.library.ImageService;
Línea 30... Línea 27...
30
import com.cesams.twogetskills.inconcert.library.MD5;
27
import com.cesams.twogetskills.inconcert.library.MD5;
31
import com.cesams.twogetskills.inconcert.skeleton.ITwoGetSkills;
28
import com.cesams.twogetskills.inconcert.skeleton.ITwoGetSkills;
Línea 83... Línea 80...
83
            holder.mButtonFinish.setVisibility(View.VISIBLE);
80
            holder.mButtonFinish.setVisibility(View.VISIBLE);
84
        }
81
        }
85
        if(mItemCurrent.getCompleted()== 1) {
82
        if(mItemCurrent.getCompleted()== 1) {
86
            holder.mCheckReady.setVisibility(View.VISIBLE);
83
            holder.mCheckReady.setVisibility(View.VISIBLE);
87
        }
84
        }
-
 
85
 
-
 
86
        boolean setImageViewerControl = false;
88
        switch(mItemCurrent.getType()) {
87
        switch(mItemCurrent.getType()) {
Línea 89... Línea 88...
89
 
88
 
Línea 90... Línea 89...
90
            case Constants.SLIDE_TYPE_TEXT :
89
            case Constants.SLIDE_TYPE_TEXT :
Línea 108... Línea 107...
108
 
107
 
Línea 109... Línea 108...
109
            case Constants.SLIDE_TYPE_VIDEO :
108
            case Constants.SLIDE_TYPE_VIDEO :
110
 
109
 
-
 
110
                holder.mButtonViewer.setVisibility(View.VISIBLE);
-
 
111
                holder.mButtonViewer.setText(this.mContext.getString(R.string.button_launch_video));
Línea 111... Línea 112...
111
                holder.mButtonViewer.setVisibility(View.VISIBLE);
112
                //DatabaseHelper.imagenviewerontrol="NO";
Línea 112... Línea 113...
112
                holder.mButtonViewer.setText(this.mContext.getString(R.string.button_launch_video));
113
                setImageViewerControl = false;
Línea 124... Línea 125...
124
                }
125
                }
125
                break;
126
                break;
Línea 126... Línea 127...
126
 
127
 
127
            default :
128
            default :
-
 
129
                holder.mButtonViewer.setVisibility(View.INVISIBLE);
-
 
130
                //DatabaseHelper.imagenviewerontrol="SI";
128
                holder.mButtonViewer.setVisibility(View.INVISIBLE);
131
                setImageViewerControl = true;
Línea 129... Línea 132...
129
                break;
132
                break;
Línea 130... Línea -...
130
 
-
 
131
        }
-
 
132
 
-
 
133
        TimeZone timeZone = TimeZone.getTimeZone("UTC");
-
 
134
        Calendar calendar = Calendar.getInstance(timeZone);
-
 
135
        TimeZone tz = calendar.getTimeZone();
-
 
136
        int created =  (int) (calendar.getTimeInMillis() / 1000);
-
 
137
 
-
 
138
        Random random = new Random(created);
-
 
139
        int rand = 1000 + random.nextInt(8999);
-
 
140
 
-
 
141
 
-
 
142
        String deviceUuid = iTwoGetSkills.getPreference().getDeviceUuid();
-
 
143
        String password =  iTwoGetSkills.getPreference().getPassword();
-
 
144
 
-
 
145
        Log.d(TAG, "token = " + deviceUuid);
-
 
146
        Log.d(TAG, "created = " + created);
-
 
147
        Log.d(TAG, "rand = " + rand);
133
 
148
        Log.d(TAG, "calc = " + password + ':' +  created + ':' + rand);
134
        }
149
 
-
 
150
        String image = TextUtils.isEmpty(mItemCurrent.getBackground()) ?mItemCurrent.getFile() : mItemCurrent.getBackground();
-
 
151
        Log.d(TAG, "gallery slide image = " + image);
-
 
152
 
-
 
153
        String secret = MD5.generar(password + ':' +  created + ':' + rand);
-
 
154
 
-
 
155
        GlideUrl url = new GlideUrl(image, new LazyHeaders.Builder()
-
 
156
                .addHeader(Constants.HTTP_HEADER_ACCEPT, Constants.HTTP_HEADER_ACCEPT_VALUE)
-
 
157
                .addHeader(Constants.HTTP_HEADER_SECURITY_TOKEN, deviceUuid)
-
 
158
                .addHeader(Constants.HTTP_HEADER_SECURITY_SECRET, secret)
-
 
159
                .addHeader(Constants.HTTP_HEADER_SECURITY_CREATED, String.valueOf(created))
-
 
160
                .addHeader(Constants.HTTP_HEADER_SECURITY_RAND, String.valueOf(rand))
-
 
161
                .build());
-
 
162
 
-
 
163
        RequestOptions options = new RequestOptions()
-
 
164
                .diskCacheStrategy(DiskCacheStrategy.ALL);
-
 
165
 
-
 
166
        Glide.with(mContext).load(url)
-
 
Línea 167... Línea 135...
167
                .thumbnail()
135
 
168
                .apply(options)
136
        String image = TextUtils.isEmpty(mItemCurrent.getBackground()) ?mItemCurrent.getFile() : mItemCurrent.getBackground();
169
                .into(holder.mImage);
137
        ImageService.retrieve(mContext, image, holder.mImage);
170
 
138