From fe83ba63896df7e7559e3868646ad406c8a95f00 Mon Sep 17 00:00:00 2001 From: alperozturk Date: Wed, 25 Jun 2025 14:37:38 +0200 Subject: [PATCH] fix Signed-off-by: alperozturk --- .../owncloud/notes/persistence/CapabilitiesClient.java | 4 ++++ .../owncloud/notes/persistence/NotesRepository.java | 10 ++++++++-- .../owncloud/notes/share/NoteShareActivity.java | 10 +++++++++- 3 files changed, 21 insertions(+), 3 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 8c0e93bc..bd3d6602 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 @@ -43,6 +43,10 @@ public class CapabilitiesClient { } else { Log.w(TAG, "Response headers of capabilities are null"); } + + final var repository = NotesRepository.getInstance(context); + repository.insertCapabilities(capabilities); + return capabilities; } catch (RuntimeException e) { final var cause = e.getCause(); diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java index 7e00aec1..7002d812 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java @@ -331,6 +331,10 @@ public class NotesRepository { db.getAccountDao().updateCapabilitiesETag(id, capabilitiesETag); } + public void insertCapabilities(Capabilities capabilities) { + db.getCapabilitiesDao().insert(capabilities); + } + public void updateModified(long id, long modified) { db.getAccountDao().updateModified(id, modified); } @@ -339,7 +343,6 @@ public class NotesRepository { db.getAccountDao().updateDirectEditingAvailable(id, available); } - // Notes public LiveData getNoteById$(long id) { @@ -876,6 +879,9 @@ public class NotesRepository { if (isSyncPossible() && (!Boolean.TRUE.equals(syncActive.get(account.getId())) || onlyLocalChanges)) { syncActive.put(account.getId(), true); try { + final var ssoAccount = AccountImporter.getSingleSignOnAccount(context, account.getAccountName()); + CapabilitiesClient.getCapabilities(context,ssoAccount, null, ApiProvider.getInstance()); + Log.d(TAG, "... starting now"); final NotesServerSyncTask syncTask = new NotesServerSyncTask(context, this, account, onlyLocalChanges, apiProvider) { @Override @@ -920,7 +926,7 @@ public class NotesRepository { callbacksPull.put(account.getId(), new ArrayList<>()); } syncExecutor.submit(syncTask); - } catch (NextcloudFilesAppAccountNotFoundException e) { + } catch (Throwable e) { Log.e(TAG, "... Could not find " + SingleSignOnAccount.class.getSimpleName() + " for account name " + account.getAccountName()); e.printStackTrace(); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java index e770719b..f48af5fe 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/share/NoteShareActivity.java @@ -19,6 +19,7 @@ import android.os.Bundle; import android.provider.ContactsContract; import android.text.InputType; import android.text.TextUtils; +import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.EditorInfo; @@ -149,9 +150,16 @@ public class NoteShareActivity extends BrandedActivity implements ShareeListAdap executorService.submit(() -> { try { final var ssoAcc = SingleAccountHelper.getCurrentSingleSignOnAccount(NoteShareActivity.this); + Log.i(TAG, "SSOAccount created"); + repository = new ShareRepository(NoteShareActivity.this, ssoAcc); + Log.i(TAG, "ShareRepository is created"); + capabilities = repository.getCapabilities(); + Log.i(TAG, "Capabilities are fetched"); + repository.getSharesForNotesAndSaveShareEntities(); + Log.i(TAG, "Notes share entities are fetched"); runOnUiThread(() -> { binding.searchContainer.setVisibility(View.VISIBLE); @@ -171,7 +179,7 @@ public class NoteShareActivity extends BrandedActivity implements ShareeListAdap binding.loadingLayout.setVisibility(View.GONE); }); } catch (Exception e) { - throw new RuntimeException(e); + Log.e(TAG, "Exception at NoteShareActivity.init: " + e); } }); }