mirror of
https://github.com/antebudimir/tempus.git
synced 2025-12-31 17:43:32 +00:00
Merge branch 'development' into setting-to-hide-song-rating
This commit is contained in:
commit
f1a179e7f8
5 changed files with 57 additions and 1 deletions
|
|
@ -63,7 +63,11 @@ public class RatingDialog extends DialogFragment {
|
||||||
bind.ratingBar.setRating(song.getUserRating() != null ? song.getUserRating() : 0);
|
bind.ratingBar.setRating(song.getUserRating() != null ? song.getUserRating() : 0);
|
||||||
});
|
});
|
||||||
} else if (ratingViewModel.getAlbum() != null) {
|
} else if (ratingViewModel.getAlbum() != null) {
|
||||||
ratingViewModel.getLiveAlbum().observe(this, album -> bind.ratingBar.setRating(/*album.getRating()*/ 0));
|
ratingViewModel.getLiveAlbum().observe(this, album -> {
|
||||||
|
if (album != null) {
|
||||||
|
bind.ratingBar.setRating(album.getUserRating() != null ? album.getUserRating() : 0);
|
||||||
|
}
|
||||||
|
});
|
||||||
} else if (ratingViewModel.getArtist() != null) {
|
} else if (ratingViewModel.getArtist() != null) {
|
||||||
ratingViewModel.getLiveArtist().observe(this, artist -> bind.ratingBar.setRating(/*artist.getRating()*/ 0));
|
ratingViewModel.getLiveArtist().observe(this, artist -> bind.ratingBar.setRating(/*artist.getRating()*/ 0));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import android.content.ComponentName;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Parcelable;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
|
|
@ -27,11 +28,13 @@ import com.cappielloantonio.tempo.databinding.FragmentAlbumPageBinding;
|
||||||
import com.cappielloantonio.tempo.glide.CustomGlideRequest;
|
import com.cappielloantonio.tempo.glide.CustomGlideRequest;
|
||||||
import com.cappielloantonio.tempo.interfaces.ClickCallback;
|
import com.cappielloantonio.tempo.interfaces.ClickCallback;
|
||||||
import com.cappielloantonio.tempo.model.Download;
|
import com.cappielloantonio.tempo.model.Download;
|
||||||
|
import com.cappielloantonio.tempo.subsonic.models.AlbumID3;
|
||||||
import com.cappielloantonio.tempo.service.MediaManager;
|
import com.cappielloantonio.tempo.service.MediaManager;
|
||||||
import com.cappielloantonio.tempo.service.MediaService;
|
import com.cappielloantonio.tempo.service.MediaService;
|
||||||
import com.cappielloantonio.tempo.ui.activity.MainActivity;
|
import com.cappielloantonio.tempo.ui.activity.MainActivity;
|
||||||
import com.cappielloantonio.tempo.ui.adapter.SongHorizontalAdapter;
|
import com.cappielloantonio.tempo.ui.adapter.SongHorizontalAdapter;
|
||||||
import com.cappielloantonio.tempo.ui.dialog.PlaylistChooserDialog;
|
import com.cappielloantonio.tempo.ui.dialog.PlaylistChooserDialog;
|
||||||
|
import com.cappielloantonio.tempo.ui.dialog.RatingDialog;
|
||||||
import com.cappielloantonio.tempo.util.Constants;
|
import com.cappielloantonio.tempo.util.Constants;
|
||||||
import com.cappielloantonio.tempo.util.DownloadUtil;
|
import com.cappielloantonio.tempo.util.DownloadUtil;
|
||||||
import com.cappielloantonio.tempo.util.MappingUtil;
|
import com.cappielloantonio.tempo.util.MappingUtil;
|
||||||
|
|
@ -104,6 +107,16 @@ public class AlbumPageFragment extends Fragment implements ClickCallback {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||||
|
if (item.getItemId() == R.id.action_rate_album) {
|
||||||
|
Bundle bundle = new Bundle();
|
||||||
|
AlbumID3 album = albumPageViewModel.getAlbum().getValue();
|
||||||
|
bundle.putParcelable(Constants.ALBUM_OBJECT, (Parcelable) album);
|
||||||
|
RatingDialog dialog = new RatingDialog();
|
||||||
|
dialog.setArguments(bundle);
|
||||||
|
dialog.show(requireActivity().getSupportFragmentManager(), null);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (item.getItemId() == R.id.action_download_album) {
|
if (item.getItemId() == R.id.action_download_album) {
|
||||||
albumPageViewModel.getAlbumSongLiveList().observe(getViewLifecycleOwner(), songs -> {
|
albumPageViewModel.getAlbumSongLiveList().observe(getViewLifecycleOwner(), songs -> {
|
||||||
DownloadUtil.getDownloadTracker(requireContext()).download(MappingUtil.mapDownloads(songs), songs.stream().map(Download::new).collect(Collectors.toList()));
|
DownloadUtil.getDownloadTracker(requireContext()).download(MappingUtil.mapDownloads(songs), songs.stream().map(Download::new).collect(Collectors.toList()));
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,39 @@
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/rating_container"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="0dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:gravity="center"
|
||||||
|
android:scaleX="0.8"
|
||||||
|
android:scaleY="0.8"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/vertical_guideline"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/player_media_quality_sector">
|
||||||
|
|
||||||
|
<RatingBar
|
||||||
|
android:id="@+id/song_rating_bar"
|
||||||
|
style="?android:attr/ratingBarStyleIndicator"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:numStars="5"
|
||||||
|
android:stepSize="1"
|
||||||
|
android:rating="0"
|
||||||
|
android:isIndicator="false" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/rating_text"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="8dp"
|
||||||
|
android:textSize="12sp"
|
||||||
|
android:textColor="?attr/colorOnSurfaceVariant"
|
||||||
|
android:text=""/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/player_media_title_label"
|
android:id="@+id/player_media_title_label"
|
||||||
style="@style/HeadlineLarge"
|
style="@style/HeadlineLarge"
|
||||||
|
|
|
||||||
|
|
@ -11,4 +11,9 @@
|
||||||
android:icon="@drawable/ic_add"
|
android:icon="@drawable/ic_add"
|
||||||
android:title="@string/menu_add_to_playlist_button"
|
android:title="@string/menu_add_to_playlist_button"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/action_rate_album"
|
||||||
|
android:icon="@drawable/ic_add"
|
||||||
|
android:title="@string/menu_rate_album"
|
||||||
|
app:showAsAction="never" />
|
||||||
</menu>
|
</menu>
|
||||||
|
|
@ -164,6 +164,7 @@
|
||||||
<string name="menu_add_button">Add</string>
|
<string name="menu_add_button">Add</string>
|
||||||
<string name="menu_add_to_playlist_button">Add to playlist</string>
|
<string name="menu_add_to_playlist_button">Add to playlist</string>
|
||||||
<string name="menu_download_all_button">Download all</string>
|
<string name="menu_download_all_button">Download all</string>
|
||||||
|
<string name="menu_rate_album">Rate album</string>
|
||||||
<string name="menu_download_label">Download</string>
|
<string name="menu_download_label">Download</string>
|
||||||
<string name="menu_filter_all">All</string>
|
<string name="menu_filter_all">All</string>
|
||||||
<string name="menu_filter_download">Downloaded</string>
|
<string name="menu_filter_download">Downloaded</string>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue