From fac24095d9c9745247451f23e2ca904ac7ab05e7 Mon Sep 17 00:00:00 2001 From: jacquarg Date: Mon, 17 Nov 2025 16:57:11 +0100 Subject: [PATCH 1/4] fix:3293: parse last-modified and etag case-insensitive --- .../notes/persistence/CapabilitiesClient.java | 6 +++--- .../notes/persistence/NotesServerSyncTask.java | 16 +++++++++------- .../owncloud/notes/shared/util/SSOUtil.java | 17 +++++++++++++++++ 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java index ca8ffeb62..ff84bc2fa 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java @@ -18,7 +18,7 @@ public class CapabilitiesClient { private static final String TAG = CapabilitiesClient.class.getSimpleName(); - private static final String HEADER_KEY_ETAG = "ETag"; + private static final String HEADER_KEY_ETAG = "etag"; @WorkerThread public static Capabilities getCapabilities(@NonNull Context context, @NonNull SingleSignOnAccount ssoAccount, @Nullable String lastETag, @NonNull ApiProvider apiProvider) throws Throwable { @@ -30,8 +30,8 @@ public class CapabilitiesClient { try { final var response = ocsAPI.getCapabilities(lastETag).blockingSingle(); final var capabilities = response.getResponse().ocs.data; - final var headers = response.getHeaders(); - if (headers != null) { + final var headers = SSOUtil.getCleanedHeaders(response); + if (!headers.isEmpty()) { capabilities.setETag(headers.get(HEADER_KEY_ETAG)); } else { Log.w(TAG, "Response headers of capabilities are null"); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java index 550aafe97..65f05fe43 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java @@ -36,6 +36,7 @@ import it.niedermann.owncloud.notes.shared.model.DBStatus; import it.niedermann.owncloud.notes.shared.model.ISyncCallback; import it.niedermann.owncloud.notes.shared.model.SyncResultStatus; import it.niedermann.owncloud.notes.shared.util.ApiVersionUtil; +import it.niedermann.owncloud.notes.shared.util.SSOUtil; import trikita.log.Log; @@ -47,9 +48,9 @@ abstract class NotesServerSyncTask extends Thread { private static final String TAG = NotesServerSyncTask.class.getSimpleName(); - private static final String HEADER_KEY_X_NOTES_API_VERSIONS = "X-Notes-API-Versions"; - private static final String HEADER_KEY_ETAG = "ETag"; - private static final String HEADER_KEY_LAST_MODIFIED = "Last-Modified"; + private static final String HEADER_KEY_X_NOTES_API_VERSIONS = "x-notes-api-versions"; + private static final String HEADER_KEY_ETAG = "etag"; + private static final String HEADER_KEY_LAST_MODIFIED = "last-modified"; private NotesAPI notesAPI; @NonNull @@ -307,21 +308,22 @@ abstract class NotesServerSyncTask extends Thread { } // update ETag and Last-Modified in order to reduce size of next response - localAccount.setETag(fetchResponse.getHeaders().get(HEADER_KEY_ETAG)); + final var cleanedHeaders = SSOUtil.getCleanedHeaders(fetchResponse); + localAccount.setETag(cleanedHeaders.get(HEADER_KEY_ETAG)); final var lastModified = Calendar.getInstance(); lastModified.setTimeInMillis(0); - final String lastModifiedHeader = fetchResponse.getHeaders().get(HEADER_KEY_LAST_MODIFIED); + final String lastModifiedHeader = cleanedHeaders.get(HEADER_KEY_LAST_MODIFIED); if (lastModifiedHeader != null) lastModified.setTimeInMillis(Date.parse(lastModifiedHeader)); - Log.d(TAG, "ETag: " + fetchResponse.getHeaders().get(HEADER_KEY_ETAG) + "; Last-Modified: " + lastModified + " (" + lastModified + ")"); + Log.d(TAG, "ETag: " + cleanedHeaders.get(HEADER_KEY_ETAG) + "; Last-Modified: " + lastModified + " (" + lastModified + ")"); localAccount.setModified(lastModified); repo.updateETag(localAccount.getId(), localAccount.getETag()); repo.updateModified(localAccount.getId(), localAccount.getModified().getTimeInMillis()); - final String newApiVersion = ApiVersionUtil.sanitize(fetchResponse.getHeaders().get(HEADER_KEY_X_NOTES_API_VERSIONS)); + final String newApiVersion = ApiVersionUtil.sanitize(cleanedHeaders.get(HEADER_KEY_X_NOTES_API_VERSIONS)); localAccount.setApiVersion(newApiVersion); repo.updateApiVersion(localAccount.getId(), newApiVersion); Log.d(TAG, "ApiVersion: " + newApiVersion); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java index 1f2b48d48..523f9aeda 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java @@ -7,6 +7,7 @@ import trikita.log.Log; import androidx.annotation.NonNull; import com.nextcloud.android.sso.AccountImporter; +import com.nextcloud.android.sso.api.ParsedResponse; import com.nextcloud.android.sso.exceptions.AndroidGetAccountsPermissionNotGranted; import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException; import com.nextcloud.android.sso.exceptions.NextcloudFilesAppNotInstalledException; @@ -14,6 +15,9 @@ import com.nextcloud.android.sso.exceptions.NoCurrentAccountSelectedException; import com.nextcloud.android.sso.helper.SingleAccountHelper; import com.nextcloud.android.sso.ui.UiExceptionManager; +import java.util.HashMap; +import java.util.Map; + public class SSOUtil { private static final String TAG = SSOUtil.class.getSimpleName(); @@ -66,4 +70,17 @@ public class SSOUtil { return userId.split(murenaMailEndPart)[0]; } + + /** Get response headers and move headers key to lowercase + */ + @NonNull + public static Map getCleanedHeaders(ParsedResponse fetchResponse) { + final var cleanedHeaders = new HashMap(); + + final var headers = fetchResponse.getHeaders(); + if (headers != null) { + headers.forEach((k, v) -> cleanedHeaders.put(k.toLowerCase(), v)); + } + return cleanedHeaders; + } } -- GitLab From 3a9e1de2f1c5b19b89ed0af556395ed18d8e7002 Mon Sep 17 00:00:00 2001 From: jacquarg Date: Mon, 17 Nov 2025 17:55:59 +0100 Subject: [PATCH 2/4] fix:3293: save lastmodified on import task, to optimize first getNodes(lastModified) call --- .../notes/persistence/NotesImportTask.java | 27 ++++++++++++++++++- .../persistence/NotesServerSyncTask.java | 4 +-- .../notes/persistence/sync/NotesAPI.java | 14 +++++++--- .../owncloud/notes/shared/util/SSOUtil.java | 12 ++++++--- 4 files changed, 48 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java index a33d99c4b..df8a7f43a 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java @@ -1,6 +1,11 @@ package it.niedermann.owncloud.notes.persistence; +import static it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.HEADER_KEY_ETAG; +import static it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.HEADER_KEY_LAST_MODIFIED; + import android.content.Context; + +import it.niedermann.owncloud.notes.shared.util.SSOUtil; import trikita.log.Log; import androidx.annotation.NonNull; @@ -10,6 +15,8 @@ import androidx.lifecycle.MutableLiveData; import com.nextcloud.android.sso.AccountImporter; import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException; +import java.util.Calendar; +import java.util.Date; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -54,7 +61,9 @@ public class NotesImportTask { Log.i(TAG, "… Fetching notes IDs"); final var status = new ImportStatus(); try { - final var remoteIds = notesAPI.getNotesIDs().blockingSingle(); + final var response = notesAPI.getNotesIDs().blockingSingle(); + final var cleanedHeaders = SSOUtil.getCleanedHeaders(response.getKey()); + final var remoteIds = response.getValue(); status.total = remoteIds.size(); status$.postValue(status); Log.i(TAG, "… Total count: " + remoteIds.size()); @@ -74,6 +83,22 @@ public class NotesImportTask { } try { latch.await(); + + // update ETag and Last-Modified in order to reduce size of next response + localAccount.setETag(cleanedHeaders.get(HEADER_KEY_ETAG)); + + final var lastModified = Calendar.getInstance(); + lastModified.setTimeInMillis(0); + final String lastModifiedHeader = cleanedHeaders.get(HEADER_KEY_LAST_MODIFIED); + if (lastModifiedHeader != null) + lastModified.setTimeInMillis(Date.parse(lastModifiedHeader)); + Log.d(TAG, "ETag: " + cleanedHeaders.get(HEADER_KEY_ETAG) + "; Last-Modified: " + lastModified + " (" + lastModified + ")"); + + localAccount.setModified(lastModified); + + repo.updateETag(localAccount.getId(), localAccount.getETag()); + repo.updateModified(localAccount.getId(), localAccount.getModified().getTimeInMillis()); + Log.i(TAG, "IMPORT FINISHED"); callback.onSuccess(null); } catch (InterruptedException e) { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java index 65f05fe43..2d1fbfe3a 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java @@ -49,8 +49,8 @@ abstract class NotesServerSyncTask extends Thread { private static final String TAG = NotesServerSyncTask.class.getSimpleName(); private static final String HEADER_KEY_X_NOTES_API_VERSIONS = "x-notes-api-versions"; - private static final String HEADER_KEY_ETAG = "etag"; - private static final String HEADER_KEY_LAST_MODIFIED = "last-modified"; + static final String HEADER_KEY_ETAG = "etag"; + static final String HEADER_KEY_LAST_MODIFIED = "last-modified"; private NotesAPI notesAPI; @NonNull diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/NotesAPI.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/NotesAPI.java index 4eaa81a19..971972be6 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/NotesAPI.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/NotesAPI.java @@ -10,8 +10,10 @@ import com.google.gson.annotations.Expose; import com.nextcloud.android.sso.api.NextcloudAPI; import com.nextcloud.android.sso.api.ParsedResponse; +import java.util.AbstractMap; import java.util.Calendar; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import io.reactivex.Observable; @@ -70,11 +72,17 @@ public class NotesAPI { } } - public Observable> getNotesIDs() { + public Observable, List>> getNotesIDs() { if (ApiVersion.API_VERSION_1_0.equals(usedApiVersion)) { - return notesAPI_1_0.getNotesIDs().map(response -> response.getResponse().stream().map(Note::getRemoteId).collect(Collectors.toList())); + return notesAPI_1_0.getNotesIDs().map(response -> new AbstractMap.SimpleEntry( + response.getHeaders(), + response.getResponse().stream().map(Note::getRemoteId).collect(Collectors.toList()) + )); } else if (ApiVersion.API_VERSION_0_2.equals(usedApiVersion)) { - return notesAPI_0_2.getNotesIDs().map(response -> response.getResponse().stream().map(Note::getRemoteId).collect(Collectors.toList())); + return notesAPI_0_2.getNotesIDs().map(response -> new AbstractMap.SimpleEntry( + response.getHeaders(), + response.getResponse().stream().map(Note::getRemoteId).collect(Collectors.toList()) + )); } else { throw new UnsupportedOperationException("Used API version " + usedApiVersion + " does not support getNotesIDs()."); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java index 523f9aeda..55e0805ac 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java @@ -71,16 +71,22 @@ public class SSOUtil { return userId.split(murenaMailEndPart)[0]; } - /** Get response headers and move headers key to lowercase + /** Move headers key to lowercase */ @NonNull - public static Map getCleanedHeaders(ParsedResponse fetchResponse) { + public static Map getCleanedHeaders(Map headers) { final var cleanedHeaders = new HashMap(); - final var headers = fetchResponse.getHeaders(); if (headers != null) { headers.forEach((k, v) -> cleanedHeaders.put(k.toLowerCase(), v)); } return cleanedHeaders; } + + /** Get response headers and move headers key to lowercase + */ + @NonNull + public static Map getCleanedHeaders(ParsedResponse fetchResponse) { + return getCleanedHeaders(fetchResponse.getHeaders()); + } } -- GitLab From 38a049a1eb8028914701a53d907102fadc237307 Mon Sep 17 00:00:00 2001 From: jacquarg Date: Tue, 18 Nov 2025 10:22:00 +0100 Subject: [PATCH 3/4] fix:3293: improve naming. --- .../notes/persistence/CapabilitiesClient.java | 3 +- .../notes/persistence/NotesImportTask.java | 4 +-- .../persistence/NotesServerSyncTask.java | 4 +-- .../notes/shared/util/ResponseUtil.java | 29 +++++++++++++++++++ .../owncloud/notes/shared/util/SSOUtil.java | 23 --------------- 5 files changed, 35 insertions(+), 28 deletions(-) create mode 100644 app/src/main/java/it/niedermann/owncloud/notes/shared/util/ResponseUtil.java diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java index ff84bc2fa..b3645e1f3 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java @@ -10,6 +10,7 @@ import com.nextcloud.android.sso.model.SingleSignOnAccount; import it.niedermann.owncloud.notes.shared.model.Capabilities; import it.niedermann.owncloud.notes.shared.util.AccountSyncUtil; +import it.niedermann.owncloud.notes.shared.util.ResponseUtil; import it.niedermann.owncloud.notes.shared.util.SSOUtil; import trikita.log.Log; @@ -30,7 +31,7 @@ public class CapabilitiesClient { try { final var response = ocsAPI.getCapabilities(lastETag).blockingSingle(); final var capabilities = response.getResponse().ocs.data; - final var headers = SSOUtil.getCleanedHeaders(response); + final var headers = ResponseUtil.getLowerCaseHeaders(response); if (!headers.isEmpty()) { capabilities.setETag(headers.get(HEADER_KEY_ETAG)); } else { diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java index df8a7f43a..abfd4d18d 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java @@ -5,7 +5,7 @@ import static it.niedermann.owncloud.notes.persistence.NotesServerSyncTask.HEADE import android.content.Context; -import it.niedermann.owncloud.notes.shared.util.SSOUtil; +import it.niedermann.owncloud.notes.shared.util.ResponseUtil; import trikita.log.Log; import androidx.annotation.NonNull; @@ -62,7 +62,7 @@ public class NotesImportTask { final var status = new ImportStatus(); try { final var response = notesAPI.getNotesIDs().blockingSingle(); - final var cleanedHeaders = SSOUtil.getCleanedHeaders(response.getKey()); + final var cleanedHeaders = ResponseUtil.getLowerCaseHeaders(response.getKey()); final var remoteIds = response.getValue(); status.total = remoteIds.size(); status$.postValue(status); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java index 2d1fbfe3a..511cb9825 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java @@ -36,7 +36,7 @@ import it.niedermann.owncloud.notes.shared.model.DBStatus; import it.niedermann.owncloud.notes.shared.model.ISyncCallback; import it.niedermann.owncloud.notes.shared.model.SyncResultStatus; import it.niedermann.owncloud.notes.shared.util.ApiVersionUtil; -import it.niedermann.owncloud.notes.shared.util.SSOUtil; +import it.niedermann.owncloud.notes.shared.util.ResponseUtil; import trikita.log.Log; @@ -308,7 +308,7 @@ abstract class NotesServerSyncTask extends Thread { } // update ETag and Last-Modified in order to reduce size of next response - final var cleanedHeaders = SSOUtil.getCleanedHeaders(fetchResponse); + final var cleanedHeaders = ResponseUtil.getLowerCaseHeaders(fetchResponse); localAccount.setETag(cleanedHeaders.get(HEADER_KEY_ETAG)); final var lastModified = Calendar.getInstance(); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ResponseUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ResponseUtil.java new file mode 100644 index 000000000..18b934d7b --- /dev/null +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ResponseUtil.java @@ -0,0 +1,29 @@ +package it.niedermann.owncloud.notes.shared.util; + +import androidx.annotation.NonNull; + +import com.nextcloud.android.sso.api.ParsedResponse; + +import java.util.HashMap; +import java.util.Map; + +public class ResponseUtil { + /** Move headers key to lowercase + */ + @NonNull + public static Map getLowerCaseHeaders(Map headers) { + final var cleanedHeaders = new HashMap(); + + if (headers != null) { + headers.forEach((k, v) -> cleanedHeaders.put(k.toLowerCase(), v)); + } + return cleanedHeaders; + } + + /** Get response headers and move headers key to lowercase + */ + @NonNull + public static Map getLowerCaseHeaders(ParsedResponse fetchResponse) { + return getLowerCaseHeaders(fetchResponse.getHeaders()); + } +} diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java index 55e0805ac..1f2b48d48 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java @@ -7,7 +7,6 @@ import trikita.log.Log; import androidx.annotation.NonNull; import com.nextcloud.android.sso.AccountImporter; -import com.nextcloud.android.sso.api.ParsedResponse; import com.nextcloud.android.sso.exceptions.AndroidGetAccountsPermissionNotGranted; import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException; import com.nextcloud.android.sso.exceptions.NextcloudFilesAppNotInstalledException; @@ -15,9 +14,6 @@ import com.nextcloud.android.sso.exceptions.NoCurrentAccountSelectedException; import com.nextcloud.android.sso.helper.SingleAccountHelper; import com.nextcloud.android.sso.ui.UiExceptionManager; -import java.util.HashMap; -import java.util.Map; - public class SSOUtil { private static final String TAG = SSOUtil.class.getSimpleName(); @@ -70,23 +66,4 @@ public class SSOUtil { return userId.split(murenaMailEndPart)[0]; } - - /** Move headers key to lowercase - */ - @NonNull - public static Map getCleanedHeaders(Map headers) { - final var cleanedHeaders = new HashMap(); - - if (headers != null) { - headers.forEach((k, v) -> cleanedHeaders.put(k.toLowerCase(), v)); - } - return cleanedHeaders; - } - - /** Get response headers and move headers key to lowercase - */ - @NonNull - public static Map getCleanedHeaders(ParsedResponse fetchResponse) { - return getCleanedHeaders(fetchResponse.getHeaders()); - } } -- GitLab From bdc7241432184e966dd190d7ea0a6c3b7d31b188 Mon Sep 17 00:00:00 2001 From: jacquarg Date: Tue, 18 Nov 2025 11:06:49 +0100 Subject: [PATCH 4/4] fix:3293: improve code layout. --- .../owncloud/notes/persistence/NotesImportTask.java | 4 +++- .../owncloud/notes/persistence/NotesServerSyncTask.java | 2 +- .../niedermann/owncloud/notes/shared/util/ResponseUtil.java | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java index abfd4d18d..92fb06594 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesImportTask.java @@ -90,8 +90,10 @@ public class NotesImportTask { final var lastModified = Calendar.getInstance(); lastModified.setTimeInMillis(0); final String lastModifiedHeader = cleanedHeaders.get(HEADER_KEY_LAST_MODIFIED); - if (lastModifiedHeader != null) + if (lastModifiedHeader != null) { lastModified.setTimeInMillis(Date.parse(lastModifiedHeader)); + } + Log.d(TAG, "ETag: " + cleanedHeaders.get(HEADER_KEY_ETAG) + "; Last-Modified: " + lastModified + " (" + lastModified + ")"); localAccount.setModified(lastModified); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java index 511cb9825..a66bb6583 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java @@ -48,9 +48,9 @@ abstract class NotesServerSyncTask extends Thread { private static final String TAG = NotesServerSyncTask.class.getSimpleName(); - private static final String HEADER_KEY_X_NOTES_API_VERSIONS = "x-notes-api-versions"; static final String HEADER_KEY_ETAG = "etag"; static final String HEADER_KEY_LAST_MODIFIED = "last-modified"; + private static final String HEADER_KEY_X_NOTES_API_VERSIONS = "x-notes-api-versions"; private NotesAPI notesAPI; @NonNull diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ResponseUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ResponseUtil.java index 18b934d7b..fc7ab1435 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ResponseUtil.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ResponseUtil.java @@ -8,7 +8,8 @@ import java.util.HashMap; import java.util.Map; public class ResponseUtil { - /** Move headers key to lowercase + /* + * Move headers key to lowercase */ @NonNull public static Map getLowerCaseHeaders(Map headers) { @@ -20,7 +21,8 @@ public class ResponseUtil { return cleanedHeaders; } - /** Get response headers and move headers key to lowercase + /* + * Get response headers and move headers key to lowercase */ @NonNull public static Map getLowerCaseHeaders(ParsedResponse fetchResponse) { -- GitLab