From 8d57b25cec3afb75350b6db49119c30b6611f983 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Tue, 17 Oct 2023 19:49:41 +0200 Subject: [PATCH 1/4] do oauth and provider info checks in background --- .../securesms/RegistrationActivity.java | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/org/thoughtcrime/securesms/RegistrationActivity.java b/src/org/thoughtcrime/securesms/RegistrationActivity.java index cedd4a863..1098c2c4c 100644 --- a/src/org/thoughtcrime/securesms/RegistrationActivity.java +++ b/src/org/thoughtcrime/securesms/RegistrationActivity.java @@ -25,6 +25,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.res.Resources; import android.net.Uri; +import android.os.AsyncTask; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; @@ -375,7 +376,7 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve return oauth2started; } - private static class PrecheckOauth2AsyncTask extends ProgressDialogAsyncTask { + private static class PrecheckOauth2AsyncTask extends AsyncTask { private final WeakReference activityWeakReference; private final String email; private final SettableFuture oauth2started; @@ -383,14 +384,11 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve private @NonNull String oauth2url = ""; public PrecheckOauth2AsyncTask(RegistrationActivity activity, String email, SettableFuture oauth2started) { - super(activity, null, activity.getString(R.string.login_oauth2_checking_addr, email)); + super(); this.activityWeakReference = new WeakReference<>(activity); this.email = email; this.oauth2started = oauth2started; this.dcContext = DcHelper.getContext(activity); - setCancelable(dialog -> { - oauth2started.set(false); - }); } @Override protected Void doInBackground(Void... voids) { @@ -428,7 +426,14 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve } private void updateProviderInfo() { - provider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString()); + Util.runOnBackground(() -> { + DcProvider newProvider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString()); + Util.runOnMain(()->updateProviderInfo(newProvider)); + }); + } + + private void updateProviderInfo(DcProvider newProvider) { + provider = newProvider; if (provider!=null) { Resources res = getResources(); providerHint.setText(provider.getBeforeLoginHint()); @@ -458,12 +463,16 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve private void maybeCleanProviderInfo() { if (provider!=null && providerLayout.getVisibility()==View.VISIBLE) { - DcProvider newProvider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString()); - if (newProvider == null - || !newProvider.getOverviewPage().equals(provider.getOverviewPage())) { - provider = null; - providerLayout.setVisibility(View.GONE); - } + Util.runOnBackground(() -> { + DcProvider newProvider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString()); + Util.runOnMain(() -> { + if (newProvider == null + || !newProvider.getOverviewPage().equals(provider.getOverviewPage())) { + provider = null; + providerLayout.setVisibility(View.GONE); + } + }); + }); } } From 962e46a1cfe17df9e851e3d5ec5c036fe30dd274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asiel=20D=C3=ADaz=20Ben=C3=ADtez?= Date: Fri, 20 Oct 2023 19:20:51 -0400 Subject: [PATCH 2/4] Update src/org/thoughtcrime/securesms/RegistrationActivity.java Co-authored-by: bjoern --- .../thoughtcrime/securesms/RegistrationActivity.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/org/thoughtcrime/securesms/RegistrationActivity.java b/src/org/thoughtcrime/securesms/RegistrationActivity.java index 1098c2c4c..975661634 100644 --- a/src/org/thoughtcrime/securesms/RegistrationActivity.java +++ b/src/org/thoughtcrime/securesms/RegistrationActivity.java @@ -463,16 +463,8 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve private void maybeCleanProviderInfo() { if (provider!=null && providerLayout.getVisibility()==View.VISIBLE) { - Util.runOnBackground(() -> { - DcProvider newProvider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString()); - Util.runOnMain(() -> { - if (newProvider == null - || !newProvider.getOverviewPage().equals(provider.getOverviewPage())) { - provider = null; - providerLayout.setVisibility(View.GONE); - } - }); - }); + provider = null; + providerLayout.setVisibility(View.GONE); } } From d713ab42d2936e037b13f23ae967ca219eba752d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Asiel=20D=C3=ADaz=20Ben=C3=ADtez?= Date: Fri, 20 Oct 2023 19:25:59 -0400 Subject: [PATCH 3/4] Update src/org/thoughtcrime/securesms/RegistrationActivity.java Co-authored-by: bjoern --- .../securesms/RegistrationActivity.java | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/org/thoughtcrime/securesms/RegistrationActivity.java b/src/org/thoughtcrime/securesms/RegistrationActivity.java index 975661634..e11b4915e 100644 --- a/src/org/thoughtcrime/securesms/RegistrationActivity.java +++ b/src/org/thoughtcrime/securesms/RegistrationActivity.java @@ -428,7 +428,34 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve private void updateProviderInfo() { Util.runOnBackground(() -> { DcProvider newProvider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString()); - Util.runOnMain(()->updateProviderInfo(newProvider)); + Util.runOnMain(() -> { + provider = newProvider; + if (provider!=null) { + Resources res = getResources(); + providerHint.setText(provider.getBeforeLoginHint()); + switch (provider.getStatus()) { + case DcProvider.DC_PROVIDER_STATUS_PREPARATION: + providerHint.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.setVisibility(View.VISIBLE); + break; + + case DcProvider.DC_PROVIDER_STATUS_BROKEN: + providerHint.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.setVisibility(View.VISIBLE); + break; + + default: + providerLayout.setVisibility(View.GONE); + break; + } + } else { + providerLayout.setVisibility(View.GONE); + } + }); }); } From 06dae66eac0ce21d8eb1018162debbe1bce620b4 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Sat, 21 Oct 2023 01:31:56 +0200 Subject: [PATCH 4/4] remove unused updateProviderInfo(DcProvider) --- .../securesms/RegistrationActivity.java | 32 +------------------ 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/src/org/thoughtcrime/securesms/RegistrationActivity.java b/src/org/thoughtcrime/securesms/RegistrationActivity.java index e11b4915e..857cd3e2f 100644 --- a/src/org/thoughtcrime/securesms/RegistrationActivity.java +++ b/src/org/thoughtcrime/securesms/RegistrationActivity.java @@ -427,9 +427,8 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve private void updateProviderInfo() { Util.runOnBackground(() -> { - DcProvider newProvider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString()); + provider = getContext(this).getProviderFromEmailWithDns(emailInput.getText().toString()); Util.runOnMain(() -> { - provider = newProvider; if (provider!=null) { Resources res = getResources(); providerHint.setText(provider.getBeforeLoginHint()); @@ -459,35 +458,6 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve }); } - private void updateProviderInfo(DcProvider newProvider) { - provider = newProvider; - if (provider!=null) { - Resources res = getResources(); - providerHint.setText(provider.getBeforeLoginHint()); - switch (provider.getStatus()) { - case DcProvider.DC_PROVIDER_STATUS_PREPARATION: - providerHint.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.setVisibility(View.VISIBLE); - break; - - case DcProvider.DC_PROVIDER_STATUS_BROKEN: - providerHint.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.setVisibility(View.VISIBLE); - break; - - default: - providerLayout.setVisibility(View.GONE); - break; - } - } else { - providerLayout.setVisibility(View.GONE); - } - } - private void maybeCleanProviderInfo() { if (provider!=null && providerLayout.getVisibility()==View.VISIBLE) { provider = null;