Loading app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDirectMessageAdapter.java +6 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -236,6 +237,10 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie holder.binding.date.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.messageContent.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.userName.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.userName.setText( status.account.getSpanDisplayName(context, new WeakReference<>(holder.binding.userName)), TextView.BufferType.SPANNABLE); if (status.media_attachments != null && status.media_attachments.size() > 0) { holder.binding.media.mediaContainer.setVisibility(View.VISIBLE); Loading @@ -245,7 +250,7 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie if (measuredWidth > 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); Loading app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonDirectMessage.java +3 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -41,7 +41,7 @@ public class FragmentMastodonDirectMessage extends Fragment { public FirstMessage firstMessage; private FragmentPaginationBinding binding; private FragmentDirectMessageBinding binding; private StatusesVM statusesVM; private List<Status> statuses; private StatusDirectMessageAdapter statusDirectMessageAdapter; Loading @@ -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<>(); Loading app/src/main/res/layouts/mastodon/layout/drawer_status_chat.xml +12 −4 Original line number Diff line number Diff line Loading @@ -54,12 +54,20 @@ app:layout_constraintTop_toBottomOf="@+id/user_pp" tools:text="@tools:sample/lorem/random" /> <androidx.appcompat.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@id/message_content"> <include android:id="@+id/media" layout="@layout/layout_drawer_attachments" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="6dp" app:layout_constraintTop_toBottomOf="@id/message_content" /> android:layout_height="wrap_content" /> </androidx.appcompat.widget.LinearLayoutCompat> </androidx.constraintlayout.widget.ConstraintLayout> No newline at end of file app/src/main/res/layouts/mastodon/layout/fragment_direct_message.xml 0 → 100644 +107 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?><!-- Copyright 2023 Thomas Schneider This file is a part of Fedilab This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Fedilab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Fedilab; if not, see <http://www.gnu.org/licenses>. --> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="?android:windowBackground"> <!-- Listview status --> <FrameLayout android:id="@+id/main_frame" android:layout_width="match_parent" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@+id/compose" app:layout_constraintTop_toTopOf="parent"> <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/swipeContainer" android:layout_width="match_parent" android:layout_height="match_parent"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:clipToPadding="false" android:paddingBottom="6dp" android:scrollbars="none" /> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> </FrameLayout> <!-- Main Loader --> <RelativeLayout android:id="@+id/loader" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent"> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true" /> </RelativeLayout> <com.google.android.material.card.MaterialCardView android:id="@+id/compose" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_margin="6dp" android:layout_marginBottom="?actionBarSize" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/main_frame"> <androidx.appcompat.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="wrap_content" android:baselineAligned="false" android:gravity="bottom"> <com.google.android.material.button.MaterialButton android:id="@+id/add_attachment_button" style="@style/Widget.Material3.Button.IconButton" android:layout_width="wrap_content" android:layout_height="wrap_content" app:icon="@drawable/ic_compose_attach" /> <app.fedilab.android.mastodon.helper.FedilabAutoCompleteTextView android:id="@+id/text" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:maxLines="6" tools:text="@tools:sample/lorem/random" /> <com.google.android.material.button.MaterialButton android:id="@+id/send_button" style="@style/Widget.Material3.Button.IconButton" android:layout_width="wrap_content" android:layout_height="wrap_content" app:icon="@drawable/ic_baseline_send_24" /> </androidx.appcompat.widget.LinearLayoutCompat> </com.google.android.material.card.MaterialCardView> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layouts/mastodon/layout/layout_drawer_attachments.xml +4 −0 Original line number Diff line number Diff line Loading @@ -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" Loading @@ -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" Loading @@ -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" Loading @@ -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" Loading Loading
app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusDirectMessageAdapter.java +6 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -236,6 +237,10 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie holder.binding.date.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.messageContent.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.userName.setTextColor(ThemeHelper.getAttColor(context, textColor)); holder.binding.userName.setText( status.account.getSpanDisplayName(context, new WeakReference<>(holder.binding.userName)), TextView.BufferType.SPANNABLE); if (status.media_attachments != null && status.media_attachments.size() > 0) { holder.binding.media.mediaContainer.setVisibility(View.VISIBLE); Loading @@ -245,7 +250,7 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie if (measuredWidth > 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); Loading
app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonDirectMessage.java +3 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -41,7 +41,7 @@ public class FragmentMastodonDirectMessage extends Fragment { public FirstMessage firstMessage; private FragmentPaginationBinding binding; private FragmentDirectMessageBinding binding; private StatusesVM statusesVM; private List<Status> statuses; private StatusDirectMessageAdapter statusDirectMessageAdapter; Loading @@ -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<>(); Loading
app/src/main/res/layouts/mastodon/layout/drawer_status_chat.xml +12 −4 Original line number Diff line number Diff line Loading @@ -54,12 +54,20 @@ app:layout_constraintTop_toBottomOf="@+id/user_pp" tools:text="@tools:sample/lorem/random" /> <androidx.appcompat.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="6dp" android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@id/message_content"> <include android:id="@+id/media" layout="@layout/layout_drawer_attachments" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="6dp" app:layout_constraintTop_toBottomOf="@id/message_content" /> android:layout_height="wrap_content" /> </androidx.appcompat.widget.LinearLayoutCompat> </androidx.constraintlayout.widget.ConstraintLayout> No newline at end of file
app/src/main/res/layouts/mastodon/layout/fragment_direct_message.xml 0 → 100644 +107 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?><!-- Copyright 2023 Thomas Schneider This file is a part of Fedilab This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Fedilab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Fedilab; if not, see <http://www.gnu.org/licenses>. --> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="?android:windowBackground"> <!-- Listview status --> <FrameLayout android:id="@+id/main_frame" android:layout_width="match_parent" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@+id/compose" app:layout_constraintTop_toTopOf="parent"> <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/swipeContainer" android:layout_width="match_parent" android:layout_height="match_parent"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:clipToPadding="false" android:paddingBottom="6dp" android:scrollbars="none" /> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> </FrameLayout> <!-- Main Loader --> <RelativeLayout android:id="@+id/loader" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent"> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true" /> </RelativeLayout> <com.google.android.material.card.MaterialCardView android:id="@+id/compose" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_margin="6dp" android:layout_marginBottom="?actionBarSize" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toBottomOf="@+id/main_frame"> <androidx.appcompat.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="wrap_content" android:baselineAligned="false" android:gravity="bottom"> <com.google.android.material.button.MaterialButton android:id="@+id/add_attachment_button" style="@style/Widget.Material3.Button.IconButton" android:layout_width="wrap_content" android:layout_height="wrap_content" app:icon="@drawable/ic_compose_attach" /> <app.fedilab.android.mastodon.helper.FedilabAutoCompleteTextView android:id="@+id/text" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:maxLines="6" tools:text="@tools:sample/lorem/random" /> <com.google.android.material.button.MaterialButton android:id="@+id/send_button" style="@style/Widget.Material3.Button.IconButton" android:layout_width="wrap_content" android:layout_height="wrap_content" app:icon="@drawable/ic_baseline_send_24" /> </androidx.appcompat.widget.LinearLayoutCompat> </com.google.android.material.card.MaterialCardView> </androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layouts/mastodon/layout/layout_drawer_attachments.xml +4 −0 Original line number Diff line number Diff line Loading @@ -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" Loading @@ -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" Loading @@ -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" Loading @@ -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" Loading