Autoría | Ultima modificación | Ver Log |
package com.cesams.twogetskills.fragment;import android.os.Bundle;import androidx.fragment.app.Fragment;import androidx.lifecycle.LifecycleOwner;import androidx.lifecycle.Observer;import androidx.lifecycle.ViewModelProvider;import androidx.recyclerview.widget.GridLayoutManager;import androidx.recyclerview.widget.RecyclerView;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import com.cesams.twogetskills.R;import com.cesams.twogetskills.adapter.CapsuleListViewAdapter;import com.cesams.twogetskills.adapter.CardViewAdapter;import com.cesams.twogetskills.dao.CapsuleDao;import com.cesams.twogetskills.dao.ProgressDao;import com.cesams.twogetskills.dao.TopicDao;import com.cesams.twogetskills.entity.Capsule;import com.cesams.twogetskills.entity.Progress;import com.cesams.twogetskills.entity.Topic;import com.cesams.twogetskills.skeleton.ITwoGetSkills;import com.cesams.twogetskills.viewmodel.CapsuleViewModel;import java.util.ArrayList;import java.util.HashMap;import java.util.List;/*** A simple {@link Fragment} subclass.* Use the {@link WelcomeFragment#newInstance} factory method to* create an instance of this fragment.*/public class WelcomeFragment extends Fragment implements CapsuleListViewAdapter.ItemClickListener, LifecycleOwner {TextView username;private ITwoGetSkills iTwoGetSkills;ArrayList<HashMap<String, String>> capsuleList;private CardViewAdapter adapter;RecyclerView capsulas;public WelcomeFragment() {// Required empty public constructor}public static WelcomeFragment newInstance() {WelcomeFragment fragment = new WelcomeFragment();return fragment;}@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// Inflate the layout for this fragmentiTwoGetSkills = (ITwoGetSkills) getActivity();View view= inflater.inflate(R.layout.fragment_welcome, container, false);username=view.findViewById(R.id.textView14);username.setText("¡Hola, "+(iTwoGetSkills.getPreference().getFirstName() +"!"));capsuleList = new ArrayList<>();loadData();adapter = new CardViewAdapter(getContext(),capsuleList);capsulas = view.findViewById(R.id.capsulescontinuos);GridLayoutManager layoutausar = new GridLayoutManager(getContext(),1,GridLayoutManager.HORIZONTAL, false);capsulas.setLayoutManager(layoutausar);capsulas.setAdapter(adapter);return view;}private void loadData(){TopicDao topicDao = iTwoGetSkills.getDatabase().getTopicDao();ArrayList<Topic> dbTopics = (ArrayList<Topic>) topicDao.selectAll();List<Capsule> dbCapsules;CapsuleDao capsuleDao = iTwoGetSkills.getDatabase().getCapsuleDao();for (Topic dbTopic : dbTopics) {dbCapsules = capsuleDao.selectAllByTopicUuid(dbTopic.getUuid());Capsule capsule;Progress progress;ProgressDao progressDao = iTwoGetSkills.getDatabase().getProgressDao();HashMap<String, String> m_li;for(Capsule dbCapsule : dbCapsules){capsule = new Capsule();capsule.setTopicUuid(dbCapsule.getTopicUuid());capsule.setUuid(dbCapsule.getUuid());capsule.setName(dbCapsule.getName());capsule.setDescription(dbCapsule.getDescription());capsule.setImage(dbCapsule.getImage());capsule.setPosition(dbCapsule.getPosition());m_li = new HashMap<>();//m_li.put("copyright",copy);progress = progressDao.selectByCapsuleUuid(capsule.getUuid());if(progress != null) {capsule.setCompleted( progress.getCompleted());capsule.setViewSlides(progress.getViewSlides());capsule.setTotalSlides( progress.getTotalSlides());capsule.setProgress(progress.getProgress());m_li.put("view", String.valueOf(progress.getViewSlides()));m_li.put("total", String.valueOf(progress.getTotalSlides()));m_li.put("progress", String.valueOf(progress.getProgress()));}m_li.put("imagen",capsule.getImage());m_li.put("nombre",capsule.getName());capsuleList.add(m_li);}}}@Overridepublic void onItemClick(View view, int position) {}}