Proyectos de Subversion Android Microlearning - Nuevo Interface

Rev

Rev 2 | Rev 19 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 2 Rev 3
Línea 15... Línea 15...
15
import androidx.lifecycle.Observer;
15
import androidx.lifecycle.Observer;
16
import androidx.lifecycle.ViewModelProvider;
16
import androidx.lifecycle.ViewModelProvider;
17
import androidx.recyclerview.widget.RecyclerView;
17
import androidx.recyclerview.widget.RecyclerView;
Línea 18... Línea 18...
18
 
18
 
-
 
19
import com.cesams.twogetskills.R;
19
import com.cesams.twogetskills.R;
20
import com.cesams.twogetskills.activity.MainActivity;
20
import com.cesams.twogetskills.adapter.CapsuleListViewAdapter;
21
import com.cesams.twogetskills.adapter.CapsuleListViewAdapter;
21
import com.cesams.twogetskills.dao.CapsuleDao;
22
import com.cesams.twogetskills.dao.CapsuleDao;
22
import com.cesams.twogetskills.dao.ProgressDao;
23
import com.cesams.twogetskills.dao.ProgressDao;
23
import com.cesams.twogetskills.dao.TopicDao;
24
import com.cesams.twogetskills.dao.TopicDao;
24
import com.cesams.twogetskills.entity.Capsule;
25
import com.cesams.twogetskills.entity.Capsule;
25
import com.cesams.twogetskills.entity.Progress;
26
import com.cesams.twogetskills.entity.Progress;
26
import com.cesams.twogetskills.entity.Topic;
27
import com.cesams.twogetskills.entity.Topic;
-
 
28
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
-
 
29
import com.cesams.twogetskills.viewdata.CapsuleRefreshUIViewData;
-
 
30
import com.cesams.twogetskills.viewdata.SlideRefreshUIViewData;
27
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
31
import com.cesams.twogetskills.viewmodel.CapsuleRefreshUIViewModel;
-
 
32
import com.cesams.twogetskills.viewmodel.CapsuleViewModel;
-
 
33
import com.cesams.twogetskills.viewmodel.GalleryViewModel;
Línea 28... Línea 34...
28
import com.cesams.twogetskills.viewmodel.CapsuleViewModel;
34
import com.cesams.twogetskills.viewmodel.SlideRefreshUIViewModel;
29
 
35
 
Línea 30... Línea 36...
30
import java.util.ArrayList;
36
import java.util.ArrayList;
31
import java.util.List;
37
import java.util.List;
32
 
38
 
33
public class CapsuleFragment extends Fragment implements CapsuleListViewAdapter.ItemClickListener, LifecycleOwner {
39
public class CapsuleFragment extends Fragment implements CapsuleListViewAdapter.ItemClickListener, LifecycleOwner {
34
    private final String TAG = "C2GS - CapsuleFragment";
40
    private final String TAG = "C2GS - CapsuleFragment";
35
    private RecyclerView listView;
41
    private RecyclerView listView;
-
 
42
    private CapsuleListViewAdapter adapter;
Línea 36... Línea 43...
36
    private CapsuleListViewAdapter adapter;
43
    private ITwoGetSkills iTwoGetSkills;
37
    private ITwoGetSkills iTwoGetSkills;
44
    private CapsuleViewModel mCapsuleViewModel;
38
    private CapsuleViewModel mCapsuleViewModel;
45
    private CapsuleRefreshUIViewModel mCapsuleRefreshUIViewModel;
Línea 61... Línea 68...
61
    @Override
68
    @Override
62
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
69
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
63
        super.onViewCreated(view, savedInstanceState);
70
        super.onViewCreated(view, savedInstanceState);
64
        iTwoGetSkills = (ITwoGetSkills) getActivity();
71
        iTwoGetSkills = (ITwoGetSkills) getActivity();
Línea 65... Línea -...
65
 
-
 
66
       // GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 2);
-
 
Línea -... Línea 72...
-
 
72
 
67
 
73
 
68
 
74
        mCapsuleRefreshUIViewModel = new ViewModelProvider(requireActivity()).get(CapsuleRefreshUIViewModel.class);
69
        mCapsuleViewModel = new ViewModelProvider(requireActivity()).get(CapsuleViewModel.class);
75
        mCapsuleViewModel = new ViewModelProvider(requireActivity()).get(CapsuleViewModel.class);
Línea -... Línea 76...
-
 
76
        adapter = new CapsuleListViewAdapter(requireActivity(), mCapsuleViewModel.getCapsuleArrayList());
70
        adapter = new CapsuleListViewAdapter(requireActivity(), mCapsuleViewModel.getCapsuleArrayList());
77
        adapter.setClickListener(this);
-
 
78
 
71
        adapter.setClickListener(this);
79
 
72
 
80
        Log.d(TAG, "Declarando el Observador");
73
        Log.d(TAG, "Declarando el Observador");
81
 
74
        Observer<ArrayList<Capsule>> capsuleListUpdateObserver = new Observer<ArrayList<Capsule>>() {
-
 
75
            @Override
-
 
-
 
82
        Observer<ArrayList<Capsule>> capsuleListUpdateObserver = new Observer<ArrayList<Capsule>>() {
76
            public void onChanged(ArrayList<Capsule> capsuleArrayList) {
83
            @Override
77
                Log.d(TAG, "Observador - Actualizar lista de cápsulas");
84
            public void onChanged(ArrayList<Capsule> capsuleArrayList) {
78
                //adapter.updateCapsuleList(capsuleArrayList);
85
 
Línea 79... Línea 86...
79
                adapter.notifyDataSetChanged();
86
                adapter.notifyDataSetChanged();
Línea 80... Línea 87...
80
            }
87
            }
81
        };
88
        };
82
 
-
 
83
 
89
 
Línea -... Línea 90...
-
 
90
 
-
 
91
        mCapsuleViewModel.getCapsuleMutableLiveData().observe(requireActivity(),capsuleListUpdateObserver);
-
 
92
 
84
        mCapsuleViewModel.getCapsuleMutableLiveData().observe(requireActivity(),capsuleListUpdateObserver);
93
 
Línea 85... Línea 94...
85
 
94
        listView = getView().findViewById(R.id.fragment_capsule_listview);
86
 
95
        listView.setAdapter(adapter);
Línea 102... Línea 111...
102
 
111
 
103
    @Override
112
    @Override
104
    public void onResume() {
113
    public void onResume() {
Línea 105... Línea -...
105
        super.onResume();
-
 
106
 
114
        super.onResume();
-
 
115
 
107
        Log.d(TAG, "onResume");
116
        loadData(true);
Línea 116... Línea 125...
116
        super.onHiddenChanged(hidden);
125
        super.onHiddenChanged(hidden);
Línea 117... Línea 126...
117
 
126
 
Línea 118... Línea 127...
118
        Log.d(TAG, "onHiddenChanged : " + (hidden ? "true" : "false"));
127
        Log.d(TAG, "onHiddenChanged : " + (hidden ? "true" : "false"));
119
 
128
 
120
        if(!hidden) {
129
        if(!hidden) {
121
            loadData();
130
            loadData(false);
Línea 122... Línea 131...
122
        }
131
        }
123
    }
-
 
Línea 124... Línea 132...
124
 
132
    }
125
    private void loadData()
133
 
-
 
134
    private void loadData(boolean background) {
-
 
135
 
Línea -... Línea 136...
-
 
136
        TopicDao topicDao = iTwoGetSkills.getDatabase().getTopicDao();
-
 
137
        CapsuleDao capsuleDao = iTwoGetSkills.getDatabase().getCapsuleDao();
-
 
138
        List<Capsule> dbCapsules;
Línea 126... Línea 139...
126
    {
139
        CapsuleRefreshUIViewData CapsuleRefreshUIViewData = mCapsuleRefreshUIViewModel.getCapsuleRefreshUIViewData();
Línea 127... Línea -...
127
 
-
 
128
        TopicDao topicDao = iTwoGetSkills.getDatabase().getTopicDao();
-
 
Línea 129... Línea 140...
129
        Topic topic = topicDao.selectByUuid(iTwoGetSkills.getTopicUuidActive());
140
 
-
 
141
        if (!background) {
Línea 130... Línea 142...
130
 
142
            Topic topic = topicDao.selectByUuid(iTwoGetSkills.getTopicUuidActive());
131
 
-
 
132
        iTwoGetSkills.setTitleActionBar(topic.getName());
143
            iTwoGetSkills.setTitleActionBar(topic.getName());
-
 
144
 
-
 
145
            dbCapsules = capsuleDao.selectAllByTopicUuid(topic.getUuid());
133
 
146
 
134
        CapsuleDao capsuleDao = iTwoGetSkills.getDatabase().getCapsuleDao();
147
 
135
        List<Capsule> dbCapsules = capsuleDao.selectAllByTopicUuid(topic.getUuid());
-
 
136
 
148
            CapsuleRefreshUIViewData.setTopicViewDataName(topic.getName());
137
        mCapsuleViewModel.getCapsuleArrayList().clear();
149
            CapsuleRefreshUIViewData.setTopicUuidViewData(topic.getUuid());
138
 
150
 
139
        Capsule capsule;
-
 
140
        Progress progress;
151
            mCapsuleRefreshUIViewModel.getCapsuleRefreshUIMutableLiveData().setValue(CapsuleRefreshUIViewData);
-
 
152
            Log.e("Cargando","Desde elemento topic");
-
 
153
 
141
        ProgressDao progressDao = iTwoGetSkills.getDatabase().getProgressDao();
154
 
Línea -... Línea 155...
-
 
155
        } else
-
 
156
        {
-
 
157
             dbCapsules = capsuleDao.selectAllByTopicUuid(CapsuleRefreshUIViewData.getTopicUuidViewData());
-
 
158
             iTwoGetSkills.setTitleActionBar(CapsuleRefreshUIViewData.getTopicViewDataName());
-
 
159
             Log.e("Cargando","Desde live data");
-
 
160
        }
-
 
161
 
-
 
162
 
-
 
163
            mCapsuleViewModel.getCapsuleArrayList().clear();
-
 
164
 
-
 
165
            Capsule capsule;
-
 
166
            Progress progress;
-
 
167
            ProgressDao progressDao = iTwoGetSkills.getDatabase().getProgressDao();
-
 
168
            for(Capsule dbCapsule : dbCapsules)
-
 
169
            {
-
 
170
                capsule = new Capsule();
-
 
171
                capsule.setTopicUuid(dbCapsule.getTopicUuid());
-
 
172
                capsule.setUuid(dbCapsule.getUuid());
-
 
173
                capsule.setName(dbCapsule.getName());
-
 
174
                capsule.setDescription(dbCapsule.getDescription());
-
 
175
                capsule.setImage(dbCapsule.getImage());
Línea 142... Línea -...
142
        for(Capsule dbCapsule : dbCapsules)
-
 
143
        {
-
 
144
            capsule = new Capsule();
-
 
145
            capsule.setTopicUuid(dbCapsule.getTopicUuid());
-
 
146
            capsule.setUuid(dbCapsule.getUuid());
176
                capsule.setPosition(dbCapsule.getPosition());
147
            capsule.setName(dbCapsule.getName());
-
 
148
            capsule.setDescription(dbCapsule.getDescription());
177
 
Línea 149... Línea 178...
149
            capsule.setImage(dbCapsule.getImage());
178
 
Línea 150... Línea 179...
150
            capsule.setPosition(dbCapsule.getPosition());
179
                progress = progressDao.selectByCapsuleUuid(capsule.getUuid());
Línea -... Línea 180...
-
 
180
                if(progress != null) {
Línea 151... Línea -...
151
 
-
 
Línea 152... Línea -...
152
 
-
 
153
            progress = progressDao.selectByCapsuleUuid(capsule.getUuid());
-
 
154
            if(progress != null) {
181
                    capsule.setCompleted( progress.getCompleted());