From 9f4fb208a0fed4faaf09a26cd1444dd900d37289 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 13 Feb 2023 15:32:49 +0100 Subject: [PATCH] prepare views --- .../ui/drawer/StatusDirectMessageAdapter.java | 7 +- .../FragmentMastodonDirectMessage.java | 6 +- .../mastodon/layout/drawer_status_chat.xml | 16 ++- .../layout/fragment_direct_message.xml | 107 ++++++++++++++++++ .../layout/layout_drawer_attachments.xml | 4 + 5 files changed, 132 insertions(+), 8 deletions(-) create mode 100644 app/src/main/res/layouts/mastodon/layout/fragment_direct_message.xml diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDirectMessageAdapter.java b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDirectMessageAdapter.java index a209f096..ab2947c5 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDirectMessageAdapter.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDirectMessageAdapter.java @@ -33,6 +33,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.appcompat.widget.LinearLayoutCompat; import androidx.core.app.ActivityOptionsCompat; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.RecyclerView; @@ -236,6 +237,10 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter(holder.binding.userName)), + TextView.BufferType.SPANNABLE); if (status.media_attachments != null && status.media_attachments.size() > 0) { holder.binding.media.mediaContainer.setVisibility(View.VISIBLE); @@ -245,7 +250,7 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter 0) { defaultHeight = (int) (measuredWidth * 3) / 4; } - LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, defaultHeight); + LinearLayoutCompat.LayoutParams lp = new LinearLayoutCompat.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, defaultHeight); holder.binding.media.mediaContainer.setLayoutParams(lp); if (status.media_attachments.size() == 1) { holder.binding.media.media1Container.mediaRoot.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonDirectMessage.java b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonDirectMessage.java index c984f68e..bbb18e0b 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonDirectMessage.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonDirectMessage.java @@ -29,7 +29,7 @@ import java.util.List; import app.fedilab.android.R; import app.fedilab.android.activities.MainActivity; -import app.fedilab.android.databinding.FragmentPaginationBinding; +import app.fedilab.android.databinding.FragmentDirectMessageBinding; import app.fedilab.android.mastodon.client.entities.api.Context; import app.fedilab.android.mastodon.client.entities.api.Status; import app.fedilab.android.mastodon.helper.Helper; @@ -41,7 +41,7 @@ public class FragmentMastodonDirectMessage extends Fragment { public FirstMessage firstMessage; - private FragmentPaginationBinding binding; + private FragmentDirectMessageBinding binding; private StatusesVM statusesVM; private List statuses; private StatusDirectMessageAdapter statusDirectMessageAdapter; @@ -66,7 +66,7 @@ public class FragmentMastodonDirectMessage extends Fragment { if (focusedStatus == null) { getChildFragmentManager().beginTransaction().remove(this).commit(); } - binding = FragmentPaginationBinding.inflate(inflater, container, false); + binding = FragmentDirectMessageBinding.inflate(inflater, container, false); statusesVM = new ViewModelProvider(FragmentMastodonDirectMessage.this).get(StatusesVM.class); binding.recyclerView.setNestedScrollingEnabled(true); this.statuses = new ArrayList<>(); diff --git a/app/src/main/res/layouts/mastodon/layout/drawer_status_chat.xml b/app/src/main/res/layouts/mastodon/layout/drawer_status_chat.xml index 209c470d..bc8e98f5 100644 --- a/app/src/main/res/layouts/mastodon/layout/drawer_status_chat.xml +++ b/app/src/main/res/layouts/mastodon/layout/drawer_status_chat.xml @@ -54,12 +54,20 @@ app:layout_constraintTop_toBottomOf="@+id/user_pp" tools:text="@tools:sample/lorem/random" /> - + android:orientation="vertical" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toBottomOf="@id/message_content"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layouts/mastodon/layout/fragment_direct_message.xml b/app/src/main/res/layouts/mastodon/layout/fragment_direct_message.xml new file mode 100644 index 00000000..81be1b9c --- /dev/null +++ b/app/src/main/res/layouts/mastodon/layout/fragment_direct_message.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layouts/mastodon/layout/layout_drawer_attachments.xml b/app/src/main/res/layouts/mastodon/layout/layout_drawer_attachments.xml index 631b2b30..020b1fb3 100644 --- a/app/src/main/res/layouts/mastodon/layout/layout_drawer_attachments.xml +++ b/app/src/main/res/layouts/mastodon/layout/layout_drawer_attachments.xml @@ -24,6 +24,7 @@ android:layout_margin="1dp" android:layout_height="0dp" android:visibility="gone" + tools:visibility="visible" app:layout_constraintBottom_toTopOf="@+id/media4_container" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/media1_container" @@ -35,6 +36,7 @@ android:layout_width="0dp" android:layout_height="0dp" android:layout_margin="1dp" + tools:visibility="visible" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/media4_container" @@ -48,6 +50,7 @@ android:layout_width="0dp" android:layout_height="0dp" android:layout_margin="1dp" + tools:visibility="visible" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" @@ -58,6 +61,7 @@ android:id="@+id/more_media" android:layout_width="0dp" android:layout_height="0dp" + tools:visibility="visible" android:background="#88000000" android:gravity="center" android:textColor="@color/white"