Removed download button to album page and added to menu

This commit is contained in:
CappielloAntonio 2021-04-29 11:27:49 +02:00
parent b70819c337
commit 3a1a39691a
6 changed files with 54 additions and 23 deletions

View file

@ -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 {

View file

@ -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() {

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@color/titleTextColor"
android:pathData="M18,15v3H6v-3H4v3c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2v-3H18zM17,11l-1.41,-1.41L13,12.17V4h-2v8.17L8.41,9.59L7,11l5,5L17,11z"/>
</vector>

View file

@ -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" />
<com.google.android.material.button.MaterialButton
android:id="@+id/download_icon_button"
style="@style/SecondaryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:backgroundTint="@color/buttonBackgroundColor"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:text="Download"
android:textAllCaps="false"
app:cornerRadius="18dp"
app:elevation="0dp"
app:layout_constraintBottom_toBottomOf="@+id/album_cover_image_view"
app:layout_constraintStart_toEndOf="@+id/album_cover_image_view" />
<View
android:id="@+id/upper_button_divider"
style="@style/Divider"

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_download_album"
android:icon="@drawable/ic_file_download"
android:iconTint="@color/titleTextColor"
android:title="Download"
app:showAsAction="always" />
</menu>

View file

@ -97,7 +97,7 @@
<style name="ShowcaseSubtitleTextView" parent="InterFontFamily">
<item name="android:textSize">14sp</item>
<item name="android:textFontWeight">700</item>
<item name="android:textFontWeight">500</item>
<item name="android:textColor">@color/subtitleTextColor</item>
</style>