Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2019-03-26 13:46:49 +01:00
parent 0454d13085
commit deee62c2d8
2 changed files with 13 additions and 4 deletions

View File

@ -35,16 +35,21 @@ import android.view.ViewGroup;
import android.webkit.*; import android.webkit.*;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkManager;
import autodagger.AutoInjector; import autodagger.AutoInjector;
import butterknife.BindView; import butterknife.BindView;
import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.RouterTransaction;
import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
import com.bluelinelabs.logansquare.LoganSquare;
import com.nextcloud.talk.R; import com.nextcloud.talk.R;
import com.nextcloud.talk.application.NextcloudTalkApplication; import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.controllers.base.BaseController; import com.nextcloud.talk.controllers.base.BaseController;
import com.nextcloud.talk.events.CertificateEvent; import com.nextcloud.talk.events.CertificateEvent;
import com.nextcloud.talk.jobs.PushRegistrationWorker;
import com.nextcloud.talk.models.LoginData; import com.nextcloud.talk.models.LoginData;
import com.nextcloud.talk.models.database.UserEntity; import com.nextcloud.talk.models.database.UserEntity;
import com.nextcloud.talk.models.json.push.PushConfigurationState;
import com.nextcloud.talk.utils.bundle.BundleKeys; import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils; import com.nextcloud.talk.utils.database.user.UserUtils;
import com.nextcloud.talk.utils.preferences.AppPreferences; import com.nextcloud.talk.utils.preferences.AppPreferences;
@ -58,6 +63,7 @@ import io.requery.reactivex.ReactiveEntityStore;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import javax.inject.Inject; import javax.inject.Inject;
import java.io.IOException;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.net.CookieManager; import java.net.CookieManager;
import java.net.URLDecoder; import java.net.URLDecoder;
@ -363,7 +369,7 @@ public class WebViewLoginController extends BaseController {
if (isPasswordUpdate) { if (isPasswordUpdate) {
if (currentUser != null) { if (currentUser != null) {
userQueryDisposable = userUtils.createOrUpdateUser(null, loginData.getToken(), userQueryDisposable = userUtils.createOrUpdateUser(null, loginData.getToken(),
null, null, null, true, null, null, "", true,
null, currentUser.getId(), null, appPreferences.getTemporaryClientCertAlias(), null) null, currentUser.getId(), null, appPreferences.getTemporaryClientCertAlias(), null)
.subscribeOn(Schedulers.newThread()) .subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
@ -371,6 +377,10 @@ public class WebViewLoginController extends BaseController {
if (finalMessageType != null) { if (finalMessageType != null) {
ApplicationWideMessageHolder.getInstance().setMessageType(finalMessageType); ApplicationWideMessageHolder.getInstance().setMessageType(finalMessageType);
} }
OneTimeWorkRequest pushRegistrationWork = new OneTimeWorkRequest.Builder(PushRegistrationWorker.class).build();
WorkManager.getInstance().enqueue(pushRegistrationWork);
getRouter().popCurrentController(); getRouter().popCurrentController();
}, throwable -> dispose(), }, throwable -> dispose(),
this::dispose); this::dispose);

View File

@ -232,9 +232,8 @@ public class PushUtils {
accountPushData = null; accountPushData = null;
} }
if (accountPushData != null && !accountPushData.getPushToken().equals(token) && if (((TextUtils.isEmpty(providerValue) || accountPushData == null) && !userEntity.getScheduledForDeletion()) ||
!userEntity.getScheduledForDeletion() || (accountPushData != null && !accountPushData.getPushToken().equals(token) && !userEntity.getScheduledForDeletion())) {
TextUtils.isEmpty(providerValue) && !userEntity.getScheduledForDeletion()) {
Map<String, String> queryMap = new HashMap<>(); Map<String, String> queryMap = new HashMap<>();