Clear search if user sends message.
This commit is contained in:
parent
fb1637006d
commit
1f994495f8
3 changed files with 31 additions and 3 deletions
|
@ -20,7 +20,6 @@ import android.Manifest;
|
|||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.res.TypedArray;
|
||||
|
@ -30,7 +29,6 @@ import android.graphics.BitmapFactory;
|
|||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
@ -116,9 +114,9 @@ import org.thoughtcrime.securesms.mms.GlideApp;
|
|||
import org.thoughtcrime.securesms.notifications.MarkReadReceiver;
|
||||
import org.thoughtcrime.securesms.notifications.MessageNotifier;
|
||||
import org.thoughtcrime.securesms.permissions.Permissions;
|
||||
import org.thoughtcrime.securesms.profiles.ProfileName;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.service.KeyCachingService;
|
||||
import org.thoughtcrime.securesms.sms.MessageSender;
|
||||
import org.thoughtcrime.securesms.util.AvatarUtil;
|
||||
import org.thoughtcrime.securesms.util.ServiceUtil;
|
||||
import org.thoughtcrime.securesms.util.StickyHeaderDecoration;
|
||||
|
@ -305,6 +303,10 @@ public class ConversationListFragment extends MainFragment implements LoaderMana
|
|||
|
||||
@Override
|
||||
public boolean onBackPressed() {
|
||||
return closeSearchIfOpen();
|
||||
}
|
||||
|
||||
private boolean closeSearchIfOpen() {
|
||||
if (searchToolbar.isVisible() || activeAdapter == searchAdapter) {
|
||||
activeAdapter = defaultAdapter;
|
||||
list.removeItemDecoration(searchAdapterDecoration);
|
||||
|
@ -820,6 +822,12 @@ public class ConversationListFragment extends MainFragment implements LoaderMana
|
|||
updateReminders();
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
|
||||
public void onEvent(MessageSender.MessageSentEvent event) {
|
||||
EventBus.getDefault().removeStickyEvent(event);
|
||||
closeSearchIfOpen();
|
||||
}
|
||||
|
||||
protected @IdRes int getToolbarRes() {
|
||||
return R.id.toolbar;
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import androidx.annotation.Nullable;
|
|||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.thoughtcrime.securesms.ApplicationContext;
|
||||
import org.thoughtcrime.securesms.attachments.Attachment;
|
||||
import org.thoughtcrime.securesms.attachments.AttachmentId;
|
||||
|
@ -99,6 +100,7 @@ public class MessageSender {
|
|||
long messageId = database.insertMessageOutbox(allocatedThreadId, message, forceSms, System.currentTimeMillis(), insertListener);
|
||||
|
||||
sendTextMessage(context, recipient, forceSms, keyExchange, messageId);
|
||||
onMessageSent();
|
||||
|
||||
return allocatedThreadId;
|
||||
}
|
||||
|
@ -125,6 +127,7 @@ public class MessageSender {
|
|||
long messageId = database.insertMessageOutbox(message, allocatedThreadId, forceSms, insertListener);
|
||||
|
||||
sendMediaMessage(context, recipient, forceSms, messageId, Collections.emptyList());
|
||||
onMessageSent();
|
||||
|
||||
return allocatedThreadId;
|
||||
} catch (MmsException e) {
|
||||
|
@ -164,6 +167,7 @@ public class MessageSender {
|
|||
attachmentDatabase.updateMessageId(attachmentIds, messageId);
|
||||
|
||||
sendMediaMessage(context, recipient, false, messageId, jobIds);
|
||||
onMessageSent();
|
||||
|
||||
return allocatedThreadId;
|
||||
} catch (MmsException e) {
|
||||
|
@ -241,6 +245,7 @@ public class MessageSender {
|
|||
}
|
||||
}
|
||||
|
||||
onMessageSent();
|
||||
mmsDatabase.setTransactionSuccessful();
|
||||
} catch (MmsException e) {
|
||||
Log.w(TAG, "Failed to send messages.", e);
|
||||
|
@ -285,6 +290,7 @@ public class MessageSender {
|
|||
|
||||
try {
|
||||
ApplicationDependencies.getJobManager().add(ReactionSendJob.create(context, messageId, isMms, reaction, false));
|
||||
onMessageSent();
|
||||
} catch (NoSuchMessageException e) {
|
||||
Log.w(TAG, "[sendNewReaction] Could not find message! Ignoring.");
|
||||
}
|
||||
|
@ -297,6 +303,7 @@ public class MessageSender {
|
|||
|
||||
try {
|
||||
ApplicationDependencies.getJobManager().add(ReactionSendJob.create(context, messageId, isMms, reaction, true));
|
||||
onMessageSent();
|
||||
} catch (NoSuchMessageException e) {
|
||||
Log.w(TAG, "[sendReactionRemoval] Could not find message! Ignoring.");
|
||||
}
|
||||
|
@ -305,6 +312,7 @@ public class MessageSender {
|
|||
public static void resendGroupMessage(Context context, MessageRecord messageRecord, RecipientId filterRecipientId) {
|
||||
if (!messageRecord.isMms()) throw new AssertionError("Not Group");
|
||||
sendGroupPush(context, messageRecord.getRecipient(), messageRecord.getId(), filterRecipientId, Collections.emptyList());
|
||||
onMessageSent();
|
||||
}
|
||||
|
||||
public static void resend(Context context, MessageRecord messageRecord) {
|
||||
|
@ -318,6 +326,12 @@ public class MessageSender {
|
|||
} else {
|
||||
sendTextMessage(context, recipient, forceSms, keyExchange, messageId);
|
||||
}
|
||||
|
||||
onMessageSent();
|
||||
}
|
||||
|
||||
public static void onMessageSent() {
|
||||
EventBus.getDefault().postSticky(MessageSentEvent.INSTANCE);
|
||||
}
|
||||
|
||||
private static void sendMediaMessage(Context context, Recipient recipient, boolean forceSms, long messageId, @NonNull Collection<String> uploadJobIds)
|
||||
|
@ -538,4 +552,8 @@ public class MessageSender {
|
|||
ParcelUtil.writeStringCollection(dest, jobIds);
|
||||
}
|
||||
}
|
||||
|
||||
public enum MessageSentEvent {
|
||||
INSTANCE
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ import org.thoughtcrime.securesms.permissions.Permissions;
|
|||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.ringrtc.RemotePeer;
|
||||
import org.thoughtcrime.securesms.service.WebRtcCallService;
|
||||
import org.thoughtcrime.securesms.sms.MessageSender;
|
||||
|
||||
public class CommunicationActions {
|
||||
|
||||
|
@ -182,6 +183,7 @@ public class CommunicationActions {
|
|||
activityIntent.putExtra(WebRtcCallActivity.EXTRA_ENABLE_VIDEO_IF_AVAILABLE, true);
|
||||
}
|
||||
|
||||
MessageSender.onMessageSent();
|
||||
activity.startActivity(activityIntent);
|
||||
})
|
||||
.execute();
|
||||
|
|
Loading…
Add table
Reference in a new issue