diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java index 5557b787c..b05ecc094 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/ComposeFragment.java @@ -766,6 +766,7 @@ public class ComposeFragment extends MastodonToolbarFragment implements ComposeE sendingOverlay=null; removeBackCallback(sendingBackButtonBlocker); removeBackCallback(discardConfirmationCallback); + removeBackCallback(emojiKeyboardHider); if(editingStatus==null){ E.post(new StatusCreatedEvent(result, accountID)); if(replyTo!=null){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceCatalogSignupFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceCatalogSignupFragment.java index 68a9c8903..765941d46 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceCatalogSignupFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceCatalogSignupFragment.java @@ -144,6 +144,7 @@ public class InstanceCatalogSignupFragment extends InstanceCatalogFragment{ @Override public void onDestroy(){ + removeBackCallback(exitQueryModeCallback); super.onDestroy(); } diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceChooserLoginFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceChooserLoginFragment.java index 38ed1c534..b1ea11282 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceChooserLoginFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/onboarding/InstanceChooserLoginFragment.java @@ -100,6 +100,8 @@ public class InstanceChooserLoginFragment extends InstanceCatalogFragment{ .setCallback(new Callback<>(){ @Override public void onSuccess(List result){ + if(getActivity()==null) + return; data.clear(); data.addAll(sortInstances(result)); updateFilteredList(); diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/EditFilterFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/EditFilterFragment.java index 83f1f43f4..3f3e4ada1 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/EditFilterFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/settings/EditFilterFragment.java @@ -97,6 +97,12 @@ public class EditFilterFragment extends BaseSettingsFragment{ setRetainInstance(true); } + @Override + public void onDestroy(){ + removeBackCallback(confirmCallback); + super.onDestroy(); + } + @Override protected void doLoadData(int offset, int count){} diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/HeaderStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/HeaderStatusDisplayItem.java index b5034f57d..3dd2825fc 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/HeaderStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/HeaderStatusDisplayItem.java @@ -133,7 +133,8 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{ more=findViewById(R.id.more); extraText=findViewById(R.id.extra_text); clickableThing=findViewById(R.id.clickable_thing); - clickableThing.setOnClickListener(this::onAvaClick); + if(clickableThing!=null) + clickableThing.setOnClickListener(this::onAvaClick); avatar.setOutlineProvider(OutlineProviders.roundedRect(10)); avatar.setClipToOutline(true); more.setOnClickListener(this::onMoreClick); @@ -272,8 +273,10 @@ public class HeaderStatusDisplayItem extends StatusDisplayItem{ extraText.setText(item.extraText); } more.setVisibility(item.inset ? View.GONE : View.VISIBLE); - clickableThing.setClickable(!item.inset); - clickableThing.setContentDescription(item.parentFragment.getString(R.string.avatar_description, item.user.acct)); + if(clickableThing!=null){ + clickableThing.setClickable(!item.inset); + clickableThing.setContentDescription(item.parentFragment.getString(R.string.avatar_description, item.user.acct)); + } } @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/viewcontrollers/ComposeMediaViewController.java b/mastodon/src/main/java/org/joinmastodon/android/ui/viewcontrollers/ComposeMediaViewController.java index e39309718..6e1ba7f59 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/viewcontrollers/ComposeMediaViewController.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/viewcontrollers/ComposeMediaViewController.java @@ -550,7 +550,7 @@ public class ComposeMediaViewController{ } public List getAttachmentIDs(){ - return attachments.stream().map(a->a.serverAttachment.id).collect(Collectors.toList()); + return attachments.stream().filter(a->a.serverAttachment!=null).map(a->a.serverAttachment.id).collect(Collectors.toList()); } public List getAttachmentAttributes(){