Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.swarmerapp.swarmer.profileActivity.view;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.support.v7.widget.LinearLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import com.swarmerapp.swarmer.R;
- import com.swarmerapp.swarmer.profileActivity.adapters.LeaderBoardAdapter;
- import java.lang.ref.WeakReference;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import butterknife.BindView;
- import butterknife.ButterKnife;
- import butterknife.Unbinder;
- import de.greenrobot.event.EventBus;
- import models.LeaderBoard;
- import models.LeaderBoardPoints;
- import models.Period;
- import models.busEvents.connectionEvents.RequestLeaderBoard;
- import models.busEvents.connectionEvents.connectionResponse.ResponseLeaderBoard;
- import se.emilsjolander.stickylistheaders.StickyListHeadersListView;
- /**
- * Created by Blagoj on 08.3.2018.
- */
- public class LeaderBoardFragment extends Fragment implements View.OnClickListener{
- @BindView(R.id.list)
- StickyListHeadersListView recyclerYearly;
- private Unbinder unbinder;
- public LeaderBoardFragment() {
- }
- public static LeaderBoardFragment getInstance() {
- return new LeaderBoardFragment();
- }
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View v = inflater.inflate(R.layout.fragment_leader_board, container, false);
- unbinder = ButterKnife.bind(this, v);
- return v;
- }
- @Override
- public void onResume() {
- super.onResume();
- EventBus.getDefault().register(this);
- EventBus.getDefault().post(new RequestLeaderBoard());
- }
- @Override
- public void onPause() {
- super.onPause();
- EventBus.getDefault().unregister(this);
- }
- public void onEventMainThread(final ResponseLeaderBoard res) {
- if (res != null) {
- List<LeaderBoardPoints> lsUserPoints = new ArrayList<>();
- LeaderBoardAdapter adapter;
- if (res.getLsRewards() != null) {
- Map<String, Period> mapa = res.getLsRewards().getCategories();
- for (Map.Entry<String, Period> entry : mapa.entrySet()) {
- if (entry.getKey().equals(getResources().getString(R.string.weekly))) {
- for(LeaderBoardPoints leaderBoardPoints : entry.getValue().getData()){
- leaderBoardPoints.setFirstName("w"+leaderBoardPoints.getFirstName());
- lsUserPoints.add(leaderBoardPoints);
- }
- }if (entry.getKey().equals(getResources().getString(R.string.monthly))) {
- for(LeaderBoardPoints leaderBoardPoints : entry.getValue().getData()){
- leaderBoardPoints.setFirstName("m"+leaderBoardPoints.getFirstName());
- lsUserPoints.add(leaderBoardPoints);
- }
- }if (entry.getKey().equals(getResources().getString(R.string.yearly))) {
- for(LeaderBoardPoints leaderBoardPoints : entry.getValue().getData()){
- leaderBoardPoints.setFirstName("y"+leaderBoardPoints.getFirstName());
- lsUserPoints.add(leaderBoardPoints);
- }
- }
- }
- adapter = new LeaderBoardAdapter(lsUserPoints, new LeaderBoardFragment.OnItemActionListener(this),getContext());
- recyclerYearly.setAdapter(adapter);
- }
- }
- }
- private void onFragmentContactsItemSelected(String facebookId) {
- Intent intent = new Intent(getActivity(), com.swarmerapp.swarmer.userProfile.ui.UserProfileActivity.class);
- intent.putExtra("facebookId", facebookId);
- getActivity().startActivity(intent);
- }
- @Override
- public void onClick(View view) {
- }
- private static class OnItemActionListener implements LeaderBoardAdapter.OnActionListener{
- private final WeakReference<LeaderBoardFragment> leaderBoardFragmentWeakReference;
- private OnItemActionListener(LeaderBoardFragment fragment) {
- this.leaderBoardFragmentWeakReference = new WeakReference<>(fragment);
- }
- @Override
- public void onItemSelected(LeaderBoardPoints leaderBoardPoints) {
- LeaderBoardFragment fragment = leaderBoardFragmentWeakReference.get();
- if (fragment != null) {
- fragment.onFragmentContactsItemSelected(leaderBoardPoints.getFacebookId());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement