mirror of
https://gitlab.com/ultrasonic/ultrasonic.git
synced 2025-05-14 06:16:36 +03:00
Use getLicense() method from Subsonic API kotlin implementation.
Replace in RESTMusicService isLicenseValid() method body to use new kotlin subsonic API.
This commit is contained in:
parent
0d3c0f0334
commit
67601262de
@ -23,6 +23,7 @@ import android.content.SharedPreferences;
|
|||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
import android.net.NetworkInfo;
|
import android.net.NetworkInfo;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@ -54,6 +55,7 @@ import org.apache.http.protocol.ExecutionContext;
|
|||||||
import org.apache.http.protocol.HttpContext;
|
import org.apache.http.protocol.HttpContext;
|
||||||
import org.moire.ultrasonic.R;
|
import org.moire.ultrasonic.R;
|
||||||
import org.moire.ultrasonic.api.subsonic.SubsonicAPIClient;
|
import org.moire.ultrasonic.api.subsonic.SubsonicAPIClient;
|
||||||
|
import org.moire.ultrasonic.api.subsonic.response.LicenseResponse;
|
||||||
import org.moire.ultrasonic.api.subsonic.response.SubsonicResponse;
|
import org.moire.ultrasonic.api.subsonic.response.SubsonicResponse;
|
||||||
import org.moire.ultrasonic.domain.Bookmark;
|
import org.moire.ultrasonic.domain.Bookmark;
|
||||||
import org.moire.ultrasonic.domain.ChatMessage;
|
import org.moire.ultrasonic.domain.ChatMessage;
|
||||||
@ -67,7 +69,6 @@ import org.moire.ultrasonic.domain.Playlist;
|
|||||||
import org.moire.ultrasonic.domain.PodcastsChannel;
|
import org.moire.ultrasonic.domain.PodcastsChannel;
|
||||||
import org.moire.ultrasonic.domain.SearchCriteria;
|
import org.moire.ultrasonic.domain.SearchCriteria;
|
||||||
import org.moire.ultrasonic.domain.SearchResult;
|
import org.moire.ultrasonic.domain.SearchResult;
|
||||||
import org.moire.ultrasonic.domain.ServerInfo;
|
|
||||||
import org.moire.ultrasonic.domain.Share;
|
import org.moire.ultrasonic.domain.Share;
|
||||||
import org.moire.ultrasonic.domain.UserInfo;
|
import org.moire.ultrasonic.domain.UserInfo;
|
||||||
import org.moire.ultrasonic.domain.Version;
|
import org.moire.ultrasonic.domain.Version;
|
||||||
@ -78,7 +79,6 @@ import org.moire.ultrasonic.service.parser.ErrorParser;
|
|||||||
import org.moire.ultrasonic.service.parser.GenreParser;
|
import org.moire.ultrasonic.service.parser.GenreParser;
|
||||||
import org.moire.ultrasonic.service.parser.IndexesParser;
|
import org.moire.ultrasonic.service.parser.IndexesParser;
|
||||||
import org.moire.ultrasonic.service.parser.JukeboxStatusParser;
|
import org.moire.ultrasonic.service.parser.JukeboxStatusParser;
|
||||||
import org.moire.ultrasonic.service.parser.LicenseParser;
|
|
||||||
import org.moire.ultrasonic.service.parser.LyricsParser;
|
import org.moire.ultrasonic.service.parser.LyricsParser;
|
||||||
import org.moire.ultrasonic.service.parser.MusicDirectoryParser;
|
import org.moire.ultrasonic.service.parser.MusicDirectoryParser;
|
||||||
import org.moire.ultrasonic.service.parser.MusicFoldersParser;
|
import org.moire.ultrasonic.service.parser.MusicFoldersParser;
|
||||||
@ -199,25 +199,18 @@ public class RESTMusicService implements MusicService
|
|||||||
updateProgressListener(progressListener);
|
updateProgressListener(progressListener);
|
||||||
|
|
||||||
final Response<SubsonicResponse> response = subsonicAPIClient.getApi().ping().execute();
|
final Response<SubsonicResponse> response = subsonicAPIClient.getApi().ping().execute();
|
||||||
if (!response.isSuccessful() ||
|
checkResponseSuccessful(response);
|
||||||
response.body().getStatus() == SubsonicResponse.Status.ERROR) {
|
|
||||||
throw new IOException("Ping request failed");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isLicenseValid(Context context, ProgressListener progressListener) throws Exception
|
public boolean isLicenseValid(Context context, ProgressListener progressListener)
|
||||||
{
|
throws Exception {
|
||||||
Reader reader = getReader(context, progressListener, "getLicense", null);
|
updateProgressListener(progressListener);
|
||||||
try
|
|
||||||
{
|
final Response<LicenseResponse> response = subsonicAPIClient.getApi().getLicense().execute();
|
||||||
ServerInfo serverInfo = new LicenseParser(context).parse(reader);
|
|
||||||
return serverInfo.isLicenseValid();
|
checkResponseSuccessful(response);
|
||||||
}
|
return response.body().getLicense().getValid();
|
||||||
finally
|
|
||||||
{
|
|
||||||
Util.close(reader);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1789,4 +1782,19 @@ public class RESTMusicService implements MusicService
|
|||||||
progressListener.updateProgress(R.string.service_connecting);
|
progressListener.updateProgress(R.string.service_connecting);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkResponseSuccessful(@NonNull final Response<? extends SubsonicResponse> response)
|
||||||
|
throws IOException {
|
||||||
|
if (response.isSuccessful() &&
|
||||||
|
response.body().getStatus() == SubsonicResponse.Status.OK) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.body().getStatus() == SubsonicResponse.Status.ERROR &&
|
||||||
|
response.body().getError() != null) {
|
||||||
|
throw new IOException("Server error: " + response.body().getError().getCode());
|
||||||
|
} else {
|
||||||
|
throw new IOException("Failed to perform request: " + response.code());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user