mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-23 04:41:29 +00:00
refactor: simplify the long message activity
This commit is contained in:
parent
4498b6e00f
commit
f41ab951e2
app/src/main
java/org/thoughtcrime/securesms
res/layout
@ -2,10 +2,8 @@ package org.thoughtcrime.securesms.conversation.v2
|
|||||||
|
|
||||||
import android.animation.FloatEvaluator
|
import android.animation.FloatEvaluator
|
||||||
import android.animation.ValueAnimator
|
import android.animation.ValueAnimator
|
||||||
import android.app.Activity
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.Intent
|
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import android.database.Cursor
|
import android.database.Cursor
|
||||||
import android.graphics.Rect
|
import android.graphics.Rect
|
||||||
@ -45,7 +43,6 @@ import org.session.libsession.messaging.open_groups.OpenGroupAPIV2
|
|||||||
import org.session.libsession.messaging.sending_receiving.MessageSender
|
import org.session.libsession.messaging.sending_receiving.MessageSender
|
||||||
import org.session.libsession.messaging.sending_receiving.attachments.Attachment
|
import org.session.libsession.messaging.sending_receiving.attachments.Attachment
|
||||||
import org.session.libsession.utilities.MediaTypes
|
import org.session.libsession.utilities.MediaTypes
|
||||||
import org.session.libsession.utilities.ServiceUtil
|
|
||||||
import org.session.libsession.utilities.TextSecurePreferences
|
import org.session.libsession.utilities.TextSecurePreferences
|
||||||
import org.session.libsignal.utilities.ListenableFuture
|
import org.session.libsignal.utilities.ListenableFuture
|
||||||
import org.thoughtcrime.securesms.ApplicationContext
|
import org.thoughtcrime.securesms.ApplicationContext
|
||||||
@ -71,13 +68,11 @@ import org.thoughtcrime.securesms.linkpreview.LinkPreviewViewModel
|
|||||||
import org.thoughtcrime.securesms.linkpreview.LinkPreviewViewModel.LinkPreviewState
|
import org.thoughtcrime.securesms.linkpreview.LinkPreviewViewModel.LinkPreviewState
|
||||||
import org.thoughtcrime.securesms.loki.utilities.ActivityDispatcher
|
import org.thoughtcrime.securesms.loki.utilities.ActivityDispatcher
|
||||||
import org.thoughtcrime.securesms.loki.utilities.push
|
import org.thoughtcrime.securesms.loki.utilities.push
|
||||||
import org.thoughtcrime.securesms.loki.utilities.show
|
|
||||||
import org.thoughtcrime.securesms.loki.utilities.toPx
|
import org.thoughtcrime.securesms.loki.utilities.toPx
|
||||||
import org.thoughtcrime.securesms.mediasend.Media
|
import org.thoughtcrime.securesms.mediasend.Media
|
||||||
import org.thoughtcrime.securesms.mediasend.MediaSendActivity
|
import org.thoughtcrime.securesms.mediasend.MediaSendActivity
|
||||||
import org.thoughtcrime.securesms.mms.*
|
import org.thoughtcrime.securesms.mms.*
|
||||||
import org.thoughtcrime.securesms.notifications.MarkReadReceiver
|
import org.thoughtcrime.securesms.notifications.MarkReadReceiver
|
||||||
import org.thoughtcrime.securesms.providers.BlobProvider
|
|
||||||
import org.thoughtcrime.securesms.util.DateUtils
|
import org.thoughtcrime.securesms.util.DateUtils
|
||||||
import org.thoughtcrime.securesms.util.MediaUtil
|
import org.thoughtcrime.securesms.util.MediaUtil
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
@ -43,8 +43,8 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity {
|
|||||||
|
|
||||||
private static final int MAX_DISPLAY_LENGTH = 64 * 1024;
|
private static final int MAX_DISPLAY_LENGTH = 64 * 1024;
|
||||||
|
|
||||||
private Stub<ViewGroup> sentBubble;
|
private TextView textBody;
|
||||||
private Stub<ViewGroup> receivedBubble;
|
private ConversationItemFooter footerText;
|
||||||
|
|
||||||
private LongMessageViewModel viewModel;
|
private LongMessageViewModel viewModel;
|
||||||
|
|
||||||
@ -60,9 +60,8 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity {
|
|||||||
protected void onCreate(Bundle savedInstanceState, boolean ready) {
|
protected void onCreate(Bundle savedInstanceState, boolean ready) {
|
||||||
super.onCreate(savedInstanceState, ready);
|
super.onCreate(savedInstanceState, ready);
|
||||||
setContentView(R.layout.longmessage_activity);
|
setContentView(R.layout.longmessage_activity);
|
||||||
|
textBody = findViewById(R.id.longmessage_text);
|
||||||
sentBubble = new Stub<>(findViewById(R.id.longmessage_sent_stub));
|
footerText = findViewById(R.id.longmessage_footer);
|
||||||
receivedBubble = new Stub<>(findViewById(R.id.longmessage_received_stub));
|
|
||||||
|
|
||||||
initViewModel(getIntent().getLongExtra(KEY_MESSAGE_ID, -1), getIntent().getBooleanExtra(KEY_IS_MMS, false));
|
initViewModel(getIntent().getLongExtra(KEY_MESSAGE_ID, -1), getIntent().getBooleanExtra(KEY_IS_MMS, false));
|
||||||
}
|
}
|
||||||
@ -102,27 +101,11 @@ public class LongMessageActivity extends PassphraseRequiredActionBarActivity {
|
|||||||
getSupportActionBar().setTitle(getString(R.string.LongMessageActivity_message_from_s, name));
|
getSupportActionBar().setTitle(getString(R.string.LongMessageActivity_message_from_s, name));
|
||||||
}
|
}
|
||||||
|
|
||||||
ViewGroup bubble;
|
|
||||||
|
|
||||||
if (message.get().getMessageRecord().isOutgoing()) {
|
|
||||||
bubble = sentBubble.get();
|
|
||||||
bubble.getBackground().setColorFilter(ThemeUtil.getThemedColor(this, R.attr.message_sent_background_color), PorterDuff.Mode.MULTIPLY);
|
|
||||||
} else {
|
|
||||||
bubble = receivedBubble.get();
|
|
||||||
bubble.getBackground().setColorFilter(ThemeUtil.getThemedColor(this, R.attr.message_received_background_color), PorterDuff.Mode.MULTIPLY);
|
|
||||||
}
|
|
||||||
|
|
||||||
TextView text = bubble.findViewById(R.id.longmessage_text);
|
|
||||||
ConversationItemFooter footer = bubble.findViewById(R.id.longmessage_footer);
|
|
||||||
|
|
||||||
String trimmedBody = getTrimmedBody(message.get().getFullBody());
|
String trimmedBody = getTrimmedBody(message.get().getFullBody());
|
||||||
SpannableString styledBody = linkifyMessageBody(new SpannableString(trimmedBody));
|
SpannableString styledBody = linkifyMessageBody(new SpannableString(trimmedBody));
|
||||||
|
|
||||||
bubble.setVisibility(View.VISIBLE);
|
textBody.setText(styledBody);
|
||||||
text.setText(styledBody);
|
footerText.setMessageRecord(message.get().getMessageRecord(), Locale.getDefault());
|
||||||
text.setMovementMethod(LinkMovementMethod.getInstance());
|
|
||||||
text.setTextSize(TypedValue.COMPLEX_UNIT_SP, TextSecurePreferences.getMessageBodyTextSize(this));
|
|
||||||
footer.setMessageRecord(message.get().getMessageRecord(), Locale.getDefault());
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,23 +4,22 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<FrameLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical"
|
||||||
android:padding="16dp">
|
android:padding="16dp">
|
||||||
|
|
||||||
<ViewStub
|
<TextView
|
||||||
android:id="@+id/longmessage_sent_stub"
|
android:id="@+id/longmessage_text"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"/>
|
||||||
android:layout="@layout/longmessage_bubble_sent"/>
|
|
||||||
|
|
||||||
<ViewStub
|
<org.thoughtcrime.securesms.components.ConversationItemFooter
|
||||||
android:id="@+id/longmessage_received_stub"
|
android:id="@+id/longmessage_footer"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"/>
|
||||||
android:layout="@layout/longmessage_bubble_received"/>
|
|
||||||
|
|
||||||
</FrameLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
Loading…
x
Reference in New Issue
Block a user