package com.nf2m.fragment;
import android.annotation.TargetApi;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.support.v7.graphics.Palette;
import android.support.v7.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import com.nf2m.R;
import com.nf2m.activity.TarMediaPlayerActivity;
import com.nf2m.adapter.RecentlyAddedCursorAdapter;
import com.nf2m.listener.ActionItemClick;
import com.nf2m.listener.OnItemClickListener;
import com.nf2m.model.Library;
import com.nf2m.model.RecentlyAdded;
import com.nf2m.preferences.Preferences;
import com.nf2m.service.MediaPlayerService;
public class RecentlyAddedFragment extends BaseFragment implements ActionItemClick, OnItemClickListener {
private RecyclerView lvSongList;
private Library recentlyAddedSong;
private Cursor songCursor;
private RecentlyAddedCursorAdapter songAdapter;
private Preferences preferences;
private boolean isReferencedToService = false;
@Nullable
@Override
public Cursor initSelectedItemCursor() {
return null;
}
@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
preferences = Preferences.newInstance(getContext());
initLvSongList();
initSongs();
setSongCursor();
initSongCursorAdapter();
lvSongListSetSongAdapter();
setListener();
setLayoutManager();
if (songCursor.getCount() == 0) {
// TODO: 21/07/16 Şarkı yoksa
// RelativeLayout noSongs = (RelativeLayout) view.findViewById(R.id.noSongs);
// noSongs.setVisibility(View.VISIBLE);
}
if (songCursor.getCount() < 15) {
fastScroller.setVisibility(View.GONE);
}
super.onViewCreated(view, savedInstanceState);
((TarMediaPlayerActivity) getActivity()).setActionBarTitle(getString(R.string.recently_added));
}
private void setListener() {
songAdapter.setOnItemClickListener(this);
}
private void lvSongListSetSongAdapter() {
lvSongList.setAdapter(songAdapter);
}
private void initSongCursorAdapter() {
songAdapter = new RecentlyAddedCursorAdapter(getActivity(), songCursor);
setLibraryAdapter(songAdapter);
}
private void initSongs() {
recentlyAddedSong = new RecentlyAdded(getContext());
setLibraries(recentlyAddedSong);
}
private void setSongCursor() {
songCursor = recentlyAddedSong.getCursor();
}
private void initLvSongList() {
lvSongList = (RecyclerView) view.findViewById(R.id.lvList);
setLvLibraryList(lvSongList);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
}
@Override
public void actionClick(int position) {
playSong(position);
}
private void playSong(int position) {
MediaPlayerService.songsCursor = songCursor;
isReferencedToService = true;
preferences.setPrefSongPos(position);
NowPlayingFragment.song_duration_state = 0;
TarMediaPlayerActivity.item_state = TarMediaPlayerActivity.ITEM_STATE_OTHER;
NowPlayingFragment.play_state = NowPlayingFragment.PAUSE;
getActivity().sendBroadcast(new Intent(MediaPlayerService.ACTION_SONG_PLAY));
}
@Override
public void onItemClick(int position) {
actionClick(position);
}
@Override
public void onClick(@NonNull View v) {
switch (v.getId()) {
case R.id.idFabPlay:
super.onClick(v);
if (!NowPlayingFragment.play_state.equalsIgnoreCase(NowPlayingFragment.PAUSE)) {
playSong(0);
}
break;
default:
super.onClick(v);
break;
}
}
@Override
public void onDestroy() {
super.onDestroy();
if (songCursor != null && !isReferencedToService) {
songCursor.close();
}
}
}