Removed cardview overlay where possible

This commit is contained in:
CappielloAntonio 2021-04-16 10:08:31 +02:00
parent 277a07ef92
commit c190e8777e
21 changed files with 312 additions and 363 deletions

View file

@ -91,6 +91,10 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
notifyDataSetChanged();
}
public List<Song> getItems() {
return this.songs;
}
public Song getItem(int id) {
return songs.get(id);
}

View file

@ -41,6 +41,9 @@ public interface QueueDao {
@Delete
void delete(Queue songQueueObject);
@Query("DELETE FROM queue WHERE queue.rowid = :position")
void deleteByPosition(int position);
@Query("DELETE FROM queue")
void deleteAll();

View file

@ -108,6 +108,12 @@ public class QueueRepository {
thread.start();
}
public void deleteByPosition(int position) {
DeleteByPositionThreadSafe delete = new DeleteByPositionThreadSafe(queueDao, position);
Thread thread = new Thread(delete);
thread.start();
}
public void deleteAll() {
DeleteAllThreadSafe delete = new DeleteAllThreadSafe(queueDao);
Thread thread = new Thread(delete);
@ -189,6 +195,21 @@ public class QueueRepository {
}
}
private static class DeleteByPositionThreadSafe implements Runnable {
private QueueDao queueDao;
private int position;
public DeleteByPositionThreadSafe(QueueDao queueDao,int position) {
this.queueDao = queueDao;
this.position = position;
}
@Override
public void run() {
queueDao.deleteByPosition(position);
}
}
private static class CountThreadSafe implements Runnable {
private QueueDao queueDao;
private int count = 0;

View file

@ -14,7 +14,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2;
import com.cappielloantonio.play.R;
@ -31,6 +33,8 @@ import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.util.PreferenceUtil;
import com.cappielloantonio.play.viewmodel.PlayerBottomSheetViewModel;
import java.util.Collections;
public class PlayerBottomSheetFragment extends Fragment implements MusicServiceEventListener, MusicProgressViewUpdateHelper.Callback {
private static final String TAG = "PlayerBottomSheetFragment";
@ -139,6 +143,34 @@ public class PlayerBottomSheetFragment extends Fragment implements MusicServiceE
playerSongQueueAdapter = new PlayerSongQueueAdapter(requireContext(), this);
bind.playerBodyLayout.playerQueueRecyclerView.setAdapter(playerSongQueueAdapter);
playerBottomSheetViewModel.getQueueSong().observe(requireActivity(), songs -> playerSongQueueAdapter.setItems(songs));
new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.LEFT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
int fromPosition = viewHolder.getBindingAdapterPosition();
int toPosition = target.getBindingAdapterPosition();
Collections.swap(playerSongQueueAdapter.getItems(), fromPosition, toPosition);
bind.playerBodyLayout.playerQueueRecyclerView.getAdapter().notifyItemMoved(fromPosition, toPosition);
// bind.playerBodyLayout.playerSongCoverViewPager.getAdapter().notifyItemMoved(fromPosition, toPosition);
// bind.playerBodyLayout.playerQueueRecyclerView.getAdapter().notifyDataSetChanged();
// bind.playerBodyLayout.playerSongCoverViewPager.getAdapter().notifyDataSetChanged();
// MusicPlayerRemote.moveSong(fromPosition, toPosition);
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
Log.i(TAG, "onSwiped: " + viewHolder.getBindingAdapterPosition());
Log.i(TAG, "onSwiped: " + MusicPlayerRemote.getPlayingQueue().get(viewHolder.getBindingAdapterPosition()).getTitle());
playerBottomSheetViewModel.removeSong(viewHolder.getBindingAdapterPosition());
}
}
).attachToRecyclerView(bind.playerBodyLayout.playerQueueRecyclerView);
}
private void initFavoriteButtonClick() {

View file

@ -61,6 +61,7 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements
titleAlbum = view.findViewById(R.id.album_title_text_view);
titleAlbum.setText(albumBottomSheetViewModel.getAlbum().getTitle());
titleAlbum.setSelected(true);
artistAlbum = view.findViewById(R.id.album_artist_text_view);
artistAlbum.setText(albumBottomSheetViewModel.getAlbum().getArtistName());

View file

@ -53,6 +53,7 @@ public class ArtistBottomSheetDialog extends BottomSheetDialogFragment implement
nameArtist = view.findViewById(R.id.song_title_text_view);
nameArtist.setText(artistBottomSheetViewModel.getArtist().getName());
nameArtist.setSelected(true);
playRadio = view.findViewById(R.id.play_radio_text_view);
playRadio.setOnClickListener(v -> {

View file

@ -64,6 +64,7 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements
titleSong = view.findViewById(R.id.song_title_text_view);
titleSong.setText(songBottomSheetViewModel.getSong().getTitle());
titleSong.setSelected(true);
artistSong = view.findViewById(R.id.song_artist_text_view);
artistSong.setText(songBottomSheetViewModel.getSong().getArtistName());

View file

@ -49,4 +49,8 @@ public class PlayerBottomSheetViewModel extends AndroidViewModel {
public void setSong(Song song) {
this.song = song;
}
public void removeSong(int position) {
queueRepository.deleteByPosition(position);
}
}

View file

@ -2,7 +2,6 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
@ -16,35 +15,27 @@
android:paddingEnd="20dp">
<!-- Header -->
<androidx.cardview.widget.CardView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/album_cover_image_view"
android:layout_width="54dp"
android:layout_height="54dp"
android:layout_margin="2dp"
android:backgroundTint="@color/cardColor"
android:paddingTop="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/subtitleTextColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="0dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="false">
<ImageView
android:id="@+id/album_cover_image_view"
android:layout_width="54dp"
android:layout_height="54dp" />
</androidx.cardview.widget.CardView>
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/album_title_text_view"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxLines="1"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:paddingTop="8dp"
android:paddingStart="12dp"
android:paddingEnd="12dp"
@ -52,19 +43,21 @@
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover_image_view"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/album_artist_text_view"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp"
app:layout_constraintStart_toEndOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/album_cover_image_view"
app:layout_constraintTop_toBottomOf="@+id/album_title_text_view" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -16,35 +16,27 @@
android:paddingEnd="20dp">
<!-- Header -->
<androidx.cardview.widget.CardView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/artist_cover_image_view"
android:layout_width="54dp"
android:layout_height="54dp"
android:layout_margin="2dp"
android:backgroundTint="@color/cardColor"
android:paddingTop="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/subtitleTextColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="0dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="false">
<ImageView
android:id="@+id/artist_cover_image_view"
android:layout_width="54dp"
android:layout_height="54dp" />
</androidx.cardview.widget.CardView>
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/song_title_text_view"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxLines="1"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:text="@string/label_placeholder"
@ -52,7 +44,7 @@
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView"
app:layout_constraintStart_toEndOf="@+id/artist_cover_image_view"
app:layout_constraintTop_toTopOf="parent" />

View file

@ -2,7 +2,6 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
@ -17,27 +16,15 @@
android:clipChildren="false">
<!-- Header -->
<androidx.cardview.widget.CardView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/song_cover_image_view"
android:layout_width="54dp"
android:layout_height="54dp"
android:layout_margin="2dp"
android:backgroundTint="@color/cardColor"
android:paddingTop="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/subtitleTextColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="0dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="false">
<ImageView
android:id="@+id/song_cover_image_view"
android:layout_width="54dp"
android:layout_height="54dp" />
</androidx.cardview.widget.CardView>
app:layout_constraintTop_toTopOf="parent"/>
<ToggleButton
android:id="@+id/button_favorite"
@ -56,11 +43,15 @@
<TextView
android:id="@+id/song_title_text_view"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxLines="1"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:layout_marginTop="8dp"
android:paddingStart="12dp"
android:paddingEnd="12dp"
@ -68,19 +59,21 @@
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@+id/imageView"
app:layout_constraintEnd_toStartOf="@id/button_favorite"
app:layout_constraintStart_toEndOf="@+id/song_cover_image_view"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/song_artist_text_view"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp"
app:layout_constraintStart_toEndOf="@+id/imageView"
app:layout_constraintEnd_toStartOf="@id/button_favorite"
app:layout_constraintStart_toEndOf="@+id/song_cover_image_view"
app:layout_constraintTop_toBottomOf="@+id/song_title_text_view" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -1,40 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingEnd="8dp">
<androidx.cardview.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/artist_page_album_cover_image_view"
android:layout_width="256dp"
android:layout_height="256dp"
android:layout_gravity="center"
android:backgroundTint="@color/cardColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
android:foreground="?attr/selectableItemBackground">
<ImageView
android:id="@+id/artist_page_album_cover_image_view"
android:layout_width="256dp"
android:layout_height="256dp" />
</androidx.cardview.widget.CardView>
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/album_name_label"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxWidth="256dp"
android:maxLines="2"
android:paddingStart="2dp"
android:paddingTop="8dp"
android:singleLine="false"
android:textColor="@color/titleTextColor"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/artist_page_album_cover_image_view"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -1,51 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="180dp"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingEnd="8dp">
<androidx.cardview.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/track_cover_image_view"
android:layout_width="172dp"
android:layout_height="172dp"
android:layout_gravity="center"
android:backgroundTint="@color/cardColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
android:foreground="?attr/selectableItemBackground">
<ImageView
android:id="@+id/track_cover_image_view"
android:layout_width="172dp"
android:layout_height="172dp" />
</androidx.cardview.widget.CardView>
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/title_track_label"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxWidth="172dp"
android:maxLines="2"
android:paddingStart="2dp"
android:paddingTop="8dp"
android:singleLine="false"
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold" />
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/track_cover_image_view"/>
<TextView
android:id="@+id/album_track_label"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxLines="1"
android:paddingStart="2dp"
android:textColor="@color/titleTextColor"
android:textSize="12sp" />
</LinearLayout>
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/title_track_label"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -1,53 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="180dp"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingEnd="8dp">
<androidx.cardview.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/album_cover_image_view"
android:layout_width="172dp"
android:layout_height="172dp"
android:layout_gravity="center"
android:backgroundTint="@color/cardColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
android:foreground="?attr/selectableItemBackground">
<ImageView
android:id="@+id/album_cover_image_view"
android:layout_width="172dp"
android:layout_height="172dp" />
</androidx.cardview.widget.CardView>
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/album_name_label"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxWidth="172dp"
android:maxLines="2"
android:paddingStart="2dp"
android:paddingTop="8dp"
android:singleLine="false"
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold" />
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/album_cover_image_view"/>
<TextView
android:id="@+id/artist_name_label"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxWidth="172dp"
android:maxLines="1"
android:paddingStart="2dp"
android:singleLine="false"
android:textColor="@color/titleTextColor"
android:textSize="12sp" />
</LinearLayout>
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/album_name_label"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -1,42 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="180dp"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingEnd="8dp">
<androidx.cardview.widget.CardView
android:id="@+id/card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/artist_cover_image_view"
android:layout_width="172dp"
android:layout_height="172dp"
android:layout_gravity="center"
android:backgroundTint="@color/cardColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
android:foreground="?attr/selectableItemBackground">
<ImageView
android:id="@+id/artist_cover_image_view"
android:layout_width="172dp"
android:layout_height="172dp" />
</androidx.cardview.widget.CardView>
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/artist_name_label"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxWidth="172dp"
android:maxLines="1"
android:paddingStart="2dp"
android:paddingTop="8dp"
android:singleLine="false"
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/artist_cover_image_view"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -2,59 +2,44 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:layout_height="wrap_content">
<androidx.cardview.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
<ImageView
android:id="@+id/album_catalogue_cover_image_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:backgroundTint="@color/cardColor"
app:layout_constraintDimensionRatio="W, 1:1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
android:foreground="?attr/selectableItemBackground">
<ImageView
android:id="@+id/album_catalogue_cover_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.cardview.widget.CardView>
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/album_name_label"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxWidth="172dp"
android:maxLines="2"
android:paddingStart="2dp"
android:paddingTop="8dp"
android:singleLine="false"
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/card_view" />
app:layout_constraintTop_toBottomOf="@+id/album_catalogue_cover_image_view" />
<TextView
android:id="@+id/artist_name_label"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxWidth="172dp"
android:maxLines="1"
android:paddingStart="2dp"
android:paddingBottom="16dp"
android:singleLine="false"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/album_name_label" />

View file

@ -1,46 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:layout_height="wrap_content">
<androidx.cardview.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
<ImageView
android:id="@+id/artist_catalogue_cover_image_view"
android:layout_width="0dp"
android:layout_height="0dp"
android:backgroundTint="@color/cardColor"
app:layout_constraintDimensionRatio="W, 1:1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
android:foreground="?attr/selectableItemBackground">
<ImageView
android:id="@+id/artist_catalogue_cover_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.cardview.widget.CardView>
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/artist_name_label"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/open_sans_font_family"
android:maxWidth="172dp"
android:maxLines="2"
android:paddingStart="2dp"
android:paddingTop="8dp"
android:paddingBottom="16dp"
android:singleLine="false"
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/card_view" />
app:layout_constraintTop_toBottomOf="@+id/artist_catalogue_cover_image_view" />
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -1,16 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<ImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/now_playing_song_cover_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="24dp"
android:backgroundTint="@color/cardColor"
app:cardCornerRadius="4dp"
android:foreground="?android:attr/selectableItemBackground">
<ImageView
android:id="@+id/now_playing_song_cover_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.cardview.widget.CardView>
android:foreground="?android:attr/selectableItemBackground"/>

View file

@ -1,6 +1,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
@ -8,67 +8,53 @@
android:paddingTop="3dp"
android:paddingEnd="24dp"
android:paddingBottom="3dp"
android:background="?attr/selectableItemBackground">
android:background="@color/cardColor"
android:foreground="?attr/selectableItemBackground">
<androidx.cardview.widget.CardView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/queue_song_cover_image_view"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_gravity="center"
android:layout_margin="2dp"
android:backgroundTint="@color/cardColor"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/subtitleTextColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="false">
app:layout_constraintTop_toTopOf="parent"/>
<ImageView
android:id="@+id/queue_song_cover_image_view"
android:layout_width="52dp"
android:layout_height="52dp" />
</androidx.cardview.widget.CardView>
<LinearLayout
<TextView
android:id="@+id/queue_song_title_text_view"
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1">
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:paddingTop="10dp"
android:paddingEnd="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@+id/queue_song_cover_image_view"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@+id/queue_song_dragger_image"/>
<TextView
android:id="@+id/queue_song_title_text_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:paddingTop="10dp"
android:paddingEnd="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/queue_song_artist_text_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:id="@+id/queue_song_artist_text_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp"
app:layout_constraintTop_toBottomOf="@+id/queue_song_title_text_view"
app:layout_constraintStart_toEndOf="@+id/queue_song_cover_image_view"
app:layout_constraintEnd_toStartOf="@+id/queue_song_dragger_image"/>
<ImageView
android:id="@+id/queue_song_dragger_image"
@ -77,5 +63,8 @@
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:gravity="center_vertical"
android:src="@drawable/ic_drag_handle" />
</LinearLayout>
android:src="@drawable/ic_drag_handle"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -1,6 +1,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
@ -10,65 +10,50 @@
android:paddingBottom="3dp"
android:background="?attr/selectableItemBackground">
<androidx.cardview.widget.CardView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/song_cover_image_view"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_gravity="center"
android:layout_margin="2dp"
android:backgroundTint="@color/cardColor"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:tint="@color/subtitleTextColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="false">
app:layout_constraintTop_toTopOf="parent"/>
<ImageView
android:id="@+id/song_cover_image_view"
android:layout_width="52dp"
android:layout_height="52dp" />
</androidx.cardview.widget.CardView>
<LinearLayout
<TextView
android:id="@+id/search_result_song_title_text_view"
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1">
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:paddingTop="10dp"
android:paddingEnd="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toEndOf="@+id/song_cover_image_view"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@+id/search_result_song_duration_text_view"/>
<TextView
android:id="@+id/search_result_song_title_text_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollHorizontally="true"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:paddingTop="10dp"
android:paddingEnd="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/titleTextColor"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/search_result_song_artist_text_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp" />
</LinearLayout>
<TextView
android:id="@+id/search_result_song_artist_text_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp"
app:layout_constraintTop_toBottomOf="@+id/search_result_song_title_text_view"
app:layout_constraintStart_toEndOf="@+id/song_cover_image_view"
app:layout_constraintEnd_toStartOf="@+id/search_result_song_duration_text_view"/>
<TextView
android:id="@+id/search_result_song_duration_text_view"
@ -80,5 +65,8 @@
android:gravity="center_vertical"
android:text="@string/label_placeholder"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp" />
</LinearLayout>
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -8,27 +8,15 @@
android:background="@color/almostCardColor"
android:clipChildren="false">
<androidx.cardview.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/player_header_song_cover_card_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/player_header_song_cover_image"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_marginStart="12dp"
android:layout_gravity="center"
android:backgroundTint="@color/cardColor"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardUseCompatPadding="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/player_header_song_cover_image"
android:layout_width="42dp"
android:layout_height="42dp" />
</androidx.cardview.widget.CardView>
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/player_header_song_title_label"
@ -42,7 +30,7 @@
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/player_header_button"
app:layout_constraintStart_toEndOf="@+id/player_header_song_cover_card_view"
app:layout_constraintStart_toEndOf="@+id/player_header_song_cover_image"
app:layout_constraintTop_toTopOf="parent" />
<TextView
@ -54,7 +42,7 @@
android:textColor="@color/subtitleTextColor"
android:textSize="12sp"
app:layout_constraintEnd_toStartOf="@+id/player_header_button"
app:layout_constraintStart_toEndOf="@+id/player_header_song_cover_card_view"
app:layout_constraintStart_toEndOf="@+id/player_header_song_cover_image"
app:layout_constraintTop_toBottomOf="@+id/player_header_song_title_label" />
<ToggleButton