Search in sources :

Example 16 with UserEntity

use of com.nextcloud.talk.models.database.UserEntity in project talk-android by nextcloud.

the class UserUtils method scheduleUserForDeletionWithId.

public boolean scheduleUserForDeletionWithId(long id) {
    Result findUserQueryResult = dataStore.select(User.class).where(UserEntity.ID.eq(id)).limit(1).get();
    UserEntity userEntity;
    if ((userEntity = (UserEntity) findUserQueryResult.firstOrNull()) != null) {
        userEntity.setScheduledForDeletion(true);
        userEntity.setCurrent(false);
        dataStore.update(userEntity).blockingGet();
    }
    return getAnyUserAndSetAsActive() != null;
}
Also used : User(com.nextcloud.talk.models.database.User) UserEntity(com.nextcloud.talk.models.database.UserEntity) Result(io.requery.query.Result)

Example 17 with UserEntity

use of com.nextcloud.talk.models.database.UserEntity in project talk-android by nextcloud.

the class AccountUtils method findAccounts.

public static List<Account> findAccounts(List<UserEntity> userEntitiesList) {
    Context context = NextcloudTalkApplication.getSharedApplication().getApplicationContext();
    final AccountManager accMgr = AccountManager.get(context);
    final Account[] accounts = accMgr.getAccountsByType(context.getString(R.string.nc_import_account_type));
    List<Account> accountsAvailable = new ArrayList<>();
    ImportAccount importAccount;
    UserEntity internalUserEntity;
    boolean accountFound;
    for (Account account : accounts) {
        accountFound = false;
        for (int i = 0; i < userEntitiesList.size(); i++) {
            internalUserEntity = userEntitiesList.get(i);
            importAccount = getInformationFromAccount(account);
            if (importAccount.getBaseUrl().startsWith("http://") || importAccount.getBaseUrl().startsWith("https://")) {
                if (internalUserEntity.getUsername().equals(importAccount.getUsername()) && internalUserEntity.getBaseUrl().equals(importAccount.getBaseUrl())) {
                    accountFound = true;
                    break;
                }
            } else {
                if (internalUserEntity.getUsername().equals(importAccount.getUsername()) && (internalUserEntity.getBaseUrl().equals("http://" + importAccount.getBaseUrl()) || internalUserEntity.getBaseUrl().equals("https://" + importAccount.getBaseUrl()))) {
                    accountFound = true;
                    break;
                }
            }
        }
        if (!accountFound) {
            accountsAvailable.add(account);
        }
    }
    return accountsAvailable;
}
Also used : Context(android.content.Context) Account(android.accounts.Account) ImportAccount(com.nextcloud.talk.models.ImportAccount) ArrayList(java.util.ArrayList) AccountManager(android.accounts.AccountManager) ImportAccount(com.nextcloud.talk.models.ImportAccount) UserEntity(com.nextcloud.talk.models.database.UserEntity)

Aggregations

UserEntity (com.nextcloud.talk.models.database.UserEntity)17 Disposable (io.reactivex.disposables.Disposable)7 NonNull (android.support.annotation.NonNull)6 NcApi (com.nextcloud.talk.api.NcApi)6 Result (io.requery.query.Result)5 ArrayList (java.util.ArrayList)5 TextUtils (android.text.TextUtils)4 LayoutInflater (android.view.LayoutInflater)4 View (android.view.View)4 ViewGroup (android.view.ViewGroup)4 AutoInjector (autodagger.AutoInjector)4 BindView (butterknife.BindView)4 RouterTransaction (com.bluelinelabs.conductor.RouterTransaction)4 R (com.nextcloud.talk.R)4 Intent (android.content.Intent)3 Bundle (android.os.Bundle)3 Nullable (android.support.annotation.Nullable)3 HorizontalChangeHandler (com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler)3 VerticalChangeHandler (com.bluelinelabs.conductor.changehandler.VerticalChangeHandler)3 NextcloudTalkApplication (com.nextcloud.talk.application.NextcloudTalkApplication)3