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
 
5
import androidx.fragment.app.Fragment;
6
import androidx.lifecycle.LifecycleOwner;
7
import androidx.lifecycle.Observer;
8
import androidx.lifecycle.ViewModelProvider;
9
import androidx.recyclerview.widget.GridLayoutManager;
10
import androidx.recyclerview.widget.RecyclerView;
11
 
12
import android.util.Log;
13
import android.view.LayoutInflater;
14
import android.view.View;
15
import android.view.ViewGroup;
16
import android.widget.TextView;
17
 
18
import com.cesams.twogetskills.R;
19
import com.cesams.twogetskills.adapter.CapsuleListViewAdapter;
20
import com.cesams.twogetskills.adapter.CardViewAdapter;
4 gabriel 21
import com.cesams.twogetskills.adapter.TabsCapsulesAdapter;
2 gabriel 22
import com.cesams.twogetskills.dao.CapsuleDao;
23
import com.cesams.twogetskills.dao.ProgressDao;
24
import com.cesams.twogetskills.dao.TopicDao;
25
import com.cesams.twogetskills.entity.Capsule;
26
import com.cesams.twogetskills.entity.Progress;
27
import com.cesams.twogetskills.entity.Topic;
28
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
29
import com.cesams.twogetskills.viewmodel.CapsuleViewModel;
30
 
31
import java.util.ArrayList;
32
import java.util.HashMap;
33
import java.util.List;
34
 
35
/**
36
 * A simple {@link Fragment} subclass.
37
 * Use the {@link WelcomeFragment#newInstance} factory method to
38
 * create an instance of this fragment.
39
 */
40
public class WelcomeFragment extends Fragment implements CapsuleListViewAdapter.ItemClickListener, LifecycleOwner {
41
 
42
    TextView username;
43
    private ITwoGetSkills iTwoGetSkills;
44
    ArrayList<HashMap<String, String>> capsuleList;
45
    private CardViewAdapter adapter;
4 gabriel 46
    private TabsCapsulesAdapter adapter2;
47
    RecyclerView capsulas, categorizados;
2 gabriel 48
 
49
 
50
 
51
    public WelcomeFragment() {
52
        // Required empty public constructor
53
    }
54
 
55
    public static WelcomeFragment newInstance() {
56
        WelcomeFragment fragment = new WelcomeFragment();
57
        return fragment;
58
    }
59
 
60
    @Override
61
    public void onCreate(Bundle savedInstanceState) {
62
        super.onCreate(savedInstanceState);
63
          }
64
 
65
    @Override
66
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
67
                             Bundle savedInstanceState) {
68
        // Inflate the layout for this fragment
69
 
70
        iTwoGetSkills = (ITwoGetSkills) getActivity();
71
 
72
        View view= inflater.inflate(R.layout.fragment_welcome, container, false);
73
 
74
        username=view.findViewById(R.id.textView14);
75
 
76
        username.setText("¡Hola, "+(iTwoGetSkills.getPreference().getFirstName() +"!"));
77
 
78
        capsuleList = new ArrayList<>();
79
 
80
        loadData();
81
 
82
        adapter = new CardViewAdapter(getContext(),capsuleList);
4 gabriel 83
        adapter2 = new TabsCapsulesAdapter(getContext(),capsuleList);
2 gabriel 84
 
85
        capsulas = view.findViewById(R.id.capsulescontinuos);
86
        GridLayoutManager layoutausar = new GridLayoutManager(getContext(),1,GridLayoutManager.HORIZONTAL, false);
87
 
88
 
89
        capsulas.setLayoutManager(layoutausar);
90
        capsulas.setAdapter(adapter);
91
 
4 gabriel 92
        categorizados = view.findViewById(R.id.categorizados);
93
        GridLayoutManager layoutcategoria = new GridLayoutManager(getContext(),1,GridLayoutManager.VERTICAL, false);
94
        categorizados.setLayoutManager(layoutcategoria);
95
        categorizados.setAdapter(adapter2);
96
 
2 gabriel 97
        return view;
98
    }
99
 
100
 
101
    private void loadData()
102
    {
103
 
104
        TopicDao topicDao = iTwoGetSkills.getDatabase().getTopicDao();
105
        ArrayList<Topic> dbTopics = (ArrayList<Topic>) topicDao.selectAll();
106
 
107
        List<Capsule> dbCapsules;
108
        CapsuleDao capsuleDao = iTwoGetSkills.getDatabase().getCapsuleDao();
109
 
110
        for (Topic dbTopic : dbTopics) {
111
 
112
            dbCapsules = capsuleDao.selectAllByTopicUuid(dbTopic.getUuid());
113
 
114
            Capsule capsule;
115
            Progress progress;
116
            ProgressDao progressDao = iTwoGetSkills.getDatabase().getProgressDao();
117
 
118
            HashMap<String, String> m_li;
119
 
120
            for(Capsule dbCapsule : dbCapsules)
121
            {
122
                capsule = new Capsule();
123
                capsule.setTopicUuid(dbCapsule.getTopicUuid());
124
                capsule.setUuid(dbCapsule.getUuid());
125
                capsule.setName(dbCapsule.getName());
126
                capsule.setDescription(dbCapsule.getDescription());
127
                capsule.setImage(dbCapsule.getImage());
128
                capsule.setPosition(dbCapsule.getPosition());
129
 
130
 
131
 
132
                m_li = new HashMap<>();
133
 
134
 
135
                //m_li.put("copyright",copy);
136
 
137
 
138
                progress = progressDao.selectByCapsuleUuid(capsule.getUuid());
139
                if(progress != null) {
140
                    capsule.setCompleted( progress.getCompleted());
141
                    capsule.setViewSlides(progress.getViewSlides());
142
 
143
                    capsule.setTotalSlides( progress.getTotalSlides());
144
                    capsule.setProgress(progress.getProgress());
145
 
146
                    m_li.put("view", String.valueOf(progress.getViewSlides()));
147
                    m_li.put("total", String.valueOf(progress.getTotalSlides()));
148
                    m_li.put("progress", String.valueOf(progress.getProgress()));
149
                }
150
 
151
 
152
                m_li.put("imagen",capsule.getImage());
153
                m_li.put("nombre",capsule.getName());
154
 
155
                capsuleList.add(m_li);
156
 
157
            }
158
 
159
 
160
 
161
 
162
        }
163
 
164
    }
165
 
166
    @Override
167
    public void onItemClick(View view, int position) {
168
 
169
    }
170
}