Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2021-03-24 15:06:00 +0300
committerGitHub <noreply@github.com>2021-03-24 15:06:00 +0300
commitefd3ad59e17fadb5c7638d51f8ae36d538be88b3 (patch)
tree21eb62122a48855bfa4acfa55f1fad121b077d7c /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters
parent0e7f8d449e6780120ef641c07cca04ca8e017046 (diff)
Provide setting to disable eTags
See #888
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java
index a1051b98c..8cadbaec8 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java
@@ -53,6 +53,8 @@ import static it.niedermann.nextcloud.deck.util.MimeTypeUtil.TEXT_PLAIN;
public class ServerAdapter {
private final String prefKeyWifiOnly;
+ private final String prefKeyEtags;
+ final SharedPreferences sharedPreferences;
@NonNull
private final Context applicationContext;
@@ -65,7 +67,9 @@ public class ServerAdapter {
public ServerAdapter(@NonNull Context applicationContext, @Nullable String ssoAccountName) {
this.applicationContext = applicationContext;
prefKeyWifiOnly = applicationContext.getResources().getString(R.string.pref_key_wifi_only);
+ prefKeyEtags = applicationContext.getResources().getString(R.string.pref_key_etags);
provider = new ApiProvider(applicationContext, ssoAccountName);
+ sharedPreferences = PreferenceManager.getDefaultSharedPreferences(applicationContext);
}
public String getServerUrl() {
@@ -90,7 +94,6 @@ public class ServerAdapter {
public boolean hasInternetConnection() {
ConnectivityManager cm = (ConnectivityManager) applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm != null) {
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(applicationContext);
if (sharedPreferences.getBoolean(prefKeyWifiOnly, false)) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
Network network = cm.getActiveNetwork();
@@ -106,8 +109,6 @@ public class ServerAdapter {
}
return networkInfo.isConnected();
}
-
-
} else {
return cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected();
}
@@ -128,9 +129,13 @@ public class ServerAdapter {
}
public void getBoards(IResponseCallback<ParsedResponse<List<FullBoard>>> responseCallback) {
- RequestHelper.request(provider, () ->
- provider.getDeckAPI().getBoards(true, getLastSyncDateFormatted(responseCallback.getAccount().getId()), responseCallback.getAccount().getBoardsEtag()),
- responseCallback);
+ RequestHelper.request(provider, () -> isEtagsEnabled()
+ ? provider.getDeckAPI().getBoards(true, getLastSyncDateFormatted(responseCallback.getAccount().getId()), responseCallback.getAccount().getBoardsEtag())
+ : provider.getDeckAPI().getBoards(true, getLastSyncDateFormatted(responseCallback.getAccount().getId())), responseCallback);
+ }
+
+ public boolean isEtagsEnabled() {
+ return sharedPreferences.getBoolean(prefKeyEtags, true);
}
public void getCapabilities(String eTag, IResponseCallback<ParsedResponse<Capabilities>> responseCallback) {
@@ -224,7 +229,7 @@ public class ServerAdapter {
ensureInternetConnection();
RequestHelper.request(provider, () -> {
final Account account = responseCallback.getAccount();
- if(account != null && account.getServerDeckVersionAsObject().supportsFileAttachments()) {
+ if (account != null && account.getServerDeckVersionAsObject().supportsFileAttachments()) {
return provider.getDeckAPI().getCard_1_1(boardId, stackId, cardId, getLastSyncDateFormatted(responseCallback.getAccount().getId()));
}
return provider.getDeckAPI().getCard_1_0(boardId, stackId, cardId, getLastSyncDateFormatted(responseCallback.getAccount().getId()));