Loading app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportMurenaAccountViewModel.java +11 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import androidx.annotation.NonNull; import androidx.lifecycle.AndroidViewModel; import java.util.List; import java.util.Objects; import it.niedermann.owncloud.notes.shared.util.AccountSyncUtil; Loading Loading @@ -54,4 +55,14 @@ public class ImportMurenaAccountViewModel extends AndroidViewModel { public Account getMurenaAccount() { return account; } public boolean shouldLoadMurenaAccount(List<it.niedermann.owncloud.notes.persistence.entity.Account> noteAccounts) { if (!isMurenaAccountPresent()) { return false; } return noteAccounts.stream() .filter(Objects::nonNull) .noneMatch(noteAccount -> noteAccount.getAccountName().equals(account.name)); } } app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java +7 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ import android.graphics.PorterDuff; import android.net.Uri; import android.os.Bundle; import android.text.TextUtils; import it.niedermann.owncloud.notes.importaccount.ImportMurenaAccountViewModel; import trikita.log.Log; import android.view.View; Loading Loading @@ -107,6 +109,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A protected final ExecutorService executor = Executors.newCachedThreadPool(); protected MainViewModel mainViewModel; private ImportMurenaAccountViewModel importMurenaAccountViewModel; private CategoryViewModel categoryViewModel; private boolean gridView = true; Loading Loading @@ -142,6 +146,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A super.onCreate(savedInstanceState); mainViewModel = new ViewModelProvider(this).get(MainViewModel.class); importMurenaAccountViewModel = new ViewModelProvider(this).get(ImportMurenaAccountViewModel.class); categoryViewModel = new ViewModelProvider(this).get(CategoryViewModel.class); CapabilitiesWorker.update(this); binding = DrawerLayoutBinding.inflate(getLayoutInflater()); Loading @@ -160,8 +165,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A setupNavigationList(); setupNotesList(); mainViewModel.getAccountsCount().observe(this, (count) -> { if (count == 0) { mainViewModel.getAccounts$().observe(this, (accounts) -> { if (accounts.isEmpty() || importMurenaAccountViewModel.shouldLoadMurenaAccount(accounts)) { startActivityForResult(new Intent(this, ImportAccountActivity.class), ImportAccountActivity.REQUEST_CODE_IMPORT_ACCOUNT); } else { executor.submit(() -> { Loading app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java +2 −2 Original line number Diff line number Diff line Loading @@ -603,8 +603,8 @@ public class MainViewModel extends AndroidViewModel { return repo.getLocalModifiedNotes(accountId); } public LiveData<Integer> getAccountsCount() { return repo.countAccounts$(); public LiveData<List<Account>> getAccounts$() { return repo.getAccounts$(); } @WorkerThread Loading Loading
app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportMurenaAccountViewModel.java +11 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import androidx.annotation.NonNull; import androidx.lifecycle.AndroidViewModel; import java.util.List; import java.util.Objects; import it.niedermann.owncloud.notes.shared.util.AccountSyncUtil; Loading Loading @@ -54,4 +55,14 @@ public class ImportMurenaAccountViewModel extends AndroidViewModel { public Account getMurenaAccount() { return account; } public boolean shouldLoadMurenaAccount(List<it.niedermann.owncloud.notes.persistence.entity.Account> noteAccounts) { if (!isMurenaAccountPresent()) { return false; } return noteAccounts.stream() .filter(Objects::nonNull) .noneMatch(noteAccount -> noteAccount.getAccountName().equals(account.name)); } }
app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java +7 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ import android.graphics.PorterDuff; import android.net.Uri; import android.os.Bundle; import android.text.TextUtils; import it.niedermann.owncloud.notes.importaccount.ImportMurenaAccountViewModel; import trikita.log.Log; import android.view.View; Loading Loading @@ -107,6 +109,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A protected final ExecutorService executor = Executors.newCachedThreadPool(); protected MainViewModel mainViewModel; private ImportMurenaAccountViewModel importMurenaAccountViewModel; private CategoryViewModel categoryViewModel; private boolean gridView = true; Loading Loading @@ -142,6 +146,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A super.onCreate(savedInstanceState); mainViewModel = new ViewModelProvider(this).get(MainViewModel.class); importMurenaAccountViewModel = new ViewModelProvider(this).get(ImportMurenaAccountViewModel.class); categoryViewModel = new ViewModelProvider(this).get(CategoryViewModel.class); CapabilitiesWorker.update(this); binding = DrawerLayoutBinding.inflate(getLayoutInflater()); Loading @@ -160,8 +165,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A setupNavigationList(); setupNotesList(); mainViewModel.getAccountsCount().observe(this, (count) -> { if (count == 0) { mainViewModel.getAccounts$().observe(this, (accounts) -> { if (accounts.isEmpty() || importMurenaAccountViewModel.shouldLoadMurenaAccount(accounts)) { startActivityForResult(new Intent(this, ImportAccountActivity.class), ImportAccountActivity.REQUEST_CODE_IMPORT_ACCOUNT); } else { executor.submit(() -> { Loading
app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java +2 −2 Original line number Diff line number Diff line Loading @@ -603,8 +603,8 @@ public class MainViewModel extends AndroidViewModel { return repo.getLocalModifiedNotes(accountId); } public LiveData<Integer> getAccountsCount() { return repo.countAccounts$(); public LiveData<List<Account>> getAccounts$() { return repo.getAccounts$(); } @WorkerThread Loading