From 3a1a39691a80b9effbb3484b229312de9b5c6754 Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Thu, 29 Apr 2021 11:27:49 +0200 Subject: [PATCH] Removed download button to album page and added to menu --- .../play/ui/activity/base/BaseActivity.java | 1 - .../play/ui/fragment/AlbumPageFragment.java | 36 ++++++++++++++++--- .../main/res/drawable/ic_file_download.xml | 9 +++++ .../main/res/layout/fragment_album_page.xml | 19 ++-------- app/src/main/res/menu/album_page_menu.xml | 10 ++++++ app/src/main/res/values/styles.xml | 2 +- 6 files changed, 54 insertions(+), 23 deletions(-) create mode 100644 app/src/main/res/drawable/ic_file_download.xml create mode 100644 app/src/main/res/menu/album_page_menu.xml diff --git a/app/src/main/java/com/cappielloantonio/play/ui/activity/base/BaseActivity.java b/app/src/main/java/com/cappielloantonio/play/ui/activity/base/BaseActivity.java index b84bf265..70ce0f2f 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/activity/base/BaseActivity.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/activity/base/BaseActivity.java @@ -250,7 +250,6 @@ public class BaseActivity extends AppCompatActivity implements EasyPermissions.P public void onDownloadsChanged() { // TODO Notificare all'item scaricato che lo stato di download รจ cambiato // sampleAdapter.notifyDataSetChanged(); - Toast.makeText(this, "Download changed", Toast.LENGTH_SHORT).show(); } private static final class MusicStateReceiver extends BroadcastReceiver { diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumPageFragment.java index 8b040c31..9a054428 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumPageFragment.java @@ -1,10 +1,15 @@ package com.cappielloantonio.play.ui.fragment; +import android.os.Build; import android.os.Bundle; import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.view.ViewCompat; import androidx.fragment.app.Fragment; @@ -12,6 +17,7 @@ import androidx.lifecycle.ViewModelProvider; import androidx.recyclerview.widget.LinearLayoutManager; import com.cappielloantonio.play.App; +import com.cappielloantonio.play.R; import com.cappielloantonio.play.adapter.SongResultSearchAdapter; import com.cappielloantonio.play.databinding.FragmentAlbumPageBinding; import com.cappielloantonio.play.glide.CustomGlideRequest; @@ -32,6 +38,18 @@ public class AlbumPageFragment extends Fragment { private SongResultSearchAdapter songResultSearchAdapter; + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setHasOptionsMenu(true); + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + super.onCreateOptionsMenu(menu, inflater); + inflater.inflate(R.menu.album_page_menu, menu); + } + @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); @@ -48,7 +66,6 @@ public class AlbumPageFragment extends Fragment { albumPageViewModel = new ViewModelProvider(requireActivity()).get(AlbumPageViewModel.class); init(); - initDownloadButton(); initBackCover(); initSongsView(); @@ -67,12 +84,21 @@ public class AlbumPageFragment extends Fragment { bind = null; } - private void init() { - albumPageViewModel.setAlbum(getArguments().getParcelable("album_object")); + @Override + public boolean onOptionsItemSelected(@NonNull MenuItem item) { + switch (item.getItemId()) { + case R.id.action_download_album: + DownloadUtil.getDownloadTracker(requireContext()).toggleDownload(albumPageViewModel.getAlbumSongList()); + return true; + default: + break; + } + + return false; } - private void initDownloadButton() { - bind.downloadIconButton.setOnClickListener(v -> DownloadUtil.getDownloadTracker(requireContext()).toggleDownload(albumPageViewModel.getAlbumSongList())); + private void init() { + albumPageViewModel.setAlbum(getArguments().getParcelable("album_object")); } private void initAppBar() { diff --git a/app/src/main/res/drawable/ic_file_download.xml b/app/src/main/res/drawable/ic_file_download.xml new file mode 100644 index 00000000..3f16729b --- /dev/null +++ b/app/src/main/res/drawable/ic_file_download.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/fragment_album_page.xml b/app/src/main/res/layout/fragment_album_page.xml index c8c29b7b..7626e0b6 100644 --- a/app/src/main/res/layout/fragment_album_page.xml +++ b/app/src/main/res/layout/fragment_album_page.xml @@ -50,6 +50,7 @@ android:ellipsize="end" android:maxLines="2" android:singleLine="false" + android:text="American Idiot" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/album_cover_image_view" app:layout_constraintTop_toTopOf="@+id/album_cover_image_view" /> @@ -63,6 +64,7 @@ android:layout_marginEnd="16dp" android:ellipsize="end" android:maxLines="1" + android:text="Green Day" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/album_cover_image_view" app:layout_constraintTop_toBottomOf="@+id/album_name_label" /> @@ -74,26 +76,11 @@ android:layout_height="wrap_content" android:layout_marginStart="12dp" android:layout_marginEnd="16dp" + android:text="2004" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/album_cover_image_view" app:layout_constraintTop_toBottomOf="@+id/album_artist_label" /> - - + + + \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 70c60bf2..53761777 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -97,7 +97,7 @@