Advertisement
Guest User

FavJavaClass

a guest
Feb 20th, 2017
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.39 KB | None | 0 0
  1. package com.rrmsense.radiostream.fragments;
  2.  
  3.  
  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.util.Log;
  9. import android.view.LayoutInflater;
  10. import android.view.View;
  11. import android.view.ViewGroup;
  12.  
  13. import com.rrmsense.radiostream.R;
  14. import com.rrmsense.radiostream.activities.MainActivity;
  15. import com.rrmsense.radiostream.adapters.RadioAdapter;
  16. import com.rrmsense.radiostream.interfaces.onPreparedCallback;
  17. import com.rrmsense.radiostream.interfaces.RecyclerViewClickListener;
  18. import com.rrmsense.radiostream.models.SelectFragment;
  19. import com.rrmsense.radiostream.models.Storage;
  20.  
  21. import java.util.ArrayDeque;
  22. import java.util.ArrayList;
  23. import java.util.Deque;
  24.  
  25. /**
  26.  * A simple {@link Fragment} subclass.
  27.  */
  28. public class FavouriteFragment extends Fragment implements RecyclerViewClickListener,onPreparedCallback {
  29.  
  30.     private RecyclerView mRecyclerView;
  31.     private RecyclerView.Adapter mAdapter;
  32.     private RecyclerView.LayoutManager mLayoutManager;
  33.     private static int fragmentID;
  34.  
  35.     ArrayList<String> radios = new ArrayList<>();
  36.     Deque<Integer> history = new ArrayDeque<>();
  37.     public FavouriteFragment() {
  38.  
  39.     }
  40.     public static FavouriteFragment newInstance(int id) {
  41.         Bundle args = new Bundle();
  42.         args.putInt("ID", id);
  43.         FavouriteFragment fragment = new FavouriteFragment();
  44.         fragment.setArguments(args);
  45.         return fragment;
  46.     }
  47.  
  48.     @Override
  49.     public void onCreate(Bundle savedInstanceState) {
  50.         super.onCreate(savedInstanceState);
  51.  
  52.         Bundle bundle = this.getArguments();
  53.         //if (bundle != null) {
  54.         fragmentID = bundle.getInt("ID", SelectFragment.FRAGMENT_BANGLA_RADIO);
  55.  
  56.         //}
  57.         Log.d("ID", String.valueOf(fragmentID));
  58.     }
  59.  
  60.     @Override
  61.     public View onCreateView(LayoutInflater inflater, ViewGroup container,
  62.                              Bundle savedInstanceState) {
  63.         View view = inflater.inflate(R.layout.fragment_radio, container, false);
  64.         mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view_bangla_radio);
  65.         mLayoutManager = new LinearLayoutManager(getActivity());
  66.         mRecyclerView.setLayoutManager(mLayoutManager);
  67.  
  68.         updateAdapter();
  69.         return view;
  70.     }
  71.     void updateAdapter(){
  72.         //Log.d("6ID", String.valueOf(fragmentID));
  73.         switch (fragmentID){
  74.             case SelectFragment.FRAGMENT_BANGLA_RADIO:
  75.                 radios = ((MainActivity)getContext()).radios;
  76.                 mAdapter = new RadioAdapter(radios,getActivity(),this,SelectFragment.FRAGMENT_BANGLA_RADIO);
  77.                 //Log.d("ID", String.valueOf(fragmentID));
  78.                 break;
  79.             case SelectFragment.FRAGMENT_FAVOURITE:
  80.                 radios = ((MainActivity)getContext()).favouriteRadios;
  81.                 mAdapter = new RadioAdapter(radios,getActivity(),this,SelectFragment.FRAGMENT_FAVOURITE);
  82.                 //Log.d("ID", String.valueOf(fragmentID));
  83.                 break;
  84.             case SelectFragment.FRAGMENT_RECENT:
  85.                 radios = ((MainActivity)getContext()).recentRadios;
  86.                 mAdapter = new RadioAdapter(radios,getActivity(),this,SelectFragment.FRAGMENT_RECENT);
  87.                 //Log.d("ID", String.valueOf(fragmentID));
  88.                 break;
  89.         }
  90.  
  91.  
  92.         mRecyclerView.setAdapter(mAdapter);
  93.     }
  94.  
  95.  
  96.     @Override
  97.     public void recyclerViewListClicked(View v, int position) {
  98.         //Log.d("ITEM",mRecyclerView.getChildAt(position).toString());
  99.         //Log.d("PLAYING STATE", String.valueOf(radios.get(position).isButtonPlaying()));
  100.        // mAdapter.notifyItemChanged(position);
  101.         resetRadio();
  102.         if(position<mAdapter.getItemCount())
  103.         if(Storage.getRadioSationSingleValueBoolean(radios.get(position),"playing",getActivity())){
  104.             history.push(position);
  105.             ((MainActivity)getActivity()).playRadio(radios.get(position),Storage.getRadioSationSingleValueString(radios.get(position),"stream",getActivity()),position,this);
  106.         }
  107.         else{
  108.  
  109.             resetRadio();
  110.             ((MainActivity)getActivity()).stopRadio();
  111.         }
  112.         //Log.d("Interface",position+" "+v.getId()+" "+((TextView) child.findViewById(R.id.text_title)).getText().toString());
  113.     }
  114.     private void resetRadio() {
  115.         while (!history.isEmpty()){
  116.             Storage.setRadioSationSingleValue(radios.get(history.peek()),"playing",false,getActivity());
  117.             Storage.setRadioSationSingleValue(radios.get(history.peek()),"loading",false,getActivity());
  118.             Storage.setRadioSationSingleValue(radios.get(history.peek()),"equalizer",false,getActivity());
  119.             mAdapter.notifyItemChanged(history.peek());
  120.             history.pop();
  121.         }
  122.     }
  123.  
  124.     @Override
  125.     public void OnPreparedCallback(int position) {
  126.         Storage.setRadioSationSingleValue(radios.get(position),"playing",true,getActivity());
  127.         Storage.setRadioSationSingleValue(radios.get(position),"loading",false,getActivity());
  128.         Storage.setRadioSationSingleValue(radios.get(position),"equalizer",true,getActivity());
  129.         mAdapter.notifyItemChanged(position);
  130.     }
  131.  
  132.     @Override
  133.     public void onResume() {
  134.         super.onResume();
  135.         mAdapter.notifyItemInserted(mAdapter.getItemCount()-1);
  136.     }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement