tempus/app/src/main/java/com/cappielloantonio/play/subsonic/Subsonic.java

53 lines
1.4 KiB
Java
Raw Normal View History

2021-07-24 12:27:45 +02:00
package com.cappielloantonio.play.subsonic;
2021-07-24 14:48:33 +02:00
import com.cappielloantonio.play.subsonic.api.system.SystemClient;
2021-07-24 12:27:45 +02:00
import com.cappielloantonio.play.subsonic.base.Version;
2021-07-24 14:48:33 +02:00
import java.util.HashMap;
2021-07-24 12:27:45 +02:00
import java.util.Map;
public class Subsonic {
private final SubsonicPreferences preferences;
private static final Version API_MAX_VERSION = Version.of("1.15.0");
private Version apiVersion = API_MAX_VERSION;
2021-07-24 14:48:33 +02:00
private SystemClient systemClient;
2021-07-24 12:27:45 +02:00
public Subsonic(SubsonicPreferences preferences) {
this.preferences = preferences;
}
public SubsonicPreferences getPreferences() {
return preferences;
}
public Version getApiVersion() {
return apiVersion;
}
2021-07-24 14:48:33 +02:00
public SystemClient getSystemClient() {
if (systemClient == null) {
systemClient = new SystemClient(this);
}
return systemClient;
}
2021-07-24 12:27:45 +02:00
2021-07-24 14:48:33 +02:00
public String getUrl() {
return preferences.getServerUrl() + "/rest/";
}
2021-07-24 12:27:45 +02:00
2021-07-24 14:48:33 +02:00
public Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("u", preferences.getUsername());
params.put("s", preferences.getAuthentication().getSalt());
params.put("t", preferences.getAuthentication().getToken());
params.put("v", getApiVersion().getVersionString());
params.put("c", preferences.getClientName());
params.put("f", "json");
2021-07-24 12:27:45 +02:00
2021-07-24 14:48:33 +02:00
return params;
2021-07-24 12:27:45 +02:00
}
}