Advertisement
Guest User

LeaderBoardFragment

a guest
May 23rd, 2018
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.78 KB | None | 0 0
  1. package com.swarmerapp.swarmer.profileActivity.view;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.support.v4.app.Fragment;
  6. import android.support.v7.widget.LinearLayoutManager;
  7. import android.support.v7.widget.RecyclerView;
  8. import android.view.LayoutInflater;
  9. import android.view.View;
  10. import android.view.ViewGroup;
  11. import com.swarmerapp.swarmer.R;
  12. import com.swarmerapp.swarmer.profileActivity.adapters.LeaderBoardAdapter;
  13.  
  14. import java.lang.ref.WeakReference;
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. import java.util.Map;
  18.  
  19. import butterknife.BindView;
  20. import butterknife.ButterKnife;
  21. import butterknife.Unbinder;
  22. import de.greenrobot.event.EventBus;
  23. import models.LeaderBoard;
  24. import models.LeaderBoardPoints;
  25. import models.Period;
  26. import models.busEvents.connectionEvents.RequestLeaderBoard;
  27. import models.busEvents.connectionEvents.connectionResponse.ResponseLeaderBoard;
  28. import se.emilsjolander.stickylistheaders.StickyListHeadersListView;
  29.  
  30. /**
  31.  * Created by Blagoj on 08.3.2018.
  32.  */
  33.  
  34. public class LeaderBoardFragment  extends Fragment implements View.OnClickListener{
  35.  
  36.     @BindView(R.id.list)
  37.     StickyListHeadersListView recyclerYearly;
  38.  
  39.     private Unbinder unbinder;
  40.  
  41.     public LeaderBoardFragment() {
  42.     }
  43.  
  44.     public static LeaderBoardFragment getInstance() {
  45.         return new LeaderBoardFragment();
  46.     }
  47.  
  48.     @Override
  49.     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  50.         View v = inflater.inflate(R.layout.fragment_leader_board, container, false);
  51.         unbinder = ButterKnife.bind(this, v);
  52.         return v;
  53.     }
  54.  
  55.     @Override
  56.     public void onResume() {
  57.         super.onResume();
  58.         EventBus.getDefault().register(this);
  59.         EventBus.getDefault().post(new RequestLeaderBoard());
  60.     }
  61.  
  62.     @Override
  63.     public void onPause() {
  64.         super.onPause();
  65.         EventBus.getDefault().unregister(this);
  66.     }
  67.  
  68.     public void onEventMainThread(final ResponseLeaderBoard res) {
  69.         if (res != null) {
  70.             List<LeaderBoardPoints> lsUserPoints = new ArrayList<>();
  71.             LeaderBoardAdapter adapter;
  72.             if (res.getLsRewards() != null) {
  73.                 Map<String, Period> mapa = res.getLsRewards().getCategories();
  74.  
  75.                 for (Map.Entry<String, Period> entry : mapa.entrySet()) {
  76.  
  77.  
  78.                     if (entry.getKey().equals(getResources().getString(R.string.weekly))) {
  79.                         for(LeaderBoardPoints leaderBoardPoints : entry.getValue().getData()){
  80.                             leaderBoardPoints.setFirstName("w"+leaderBoardPoints.getFirstName());
  81.                             lsUserPoints.add(leaderBoardPoints);
  82.                         }
  83.                     }if (entry.getKey().equals(getResources().getString(R.string.monthly))) {
  84.                         for(LeaderBoardPoints leaderBoardPoints : entry.getValue().getData()){
  85.                             leaderBoardPoints.setFirstName("m"+leaderBoardPoints.getFirstName());
  86.                             lsUserPoints.add(leaderBoardPoints);
  87.                         }
  88.                     }if (entry.getKey().equals(getResources().getString(R.string.yearly))) {
  89.                         for(LeaderBoardPoints leaderBoardPoints : entry.getValue().getData()){
  90.                             leaderBoardPoints.setFirstName("y"+leaderBoardPoints.getFirstName());
  91.                             lsUserPoints.add(leaderBoardPoints);
  92.                         }
  93.                     }
  94.  
  95.                 }
  96.                 adapter = new LeaderBoardAdapter(lsUserPoints, new LeaderBoardFragment.OnItemActionListener(this),getContext());
  97.                 recyclerYearly.setAdapter(adapter);
  98.             }
  99.         }
  100.     }
  101.  
  102.     private void onFragmentContactsItemSelected(String facebookId) {
  103.         Intent intent = new Intent(getActivity(), com.swarmerapp.swarmer.userProfile.ui.UserProfileActivity.class);
  104.         intent.putExtra("facebookId", facebookId);
  105.         getActivity().startActivity(intent);
  106.     }
  107.  
  108.     @Override
  109.     public void onClick(View view) {
  110.  
  111.     }
  112.  
  113.     private static class OnItemActionListener implements LeaderBoardAdapter.OnActionListener{
  114.  
  115.         private final WeakReference<LeaderBoardFragment> leaderBoardFragmentWeakReference;
  116.  
  117.         private OnItemActionListener(LeaderBoardFragment fragment) {
  118.             this.leaderBoardFragmentWeakReference = new WeakReference<>(fragment);
  119.         }
  120.  
  121.         @Override
  122.         public void onItemSelected(LeaderBoardPoints leaderBoardPoints) {
  123.             LeaderBoardFragment fragment = leaderBoardFragmentWeakReference.get();
  124.             if (fragment != null) {
  125.                 fragment.onFragmentContactsItemSelected(leaderBoardPoints.getFacebookId());
  126.             }
  127.         }
  128.     }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement