Buggy code:
public class ConversationActivity extends PassphraseRequiredActionBarActivity implements ConversationFragment . ConversationFragmentListener , RecipientModifiedListener , AttachmentManager . AttachmentListener { private static final String TAG = ConversationActivity . class . getSimpleName ( ) ; public static final String RECIPIENTS_EXTRA = "recipients" ; public static final String THREAD_ID_EXTRA = "thread_id" ; public static final String DRAFT_TEXT_EXTRA = "draft_text" ; public static final String DRAFT_IMAGE_EXTRA = "draft_image" ; public static final String DRAFT_AUDIO_EXTRA = "draft_audio" ; public static final String DRAFT_VIDEO_EXTRA = "draft_video" ; public static final String DISTRIBUTION_TYPE_EXTRA = "distribution_type" ; private static final int PICK_IMAGE = 1 ; private static final int PICK_VIDEO = 2 ; private static final int PICK_AUDIO = 3 ; private static final int PICK_CONTACT_INFO = 4 ; private static final int GROUP_EDIT = 5 ; private MasterSecret masterSecret ; private ComposeText composeText ; private SendButton sendButton ; private TextView charactersLeft ; private ConversationFragment fragment ; private AttachmentTypeSelectorAdapter attachmentAdapter ; private AttachmentManager attachmentManager ; private BroadcastReceiver securityUpdateReceiver ; private BroadcastReceiver groupUpdateReceiver ; private Optional < EmojiDrawer > emojiDrawer ; private EmojiToggle emojiToggle ; private Recipients recipients ; private long threadId ; private int distributionType ; private boolean isEncryptedConversation ; private boolean isMmsEnabled = true ; private DynamicTheme dynamicTheme = new DynamicTheme ( ) ; private DynamicLanguage dynamicLanguage = new DynamicLanguage ( ) ; @ Override protected void onPreCreate ( ) { } @ Override protected void onCreate ( Bundle state , @ NonNull MasterSecret masterSecret ) { } @ Override protected void onNewIntent ( Intent intent ) { } @ Override protected void onResume ( ) { } @ Override protected void onPause ( ) { } @ Override protected void onDestroy ( ) { } @ Override public void onActivityResult ( int reqCode , int resultCode , Intent data ) { } @ Override public boolean onPrepareOptionsMenu ( Menu menu ) { } @ Override public boolean onOptionsItemSelected ( MenuItem item ) { } @ Override public void onBackPressed ( ) { } private void handleReturnToConversationList ( ) { } private void handleInviteLink ( ) { } private void handleVerifyIdentity ( ) { } private void handleAbortSecureSession ( ) { } private void handleViewMedia ( ) { } private void handleLeavePushGroup ( ) { } private void handleEditPushGroup ( ) { } private void handleDistributionBroadcastEnabled ( MenuItem item ) { } private void handleDistributionConversationEnabled ( MenuItem item ) { } private void handleDial ( Recipient recipient ) { } private void handleDisplayGroupRecipients ( ) { } private void handleDeleteThread ( ) { } private void handleAddToContacts ( ) { } private void handleAddAttachment ( ) { } private void handleManualMmsRequired ( ) { } private void initializeTitleBar ( ) { } private void initializeDraft ( ) { } private void initializeEnabledCheck ( ) { } private void initializeDraftFromDatabase ( ) { } private void initializeSecurity ( ) { } private void initializeMmsEnabledCheck ( ) { } private void initializeIme ( ) { } private void initializeViews ( ) { } private EmojiDrawer getEmojiDrawer ( ) { if ( emojiDrawer . isPresent ( ) ) return emojiDrawer . get ( ) ; EmojiDrawer emojiDrawerFragment = EmojiDrawer . newInstance ( ) ; emojiDrawerFragment . setComposeEditText ( composeText ) ; <START_BUG> getSupportFragmentManager ( ) . beginTransaction ( ) . replace ( emoji_drawer , emojiDrawerFragment ) . commit ( ) ; <END_BUG> getSupportFragmentManager ( ) . executePendingTransactions ( ) ; emojiDrawer = Optional . of ( emojiDrawerFragment ) ; return emojiDrawerFragment ; } private boolean isEmojiDrawerOpen ( ) { } private void initializeResources ( ) { } @ Override public void onModified ( Recipient recipient ) { } private void initializeReceivers ( ) { } private void addAttachment ( int type ) { } private void addAttachmentImage ( Uri imageUri ) { } private void addAttachmentVideo ( Uri videoUri ) { } private void addAttachmentAudio ( Uri audioUri ) { } private void addAttachmentContactInfo ( Uri contactUri ) { } private void selectContactInfo ( ContactData contactData ) { } private Drafts getDraftsForCurrentState ( ) { } private void saveDraft ( ) { } private void calculateCharactersRemaining ( ) { } private boolean isSingleConversation ( ) { } private boolean isActiveGroup ( ) { } private boolean isGroupConversation ( ) { } private boolean isPushGroupConversation ( ) { } private Recipients getRecipients ( ) { } private String getMessage ( ) throws InvalidMessageException { } private void markThreadAsRead ( ) { } private void sendComplete ( long threadId ) { } private void sendMessage ( ) { } private void sendMediaMessage ( final boolean forceSms ) throws InvalidMessageException { } private void sendTextMessage ( final boolean forceSms ) throws InvalidMessageException { } private class AttachmentTypeListener implements DialogInterface . OnClickListener { @ Override public void onClick ( DialogInterface dialog , int which ) { } } private class EmojiToggleListener implements OnClickListener { @ Override public void onClick ( View v ) { } } private class SendButtonListener implements OnClickListener , TextView . OnEditorActionListener { @ Override public void onClick ( View v ) { } @ Override public boolean onEditorAction ( TextView v , int actionId , KeyEvent event ) { } } private class ComposeKeyPressedListener implements TextWatcher , OnClickListener , OnFocusChangeListener , OnKeyListener { @ Override public boolean onKey ( View v , int keyCode , KeyEvent event ) { } @ Override public void onClick ( View v ) { } @ Override public void afterTextChanged ( Editable s ) { } @ Override public void beforeTextChanged ( CharSequence s , int start , int count , int after ) { } @ Override public void onTextChanged ( CharSequence s , int start , int before , int count ) { } @ Override public void onFocusChange ( View v , boolean hasFocus ) { } } @ Override public void setComposeText ( String text ) { } @ Override public void setThreadId ( long threadId ) { } @ Override public void onAttachmentChanged ( ) { } }

Fix:
getSupportFragmentManager ( ) . beginTransaction ( ) . add ( emoji_drawer , emojiDrawerFragment ) . commit ( ) ;