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