Reinforced response checks on PlaylistRepository

This commit is contained in:
CappielloAntonio 2021-08-24 13:09:07 +02:00
parent b08387a40f
commit 62c076718a

View file

@ -2,9 +2,11 @@ package com.cappielloantonio.play.repository;
import android.app.Application; import android.app.Application;
import androidx.annotation.NonNull;
import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.MutableLiveData;
import com.cappielloantonio.play.App; import com.cappielloantonio.play.App;
import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Playlist; import com.cappielloantonio.play.model.Playlist;
import com.cappielloantonio.play.model.Song; import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.subsonic.models.ResponseStatus; import com.cappielloantonio.play.subsonic.models.ResponseStatus;
@ -20,7 +22,7 @@ import retrofit2.Callback;
import retrofit2.Response; import retrofit2.Response;
public class PlaylistRepository { public class PlaylistRepository {
private Application application; private final Application application;
public PlaylistRepository(Application application) { public PlaylistRepository(Application application) {
this.application = application; this.application = application;
@ -34,8 +36,8 @@ public class PlaylistRepository {
.getPlaylists() .getPlaylists()
.enqueue(new Callback<SubsonicResponse>() { .enqueue(new Callback<SubsonicResponse>() {
@Override @Override
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) { public void onResponse(@NonNull Call<SubsonicResponse> call, @NonNull Response<SubsonicResponse> response) {
if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) { if (response.isSuccessful() && response.body() != null && response.body().getPlaylists() != null) {
List<Playlist> playlists = new ArrayList<>(MappingUtil.mapPlaylist(response.body().getPlaylists().getPlaylists())); List<Playlist> playlists = new ArrayList<>(MappingUtil.mapPlaylist(response.body().getPlaylists().getPlaylists()));
if(random) { if(random) {
Collections.shuffle(playlists); Collections.shuffle(playlists);
@ -48,7 +50,7 @@ public class PlaylistRepository {
} }
@Override @Override
public void onFailure(Call<SubsonicResponse> call, Throwable t) { public void onFailure(@NonNull Call<SubsonicResponse> call, @NonNull Throwable t) {
} }
}); });
@ -63,15 +65,15 @@ public class PlaylistRepository {
.getPlaylist(id) .getPlaylist(id)
.enqueue(new Callback<SubsonicResponse>() { .enqueue(new Callback<SubsonicResponse>() {
@Override @Override
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) { public void onResponse(@NonNull Call<SubsonicResponse> call, @NonNull Response<SubsonicResponse> response) {
if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) { if (response.isSuccessful() && response.body() != null && response.body().getPlaylist() != null) {
List<Song> songs = new ArrayList<>(MappingUtil.mapSong(response.body().getPlaylist().getEntries())); List<Song> songs = new ArrayList<>(MappingUtil.mapSong(response.body().getPlaylist().getEntries()));
listLivePlaylistSongs.setValue(songs); listLivePlaylistSongs.setValue(songs);
} }
} }
@Override @Override
public void onFailure(Call<SubsonicResponse> call, Throwable t) { public void onFailure(@NonNull Call<SubsonicResponse> call, @NonNull Throwable t) {
} }
}); });
@ -84,14 +86,12 @@ public class PlaylistRepository {
.updatePlaylist(playlistId, null, true, songsId, null) .updatePlaylist(playlistId, null, true, songsId, null)
.enqueue(new Callback<SubsonicResponse>() { .enqueue(new Callback<SubsonicResponse>() {
@Override @Override
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) { public void onResponse(@NonNull Call<SubsonicResponse> call, @NonNull Response<SubsonicResponse> response) {
if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) {
}
} }
@Override @Override
public void onFailure(Call<SubsonicResponse> call, Throwable t) { public void onFailure(@NonNull Call<SubsonicResponse> call, @NonNull Throwable t) {
} }
}); });
@ -103,14 +103,12 @@ public class PlaylistRepository {
.createPlaylist(playlistId, name, songsId) .createPlaylist(playlistId, name, songsId)
.enqueue(new Callback<SubsonicResponse>() { .enqueue(new Callback<SubsonicResponse>() {
@Override @Override
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) { public void onResponse(@NonNull Call<SubsonicResponse> call, @NonNull Response<SubsonicResponse> response) {
if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) {
}
} }
@Override @Override
public void onFailure(Call<SubsonicResponse> call, Throwable t) { public void onFailure(@NonNull Call<SubsonicResponse> call, @NonNull Throwable t) {
} }
}); });
@ -122,14 +120,12 @@ public class PlaylistRepository {
.updatePlaylist(playlistId, name, isPublic, songIdToAdd, songIndexToRemove) .updatePlaylist(playlistId, name, isPublic, songIdToAdd, songIndexToRemove)
.enqueue(new Callback<SubsonicResponse>() { .enqueue(new Callback<SubsonicResponse>() {
@Override @Override
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) { public void onResponse(@NonNull Call<SubsonicResponse> call, @NonNull Response<SubsonicResponse> response) {
if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) {
}
} }
@Override @Override
public void onFailure(Call<SubsonicResponse> call, Throwable t) { public void onFailure(@NonNull Call<SubsonicResponse> call, @NonNull Throwable t) {
} }
}); });
@ -141,14 +137,12 @@ public class PlaylistRepository {
.deletePlaylist(playlistId) .deletePlaylist(playlistId)
.enqueue(new Callback<SubsonicResponse>() { .enqueue(new Callback<SubsonicResponse>() {
@Override @Override
public void onResponse(Call<SubsonicResponse> call, Response<SubsonicResponse> response) { public void onResponse(@NonNull Call<SubsonicResponse> call, @NonNull Response<SubsonicResponse> response) {
if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) {
}
} }
@Override @Override
public void onFailure(Call<SubsonicResponse> call, Throwable t) { public void onFailure(@NonNull Call<SubsonicResponse> call, @NonNull Throwable t) {
} }
}); });