emoji_reactions: show keyboard as dialog
This commit is contained in:
parent
6100868c7a
commit
125186885d
|
@ -50,6 +50,7 @@ import com.keylesspalace.tusky.util.ThemeUtils;
|
|||
import com.keylesspalace.tusky.util.TimestampUtils;
|
||||
import com.keylesspalace.tusky.util.ViewExtensionsKt;
|
||||
import com.keylesspalace.tusky.view.MediaPreviewImageView;
|
||||
import com.keylesspalace.tusky.view.EmojiKeyboard;
|
||||
import com.keylesspalace.tusky.viewdata.PollOptionViewData;
|
||||
import com.keylesspalace.tusky.viewdata.PollViewData;
|
||||
import com.keylesspalace.tusky.viewdata.PollViewDataKt;
|
||||
|
@ -79,6 +80,7 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder {
|
|||
private SparkButton reblogButton;
|
||||
private SparkButton favouriteButton;
|
||||
private SparkButton bookmarkButton;
|
||||
private ImageButton reactButton;
|
||||
private ImageButton moreButton;
|
||||
protected MediaPreviewImageView[] mediaPreviews;
|
||||
private ImageView[] mediaOverlays;
|
||||
|
@ -131,6 +133,7 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder {
|
|||
favouriteButton = itemView.findViewById(R.id.status_favourite);
|
||||
bookmarkButton = itemView.findViewById(R.id.status_bookmark);
|
||||
moreButton = itemView.findViewById(R.id.status_more);
|
||||
reactButton = itemView.findViewById(R.id.status_emoji_react);
|
||||
emojiReactionsView = itemView.findViewById(R.id.status_emoji_reactions);
|
||||
|
||||
/* Disabled, because it doesn't handle parent resizes. It must be fixed and can be enabled again */
|
||||
|
@ -710,8 +713,16 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder {
|
|||
}
|
||||
|
||||
private void setEmojiReactions(@Nullable List<EmojiReaction> reactions, final StatusActionListener listener, final String statusId) {
|
||||
if(reactButton != null) {
|
||||
reactButton.setOnClickListener(v -> {
|
||||
EmojiKeyboard.show(reactButton.getContext(), statusId, EmojiKeyboard.UNICODE_MODE, (id, emoji) -> {
|
||||
listener.onEmojiReact(true, emoji, id);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if(emojiReactionsView != null ) {
|
||||
if( reactions != null && reactions.size() > 0) {
|
||||
if(reactions != null && reactions.size() > 0) {
|
||||
emojiReactionsView.setVisibility(View.VISIBLE);
|
||||
FlexboxLayoutManager lm = new FlexboxLayoutManager(emojiReactionsView.getContext());
|
||||
emojiReactionsView.setLayoutManager(lm);
|
||||
|
|
|
@ -369,7 +369,7 @@
|
|||
android:contentDescription="@string/action_favourite"
|
||||
android:importantForAccessibility="no"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintEnd_toStartOf="@id/status_bookmark"
|
||||
app:layout_constraintEnd_toStartOf="@id/status_emoji_react"
|
||||
app:layout_constraintStart_toEndOf="@id/status_inset"
|
||||
app:layout_constraintTop_toTopOf="@id/status_inset"
|
||||
sparkbutton:activeImage="@drawable/ic_favourite_active_24dp"
|
||||
|
@ -378,6 +378,19 @@
|
|||
sparkbutton:primaryColor="@color/tusky_orange"
|
||||
sparkbutton:secondaryColor="@color/tusky_orange_light" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/status_emoji_react"
|
||||
style="@style/TuskyImageButton"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:contentDescription="@string/action_emoji_react"
|
||||
android:importantForAccessibility="no"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintEnd_toStartOf="@id/status_bookmark"
|
||||
app:layout_constraintStart_toEndOf="@id/status_favourite"
|
||||
app:layout_constraintTop_toTopOf="@id/status_reply"
|
||||
app:srcCompat="@drawable/ic_emoji_24dp" />
|
||||
|
||||
<at.connyduck.sparkbutton.SparkButton
|
||||
android:id="@+id/status_bookmark"
|
||||
android:layout_width="30dp"
|
||||
|
@ -387,7 +400,7 @@
|
|||
android:importantForAccessibility="no"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintEnd_toStartOf="@id/status_more"
|
||||
app:layout_constraintStart_toEndOf="@id/status_favourite"
|
||||
app:layout_constraintStart_toEndOf="@id/status_emoji_react"
|
||||
app:layout_constraintTop_toTopOf="@id/status_reply"
|
||||
sparkbutton:activeImage="@drawable/ic_bookmark_active_24dp"
|
||||
sparkbutton:iconSize="28dp"
|
||||
|
|
|
@ -378,7 +378,7 @@
|
|||
android:contentDescription="@string/action_favourite"
|
||||
android:importantForAccessibility="no"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintEnd_toStartOf="@id/status_bookmark"
|
||||
app:layout_constraintEnd_toStartOf="@id/status_emoji_react"
|
||||
app:layout_constraintStart_toEndOf="@id/status_inset"
|
||||
app:layout_constraintTop_toTopOf="@id/status_inset"
|
||||
sparkbutton:activeImage="@drawable/ic_favourite_active_24dp"
|
||||
|
@ -386,6 +386,20 @@
|
|||
sparkbutton:inactiveImage="@drawable/ic_favourite_24dp"
|
||||
sparkbutton:primaryColor="@color/tusky_orange"
|
||||
sparkbutton:secondaryColor="@color/tusky_orange_light" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/status_emoji_react"
|
||||
style="@style/TuskyImageButton"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:contentDescription="@string/action_emoji_react"
|
||||
android:importantForAccessibility="no"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintEnd_toStartOf="@id/status_bookmark"
|
||||
app:layout_constraintStart_toEndOf="@id/status_favourite"
|
||||
app:layout_constraintTop_toTopOf="@id/status_inset"
|
||||
app:srcCompat="@drawable/ic_emoji_24dp" />
|
||||
|
||||
|
||||
<at.connyduck.sparkbutton.SparkButton
|
||||
android:id="@+id/status_bookmark"
|
||||
|
@ -396,7 +410,7 @@
|
|||
android:importantForAccessibility="no"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintEnd_toStartOf="@id/status_more"
|
||||
app:layout_constraintStart_toEndOf="@id/status_favourite"
|
||||
app:layout_constraintStart_toEndOf="@id/status_emoji_react"
|
||||
app:layout_constraintTop_toTopOf="@id/status_reply"
|
||||
sparkbutton:activeImage="@drawable/ic_bookmark_active_24dp"
|
||||
sparkbutton:iconSize="28dp"
|
||||
|
|
Loading…
Reference in New Issue