Rev 4 | 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.DragEvent;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;import com.cesams.twogetskills.R;import com.cesams.twogetskills.activity.MainActivity;import com.cesams.twogetskills.adapter.CapsuleListViewAdapter;import com.cesams.twogetskills.adapter.CardViewAdapter;import com.cesams.twogetskills.adapter.TabsCapsulesAdapter;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;private TabsCapsulesAdapter adapter2;RecyclerView capsulas, categorizados;EditText busqueda; TextView textowelcome;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) {iTwoGetSkills = (ITwoGetSkills) getActivity();iTwoGetSkills.showNavigationAndToolbar();View view= inflater.inflate(R.layout.fragment_welcome, container, false);username=view.findViewById(R.id.textView14);textowelcome= view.findViewById(R.id.textView15);busqueda=view.findViewById(R.id.busqueda);capsuleList = new ArrayList<>();username.setText("¡Hola, "+(iTwoGetSkills.getPreference().getFirstName() +"!"));loadData();busqueda.setOnFocusChangeListener(new View.OnFocusChangeListener() {@Overridepublic void onFocusChange(View v, boolean hasFocus) {if(hasFocus){capsulas.setVisibility(View.GONE);username.setVisibility(View.GONE);textowelcome.setVisibility(View.GONE);}}});adapter = new CardViewAdapter(getContext(),capsuleList);adapter2 = new TabsCapsulesAdapter(getContext(),capsuleList);capsulas = view.findViewById(R.id.capsulescontinuos);GridLayoutManager layoutausar = new GridLayoutManager(getContext(),1,GridLayoutManager.HORIZONTAL, false);capsulas.setLayoutManager(layoutausar);capsulas.setAdapter(adapter);categorizados = view.findViewById(R.id.categorizados);GridLayoutManager layoutcategoria = new GridLayoutManager(getContext(),1,GridLayoutManager.VERTICAL, false);categorizados.setLayoutManager(layoutcategoria);categorizados.setAdapter(adapter2);categorizados.setOnFlingListener(new RecyclerView.OnFlingListener() {@Overridepublic boolean onFling(int velocityX, int velocityY) {if (categorizados.canScrollVertically(-1) ) {Log.e("Se activa", "On fling");capsulas.setVisibility(View.GONE);username.setVisibility(View.GONE);textowelcome.setVisibility(View.GONE);}else{capsulas.setVisibility(View.VISIBLE);username.setVisibility(View.VISIBLE);textowelcome.setVisibility(View.VISIBLE);}return false;}});/* categorizados.setOnScrollChangeListener(new View.OnScrollChangeListener() {@Overridepublic void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {if (!categorizados.canScrollVertically(-1)) {// Toast.makeText(getActivity(), "Last", Toast.LENGTH_LONG).show();capsulas.setVisibility(View.VISIBLE);username.setVisibility(View.VISIBLE);textowelcome.setVisibility(View.VISIBLE);Log.e("On scroll"," se activa");}}});*/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) {}}