diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/TracksAdapter.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/TracksAdapter.java index 4cb59f116fd5dcdc3f52528a3b8ff81efcc00daf..fd82f11b49909665a5da5ea322964b6ff519373a 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/TracksAdapter.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/adapters/TracksAdapter.java @@ -16,6 +16,12 @@ public class TracksAdapter extends RealmBaseAdapter { super(context, realmResults, automaticUpdate); } + private String convertSecondsToTrackTime(long seconds) { + int fullMinutes = (int) Math.floor(seconds/60); + int leftSeconds = (int) (seconds%60); + return fullMinutes+":"+String.format("%02d",leftSeconds); + } + @Override public View getView(int position, View convertView, ViewGroup parent) { if(convertView == null) { @@ -23,6 +29,12 @@ public class TracksAdapter extends RealmBaseAdapter { } TextView trackName = (TextView) convertView.findViewById(R.id.track_name); trackName.setText(realmResults.get(position).getTrackname()); + + TextView trackNum = (TextView) convertView.findViewById(R.id.track_num); + trackNum.setText(String.valueOf(realmResults.get(position).getTracknumber())); + + TextView trackLength = (TextView) convertView.findViewById(R.id.track_length); + trackLength.setText(convertSecondsToTrackTime(realmResults.get(position).getSeconds())); return convertView; } } diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumFragment.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumFragment.java index 071158483f3c180033ee0c0c3c725c6e244946b8..196e58623b9ab8cc94282a6324e215951892ad5d 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumFragment.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/fragments/AlbumFragment.java @@ -1,5 +1,6 @@ package com.magnatune.eyecreate.companionformagnatune.fragments; +import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.os.Build; import android.os.Bundle; @@ -7,6 +8,7 @@ import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.graphics.Palette; import android.support.v7.widget.CardView; +import android.view.Gravity; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -16,6 +18,7 @@ import android.widget.ImageView; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.TextView; +import android.widget.Toast; import com.magnatune.eyecreate.companionformagnatune.R; import com.magnatune.eyecreate.companionformagnatune.adapters.TracksAdapter; @@ -81,6 +84,16 @@ public class AlbumFragment extends Fragment { Album currentAlbum = db.where(Album.class).equalTo("albumsku",getArguments().getString(ARG_ALBUM_ID)).findFirst(); ((TextView)v.findViewById(R.id.album_name)).setText(currentAlbum.getAlbumname()); ((TextView)v.findViewById(R.id.artist_name)).setText(currentAlbum.getArtist().getArtistname()); + //Set up hint for button like in menu items + v.findViewById(R.id.queue_album).setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View view) { + Toast hint = Toast.makeText(view.getContext(),R.string.queue_album,Toast.LENGTH_SHORT); + hint.setGravity(Gravity.TOP|Gravity.RIGHT,25,20); + hint.show(); + return true; + } + }); Picasso.with(getActivity()).load(currentAlbum.getCover_small()).into((ImageView) v.findViewById(R.id.album_cover), new Callback() { @Override public void onSuccess() { @@ -95,6 +108,13 @@ public class AlbumFragment extends Fragment { } if (swatch != null) { ((TextView) v.findViewById(R.id.album_name)).setTextColor(swatch.getTitleTextColor()); + ((TextView) v.findViewById(R.id.queue_album)).setTextColor(swatch.getTitleTextColor()); + + //Get a slightly off color for button background. + float[] modColor = swatch.getHsl(); + modColor[2] = (float) (modColor[2]<=0.5?modColor[2]+0.1:modColor[2]-0.1); + v.findViewById(R.id.queue_album).setBackgroundColor(Color.HSVToColor(modColor)); + ((TextView) v.findViewById(R.id.artist_name)).setTextColor(swatch.getBodyTextColor()); v.findViewById(R.id.album_details).setBackgroundColor(swatch.getRgb()); } @@ -105,7 +125,7 @@ public class AlbumFragment extends Fragment { } }); - TracksAdapter adapter = new TracksAdapter(getActivity(),db.where(Track.class).equalTo("albumname",currentAlbum.getAlbumname()).equalTo("artist",currentAlbum.getArtist().getArtistname()).findAll(),true); + TracksAdapter adapter = new TracksAdapter(getActivity(),db.where(Track.class).equalTo("albumname",currentAlbum.getAlbumname()).equalTo("artist",currentAlbum.getArtist().getArtistname()).findAllSorted("tracknumber"),true); listView.setAdapter(adapter); setListViewHeightBasedOnChildren(listView); return v; diff --git a/app/src/main/res/layout/fragment_album.xml b/app/src/main/res/layout/fragment_album.xml index 5c1ef40fa58d59ec838a8b3eb72dc9fab45de416..dc8de24dd2e12ac28ca8e7f8fffa7209e5ae4ee7 100644 --- a/app/src/main/res/layout/fragment_album.xml +++ b/app/src/main/res/layout/fragment_album.xml @@ -43,6 +43,18 @@ android:layout_height="wrap_content" android:textSize="16sp" /> + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ccfe32211c6c25397d7b2dcee77e2df512876085..09eb114fe9e1c05d404af275c5647a67cbfd8cff 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,4 +7,6 @@ Artists Albums + + Queue Album