mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2024-12-27 19:38:22 +01:00
Copy priate messages.
This commit is contained in:
parent
9a994ca531
commit
345392a833
@ -225,12 +225,6 @@ public class MessageRecyclerViewAdapter extends PagedListAdapter<Message, Recycl
|
||||
intent.putExtra(ViewUserDetailActivity.EXTRA_USER_NAME_KEY, message.getAuthor());
|
||||
mActivity.startActivity(intent);
|
||||
});
|
||||
|
||||
((DataViewHolder) holder).contentCustomMarkwonView.setOnClickListener(view -> {
|
||||
if (((DataViewHolder) holder).contentCustomMarkwonView.getSelectionStart() == -1 && ((DataViewHolder) holder).contentCustomMarkwonView.getSelectionEnd() == -1) {
|
||||
holder.itemView.performClick();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -330,6 +324,12 @@ public class MessageRecyclerViewAdapter extends PagedListAdapter<Message, Recycl
|
||||
contentCustomMarkwonView.setTextColor(mSecondaryTextColor);
|
||||
|
||||
contentCustomMarkwonView.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
||||
contentCustomMarkwonView.setOnClickListener(view -> {
|
||||
if (contentCustomMarkwonView.getSelectionStart() == -1 && contentCustomMarkwonView.getSelectionEnd() == -1) {
|
||||
itemView.performClick();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,8 @@
|
||||
package ml.docilealligator.infinityforreddit.adapters;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.Color;
|
||||
@ -11,6 +14,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
@ -154,7 +158,6 @@ public class PrivateMessagesDetailRecyclerViewAdapter extends RecyclerView.Adapt
|
||||
if (holder instanceof MessageViewHolder) {
|
||||
mMarkwon.setMarkdown(((MessageViewHolder) holder).messageTextView, message.getBody());
|
||||
|
||||
((MessageViewHolder) holder).messageTextView.setOnClickListener(view -> ((MessageViewHolder) holder).itemView.performClick());
|
||||
if (mShowElapsedTime) {
|
||||
((MessageViewHolder) holder).timeTextView.setText(Utils.getElapsedTime(mViewPrivateMessagesActivity, message.getTimeUTC()));
|
||||
} else {
|
||||
@ -164,11 +167,12 @@ public class PrivateMessagesDetailRecyclerViewAdapter extends RecyclerView.Adapt
|
||||
((MessageViewHolder) holder).messageTextView.setOnClickListener(view -> {
|
||||
if (((MessageViewHolder) holder).timeTextView.getVisibility() != View.VISIBLE) {
|
||||
((MessageViewHolder) holder).timeTextView.setVisibility(View.VISIBLE);
|
||||
mViewPrivateMessagesActivity.delayTransition();
|
||||
((MessageViewHolder) holder).copyImageView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
((MessageViewHolder) holder).timeTextView.setVisibility(View.GONE);
|
||||
mViewPrivateMessagesActivity.delayTransition();
|
||||
((MessageViewHolder) holder).copyImageView.setVisibility(View.GONE);
|
||||
}
|
||||
mViewPrivateMessagesActivity.delayTransition();
|
||||
});
|
||||
}
|
||||
|
||||
@ -246,17 +250,40 @@ public class PrivateMessagesDetailRecyclerViewAdapter extends RecyclerView.Adapt
|
||||
class MessageViewHolder extends RecyclerView.ViewHolder {
|
||||
TextView messageTextView;
|
||||
TextView timeTextView;
|
||||
ImageView copyImageView;
|
||||
|
||||
public MessageViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
}
|
||||
|
||||
void setBaseView(TextView messageTextView, TextView timeTextView) {
|
||||
void setBaseView(TextView messageTextView, TextView timeTextView, ImageView copyImageView) {
|
||||
this.messageTextView = messageTextView;
|
||||
this.timeTextView = timeTextView;
|
||||
this.copyImageView = copyImageView;
|
||||
|
||||
messageTextView.setTextColor(Color.WHITE);
|
||||
timeTextView.setTextColor(mSecondaryTextColor);
|
||||
|
||||
copyImageView.setColorFilter(mSecondaryTextColor, android.graphics.PorterDuff.Mode.SRC_IN);
|
||||
|
||||
copyImageView.setOnClickListener(view -> {
|
||||
Message message;
|
||||
if (getBindingAdapterPosition() == 0) {
|
||||
message = mMessage;
|
||||
} else {
|
||||
message = mMessage.getReplies().get(getBindingAdapterPosition() - 1);
|
||||
}
|
||||
if (message != null) {
|
||||
ClipboardManager clipboard = (ClipboardManager) mViewPrivateMessagesActivity.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
if (clipboard != null) {
|
||||
ClipData clip = ClipData.newPlainText("simple text", message.getBody());
|
||||
clipboard.setPrimaryClip(clip);
|
||||
Toast.makeText(mViewPrivateMessagesActivity, R.string.copy_success, Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
Toast.makeText(mViewPrivateMessagesActivity, R.string.copy_failed, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@ -265,14 +292,15 @@ public class PrivateMessagesDetailRecyclerViewAdapter extends RecyclerView.Adapt
|
||||
TextView messageTextView;
|
||||
@BindView(R.id.time_text_view_item_private_message_sent)
|
||||
TextView timeTextView;
|
||||
@BindView(R.id.copy_image_view_item_private_message_sent)
|
||||
ImageView copyImageView;
|
||||
|
||||
SentMessageViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
setBaseView(messageTextView, timeTextView);
|
||||
setBaseView(messageTextView, timeTextView, copyImageView);
|
||||
|
||||
messageTextView.setTextColor(mSentMessageTextColor);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -283,11 +311,13 @@ public class PrivateMessagesDetailRecyclerViewAdapter extends RecyclerView.Adapt
|
||||
TextView messageTextView;
|
||||
@BindView(R.id.time_text_view_item_private_message_received)
|
||||
TextView timeTextView;
|
||||
@BindView(R.id.copy_image_view_item_private_message_received)
|
||||
ImageView copyImageView;
|
||||
|
||||
ReceivedMessageViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
ButterKnife.bind(this, itemView);
|
||||
setBaseView(messageTextView, timeTextView);
|
||||
setBaseView(messageTextView, timeTextView, copyImageView);
|
||||
|
||||
messageTextView.setTextColor(mReceivedMessageTextColor);
|
||||
}
|
||||
|
@ -15,8 +15,7 @@
|
||||
android:layout_height="36dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/barrier3" />
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/message_text_view_item_private_message_received"
|
||||
@ -44,18 +43,24 @@
|
||||
android:textSize="?attr/font_default"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/avatar_image_view_item_private_message_received"
|
||||
app:layout_constraintTop_toBottomOf="@id/message_text_view_item_private_message_received"
|
||||
app:layout_constraintWidth_max="wrap"
|
||||
app:layout_constraintWidth_percent="0.7"
|
||||
app:layout_constraintHorizontal_bias="0" />
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
android:id="@+id/barrier3"
|
||||
<ImageView
|
||||
android:id="@+id/copy_image_view_item_private_message_received"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:barrierDirection="start"
|
||||
app:constraint_referenced_ids="message_text_view_item_private_message_received, time_text_view_item_private_message_received" />
|
||||
android:padding="16dp"
|
||||
android:src="@drawable/ic_copy_24dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?attr/actionBarItemBackground"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toEndOf="@id/time_text_view_item_private_message_received"
|
||||
app:layout_constraintTop_toBottomOf="@id/message_text_view_item_private_message_received"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -40,4 +40,18 @@
|
||||
app:layout_constraintWidth_percent="0.7"
|
||||
app:layout_constraintHorizontal_bias="1" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/copy_image_view_item_private_message_sent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="16dp"
|
||||
android:src="@drawable/ic_copy_24dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:background="?attr/actionBarItemBackground"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toStartOf="@id/time_text_view_item_private_message_sent"
|
||||
app:layout_constraintTop_toBottomOf="@id/message_text_view_item_private_message_sent"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
Loading…
Reference in New Issue
Block a user