Proyectos de Subversion Android Microlearning - Nuevo Interface

Rev

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

Rev 3 Rev 19
Línea 14... Línea 14...
14
import androidx.lifecycle.LifecycleOwner;
14
import androidx.lifecycle.LifecycleOwner;
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 -... Línea 18...
-
 
18
 
18
 
19
import com.cesams.twogetskills.Constants;
19
import com.cesams.twogetskills.R;
20
import com.cesams.twogetskills.R;
20
import com.cesams.twogetskills.activity.MainActivity;
21
import com.cesams.twogetskills.activity.MainActivity;
21
import com.cesams.twogetskills.adapter.CapsuleListViewAdapter;
22
import com.cesams.twogetskills.adapter.CapsuleListViewAdapter;
22
import com.cesams.twogetskills.dao.CapsuleDao;
23
import com.cesams.twogetskills.dao.CapsuleDao;
23
import com.cesams.twogetskills.dao.ProgressDao;
24
import com.cesams.twogetskills.dao.ProgressDao;
24
import com.cesams.twogetskills.dao.TopicDao;
25
import com.cesams.twogetskills.dao.TopicDao;
25
import com.cesams.twogetskills.entity.Capsule;
26
import com.cesams.twogetskills.entity.Capsule;
26
import com.cesams.twogetskills.entity.Progress;
27
import com.cesams.twogetskills.entity.Progress;
27
import com.cesams.twogetskills.entity.Topic;
28
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;
-
 
31
import com.cesams.twogetskills.viewmodel.CapsuleRefreshUIViewModel;
29
import com.cesams.twogetskills.skeleton.ITwoGetSkills;
32
import com.cesams.twogetskills.viewmodel.CapsuleViewModel;
-
 
33
import com.cesams.twogetskills.viewmodel.GalleryViewModel;
-
 
Línea 34... Línea 30...
34
import com.cesams.twogetskills.viewmodel.SlideRefreshUIViewModel;
30
import com.cesams.twogetskills.viewmodel.CapsuleViewModel;
35
 
31
 
Línea 36... Línea 32...
36
import java.util.ArrayList;
32
import java.util.ArrayList;
37
import java.util.List;
33
import java.util.List;
38
 
34
 
39
public class CapsuleFragment extends Fragment implements CapsuleListViewAdapter.ItemClickListener, LifecycleOwner {
35
public class CapsuleFragment extends Fragment implements CapsuleListViewAdapter.ItemClickListener, LifecycleOwner {
40
    private final String TAG = "C2GS - CapsuleFragment";
36
    private final String TAG = "C2GS - CapsuleFragment";
41
    private RecyclerView listView;
37
    private RecyclerView listView;
42
    private CapsuleListViewAdapter adapter;
-
 
-
 
38
    private CapsuleListViewAdapter adapter;
Línea 43... Línea 39...
43
    private ITwoGetSkills iTwoGetSkills;
39
    private ITwoGetSkills iTwoGetSkills;
44
    private CapsuleViewModel mCapsuleViewModel;
40
    private CapsuleViewModel mCapsuleViewModel;
45
    private CapsuleRefreshUIViewModel mCapsuleRefreshUIViewModel;
41
 
Línea 69... Línea 65...
69
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
65
    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
70
        super.onViewCreated(view, savedInstanceState);
66
        super.onViewCreated(view, savedInstanceState);
71
        iTwoGetSkills = (ITwoGetSkills) getActivity();
67
        iTwoGetSkills = (ITwoGetSkills) getActivity();
Línea 72... Línea -...
72
 
-
 
-
 
68
 
73
 
69
 
74
        mCapsuleRefreshUIViewModel = new ViewModelProvider(requireActivity()).get(CapsuleRefreshUIViewModel.class);
70
 
75
        mCapsuleViewModel = new ViewModelProvider(requireActivity()).get(CapsuleViewModel.class);
71
        mCapsuleViewModel = new ViewModelProvider(requireActivity()).get(CapsuleViewModel.class);
Línea 95... Línea 91...
95
        listView.setAdapter(adapter);
91
        listView.setAdapter(adapter);
96
        listView.setHasFixedSize(true);
92
        listView.setHasFixedSize(true);
Línea 97... Línea 93...
97
 
93
 
Línea 98... Línea 94...
98
 
94
 
Línea 111... Línea 107...
111
 
107
 
112
    @Override
108
    @Override
113
    public void onResume() {
109
    public void onResume() {
Línea 114... Línea 110...
114
        super.onResume();
110
        super.onResume();
Línea 115... Línea 111...
115
 
111
 
Línea 125... Línea 121...
125
        super.onHiddenChanged(hidden);
121
        super.onHiddenChanged(hidden);
Línea 126... Línea 122...
126
 
122
 
Línea 127... Línea 123...
127
        Log.d(TAG, "onHiddenChanged : " + (hidden ? "true" : "false"));
123
        Log.d(TAG, "onHiddenChanged : " + (hidden ? "true" : "false"));
128
 
124
 
129
        if(!hidden) {
125
        if(!hidden) {
130
            loadData(false);
126
            loadData();
Línea 131... Línea 127...
131
        }
127
        }
-
 
128
    }
-
 
129
 
-
 
130
    private void loadData() {
-
 
131
 
-
 
132
        int fragmentIdxActive = iTwoGetSkills.getPreference().getFragmentIdxActive();
-
 
133
 
-
 
134
        if (fragmentIdxActive != Constants.IDX_FRAGMENT_GALLERY
-
 
135
                && fragmentIdxActive != Constants.IDX_FRAGMENT_SLIDES
-
 
136
                && fragmentIdxActive != Constants.IDX_FRAGMENT_CAPSULES
Línea -... Línea 137...
-
 
137
        ) {
-
 
138
            return;
-
 
139
        }
-
 
140
 
-
 
141
        Log.d("BUG 2PLANO", "CapsuleFragment - loadData");
132
    }
142
        Log.d("BUG 2PLANO", "CapsuleFragment - TopicUuid : " + iTwoGetSkills.getTopicUuidActive());
133
 
143
 
134
    private void loadData(boolean background) {
144
 
135
 
-
 
Línea 136... Línea -...
136
        TopicDao topicDao = iTwoGetSkills.getDatabase().getTopicDao();
-
 
137
        CapsuleDao capsuleDao = iTwoGetSkills.getDatabase().getCapsuleDao();
-
 
138
        List<Capsule> dbCapsules;
-
 
Línea 139... Línea 145...
139
        CapsuleRefreshUIViewData CapsuleRefreshUIViewData = mCapsuleRefreshUIViewModel.getCapsuleRefreshUIViewData();
145
        String userUuid = iTwoGetSkills.getPreference().getUserUuid();
-
 
146
        TopicDao topicDao = iTwoGetSkills.getDatabase().getTopicDao();
Línea -... Línea 147...
-
 
147
        CapsuleDao capsuleDao = iTwoGetSkills.getDatabase().getCapsuleDao();
-
 
148
        List<Capsule> dbCapsules;
Línea 140... Línea -...
140
 
-
 
141
        if (!background) {
-
 
Línea 142... Línea -...
142
            Topic topic = topicDao.selectByUuid(iTwoGetSkills.getTopicUuidActive());
-
 
143
            iTwoGetSkills.setTitleActionBar(topic.getName());
-
 
Línea 144... Línea -...
144
 
-
 
145
            dbCapsules = capsuleDao.selectAllByTopicUuid(topic.getUuid());
-
 
146
 
-
 
147
 
-
 
148
            CapsuleRefreshUIViewData.setTopicViewDataName(topic.getName());
-
 
149
            CapsuleRefreshUIViewData.setTopicUuidViewData(topic.getUuid());
-
 
150
 
-
 
Línea 151... Línea 149...
151
            mCapsuleRefreshUIViewModel.getCapsuleRefreshUIMutableLiveData().setValue(CapsuleRefreshUIViewData);
149
 
Línea 152... Línea 150...
152
            Log.e("Cargando","Desde elemento topic");
150
 
153
 
151
        Topic topic = topicDao.selectByUuid(iTwoGetSkills.getTopicUuidActive());
Línea 174... Línea 172...
174
                capsule.setDescription(dbCapsule.getDescription());
172
                capsule.setDescription(dbCapsule.getDescription());
175
                capsule.setImage(dbCapsule.getImage());
173
                capsule.setImage(dbCapsule.getImage());
176
                capsule.setPosition(dbCapsule.getPosition());
174
                capsule.setPosition(dbCapsule.getPosition());
Línea 177... Línea 175...
177
 
175
 
178
 
176
 
179
                progress = progressDao.selectByCapsuleUuid(capsule.getUuid());
177
                progress = progressDao.selectByCapsuleUuidAndUserUuid(capsule.getUuid(), userUuid);
180
                if(progress != null) {
178
                if(progress != null) {
181
                    capsule.setCompleted( progress.getCompleted());
179
                    capsule.setCompleted( progress.getCompleted());
182
                    capsule.setViewSlides(progress.getViewSlides());
180
                    capsule.setViewSlides(progress.getViewSlides());