mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-22 02:36:55 +00:00
Fix a couple issues with fragmentization refactor.
* Fix a crash from detached fragment. * Fix sticker search sends.
This commit is contained in:
@@ -200,6 +200,8 @@ import org.thoughtcrime.securesms.keyboard.KeyboardPagerViewModel;
|
||||
import org.thoughtcrime.securesms.keyboard.emoji.EmojiKeyboardPageFragment;
|
||||
import org.thoughtcrime.securesms.keyboard.emoji.search.EmojiSearchFragment;
|
||||
import org.thoughtcrime.securesms.keyboard.gif.GifKeyboardPageFragment;
|
||||
import org.thoughtcrime.securesms.keyboard.sticker.StickerKeyboardPageFragment;
|
||||
import org.thoughtcrime.securesms.keyboard.sticker.StickerSearchDialogFragment;
|
||||
import org.thoughtcrime.securesms.keyvalue.PaymentsValues;
|
||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||
import org.thoughtcrime.securesms.linkpreview.LinkPreview;
|
||||
@@ -338,7 +340,8 @@ public class ConversationParentFragment extends Fragment
|
||||
EmojiEventListener,
|
||||
GifKeyboardPageFragment.Host,
|
||||
EmojiKeyboardPageFragment.Callback,
|
||||
EmojiSearchFragment.Callback
|
||||
EmojiSearchFragment.Callback,
|
||||
StickerKeyboardPageFragment.Callback
|
||||
{
|
||||
|
||||
private static final int SHORTCUT_ICON_SIZE = Build.VERSION.SDK_INT >= 26 ? ViewUtil.dpToPx(72) : ViewUtil.dpToPx(48 + 16 * 2);
|
||||
@@ -2473,6 +2476,11 @@ public class ConversationParentFragment extends Fragment
|
||||
}
|
||||
|
||||
private void onRecipientChanged(@NonNull Recipient recipient) {
|
||||
if (getContext() == null) {
|
||||
Log.w(TAG, "onRecipientChanged called in detached state. Ignoring.");
|
||||
return;
|
||||
}
|
||||
|
||||
Log.i(TAG, "onModified(" + recipient.getId() + ") " + recipient.getRegistered());
|
||||
titleView.setTitle(glideRequests, recipient);
|
||||
titleView.setVerified(identityRecords.isVerified());
|
||||
@@ -3460,6 +3468,10 @@ public class ConversationParentFragment extends Fragment
|
||||
return voiceNoteMediaController;
|
||||
}
|
||||
|
||||
@Override public void openStickerSearch() {
|
||||
StickerSearchDialogFragment.show(getChildFragmentManager());
|
||||
}
|
||||
|
||||
// Listeners
|
||||
|
||||
private final class DeleteCanceledVoiceNoteListener implements ListenableFuture.Listener<VoiceNoteDraft> {
|
||||
|
||||
@@ -87,11 +87,14 @@ class StickerKeyboardPageFragment :
|
||||
|
||||
view.findViewById<KeyboardPageSearchView>(R.id.sticker_keyboard_search_text).callbacks = object : KeyboardPageSearchView.Callbacks {
|
||||
override fun onClicked() {
|
||||
StickerSearchDialogFragment.show(requireActivity().supportFragmentManager)
|
||||
findListener<Callback>()!!.openStickerSearch()
|
||||
}
|
||||
}
|
||||
|
||||
view.findViewById<View>(R.id.sticker_search).setOnClickListener { StickerSearchDialogFragment.show(requireActivity().supportFragmentManager) }
|
||||
view.findViewById<View>(R.id.sticker_search).setOnClickListener {
|
||||
findListener<Callback>()!!.openStickerSearch()
|
||||
}
|
||||
|
||||
view.findViewById<View>(R.id.sticker_manage).setOnClickListener { findListener<StickerEventListener>()?.onStickerManagementClicked() }
|
||||
|
||||
ApplicationDependencies.getDatabaseObserver().registerStickerObserver(this)
|
||||
@@ -237,4 +240,8 @@ class StickerKeyboardPageFragment :
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interface Callback {
|
||||
fun openStickerSearch()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,6 +96,7 @@ class StickerSearchDialogFragment : DialogFragment(), KeyboardStickerListAdapter
|
||||
override fun onStickerLongClicked(sticker: KeyboardStickerListAdapter.Sticker) = Unit
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun show(fragmentManager: FragmentManager) {
|
||||
StickerSearchDialogFragment().show(fragmentManager, "TAG")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user