blob: cad3457a87f33f31991c1d6e5ad6c09a6ab8ba52 (
plain)
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
|
package it.niedermann.nextcloud.deck.remote.api;
import android.content.Context;
import androidx.annotation.NonNull;
import com.nextcloud.android.sso.api.NextcloudAPI;
import com.nextcloud.android.sso.model.SingleSignOnAccount;
import retrofit2.NextcloudRetrofitApiBuilder;
/**
* Created by david on 26.05.17.
*/
public class ApiProvider {
private static final String DECK_API_ENDPOINT = "/index.php/apps/deck/api/";
private static final String NC_API_ENDPOINT = "/ocs/v2.php/";
private DeckAPI deckAPI;
private NextcloudServerAPI nextcloudAPI;
@NonNull
private final Context context;
private final SingleSignOnAccount ssoAccount;
public ApiProvider(@NonNull Context context, @NonNull SingleSignOnAccount ssoAccount) {
this.context = context;
this.ssoAccount = ssoAccount;
}
public synchronized void initSsoApi(@NonNull final NextcloudAPI.ApiConnectedListener callback) {
if (this.deckAPI == null) {
final var nextcloudAPI = new NextcloudAPI(context, ssoAccount, GsonConfig.getGson(), callback);
this.deckAPI = new NextcloudRetrofitApiBuilder(nextcloudAPI, DECK_API_ENDPOINT).create(DeckAPI.class);
this.nextcloudAPI = new NextcloudRetrofitApiBuilder(nextcloudAPI, NC_API_ENDPOINT).create(NextcloudServerAPI.class);
}
}
public DeckAPI getDeckAPI() {
return deckAPI;
}
public NextcloudServerAPI getNextcloudAPI() {
return nextcloudAPI;
}
}
|