From 641db1cbe2cdda753ae2ddc492b3f55e6a276fa0 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 29 Sep 2021 13:03:35 -0400 Subject: [PATCH] Fix navigation crashes in registration and manage profile. --- .../profiles/manage/ManageProfileActivity.java | 13 +++++++++---- .../res/layout/activity_registration_navigation.xml | 2 +- app/src/main/res/layout/manage_profile_activity.xml | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileActivity.java b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileActivity.java index c4cd90b4c6..c6bdcdf8c6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/profiles/manage/ManageProfileActivity.java @@ -6,6 +6,7 @@ import android.os.Bundle; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; +import androidx.navigation.NavController; import androidx.navigation.NavDirections; import androidx.navigation.NavGraph; import androidx.navigation.Navigation; @@ -51,18 +52,22 @@ public class ManageProfileActivity extends PassphraseRequiredActivity implements if (bundle == null) { Bundle extras = getIntent().getExtras(); - NavGraph graph = Navigation.findNavController(this, R.id.nav_host_fragment).getGraph(); - Navigation.findNavController(this, R.id.nav_host_fragment).setGraph(graph, extras != null ? extras : new Bundle()); + //noinspection ConstantConditions + NavController navController = ((NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment)).getNavController(); + + NavGraph graph = navController.getGraph(); + + navController.setGraph(graph, extras != null ? extras : new Bundle()); if (extras != null && extras.getBoolean(START_AT_USERNAME, false)) { NavDirections action = ManageProfileFragmentDirections.actionManageUsername(); - Navigation.findNavController(this, R.id.nav_host_fragment).navigate(action); + navController.navigate(action); } if (extras != null && extras.getBoolean(START_AT_AVATAR, false)) { NavDirections action = ManageProfileFragmentDirections.actionManageProfileFragmentToAvatarPicker(null, null); - Navigation.findNavController(this, R.id.nav_host_fragment).navigate(action); + navController.navigate(action); } } } diff --git a/app/src/main/res/layout/activity_registration_navigation.xml b/app/src/main/res/layout/activity_registration_navigation.xml index 5fd7037b60..ae778f46c6 100644 --- a/app/src/main/res/layout/activity_registration_navigation.xml +++ b/app/src/main/res/layout/activity_registration_navigation.xml @@ -6,7 +6,7 @@ android:layout_height="match_parent" tools:context=".registration.RegistrationNavigationActivity"> - -