Proyectos de Subversion Android Microlearning - Nuevo Interface

Rev

Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
2 gabriel 1
package com.cesams.twogetskills.fragment;
2
 
3
import android.os.Bundle;
4
 
11 gabriel 5
import androidx.annotation.NonNull;
2 gabriel 6
import androidx.fragment.app.Fragment;
7
import androidx.lifecycle.LifecycleOwner;
17 gabriel 8
import androidx.lifecycle.ViewModelProvider;
2 gabriel 9
import androidx.recyclerview.widget.GridLayoutManager;
10
import androidx.recyclerview.widget.RecyclerView;
11
 
13 gabriel 12
import android.text.Editable;
13
import android.text.TextWatcher;
2 gabriel 14
import android.util.Log;
15
import android.view.LayoutInflater;
11 gabriel 16
import android.view.MotionEvent;
2 gabriel 17
import android.view.View;
18
import android.view.ViewGroup;
11 gabriel 19
import android.widget.AdapterView;
9 gabriel 20
import android.widget.Button;
8 gabriel 21
import android.widget.EditText;
9 gabriel 22
import android.widget.ImageView;
23
import android.widget.ProgressBar;
2 gabriel 24
import android.widget.TextView;
25
 
9 gabriel 26
import com.bumptech.glide.Glide;
27
import com.bumptech.glide.load.engine.DiskCacheStrategy;
28
import com.bumptech.glide.load.model.GlideUrl;
29
import com.bumptech.glide.load.model.LazyHeaders;
30
import com.bumptech.glide.request.RequestOptions;
31
import com.cesams.twogetskills.Constants;
2 gabriel 32
import com.cesams.twogetskills.R;
33
import com.cesams.twogetskills.adapter.CapsuleListViewAdapter;
4 gabriel 34
import com.cesams.twogetskills.adapter.TabsCapsulesAdapter;
2 gabriel 35
import com.cesams.twogetskills.dao.CapsuleDao;
36
import com.cesams.twogetskills.dao.ProgressDao;
16 gabriel 37
import com.cesams.twogetskills.dao.SlideDao;
2 gabriel 38
import com.cesams.twogetskills.dao.TopicDao;
39
import com.cesams.twogetskills.entity.Capsule;
40
import com.cesams.twogetskills.entity.Progress;
16 gabriel 41
import com.cesams.twogetskills.entity.Slide;
2 gabriel 42
import com.cesams.twogetskills.entity.Topic;
9 gabriel 43
import com.cesams.twogetskills.library.MD5;
2 gabriel 44
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
17 gabriel 45
import com.cesams.twogetskills.viewmodel.SlideRefreshUIViewModel;
12 gabriel 46
import com.google.android.material.tabs.TabLayout;
2 gabriel 47
 
21 gabriel 48
import java.text.Normalizer;
2 gabriel 49
import java.util.ArrayList;
9 gabriel 50
import java.util.Calendar;
2 gabriel 51
import java.util.HashMap;
52
import java.util.List;
9 gabriel 53
import java.util.Random;
54
import java.util.TimeZone;
2 gabriel 55
 
56
/**
57
 * A simple {@link Fragment} subclass.
58
 * Use the {@link WelcomeFragment#newInstance} factory method to
59
 * create an instance of this fragment.
60
 */
17 gabriel 61
public class WelcomeFragment extends Fragment implements TabsCapsulesAdapter.ClickListener, LifecycleOwner {
2 gabriel 62
 
10 gabriel 63
    TextView username, titulotarjeta, progresoporcentaje, empezar; ProgressBar progresotarjeta;
9 gabriel 64
    private ITwoGetSkills iTwoGetSkills; View card;
2 gabriel 65
    ArrayList<HashMap<String, String>> capsuleList;
11 gabriel 66
    ImageView imagetarjeta;
67
    TabsCapsulesAdapter adapter2;
68
    RecyclerView categorizados;
9 gabriel 69
    EditText busqueda; TextView textowelcome; Button continuar;
17 gabriel 70
    TabLayout tabs; String tabactual="pendientes";     private SlideRefreshUIViewModel mSlideRefreshUi;
2 gabriel 71
 
17 gabriel 72
 
2 gabriel 73
    public WelcomeFragment() {
74
        // Required empty public constructor
75
    }
76
 
77
    public static WelcomeFragment newInstance() {
78
        WelcomeFragment fragment = new WelcomeFragment();
79
        return fragment;
80
    }
81
 
82
    @Override
83
    public void onCreate(Bundle savedInstanceState) {
84
        super.onCreate(savedInstanceState);
85
          }
86
 
87
    @Override
88
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
89
                             Bundle savedInstanceState) {
90
 
8 gabriel 91
 
2 gabriel 92
        iTwoGetSkills = (ITwoGetSkills) getActivity();
8 gabriel 93
        iTwoGetSkills.showNavigationAndToolbar();
2 gabriel 94
 
95
        View view= inflater.inflate(R.layout.fragment_welcome, container, false);
96
 
97
        username=view.findViewById(R.id.textView14);
8 gabriel 98
        textowelcome= view.findViewById(R.id.textView15);
99
        busqueda=view.findViewById(R.id.busqueda);
12 gabriel 100
        card= view.findViewById(R.id.include); empezar= view.findViewById(R.id.titlenotifi); tabs=view.findViewById(R.id.tabLayout);
8 gabriel 101
        capsuleList = new ArrayList<>();
2 gabriel 102
 
17 gabriel 103
 
104
        mSlideRefreshUi = new ViewModelProvider(requireActivity()).get(SlideRefreshUIViewModel.class);
105
 
106
 
107
 
108
 
9 gabriel 109
        //Tarjeta Principal
11 gabriel 110
        titulotarjeta = view.findViewById(R.id.description); progresotarjeta= view.findViewById(R.id.progressBar2); imagetarjeta= view.findViewById(R.id.imagelist);
9 gabriel 111
        continuar = view.findViewById(R.id.button); progresoporcentaje = view.findViewById(R.id.textView16);
112
 
113
 
2 gabriel 114
        username.setText("¡Hola, "+(iTwoGetSkills.getPreference().getFirstName() +"!"));
115
 
12 gabriel 116
        tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
117
            @Override
118
            public void onTabSelected(TabLayout.Tab tab) {
119
                int position=tab.getPosition();
2 gabriel 120
 
12 gabriel 121
                capsuleList.clear();
122
                adapter2.notifyDataSetChanged();
2 gabriel 123
 
12 gabriel 124
                if(position==0)
125
                {
13 gabriel 126
                    tabactual="pendientes";
127
                    loadData(tabactual,"");
12 gabriel 128
                    adapter2.notifyDataSetChanged();
129
                }
130
                else if(position==1)
131
                {
13 gabriel 132
                    tabactual="cursando";
133
                    loadData("cursando","");
12 gabriel 134
                    adapter2.notifyDataSetChanged();
135
                }
136
                else if(position==2)
137
                {
13 gabriel 138
                    tabactual="finalizados";
139
                    loadData("finalizados","");
12 gabriel 140
                    adapter2.notifyDataSetChanged();
141
                }
142
            }
143
 
144
            @Override
145
            public void onTabUnselected(TabLayout.Tab tab) {
146
 
147
            }
148
 
149
            @Override
150
            public void onTabReselected(TabLayout.Tab tab) {
151
 
152
            }
153
        });
154
 
13 gabriel 155
        loadData("pendientes","");
12 gabriel 156
 
8 gabriel 157
        busqueda.setOnFocusChangeListener(new View.OnFocusChangeListener() {
158
            @Override
159
            public void onFocusChange(View v, boolean hasFocus) {
160
                if(hasFocus)
161
                {
9 gabriel 162
                        card.setVisibility(View.GONE);
8 gabriel 163
                        username.setVisibility(View.GONE);
164
                        textowelcome.setVisibility(View.GONE);
165
                }
166
 
167
            }
168
        });
169
 
13 gabriel 170
        busqueda.addTextChangedListener(new TextWatcher() {
171
            @Override
172
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
8 gabriel 173
 
13 gabriel 174
            }
175
 
176
            @Override
177
            public void onTextChanged(CharSequence s, int start, int before, int count) {
17 gabriel 178
            //    Log.e("El texto","buscado: "+s);
13 gabriel 179
                capsuleList.clear();
180
                adapter2.notifyDataSetChanged();
181
                loadData(tabactual, s.toString());
182
            }
183
 
184
            @Override
185
            public void afterTextChanged(Editable s) {
186
 
187
 
188
 
189
            }
190
        });
191
 
192
 
4 gabriel 193
        adapter2 = new TabsCapsulesAdapter(getContext(),capsuleList);
2 gabriel 194
 
195
 
196
 
4 gabriel 197
        categorizados = view.findViewById(R.id.categorizados);
198
        GridLayoutManager layoutcategoria = new GridLayoutManager(getContext(),1,GridLayoutManager.VERTICAL, false);
199
        categorizados.setLayoutManager(layoutcategoria);
200
        categorizados.setAdapter(adapter2);
201
 
11 gabriel 202
 
17 gabriel 203
        adapter2.setClickListener(this);
11 gabriel 204
 
8 gabriel 205
        categorizados.setOnFlingListener(new RecyclerView.OnFlingListener() {
206
            @Override
207
            public boolean onFling(int velocityX, int velocityY) {
208
 
209
                if (categorizados.canScrollVertically(-1) ) {
210
 
17 gabriel 211
                   // Log.e("Se activa", "On fling");
9 gabriel 212
                    card.setVisibility(View.GONE);
8 gabriel 213
                    username.setVisibility(View.GONE);
214
                    textowelcome.setVisibility(View.GONE);
215
                }else
216
                {
9 gabriel 217
                    card.setVisibility(View.VISIBLE);
8 gabriel 218
                    username.setVisibility(View.VISIBLE);
219
                    textowelcome.setVisibility(View.VISIBLE);
220
                }
221
 
222
                return false;
223
            }
224
        });
225
 
11 gabriel 226
 
8 gabriel 227
     /*   categorizados.setOnScrollChangeListener(new View.OnScrollChangeListener() {
228
            @Override
229
            public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
230
 
231
                if (!categorizados.canScrollVertically(-1)) {
232
                 //   Toast.makeText(getActivity(), "Last", Toast.LENGTH_LONG).show();
233
                    capsulas.setVisibility(View.VISIBLE);
234
                    username.setVisibility(View.VISIBLE);
235
                    textowelcome.setVisibility(View.VISIBLE);
236
                    Log.e("On scroll"," se activa");
237
                }
238
 
239
            }
240
        });
241
*/
21 gabriel 242
 
243
        getActivity().runOnUiThread(() -> {
244
            String message = capsuleList.size() == 1
245
                    ? "Hay 1 cápsula nueva disponible"
246
                    : "Tiene " + capsuleList.size() + " cápsulas pendientes para ver";
247
 
248
            iTwoGetSkills.showMessageSnackBarWithClose(message);
249
 
250
        });
2 gabriel 251
        return view;
252
    }
253
 
9 gabriel 254
    @Override
255
    public void onResume() {
256
        super.onResume();
257
        loadContinuecard();
258
    }
2 gabriel 259
 
9 gabriel 260
    @Override
261
    public void onHiddenChanged(boolean hidden) {
262
        super.onHiddenChanged(hidden);
263
 
17 gabriel 264
       // Log.e("TAG", "onHiddenChanged : " + (hidden ? "true" : "false"));
9 gabriel 265
 
266
        if(!hidden) {
16 gabriel 267
            Log.e("Esta oculto", "el fragmento");
268
 
269
            getActivity().runOnUiThread(() -> {
270
 
271
                capsuleList.clear();
272
 
273
                loadContinuecard();
274
                loadData("pendientes","");
275
 
276
                adapter2.notifyDataSetChanged();
277
 
278
                tabs.getTabAt(0).select();
279
 
280
            });
281
 
282
 
9 gabriel 283
        }
284
    }
285
 
286
    private void loadContinuecard(){
287
 
17 gabriel 288
      //  Log.e("Cargo datos"," en tarjeta principal");
9 gabriel 289
 
290
        //Capsula de primera tarjeta
291
        CapsuleDao capsuleDao = iTwoGetSkills.getDatabase().getCapsuleDao();
292
 
293
        Progress progress;
294
        ProgressDao progressDao = iTwoGetSkills.getDatabase().getProgressDao();
295
 
17 gabriel 296
        Capsule capsulafinal = null;
297
 
9 gabriel 298
        List<Capsule> dbCapsules= capsuleDao.selectAll();
299
        for(Capsule dbCapsule : dbCapsules)
300
        {
301
            progress = progressDao.selectByCapsuleUuid(dbCapsule.getUuid());
302
 
303
            if (progress != null) {
304
 
10 gabriel 305
                    if (progress.getProgress() < 100) {
17 gabriel 306
                    //    Log.e("Es menor"," a 100");
9 gabriel 307
 
308
                        titulotarjeta.setText(dbCapsule.getName());
10 gabriel 309
                        progresotarjeta.setVisibility(View.VISIBLE);
310
                        progresoporcentaje.setVisibility(View.VISIBLE);
9 gabriel 311
                        progresotarjeta.setProgress((int) progress.getProgress());
312
                        progresoporcentaje.setText("" + progress.getProgress() + " %");
10 gabriel 313
                        empezar.setText("En curso");
9 gabriel 314
 
17 gabriel 315
                        capsulafinal=dbCapsule;
9 gabriel 316
 
317
                        if (dbCapsule.getImage() != null && !dbCapsule.getImage().equals("")) {
318
 
319
                            TimeZone timeZone = TimeZone.getTimeZone("UTC");
320
                            Calendar calendar = Calendar.getInstance(timeZone);
321
                            TimeZone tz = calendar.getTimeZone();
322
                            int created = (int) (calendar.getTimeInMillis() / 1000);
323
 
324
                            Random random = new Random(created);
325
                            int rand = 1000 + random.nextInt(8999);
326
 
327
 
328
                            String deviceUuid = iTwoGetSkills.getPreference().getDeviceUuid();
329
                            String password = iTwoGetSkills.getPreference().getPassword();
330
 
331
 
332
                            String secret = MD5.generar(password + ':' + created + ':' + rand);
333
                            GlideUrl url = new GlideUrl(dbCapsule.getImage(), new LazyHeaders.Builder()
334
                                    .addHeader(Constants.HTTP_HEADER_ACCEPT, Constants.HTTP_HEADER_ACCEPT_VALUE)
335
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_TOKEN, deviceUuid)
336
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_SECRET, secret)
337
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_CREATED, String.valueOf(created))
338
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_RAND, String.valueOf(rand))
339
                                    .build());
340
 
341
                            RequestOptions options = new RequestOptions()
342
                                    .diskCacheStrategy(DiskCacheStrategy.ALL);
343
 
344
                            Glide.with(getContext()).load(url)
345
                                    .thumbnail()
346
                                    .apply(options)
347
                                    .into(imagetarjeta);
348
                        }
349
                    }
350
 
10 gabriel 351
            }
352
 
353
 
354
        }
355
 
356
        if(titulotarjeta.getText().equals(""))
357
        {
17 gabriel 358
           // Log.e("Nombre","vacio");
10 gabriel 359
 
360
            //Despues del recorrido no se encontro progreso en ninguna capsula, por lo cual la tarjeta queda vacia
361
            // vamos a llenarla con la ultima capsula, que debe ser nueva al no tener progreso
362
 
363
            for(Capsule dbCapsule : dbCapsules)
364
            {
365
 
366
                progress = progressDao.selectByCapsuleUuid(dbCapsule.getUuid());
367
 
368
                if (progress == null) {
369
 
17 gabriel 370
                      //  Log.e("Es nueva","");
10 gabriel 371
 
372
                        titulotarjeta.setText(dbCapsule.getName());
373
                        progresotarjeta.setVisibility(View.INVISIBLE);
374
                        progresoporcentaje.setVisibility(View.INVISIBLE);
375
                        empezar.setText("Nueva");
376
                        continuar.setText("Ver cápsula");
377
 
17 gabriel 378
                        capsulafinal=dbCapsule;
10 gabriel 379
 
17 gabriel 380
                    if (dbCapsule.getImage() != null && !dbCapsule.getImage().equals("")) {
10 gabriel 381
 
382
                            TimeZone timeZone = TimeZone.getTimeZone("UTC");
383
                            Calendar calendar = Calendar.getInstance(timeZone);
384
                            TimeZone tz = calendar.getTimeZone();
385
                            int created = (int) (calendar.getTimeInMillis() / 1000);
386
 
387
                            Random random = new Random(created);
388
                            int rand = 1000 + random.nextInt(8999);
389
 
390
 
391
                            String deviceUuid = iTwoGetSkills.getPreference().getDeviceUuid();
392
                            String password = iTwoGetSkills.getPreference().getPassword();
393
 
394
 
395
                            String secret = MD5.generar(password + ':' + created + ':' + rand);
396
                            GlideUrl url = new GlideUrl(dbCapsule.getImage(), new LazyHeaders.Builder()
397
                                    .addHeader(Constants.HTTP_HEADER_ACCEPT, Constants.HTTP_HEADER_ACCEPT_VALUE)
398
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_TOKEN, deviceUuid)
399
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_SECRET, secret)
400
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_CREATED, String.valueOf(created))
401
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_RAND, String.valueOf(rand))
402
                                    .build());
403
 
404
                            RequestOptions options = new RequestOptions()
405
                                    .diskCacheStrategy(DiskCacheStrategy.ALL);
406
 
407
                            Glide.with(getContext()).load(url)
408
                                    .thumbnail()
409
                                    .apply(options)
410
                                    .into(imagetarjeta);
411
                        }
412
 
413
                    }
414
 
415
                /*
416
                if (progress != null) {
417
 
418
                    double progre = progress.getProgress();
419
 
420
                    if (progre >= 100) {
421
                        Log.e("Es mayor"," a 100");
422
 
423
                    } else {
424
 
425
                        Log.e("Es nueva","");
426
 
427
                        titulotarjeta.setText(dbCapsule.getName());
428
                        progresotarjeta.setVisibility(View.INVISIBLE);
429
                        progresoporcentaje.setVisibility(View.INVISIBLE);
430
                        empezar.setText("Nueva");
431
                        continuar.setText("Ver cápsula");
432
 
433
                        iTwoGetSkills.getPreference().setCapsuleUuidActive(dbCapsule.getUuid());
434
                        iTwoGetSkills.getPreference().setTopicUuidActive(dbCapsule.getTopicUuid());
435
 
436
                        if (dbCapsule.getImage() != null && !dbCapsule.getImage().equals("")) {
437
 
438
                            TimeZone timeZone = TimeZone.getTimeZone("UTC");
439
                            Calendar calendar = Calendar.getInstance(timeZone);
440
                            TimeZone tz = calendar.getTimeZone();
441
                            int created = (int) (calendar.getTimeInMillis() / 1000);
442
 
443
                            Random random = new Random(created);
444
                            int rand = 1000 + random.nextInt(8999);
445
 
446
 
447
                            String deviceUuid = iTwoGetSkills.getPreference().getDeviceUuid();
448
                            String password = iTwoGetSkills.getPreference().getPassword();
449
 
450
 
451
                            String secret = MD5.generar(password + ':' + created + ':' + rand);
452
                            GlideUrl url = new GlideUrl(dbCapsule.getImage(), new LazyHeaders.Builder()
453
                                    .addHeader(Constants.HTTP_HEADER_ACCEPT, Constants.HTTP_HEADER_ACCEPT_VALUE)
454
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_TOKEN, deviceUuid)
455
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_SECRET, secret)
456
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_CREATED, String.valueOf(created))
457
                                    .addHeader(Constants.HTTP_HEADER_SECURITY_RAND, String.valueOf(rand))
458
                                    .build());
459
 
460
                            RequestOptions options = new RequestOptions()
461
                                    .diskCacheStrategy(DiskCacheStrategy.ALL);
462
 
463
                            Glide.with(getContext()).load(url)
464
                                    .thumbnail()
465
                                    .apply(options)
466
                                    .into(imagetarjeta);
467
                        }
468
 
469
                    }
9 gabriel 470
                }
10 gabriel 471
*/
472
            }
9 gabriel 473
 
10 gabriel 474
 
475
 
9 gabriel 476
        }
477
 
10 gabriel 478
 
17 gabriel 479
        Capsule finalCapsulafinal = capsulafinal;
10 gabriel 480
 
9 gabriel 481
        continuar.setOnClickListener(v -> {
482
 
17 gabriel 483
            iTwoGetSkills.getPreference().setCapsuleUuidActive(finalCapsulafinal.getUuid());
484
            iTwoGetSkills.getPreference().setTopicUuidActive(finalCapsulafinal.getTopicUuid());
18 gabriel 485
            iTwoGetSkills.getPreference().setOrigennavigation("welcome");
23 gabriel 486
           // Log.e("Guardo",""+iTwoGetSkills.getPreference().getOrigenNavigation());
17 gabriel 487
 
9 gabriel 488
            iTwoGetSkills.invokeFragment(Constants.IDX_FRAGMENT_SLIDES);
489
        });
490
 
491
        //Fin de primer tarjeta
492
 
493
    }
494
 
13 gabriel 495
    private void loadData(String tabposition, String buscar)
2 gabriel 496
    {
497
 
12 gabriel 498
 
2 gabriel 499
        TopicDao topicDao = iTwoGetSkills.getDatabase().getTopicDao();
500
        ArrayList<Topic> dbTopics = (ArrayList<Topic>) topicDao.selectAll();
501
 
502
        List<Capsule> dbCapsules;
503
        CapsuleDao capsuleDao = iTwoGetSkills.getDatabase().getCapsuleDao();
504
 
9 gabriel 505
 
506
 
507
 
2 gabriel 508
        for (Topic dbTopic : dbTopics) {
509
 
23 gabriel 510
            dbCapsules = capsuleDao.selectAllByTopicUuidandOrder(dbTopic.getUuid());
2 gabriel 511
 
9 gabriel 512
 
2 gabriel 513
            Capsule capsule;
514
            Progress progress;
515
            ProgressDao progressDao = iTwoGetSkills.getDatabase().getProgressDao();
16 gabriel 516
            SlideDao slideDao = iTwoGetSkills.getDatabase().getSlideDao();
2 gabriel 517
 
518
            HashMap<String, String> m_li;
519
 
9 gabriel 520
 
521
 
16 gabriel 522
            for(Capsule dbCapsule : dbCapsules) {
2 gabriel 523
                capsule = new Capsule();
524
                capsule.setTopicUuid(dbCapsule.getTopicUuid());
525
                capsule.setUuid(dbCapsule.getUuid());
526
                capsule.setName(dbCapsule.getName());
527
                capsule.setDescription(dbCapsule.getDescription());
528
                capsule.setImage(dbCapsule.getImage());
529
                capsule.setPosition(dbCapsule.getPosition());
23 gabriel 530
                capsule.setAddedOn(dbCapsule.getAddedOn());
531
                capsule.setUpdatedOn(dbCapsule.getUpdatedOn());
2 gabriel 532
 
533
                m_li = new HashMap<>();
534
 
535
 
536
                //m_li.put("copyright",copy);
537
 
538
 
539
                progress = progressDao.selectByCapsuleUuid(capsule.getUuid());
16 gabriel 540
                if (progress != null) {
541
                    capsule.setCompleted(progress.getCompleted());
2 gabriel 542
                    capsule.setViewSlides(progress.getViewSlides());
543
 
16 gabriel 544
                    capsule.setTotalSlides(progress.getTotalSlides());
2 gabriel 545
                    capsule.setProgress(progress.getProgress());
546
 
23 gabriel 547
                   // Log.e("Agregado en"," "+progress.getAddedOn());
21 gabriel 548
                   // m_li.put("addedon",progress.getAddedOn());
2 gabriel 549
                    m_li.put("view", String.valueOf(progress.getViewSlides()));
550
                    m_li.put("total", String.valueOf(progress.getTotalSlides()));
551
                    m_li.put("progress", String.valueOf(progress.getProgress()));
17 gabriel 552
                    m_li.put("completado",String.valueOf(progress.getCompleted()));
16 gabriel 553
 
18 gabriel 554
 
2 gabriel 555
                }
556
 
16 gabriel 557
                m_li.put("imagen", capsule.getImage());
558
                m_li.put("nombre", capsule.getName());
559
                m_li.put("uuid", capsule.getUuid());
560
                m_li.put("topicuuid", capsule.getTopicUuid());
561
                m_li.put("description", capsule.getDescription());
23 gabriel 562
                Log.e("Capsula recuperada",""+capsule.getAddedOn());
2 gabriel 563
 
13 gabriel 564
                //Lleno la lista segun el requerimiento de filtro accionado por el usuario
565
 
16 gabriel 566
                List<Slide> slides = slideDao.selectAllByCapsuleUuid(capsule.getUuid());
2 gabriel 567
 
16 gabriel 568
                if (slides.isEmpty()) {
12 gabriel 569
 
17 gabriel 570
                  //  Log.e("Capsula","Es omitida, no tiene slides");
16 gabriel 571
                } else {
18 gabriel 572
 
573
 
16 gabriel 574
                    if (tabposition.equals("pendientes") && progress == null) {
575
 
576
                        if (buscar.equals("")) {
13 gabriel 577
                            capsuleList.add(m_li);
578
 
21 gabriel 579
 
16 gabriel 580
                        } else {
21 gabriel 581
                            String nombre= capsule.getName();
582
                            String normalizada= Normalizer.normalize(nombre, Normalizer.Form.NFD);
583
                            normalizada= normalizada.replaceAll("[^\\p{ASCII}]", "");
584
                            if (normalizada.matches("(?i).*" + buscar + ".*")) {
16 gabriel 585
                                capsuleList.add(m_li);
586
                            }
13 gabriel 587
 
16 gabriel 588
                        }
12 gabriel 589
 
18 gabriel 590
                    } else if (tabposition.equals("cursando") && progress != null && progress.getProgress() <= 100 && progress.getCompleted()==0) {
12 gabriel 591
 
16 gabriel 592
                        if (buscar.equals("")) {
13 gabriel 593
                            capsuleList.add(m_li);
16 gabriel 594
 
595
                        } else {
21 gabriel 596
                            String nombre= capsule.getName();
597
                            String normalizada= Normalizer.normalize(nombre, Normalizer.Form.NFD);
598
                            normalizada= normalizada.replaceAll("[^\\p{ASCII}]", "");
599
                            if (normalizada.matches("(?i).*" + buscar + ".*")) {
16 gabriel 600
                                capsuleList.add(m_li);
601
                            }
602
 
13 gabriel 603
                        }
604
 
18 gabriel 605
                    } else if (tabposition.equals("finalizados") && progress != null && progress.getProgress() >= 100 && progress.getCompleted()==1) {
13 gabriel 606
 
16 gabriel 607
                        if (buscar.equals("")) {
17 gabriel 608
                            //capsule.getCompleted();
16 gabriel 609
                            capsuleList.add(m_li);
2 gabriel 610
 
16 gabriel 611
                        } else {
21 gabriel 612
                            String nombre= capsule.getName();
613
                            String normalizada= Normalizer.normalize(nombre, Normalizer.Form.NFD);
614
                            normalizada= normalizada.replaceAll("[^\\p{ASCII}]", "");
615
                            if (normalizada.matches("(?i).*" + buscar + ".*")) {
16 gabriel 616
                                capsuleList.add(m_li);
617
                            }
2 gabriel 618
 
13 gabriel 619
                        }
620
 
621
                    }
622
 
12 gabriel 623
                }
2 gabriel 624
 
12 gabriel 625
            }
2 gabriel 626
 
12 gabriel 627
 
2 gabriel 628
        }
629
 
21 gabriel 630
 
2 gabriel 631
    }
632
 
633
 
17 gabriel 634
    @Override
635
    public void onItemClick(int position, View v) {
636
 
637
        Log.e("Evento","del click"+position);
638
 
639
 
640
 
641
        iTwoGetSkills.getPreference().setCapsuleUuidActive(capsuleList.get(position).get("uuid"));
642
        iTwoGetSkills.getPreference().setTopicUuidActive(capsuleList.get(position).get("topicuuid"));
643
        iTwoGetSkills.invokeFragment(Constants.IDX_FRAGMENT_SLIDES);
644
 
18 gabriel 645
        iTwoGetSkills.getPreference().setOrigennavigation("welcome");
646
        Log.e("Completada",""+capsuleList.get(position).get("completado"));
647
 
17 gabriel 648
       // Log.e("Capsula","topic active"+mDataSet.get(viewHolder.getAbsoluteAdapterPosition()).get("topicuuid"));
649
 
650
    }
2 gabriel 651
}