mirror of
https://github.com/deltachat/deltachat-android.git
synced 2025-10-03 09:49:21 +02:00
Merge pull request #2748 from deltachat/adb/issue-2747
do oauth and provider info checks in background
This commit is contained in:
commit
676e79a43f
1 changed files with 21 additions and 23 deletions
|
@ -25,6 +25,7 @@ import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
@ -375,7 +376,7 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
|
||||||
return oauth2started;
|
return oauth2started;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class PrecheckOauth2AsyncTask extends ProgressDialogAsyncTask<Void, Void, Void> {
|
private static class PrecheckOauth2AsyncTask extends AsyncTask<Void, Void, Void> {
|
||||||
private final WeakReference<RegistrationActivity> activityWeakReference;
|
private final WeakReference<RegistrationActivity> activityWeakReference;
|
||||||
private final String email;
|
private final String email;
|
||||||
private final SettableFuture<Boolean> oauth2started;
|
private final SettableFuture<Boolean> oauth2started;
|
||||||
|
@ -383,14 +384,11 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
|
||||||
private @NonNull String oauth2url = "";
|
private @NonNull String oauth2url = "";
|
||||||
|
|
||||||
public PrecheckOauth2AsyncTask(RegistrationActivity activity, String email, SettableFuture<Boolean> oauth2started) {
|
public PrecheckOauth2AsyncTask(RegistrationActivity activity, String email, SettableFuture<Boolean> oauth2started) {
|
||||||
super(activity, null, activity.getString(R.string.login_oauth2_checking_addr, email));
|
super();
|
||||||
this.activityWeakReference = new WeakReference<>(activity);
|
this.activityWeakReference = new WeakReference<>(activity);
|
||||||
this.email = email;
|
this.email = email;
|
||||||
this.oauth2started = oauth2started;
|
this.oauth2started = oauth2started;
|
||||||
this.dcContext = DcHelper.getContext(activity);
|
this.dcContext = DcHelper.getContext(activity);
|
||||||
setCancelable(dialog -> {
|
|
||||||
oauth2started.set(false);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected Void doInBackground(Void... voids) {
|
protected Void doInBackground(Void... voids) {
|
||||||
|
@ -428,42 +426,42 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateProviderInfo() {
|
private void updateProviderInfo() {
|
||||||
provider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString());
|
Util.runOnBackground(() -> {
|
||||||
if (provider!=null) {
|
provider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString());
|
||||||
Resources res = getResources();
|
Util.runOnMain(() -> {
|
||||||
providerHint.setText(provider.getBeforeLoginHint());
|
if (provider!=null) {
|
||||||
switch (provider.getStatus()) {
|
Resources res = getResources();
|
||||||
case DcProvider.DC_PROVIDER_STATUS_PREPARATION:
|
providerHint.setText(provider.getBeforeLoginHint());
|
||||||
|
switch (provider.getStatus()) {
|
||||||
|
case DcProvider.DC_PROVIDER_STATUS_PREPARATION:
|
||||||
providerHint.setTextColor(res.getColor(R.color.provider_prep_fg));
|
providerHint.setTextColor(res.getColor(R.color.provider_prep_fg));
|
||||||
providerLink.setTextColor(res.getColor(R.color.provider_prep_fg));
|
providerLink.setTextColor(res.getColor(R.color.provider_prep_fg));
|
||||||
providerLayout.setBackgroundColor(res.getColor(R.color.provider_prep_bg));
|
providerLayout.setBackgroundColor(res.getColor(R.color.provider_prep_bg));
|
||||||
providerLayout.setVisibility(View.VISIBLE);
|
providerLayout.setVisibility(View.VISIBLE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DcProvider.DC_PROVIDER_STATUS_BROKEN:
|
case DcProvider.DC_PROVIDER_STATUS_BROKEN:
|
||||||
providerHint.setTextColor(res.getColor(R.color.provider_broken_fg));
|
providerHint.setTextColor(res.getColor(R.color.provider_broken_fg));
|
||||||
providerLink.setTextColor(res.getColor(R.color.provider_broken_fg));
|
providerLink.setTextColor(res.getColor(R.color.provider_broken_fg));
|
||||||
providerLayout.setBackgroundColor(getResources().getColor(R.color.provider_broken_bg));
|
providerLayout.setBackgroundColor(getResources().getColor(R.color.provider_broken_bg));
|
||||||
providerLayout.setVisibility(View.VISIBLE);
|
providerLayout.setVisibility(View.VISIBLE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
providerLayout.setVisibility(View.GONE);
|
providerLayout.setVisibility(View.GONE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
providerLayout.setVisibility(View.GONE);
|
providerLayout.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void maybeCleanProviderInfo() {
|
private void maybeCleanProviderInfo() {
|
||||||
if (provider!=null && providerLayout.getVisibility()==View.VISIBLE) {
|
if (provider!=null && providerLayout.getVisibility()==View.VISIBLE) {
|
||||||
DcProvider newProvider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString());
|
provider = null;
|
||||||
if (newProvider == null
|
providerLayout.setVisibility(View.GONE);
|
||||||
|| !newProvider.getOverviewPage().equals(provider.getOverviewPage())) {
|
|
||||||
provider = null;
|
|
||||||
providerLayout.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue