From 778a31f76c8ffd861b909918f87beaf24637f976 Mon Sep 17 00:00:00 2001 From: VaiTon Date: Sun, 15 Nov 2020 12:37:27 +0100 Subject: [PATCH] fix: fix ISE in MainActivity, closes https://github.com/openfoodfacts/openfoodfacts-androidapp/issues/3573 --- .../openfood/features/MainActivity.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.java b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.java index 6c5a97773c97..2fb0c05c422e 100644 --- a/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.java +++ b/app/src/main/java/openfoodfacts/github/scrachx/openfood/features/MainActivity.java @@ -42,7 +42,6 @@ import android.widget.SearchView; import android.widget.Toast; -import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -144,29 +143,34 @@ public class MainActivity extends BaseActivity implements NavigationDrawerListen private static final int WEEK_IN_MS = 60 * 60 * 24 * 7 * 1000; public static final String PRODUCT_SEARCH_KEY = "product_search"; private static final String LOG_TAG = MainActivity.class.getSimpleName(); + private String barcode; private ActivityMainBinding binding; - private AccountHeader headerResult = null; - private Drawer drawerResult = null; - private MenuItem searchMenuItem; + private Uri contributeUri; private CustomTabActivityHelper customTabActivityHelper; /** * Used to re-create the fragment after activity recreation */ private CustomTabsIntent customTabsIntent; - private Uri userAccountUri; - private Uri contributeUri; private Uri discoverUri; - private Uri userContributeUri; - private String barcode; - private PrefManager prefManager; private CompositeDisposable disp; - ActivityResultLauncher loginActivityResultLauncher = registerForActivityResult( - new LoginActivity.LoginContract(), - (ActivityResultCallback) isLoggedIn -> { + private Drawer drawerResult = null; + private AccountHeader headerResult = null; + private PrefManager prefManager; + private MenuItem searchMenuItem; + private Uri userAccountUri; + private final ActivityResultLauncher loginThenUpdateLauncher = registerForActivityResult( + new LoginActivity.LoginContract(), isLoggedIn -> { if (isLoggedIn) { updateConnectedState(); } }); + private Uri userContributeUri; + private final ActivityResultLauncher loginThenContributionsLauncher = registerForActivityResult( + new LoginActivity.LoginContract(), isLoggedIn -> { + if (isLoggedIn) { + openMyContributionsInBrowser(); + } + }); @Override protected void onCreate(Bundle savedInstanceState) { @@ -343,7 +347,7 @@ public void onDrawerSlide(View drawerView, float slideOffset) { break; case ITEM_LOGIN: - loginActivityResultLauncher.launch(null); + loginThenUpdateLauncher.launch(null); break; case ITEM_ALERT: @@ -590,11 +594,7 @@ private void openMyContributions() { .onPositive((dialog, which) -> CustomTabActivityHelper.openCustomTab(MainActivity.this, customTabsIntent, Uri.parse(getString(R .string.website) + "cgi/user.pl"), new WebViewFallback())) .onNeutral((dialog, which) -> - registerForActivityResult(new LoginActivity.LoginContract(), isLoggedIn -> { - if (isLoggedIn) { - openMyContributionsInBrowser(); - } - }).launch(null)) + loginThenContributionsLauncher.launch(null)) .show(); } }