package com.architjn.acjmusicplayer.ui.layouts.activity;
import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import com.architjn.acjmusicplayer.R;
import com.architjn.acjmusicplayer.utils.decorations.ArtistAlbumListSpacesItemDecoration;
import com.architjn.acjmusicplayer.utils.decorations.ArtistDividerItemDecoration;
import com.architjn.acjmusicplayer.utils.ListSongs;
import com.architjn.acjmusicplayer.utils.adapters.ArtistSongListAdapter;
import com.architjn.acjmusicplayer.utils.adapters.ArtistSubListAdapter;
/**
* Created by architjn on 30/11/15.
*/
public class ArtistActivity extends AppCompatActivity {
private RecyclerView rv;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_playlist);
initView();
}
private void initView() {
rv = (RecyclerView) findViewById(R.id.songsListContainer);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null)
getSupportActionBar().setTitle(getIntent().getStringExtra("name"));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
addSongList();
}
private void addSongList() {
rv.setLayoutManager(new LinearLayoutManager(this));
rv.addItemDecoration(new ArtistDividerItemDecoration(this, 75));
View header = LayoutInflater.from(this).
inflate(R.layout.artist_activity_header, rv, false);
rv.setAdapter(new ArtistSongListAdapter(this, header,
ListSongs.getSongsListOfArtist(this, getIntent().getStringExtra("name"))));
setHeader(header);
}
private void setHeader(View header) {
RecyclerView albumRv = (RecyclerView) header.findViewById(R.id.artist_album_rv);
if (albumRv.getAdapter() == null) {
albumRv.setLayoutManager(new LinearLayoutManager(this,
LinearLayoutManager.HORIZONTAL, false));
albumRv.addItemDecoration(
new ArtistAlbumListSpacesItemDecoration(this, dpToPx(5)));
}
ArtistSubListAdapter albumAdapter = new ArtistSubListAdapter(this,
getIntent().getLongExtra("id", 0));
albumRv.setAdapter(albumAdapter);
}
public int dpToPx(int dp) {
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
return Math.round(dp * (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
super.onBackPressed();
break;
}
return super.onOptionsItemSelected(item);
}
public int getAutoStatColor(int baseColor) {
float[] hsv = new float[3];
Color.colorToHSV(baseColor, hsv);
hsv[2] *= 1.4f;
return Color.HSVToColor(hsv);
}
}