1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
package it.niedermann.nextcloud.deck.persistence.sync.adapters;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import java.util.Date;
import java.util.List;
import it.niedermann.nextcloud.deck.DeckConsts;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.api.ApiProvider;
import it.niedermann.nextcloud.deck.api.IResponseCallback;
import it.niedermann.nextcloud.deck.api.RequestHelper;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Card;
import it.niedermann.nextcloud.deck.model.Stack;
public class ServerAdapter implements IPersistenceAdapter {
private Context applicationContext;
private ApiProvider provider;
private Activity sourceActivity;
private SharedPreferences lastSyncPref;
public ServerAdapter(Context applicationContext, Activity sourceActivity) {
this.applicationContext = applicationContext;
this.sourceActivity = sourceActivity;
provider = new ApiProvider(applicationContext);
lastSyncPref = applicationContext.getSharedPreferences(
applicationContext.getString(R.string.shared_preference_last_sync), Context.MODE_PRIVATE);
}
private Date getLastSync() {
return null;
// FIXME: reactivate, when lastSync is working in REST-API
// Date lastSync = new Date();
// lastSync.setTime(lastSyncPref.getLong(DeckConsts.LAST_SYNC_KEY, 0L));
// return lastSync;
}
@Override
public void getBoards(long accountId, List<Board> responseCallback) {
RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().getBoards(getLastSync()), responseCallback);
}
@Override
public void createBoard(long accountId, Board board) {
// throw new IllegalStateException // when offline /
}
@Override
public void deleteBoard(Board board) {
}
@Override
public void updateBoard(Board board) {
}
@Override
public void getStacks(long accountId, long boardId, IResponseCallback<List<Stack>> responseCallback) {
RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().getStacks(boardId, getLastSync()), responseCallback);
}
@Override
public void getStack(long accountId, long boardId, long stackId, IResponseCallback<Stack> responseCallback) {
RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().getStack(boardId, stackId, getLastSync()), responseCallback);
}
@Override
public void createStack(long accountId, Stack stack) {
}
@Override
public void deleteStack(Stack stack) {
}
@Override
public void updateStack(Stack stack) {
}
@Override
public void getCard(long accountId, long boardId, long stackId, long cardId, IResponseCallback<Card> responseCallback) {
RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().getCard(boardId, stackId, cardId, getLastSync()), responseCallback);
}
@Override
public void createCard(long accountId, Card card) {
}
@Override
public void deleteCard(Card card) {
}
@Override
public void updateCard(Card card) {
}
}
|