Proyectos de Subversion Android Microlearning - Nuevo Interface

Rev

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

Rev 25 Rev 71
Línea 12... Línea 12...
12
 
12
 
13
import androidx.annotation.NonNull;
13
import androidx.annotation.NonNull;
14
import androidx.cardview.widget.CardView;
14
import androidx.cardview.widget.CardView;
Línea 15... Línea -...
15
import androidx.recyclerview.widget.RecyclerView;
-
 
16
 
-
 
17
import com.bumptech.glide.Glide;
-
 
18
import com.bumptech.glide.load.engine.DiskCacheStrategy;
-
 
19
import com.bumptech.glide.load.model.GlideUrl;
-
 
20
import com.bumptech.glide.load.model.LazyHeaders;
15
import androidx.recyclerview.widget.RecyclerView;
21
import com.bumptech.glide.request.RequestOptions;
16
 
-
 
17
import com.cesams.twogetskills.Constants;
22
import com.cesams.twogetskills.Constants;
18
import com.cesams.twogetskills.R;
23
import com.cesams.twogetskills.R;
19
import com.cesams.twogetskills.entity.Capsule;
Línea -... Línea 20...
-
 
20
import com.cesams.twogetskills.library.ImageService;
-
 
21
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
24
import com.cesams.twogetskills.library.MD5;
22
 
25
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
-
 
26
 
23
import org.apache.commons.lang3.StringUtils;
27
import java.util.ArrayList;
24
 
28
import java.util.Calendar;
-
 
Línea 29... Línea 25...
29
import java.util.HashMap;
25
import java.util.ArrayList;
Línea 30... Línea 26...
30
import java.util.Random;
26
import java.util.HashMap;
Línea 31... Línea 27...
31
import java.util.TimeZone;
27
import java.util.List;
32
 
28
 
33
public class TabsCapsulesAdapter extends RecyclerView.Adapter<TabsCapsulesAdapter.MyViewHolder> {
29
public class MyCapsulesAdapter extends RecyclerView.Adapter<MyCapsulesAdapter.MyViewHolder> {
Línea 34... Línea 30...
34
 
30
 
35
    private ArrayList<HashMap<String, String>> mDataSet;
31
    private List<Capsule> mDataSet;
36
 
32
 
37
    private Context mContext;
33
    private Context mContext;
38
    private ITwoGetSkills iTwoGetSkills;
34
    private ITwoGetSkills iTwoGetSkills;
Línea 39... Línea 35...
39
    private ClickListener clickListener;
35
    private ClickListener clickListener;
40
 
36
 
41
 
37
 
42
    public TabsCapsulesAdapter(Context context, ArrayList<HashMap<String, String>> mDataSet) {
38
    public MyCapsulesAdapter(Context context, List<Capsule> mDataSet) {
Línea 43... Línea 39...
43
        this.mDataSet = mDataSet;
39
        this.mDataSet = mDataSet;
Línea 44... Línea 40...
44
        this.mContext = context;
40
        this.mContext = context;
45
        this.iTwoGetSkills = (ITwoGetSkills) context;
41
        this.iTwoGetSkills = (ITwoGetSkills) context;
Línea 46... Línea 42...
46
    }
42
    }
47
 
43
 
48
    @NonNull
44
    @NonNull
49
    @Override
45
    @Override
50
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
46
    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
Línea 51... Línea 47...
51
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.capsuleitemcategory, parent, false);
47
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_my_capsules_item, parent, false);
52
 
48
 
Línea 71... Línea 67...
71
    }
67
    }
72
*/
68
*/
Línea 73... Línea 69...
73
 
69
 
Línea 74... Línea 70...
74
    public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
70
    public class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
75
 
71
 
-
 
72
        private TextView textViewTitle;
76
        private TextView fecha,pendientes,titulo;
73
        private TextView textViewSlides;
77
        private CardView card;
74
        private TextView textViewProgress;
Línea 78... Línea 75...
78
        private Button entrar;
75
        private CardView cardView;
79
        private ImageView imagen;
76
        private ImageView imageView;
80
 
77
 
81
 
78
 
82
        public MyViewHolder(@NonNull View itemView) {
79
        public MyViewHolder(@NonNull View itemView) {
83
            super(itemView);
-
 
84
            titulo = itemView.findViewById(R.id.description);
80
            super(itemView);
-
 
81
            textViewTitle = itemView.findViewById(R.id.fragment_my_capsules_item_textview_title);
-
 
82
            textViewSlides = itemView.findViewById(R.id.fragment_my_capsules_item_textview_slides);
85
            fecha = itemView.findViewById(R.id.progressview);
83
            textViewProgress = itemView.findViewById(R.id.fragment_my_capsules_item_textview_progress);
Línea 86... Línea 84...
86
            imagen = itemView.findViewById(R.id.imagelist);
84
            imageView = itemView.findViewById(R.id.fragment_my_capsules_item_imageview);
87
            entrar = itemView.findViewById(R.id.button);
85
 
88
            pendientes = itemView.findViewById(R.id.pendientes);
86
 
-
 
87
            cardView = itemView.findViewById(R.id.fragment_my_capsules_item);
-
 
88
 
89
            card = itemView.findViewById(R.id.card_notifi);
89
            if (clickListener != null) {
90
 
90
                cardView.setFocusable(true);
-
 
91
                cardView.setOnClickListener(this);
-
 
92
 
91
            if (clickListener != null) {
93
                /*
92
                card.setFocusable(true);
94
                entrar.setFocusable(true);
Línea 93... Línea 95...
93
                card.setOnClickListener(this);
95
                entrar.setOnClickListener(this);
94
                entrar.setFocusable(true);
-
 
95
                entrar.setOnClickListener(this);
-
 
96
            }
-
 
97
        }
-
 
98
 
-
 
99
        public void bindData(final HashMap<String, String> data) {
-
 
100
 
-
 
101
            data.entrySet();
-
 
102
 
-
 
103
            String view, total,  nombre, slides;
-
 
104
 
-
 
105
            view= data.get("description");
-
 
106
            total=data.get("total");
-
 
Línea -... Línea 96...
-
 
96
 
-
 
97
                 */
-
 
98
            }
-
 
99
        }
-
 
100
 
107
            nombre = data.get("nombre");
101
        public void bindData(final Capsule capsule) {
Línea 108... Línea -...
108
            slides= data.get("view");
-
 
109
 
-
 
110
            if(nombre != null)
-
 
111
            {
-
 
112
                titulo.setText(nombre);
-
 
113
 
-
 
114
            }
-
 
115
 
-
 
116
            if(view != null )
-
 
117
            {
-
 
118
                fecha.setText((Html.fromHtml(view)));
-
 
119
            }
-
 
120
 
-
 
121
            if(total != null || slides != null)
-
 
122
            {
-
 
123
                pendientes.setText(slides+" / "+total+" items");
-
 
124
            }
-
 
125
            else
-
 
126
            {
-
 
127
                pendientes.setText("");
-
 
128
            }
-
 
129
 
-
 
130
            String imagens;
-
 
131
            imagens=data.get("imagen");
-
 
132
 
-
 
133
 
-
 
134
            //Verificamos que las imagenes no esten vacias
-
 
135
            if (imagens != null && !imagens.equals("")) {
-
 
136
 
-
 
137
                TimeZone timeZone = TimeZone.getTimeZone("UTC");
-
 
138
                Calendar calendar = Calendar.getInstance(timeZone);
102
 
139
                TimeZone tz = calendar.getTimeZone();
-
 
140
                int created =  (int) (calendar.getTimeInMillis() / 1000);
-
 
141
 
-
 
142
                Random random = new Random(created);
-
 
143
                int rand = 1000 + random.nextInt(8999);
-
 
144
 
-
 
145
 
-
 
146
                String deviceUuid = iTwoGetSkills.getPreference().getDeviceUuid();
-
 
147
                String password =  iTwoGetSkills.getPreference().getPassword();
-
 
148
 
103
            String title = StringUtils.trim(capsule.getName());
149
 
104
            if (title.length() > Constants.MY_CAPSULES_ITEM_TITLE_MAX_LENGTH) {
150
 
-
 
Línea 151... Línea 105...
151
                String secret = MD5.generar(password + ':' +  created + ':' + rand);
105
                textViewTitle.setText(StringUtils.substring(title, 0, Constants.MY_CAPSULES_ITEM_TITLE_MAX_LENGTH) + "...");
152
                GlideUrl url = new GlideUrl(imagens, new LazyHeaders.Builder()
106
            } else {
Línea 153... Línea 107...
153
                        .addHeader(Constants.HTTP_HEADER_ACCEPT, Constants.HTTP_HEADER_ACCEPT_VALUE)
107
                textViewTitle.setText(title);
154
                        .addHeader(Constants.HTTP_HEADER_SECURITY_TOKEN, deviceUuid)
-
 
155
                        .addHeader(Constants.HTTP_HEADER_SECURITY_SECRET, secret)
-
 
156
                        .addHeader(Constants.HTTP_HEADER_SECURITY_CREATED, String.valueOf(created))
108
            }
157
                        .addHeader(Constants.HTTP_HEADER_SECURITY_RAND, String.valueOf(rand))
109
 
Línea 158... Línea 110...
158
                        .build());
110
            String textSlides = mContext.getString(R.string.my_capsules_listing_item_slides);
Línea 159... Línea 111...
159
 
111
            textSlides = StringUtils.replace(textSlides, "%totalViews%", String.valueOf(capsule.getViewSlides()));