Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 08defb95 authored by alperozturk's avatar alperozturk
Browse files

update capabilities

parent 8d2ea964
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -286,7 +286,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
                    .apply(RequestOptions.circleCropTransform())
                    .into(activityBinding.launchAccountSwitcher);

            mainViewModel.synchronizeNotes(nextAccount, new IResponseCallback<>() {
            mainViewModel.synchronizeNotes(this, nextAccount, new IResponseCallback<>() {
                @Override
                public void onSuccess(Void v) {
                    Log.d(TAG, "Successfully synchronized notes for " + nextAccount.getAccountName());
@@ -376,7 +376,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
            try {
                // It is possible that after the deletion of the last account, this onResponse gets called before the ImportAccountActivity gets started.
                if (SingleAccountHelper.getCurrentSingleSignOnAccount(this) != null) {
                    mainViewModel.synchronizeNotes(currentAccount, new IResponseCallback<>() {
                    mainViewModel.synchronizeNotes(this, currentAccount, new IResponseCallback<>() {
                        @Override
                        public void onSuccess(Void v) {
                            Log.d(TAG, "Successfully synchronized notes for " + currentAccount.getAccountName());
@@ -477,7 +477,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
            final var syncLiveData = mainViewModel.getCurrentAccount();
            final Observer<Account> syncObserver = currentAccount -> {
                syncLiveData.removeObservers(this);
                mainViewModel.synchronizeCapabilitiesAndNotes(currentAccount, new IResponseCallback<>() {
                mainViewModel.synchronizeCapabilitiesAndNotes(this, currentAccount, new IResponseCallback<>() {
                    @Override
                    public void onSuccess(Void v) {
                        Log.d(TAG, "Successfully synchronized capabilities and notes for " + currentAccount.getAccountName());
+12 −3
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundExce
import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
import com.nextcloud.android.sso.exceptions.UnknownErrorException;
import com.nextcloud.android.sso.helper.SingleAccountHelper;
import com.owncloud.android.lib.common.utils.Log_OC;

import java.util.ArrayList;
import java.util.Collection;
@@ -379,13 +380,13 @@ public class MainViewModel extends AndroidViewModel {
        return items;
    }

    public void synchronizeCapabilitiesAndNotes(@NonNull Account localAccount, @NonNull IResponseCallback<Void> callback) {
    public void synchronizeCapabilitiesAndNotes(Context context, @NonNull Account localAccount, @NonNull IResponseCallback<Void> callback) {
        Log.i(TAG, "[synchronizeCapabilitiesAndNotes] Synchronize capabilities for " + localAccount.getAccountName());
        synchronizeCapabilities(localAccount, new IResponseCallback<>() {
            @Override
            public void onSuccess(Void v) {
                Log.i(TAG, "[synchronizeCapabilitiesAndNotes] Synchronize notes for " + localAccount.getAccountName());
                synchronizeNotes(localAccount, callback);
                synchronizeNotes(context, localAccount, callback);
            }

            @Override
@@ -442,7 +443,7 @@ public class MainViewModel extends AndroidViewModel {
    /**
     * Updates the network status if necessary and pulls the latest notes of the given {@param localAccount}
     */
    public void synchronizeNotes(@NonNull Account currentAccount, @NonNull IResponseCallback<Void> callback) {
    public void synchronizeNotes(Context context, @NonNull Account currentAccount, @NonNull IResponseCallback<Void> callback) {
        executor.submit(() -> {
            Log.v(TAG, "[synchronize] - currentAccount: " + currentAccount.getAccountName());
            if (!repo.isSyncPossible()) {
@@ -450,6 +451,14 @@ public class MainViewModel extends AndroidViewModel {
            }
            if (repo.isSyncPossible()) {
                repo.scheduleSync(currentAccount, false);

                try {
                    final var ssoAccount = AccountImporter.getSingleSignOnAccount(context, currentAccount.getAccountName());
                    CapabilitiesClient.getCapabilities(context, ssoAccount, null, ApiProvider.getInstance());
                } catch (Throwable t) {
                    Log_OC.e(TAG, t.getMessage());
                }

                callback.onSuccess(null);
            } else { // Sync is not possible
                if (repo.isNetworkConnected() && repo.isSyncOnlyOnWifi()) {
+0 −3
Original line number Diff line number Diff line
@@ -879,9 +879,6 @@ 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