mirror of
https://github.com/antebudimir/tempus.git
synced 2026-01-02 10:23:33 +00:00
Revised the gestures of the server adapter
This commit is contained in:
parent
642c41f0c0
commit
d88094b0cf
11 changed files with 195 additions and 21 deletions
|
|
@ -5,8 +5,11 @@ import android.app.Application;
|
|||
import androidx.lifecycle.LiveData;
|
||||
|
||||
import com.cappielloantonio.play.database.AppDatabase;
|
||||
import com.cappielloantonio.play.database.dao.QueueDao;
|
||||
import com.cappielloantonio.play.database.dao.ServerDao;
|
||||
import com.cappielloantonio.play.model.Server;
|
||||
import com.cappielloantonio.play.model.Song;
|
||||
import com.cappielloantonio.play.util.QueueUtil;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -38,6 +41,20 @@ public class ServerRepository {
|
|||
thread.start();
|
||||
}
|
||||
|
||||
public void order(List<Server> servers) {
|
||||
try {
|
||||
final Thread delete = new Thread(new DeleteAllThreadSafe(serverDao));
|
||||
final Thread insertAll = new Thread(new InsertAllThreadSafe(serverDao, servers));
|
||||
|
||||
delete.start();
|
||||
delete.join();
|
||||
insertAll.start();
|
||||
insertAll.join();
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static class InsertThreadSafe implements Runnable {
|
||||
private ServerDao serverDao;
|
||||
private Server server;
|
||||
|
|
@ -67,4 +84,32 @@ public class ServerRepository {
|
|||
serverDao.delete(server);
|
||||
}
|
||||
}
|
||||
|
||||
private static class InsertAllThreadSafe implements Runnable {
|
||||
private ServerDao serverDao;
|
||||
private List<Server> servers;
|
||||
|
||||
public InsertAllThreadSafe(ServerDao queueDao, List<Server> servers) {
|
||||
this.serverDao = queueDao;
|
||||
this.servers = servers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
serverDao.insertAll(servers);
|
||||
}
|
||||
}
|
||||
|
||||
private static class DeleteAllThreadSafe implements Runnable {
|
||||
private ServerDao serverDao;
|
||||
|
||||
public DeleteAllThreadSafe(ServerDao serverDao) {
|
||||
this.serverDao = serverDao;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
serverDao.deleteAll();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,14 +25,19 @@ public class SystemRepository {
|
|||
.enqueue(new Callback<SubsonicResponse>() {
|
||||
@Override
|
||||
public void onResponse(Call<SubsonicResponse> call, retrofit2.Response<SubsonicResponse> response) {
|
||||
if (response.body().getStatus().getValue().equals(ResponseStatus.FAILED)) {
|
||||
callback.onError(new Exception(response.body().getError().getCode().getValue() + " - " + response.body().getError().getMessage()));
|
||||
} else if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) {
|
||||
String salt = response.raw().request().url().queryParameter("s");
|
||||
String token = response.raw().request().url().queryParameter("t");
|
||||
callback.onSuccess(token, salt);
|
||||
} else {
|
||||
callback.onError(new Exception("Empty response"));
|
||||
if(response.body() != null) {
|
||||
if (response.body().getStatus().getValue().equals(ResponseStatus.FAILED)) {
|
||||
callback.onError(new Exception(response.body().getError().getCode().getValue() + " - " + response.body().getError().getMessage()));
|
||||
} else if (response.body().getStatus().getValue().equals(ResponseStatus.OK)) {
|
||||
String salt = response.raw().request().url().queryParameter("s");
|
||||
String token = response.raw().request().url().queryParameter("t");
|
||||
callback.onSuccess(token, salt);
|
||||
} else {
|
||||
callback.onError(new Exception("Empty response"));
|
||||
}
|
||||
}
|
||||
else {
|
||||
callback.onError(new Exception(String.valueOf(response.code())));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue