package com.nf2m.fragment;
import android.annotation.TargetApi;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Build;
import android.os.Bundle;
import android.provider.MediaStore;
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.View;
import android.widget.RelativeLayout;
import com.nf2m.R;
import com.nf2m.activity.TarMediaPlayerActivity;
import com.nf2m.adapter.ArtistCursorAdapter;
import com.nf2m.listener.ActionItemClick;
import com.nf2m.listener.OnItemClickListener;
import com.nf2m.model.Artists;
import com.nf2m.model.Library;
import com.nf2m.model.Songs;
public class ArtistsFragment extends BaseFragment implements ActionItemClick, OnItemClickListener {
public static final String EXTRA_ARTIST = "artist";
private RecyclerView lvArtistsList;
private Library artists;
private Cursor artistCursor;
private ArtistCursorAdapter artistAdapter;
@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
initLvArtistList();
initArtists();
initArtistCursor();
initArtistCursorAdapter();
lvArtistListSetSongAdapter();
if (artistCursor.getCount() == 0) {
// RelativeLayout noSongs = (RelativeLayout) view.findViewById(R.id.noSongs);
// noSongs.setVisibility(View.VISIBLE);
}
setLayoutManager();
setListeners();
fastScroller.setVisibility(View.GONE);
super.onViewCreated(view, savedInstanceState);
setSearchSelection(MediaStore.Audio.ArtistColumns.ARTIST);
((TarMediaPlayerActivity) getActivity()).setActionBarTitle(getString(R.string.title_artists));
}
private void setListeners() {
artistAdapter.setOnItemClickListener(this);
artistAdapter.setOnLongItemClickListener(this);
}
private void lvArtistListSetSongAdapter() {
lvArtistsList.setAdapter(artistAdapter);
setLvLibraryList(lvArtistsList);
}
private void initArtistCursorAdapter() {
artistAdapter = new ArtistCursorAdapter(getActivity(), artistCursor);
setLibraryAdapter(artistAdapter);
}
private void initArtistCursor() {
artistCursor = artists.getCursor();
setLibraryCursor(artistCursor);
}
private void initArtists() {
artists = new Artists(getActivity());
setLibraries(artists);
}
private void initLvArtistList() {
lvArtistsList = (RecyclerView) view.findViewById(R.id.lvList);
}
@Nullable
@Override
public Cursor initSelectedItemCursor() {
Library songs = new Songs(getContext());
String[] artistsName = getStringArray(MediaStore.Audio.ArtistColumns.ARTIST);
String selection = getSelection(MediaStore.Audio.AudioColumns.ARTIST, artistsName);
Cursor cursor = getContext().getContentResolver().query(songs.getUri(), null, selection,
null, songs.getSortOrder());
assert cursor != null;
setSelectedSongNumber(cursor.getCount());
return cursor;
}
private String getStringInCursor(@NonNull Cursor cursor, String uri) {
return cursor.getString(artistCursor.getColumnIndexOrThrow(uri));
}
@Override
public void actionClick(int position) {
artistCursor.moveToPosition(position);
String artistsName = getStringInCursor(artistCursor,
MediaStore.Audio.ArtistColumns.ARTIST);
ArtistAlbumFragment artistSongFragment = new ArtistAlbumFragment();
Bundle bundle = new Bundle();
bundle.putString(EXTRA_ARTIST, artistsName);
artistSongFragment.setArguments(bundle);
if (TarMediaPlayerActivity.sdkInt >= Build.VERSION_CODES.LOLLIPOP) {
initAnim(artistSongFragment);
}
isArtist = true;
getFragmentManager().beginTransaction().replace(R.id.container, artistSongFragment).
addToBackStack(artistSongFragment.getClass().getName()).commit();
}
@Override
public void onItemClick(int position) {
if (actionMode != null) {
toggleSelection(position);
return;
}
if (isFilter) {
position = getPositionInMainCursor(position);
actionClick(position);
searchView.clearFocus();
} else {
actionClick(position);
}
}
@Override
public void onDestroy() {
artistCursor.close();
super.onDestroy();
}
@Override
public void setLayoutManager() {
}
}