diff options
author | tom79 <tschneider.ac@gmail.com> | 2019-10-30 08:35:09 +0100 |
---|---|---|
committer | tom79 <tschneider.ac@gmail.com> | 2019-10-30 08:35:09 +0100 |
commit | 3da1c3d655f31829280f0ccd0cdcd07fb5f55bb7 (patch) | |
tree | cbb07a6ed0816a00df13827c345da3050c1fe366 | |
parent | a5fcab3e2d1ef41833f6ee7a7078aaba6e9bbb62 (diff) |
Update layoutsnew_layout
6 files changed, 838 insertions, 678 deletions
diff --git a/app/src/main/java/app/fedilab/android/activities/ShowConversationActivity.java b/app/src/main/java/app/fedilab/android/activities/ShowConversationActivity.java index 07d50150e..19c276ad7 100644 --- a/app/src/main/java/app/fedilab/android/activities/ShowConversationActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/ShowConversationActivity.java @@ -367,17 +367,19 @@ public class ShowConversationActivity extends BaseActivity implements OnRetrieve if (apiResponse.getContext() == null || apiResponse.getContext().getAncestors() == null) { return; } - if (MainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.GNU && MainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.FRIENDICA) { + if (BaseMainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.GNU && BaseMainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.FRIENDICA) { statusListAdapter.setConversationPosition(apiResponse.getContext().getAncestors().size()); if (!expanded) { if (apiResponse.getContext().getAncestors() != null && apiResponse.getContext().getAncestors().size() > 0) { statuses.addAll(0, apiResponse.getContext().getAncestors()); statusListAdapter.notifyItemRangeInserted(0, apiResponse.getContext().getAncestors().size()); } + int targetedPosition = statuses.size()-1; if (apiResponse.getContext().getDescendants() != null && apiResponse.getContext().getDescendants().size() > 0) { statuses.addAll(apiResponse.getContext().getAncestors().size() + 1, apiResponse.getContext().getDescendants()); statusListAdapter.notifyItemRangeChanged(apiResponse.getContext().getAncestors().size() + 1, apiResponse.getContext().getDescendants().size()); } + decorate(targetedPosition); } else { List<Status> statusesTemp = apiResponse.getContext().getDescendants(); int i = 1; @@ -391,6 +393,7 @@ public class ShowConversationActivity extends BaseActivity implements OnRetrieve } i++; } + decorate(position); statusListAdapter.notifyItemRangeChanged(1, apiResponse.getContext().getDescendants().size()); lv_status.scrollToPosition(position); } @@ -411,6 +414,7 @@ public class ShowConversationActivity extends BaseActivity implements OnRetrieve } statusListAdapter = new StatusListAdapter((statuses.size() - 1 - i), null, isOnWifi, statuses); statusListAdapter.setConversationPosition((statuses.size() - 1 - i)); + decorate(0); final LinearLayoutManager mLayoutManager; mLayoutManager = new LinearLayoutManager(this); lv_status.setLayoutManager(mLayoutManager); @@ -430,11 +434,29 @@ public class ShowConversationActivity extends BaseActivity implements OnRetrieve setTheme(R.style.AppThemeDark_NoActionBar); } - lv_status.addItemDecoration(new ConversationDecoration(ShowConversationActivity.this, theme)); lv_status.setAdapter(statusListAdapter); } } } + + private void decorate(int targetedPosition){ + for(int i =0 ; i < statuses.size() ; i++){ + if (i == targetedPosition) { + if( targetedPosition < statuses.size()-1 ) + statuses.get(targetedPosition).setShowBottomLine(true); + if( targetedPosition > 0 && statuses.get(targetedPosition).getIn_reply_to_id().compareTo(statuses.get(targetedPosition-1).getId()) == 0){ + statuses.get(targetedPosition-1).setShowBottomLine(true); + statuses.get(targetedPosition).setShowTopLine(true); + } + } else if (0 < i && i <= statuses.size() - 1) { + if( statuses.get(i-1).getId().compareTo(statuses.get(i).getIn_reply_to_id()) == 0){ + statuses.get(i-1).setShowBottomLine(true); + statuses.get(i).setShowTopLine(true); + } + } + } + statusListAdapter.notifyItemRangeChanged(0,statuses.size()); + } } diff --git a/app/src/main/java/app/fedilab/android/client/Entities/Status.java b/app/src/main/java/app/fedilab/android/client/Entities/Status.java index 85081fcac..aee41841b 100644 --- a/app/src/main/java/app/fedilab/android/client/Entities/Status.java +++ b/app/src/main/java/app/fedilab/android/client/Entities/Status.java @@ -149,6 +149,8 @@ public class Status implements Parcelable { private boolean showSpoiler = false; private String quickReplyContent; private String quickReplyPrivacy; + private boolean showBottomLine = false; + private boolean showTopLine = false; public Status() { } @@ -243,7 +245,8 @@ public class Status implements Parcelable { dest.writeByte(this.isFocused ? (byte) 1 : (byte) 0); dest.writeString(this.quickReplyContent); dest.writeString(this.quickReplyPrivacy); - + dest.writeByte(this.showBottomLine ? (byte) 1 : (byte) 0); + dest.writeByte(this.showTopLine ? (byte) 1 : (byte) 0); } protected Status(Parcel in) { @@ -314,6 +317,8 @@ public class Status implements Parcelable { this.isFocused = in.readByte() != 0; this.quickReplyContent = in.readString(); this.quickReplyPrivacy = in.readString(); + this.showBottomLine = in.readByte() != 0; + this.showTopLine = in.readByte() != 0; } public static final Creator<Status> CREATOR = new Creator<Status>() { @@ -1829,4 +1834,20 @@ public class Status implements Parcelable { public void setQuickReplyPrivacy(String quickReplyPrivacy) { this.quickReplyPrivacy = quickReplyPrivacy; } + + public boolean isShowBottomLine() { + return showBottomLine; + } + + public void setShowBottomLine(boolean showBottomLine) { + this.showBottomLine = showBottomLine; + } + + public boolean isShowTopLine() { + return showTopLine; + } + + public void setShowTopLine(boolean showTopLine) { + this.showTopLine = showTopLine; + } } diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java index 0c00bcbcb..59ffc1128 100644 --- a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java @@ -38,6 +38,7 @@ import androidx.annotation.NonNull; import androidx.appcompat.widget.SwitchCompat; import androidx.appcompat.widget.TooltipCompat; import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.core.content.ContextCompat; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.PopupMenu; @@ -659,7 +660,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct ImageView status_privacy; LinearLayout status_container2; LinearLayout status_container3; - LinearLayout main_container; + ConstraintLayout main_container; TextView yandex_translate; ConstraintLayout status_action_container; Button fetch_more; @@ -886,10 +887,8 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct context = parent.getContext(); LayoutInflater layoutInflater = LayoutInflater.from(this.context); - if (viewType == DISPLAYED_STATUS) + if (viewType == DISPLAYED_STATUS || viewType == COMPACT_STATUS) return new ViewHolder(layoutInflater.inflate(R.layout.drawer_status, parent, false)); - else if (viewType == COMPACT_STATUS) - return new ViewHolder(layoutInflater.inflate(R.layout.drawer_status_compact, parent, false)); else if (viewType == CONSOLE_STATUS) return new ViewHolder(layoutInflater.inflate(R.layout.drawer_status_console, parent, false)); else if (viewType == FOCUSED_STATUS) @@ -4381,6 +4380,15 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct if( statuses.get(i).getQuickReplyPrivacy() != null){ status.setQuickReplyPrivacy(statuses.get(i).getQuickReplyPrivacy()); } + if( statuses.get(i).getQuickReplyPrivacy() != null){ + status.setQuickReplyPrivacy(statuses.get(i).getQuickReplyPrivacy()); + } + if( statuses.get(i).isShowTopLine()){ + status.setShowTopLine(true); + } + if( statuses.get(i).isShowBottomLine()){ + status.setShowBottomLine(true); + } statuses.set(i, status); statusListAdapter.notifyItemChanged(i); /*if( mRecyclerView != null) { @@ -4421,6 +4429,15 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct if( statuses.get(i).getQuickReplyPrivacy() != null){ status.setQuickReplyPrivacy(statuses.get(i).getQuickReplyPrivacy()); } + if( statuses.get(i).getQuickReplyPrivacy() != null){ + status.setQuickReplyPrivacy(statuses.get(i).getQuickReplyPrivacy()); + } + if( statuses.get(i).isShowTopLine()){ + status.setShowTopLine(true); + } + if( statuses.get(i).isShowBottomLine()){ + status.setShowBottomLine(true); + } statuses.set(i, status); statusListAdapter.notifyItemChanged(i); /*if( mRecyclerView != null) { diff --git a/app/src/main/res/drawable/diag_bottom.xml b/app/src/main/res/drawable/diag_bottom.xml new file mode 100644 index 000000000..b61b9cb08 --- /dev/null +++ b/app/src/main/res/drawable/diag_bottom.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + <item> + <rotate + android:fromDegrees="45" + android:pivotX="50%" + android:pivotY="50%" + android:toDegrees="0"> + <shape + android:shape="line" + android:top="1dip"> + <stroke + android:width="2dp" + android:color="?colorAccent"/> + </shape> + </rotate> + </item> +</layer-list>
\ No newline at end of file diff --git a/app/src/main/res/drawable/diag_top.xml b/app/src/main/res/drawable/diag_top.xml new file mode 100644 index 000000000..c967844ae --- /dev/null +++ b/app/src/main/res/drawable/diag_top.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + <item> + <rotate + android:fromDegrees="135" + android:pivotX="50%" + android:pivotY="50%" + android:toDegrees="0"> + <shape + android:shape="line" + android:top="1dp"> + <stroke + android:width="2dp" + android:color="?colorAccent"/> + </shape> + </rotate> + </item> +</layer-list>
\ No newline at end of file diff --git a/app/src/main/res/layout/drawer_status_focused.xml b/app/src/main/res/layout/drawer_status_focused.xml index 6f559058a..422bf5ff9 100644 --- a/app/src/main/res/layout/drawer_status_focused.xml +++ b/app/src/main/res/layout/drawer_status_focused.xml @@ -14,816 +14,880 @@ You should have received a copy of the GNU General Public License along with Fedilab; if not, see <http://www.gnu.org/licenses>. --> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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:id="@+id/main_container" android:layout_width="match_parent" android:layout_height="wrap_content" - xmlns:app="http://schemas.android.com/apk/res-auto" - android:id="@+id/main_container" - android:paddingTop="10dp" - android:layout_marginStart="5dp" - android:layout_marginEnd="5dp" - android:layout_marginLeft="5dp" - android:layout_marginRight="5dp" android:divider="?android:dividerHorizontal" - android:showDividers="end" - android:orientation="vertical"> + android:showDividers="end"> + + + + <View + android:visibility="gone" + android:id="@+id/status_reply_indicator_diag_top" + android:layout_width="20dp" + android:layout_height="11dp" + android:background="@drawable/diag_top" + android:layout_marginStart="10dp" + app:layout_constraintEnd_toEndOf="@id/reply_indicator_dot" + app:layout_constraintStart_toStartOf="@id/reply_indicator_dot" + app:layout_constraintTop_toTopOf="parent" /> + + + <View + android:visibility="gone" + android:id="@+id/status_reply_indicator_top" + android:layout_width="2dp" + android:layout_height="0dp" + android:background="?colorAccent" + app:layout_constraintBottom_toBottomOf="@id/reply_indicator_dot" + app:layout_constraintEnd_toEndOf="@id/reply_indicator_dot" + app:layout_constraintStart_toStartOf="@id/reply_indicator_dot" + app:layout_constraintTop_toBottomOf="@id/status_reply_indicator_diag_top" /> + + <View + android:visibility="gone" + android:id="@+id/reply_indicator_dot" + android:layout_width="8dp" + android:layout_height="8dp" + android:layout_marginStart="0dp" + android:background="?colorAccent" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <View + android:visibility="gone" + android:id="@+id/status_reply_indicator_bottom" + android:layout_width="2dp" + android:layout_height="0dp" + android:background="?colorAccent" + app:layout_constraintBottom_toTopOf="@+id/status_reply_indicator_diag_bottom" + app:layout_constraintEnd_toEndOf="@id/reply_indicator_dot" + app:layout_constraintStart_toStartOf="@id/reply_indicator_dot" + app:layout_constraintTop_toTopOf="@id/reply_indicator_dot" /> + + + <View + android:visibility="gone" + android:id="@+id/status_reply_indicator_diag_bottom" + android:layout_width="20dp" + android:layout_height="11dp" + android:layout_marginStart="10dp" + android:background="@drawable/diag_bottom" + app:layout_constraintEnd_toEndOf="@id/reply_indicator_dot" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintBottom_toBottomOf="parent" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal" - android:baselineAligned="false"> + android:orientation="vertical" + android:paddingTop="10dp" + android:layout_marginStart="20dp" + android:layout_marginLeft="20dp" + android:layout_marginEnd="20dp" + android:layout_marginRight="20dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toTopOf="parent"> <LinearLayout + android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_width="50dp" - android:orientation="vertical"> + android:baselineAligned="false" + android:orientation="horizontal"> - <RelativeLayout + <LinearLayout + android:layout_width="50dp" android:layout_height="wrap_content" - android:layout_width="match_parent"> - - <ImageView - android:layout_width="50dp" - android:layout_height="50dp" - android:layout_marginTop="5dp" - android:layout_centerHorizontal="true" - android:id="@+id/status_account_profile" - android:contentDescription="@string/profile_picture" /> + android:orientation="vertical"> - <ImageView - android:id="@+id/status_account_bot" - android:layout_width="20dp" - android:layout_height="20dp" - android:layout_alignParentStart="true" - android:layout_alignParentLeft="true" - android:layout_alignParentTop="true" - android:layout_marginTop="5dp" - android:background="@drawable/bot_background_round_corner" - android:padding="3dp" - android:src="@drawable/ic_bot" - android:visibility="gone" /> + <RelativeLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> - <ImageView - android:layout_width="45dp" - android:layout_height="45dp" - android:layout_alignParentStart="true" - android:layout_alignParentLeft="true" - android:layout_centerHorizontal="true" - android:visibility="gone" - android:id="@+id/status_account_profile_boost" - android:contentDescription="@string/profile_picture" /> + <ImageView + android:id="@+id/status_account_profile" + android:layout_width="50dp" + android:layout_height="50dp" + android:layout_centerHorizontal="true" + android:layout_marginTop="5dp" + android:contentDescription="@string/profile_picture" /> - <ImageView - android:id="@+id/status_account_profile_boost_by" - android:layout_height="30dp" - android:layout_width="30dp" - android:layout_alignParentEnd="true" - android:layout_alignParentRight="true" - android:layout_marginTop="20dp" - style="?attr/shapeBorder" - android:visibility="gone" - android:contentDescription="@string/profile_picture" /> - </RelativeLayout> + <ImageView + android:id="@+id/status_account_bot" + android:layout_width="20dp" + android:layout_height="20dp" + android:layout_alignParentStart="true" + android:layout_alignParentLeft="true" + android:layout_alignParentTop="true" + android:layout_marginTop="5dp" + android:background="@drawable/bot_background_round_corner" + android:padding="3dp" + android:src="@drawable/ic_bot" + android:visibility="gone" /> - <ImageView - android:layout_gravity="center_horizontal" - android:layout_marginTop="5dp" - android:id="@+id/new_element" - android:visibility="gone" - android:src="@drawable/ic_fiber_new" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/profile_picture" /> - </LinearLayout> + <ImageView + android:layout_width="45dp" + android:layout_height="45dp" + android:layout_alignParentStart="true" + android:layout_alignParentLeft="true" + android:layout_centerHorizontal="true" + android:contentDescription="@string/profile_picture" + android:visibility="gone" /> - <LinearLayout - android:id="@+id/left_buttons" - android:orientation="vertical" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:visibility="gone" /> + <ImageView + android:id="@+id/status_account_profile_boost_by" + style="?attr/shapeBorder" + android:layout_width="30dp" + android:layout_height="30dp" + android:layout_alignParentEnd="true" + android:layout_alignParentRight="true" + android:layout_marginTop="20dp" + android:contentDescription="@string/profile_picture" + android:visibility="gone" /> + </RelativeLayout> - <LinearLayout - android:layout_marginStart="10dp" - android:layout_marginLeft="10dp" - android:layout_width="0dp" - android:layout_weight="1" - android:layout_height="wrap_content" - android:orientation="vertical"> + <ImageView + android:id="@+id/new_element" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_horizontal" + android:layout_marginTop="5dp" + android:contentDescription="@string/profile_picture" + android:src="@drawable/ic_fiber_new" + android:visibility="gone" /> + </LinearLayout> - <TextView - android:id="@+id/status_account_displayname" - android:maxLines="1" - android:textStyle="bold" - android:drawablePadding="2dp" + <LinearLayout android:layout_width="wrap_content" - android:layout_height="wrap_content" /> + android:layout_height="wrap_content" + android:orientation="vertical" + android:visibility="gone" /> <LinearLayout - android:layout_width="match_parent" + android:layout_width="0dp" android:layout_height="wrap_content" - android:orientation="horizontal"> - - <ImageView - android:id="@+id/cached_status" - android:visibility="gone" - android:layout_width="20dp" - android:layout_height="20dp" - android:src="@drawable/ic_cached_black" - android:contentDescription="@string/cached_status" /> + android:layout_marginStart="10dp" + android:layout_marginLeft="10dp" + android:layout_weight="1" + android:orientation="vertical"> <TextView - android:id="@+id/status_account_displayname_owner" - android:maxLines="1" + android:id="@+id/status_account_displayname" + android:layout_width="wrap_content" + android:layout_height="wrap_content" android:drawablePadding="2dp" - android:textStyle="bold" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - </LinearLayout> - - <TextView - android:textSize="12sp" - android:maxLines="1" - android:ellipsize="end" - android:layout_width="wrap_content" - android:id="@+id/status_account_username" - android:layout_height="wrap_content" /> - </LinearLayout> - </LinearLayout> - - <LinearLayout - android:id="@+id/status_spoiler_container" - android:layout_width="match_parent" - android:orientation="vertical" - android:visibility="gone" - android:layout_height="wrap_content"> - - <app.fedilab.android.helper.CustomTextView - android:id="@+id/status_spoiler" - android:layout_marginBottom="10dp" - android:textIsSelectable="true" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> - - <Button - android:id="@+id/status_spoiler_button" - android:textAllCaps="false" - android:drawableLeft="@drawable/ic_remove_red_eye" - android:drawableStart="@drawable/ic_remove_red_eye" - android:gravity="center_vertical" - android:drawablePadding="5dp" - android:paddingTop="5dp" - android:paddingBottom="5dp" - android:maxLines="1" - android:layout_width="match_parent" - android:layout_height="wrap_content" - style="?attr/borderless" - android:text="@string/load_attachment_spoiler" /> - </LinearLayout> + android:maxLines="1" + android:textStyle="bold" /> - <LinearLayout - android:id="@+id/status_content_container" - android:layout_width="match_parent" - android:orientation="vertical" - android:layout_height="wrap_content"> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> - <app.fedilab.android.helper.CustomTextView - android:id="@+id/status_content" - android:textIsSelectable="true" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> + <ImageView + android:id="@+id/cached_status" + android:layout_width="20dp" + android:layout_height="20dp" + android:contentDescription="@string/cached_status" + android:src="@drawable/ic_cached_black" + android:visibility="gone" /> + + <TextView + android:id="@+id/status_account_displayname_owner" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:drawablePadding="2dp" + android:maxLines="1" + android:textStyle="bold" /> + </LinearLayout> - <Button - android:id="@+id/status_show_more_content" - android:visibility="gone" - android:textAllCaps="false" - android:drawableLeft="@drawable/ic_more_toot_content" - android:drawableStart="@drawable/ic_more_toot_content" - android:gravity="center_vertical" - android:drawablePadding="5dp" - android:paddingTop="2dp" - android:paddingBottom="2dp" - android:maxLines="1" - android:layout_width="match_parent" - android:layout_height="wrap_content" - style="?attr/borderless" - android:text="@string/display_toot_truncate" /> + <TextView + android:id="@+id/status_account_username" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:ellipsize="end" + android:maxLines="1" + android:textSize="12sp" /> + </LinearLayout> + </LinearLayout> <LinearLayout - android:id="@+id/status_content_translated_container" - android:visibility="gone" - android:layout_marginBottom="10dp" + android:id="@+id/status_spoiler_container" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical"> + android:orientation="vertical" + android:visibility="gone"> <TextView - android:id="@+id/status_content_translated" + android:id="@+id/status_spoiler" android:layout_width="match_parent" - android:layout_height="wrap_content" /> + android:layout_height="wrap_content" + android:layout_marginBottom="10dp" + android:textIsSelectable="true" /> - <TextView - android:id="@+id/yandex_translate" + <Button + android:id="@+id/status_spoiler_button" + style="?attr/borderless" android:layout_width="match_parent" - android:padding="2dp" - android:gravity="end" - android:text="Powered by Yandex.Translate" android:layout_height="wrap_content" - tools:ignore="HardcodedText" /> + android:drawableStart="@drawable/ic_remove_red_eye" + android:drawableLeft="@drawable/ic_remove_red_eye" + android:drawablePadding="5dp" + android:gravity="center_vertical" + android:maxLines="1" + android:paddingTop="5dp" + android:paddingBottom="5dp" + android:text="@string/load_attachment_spoiler" + android:textAllCaps="false" /> </LinearLayout> - <LinearLayout - android:id="@+id/status_cardview" - android:layout_marginBottom="10dp" - android:visibility="gone" - android:background="@drawable/card_border_light" + android:id="@+id/status_content_container" android:layout_width="match_parent" android:layout_height="wrap_content" - android:padding="1dp" - android:orientation="horizontal"> + android:orientation="vertical"> - <ImageView - android:layout_gravity="center" - android:id="@+id/status_cardview_image" - android:layout_width="80dp" - android:gravity="center" - android:scaleType="centerCrop" - android:layout_height="match_parent" - android:minHeight="80dp" - android:contentDescription="@string/card_view_image" /> + <TextView + android:id="@+id/status_content" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textIsSelectable="true" /> + + <Button + android:id="@+id/status_show_more_content" + style="?attr/borderless" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:drawableStart="@drawable/ic_more_toot_content" + android:drawableLeft="@drawable/ic_more_toot_content" + android:drawablePadding="5dp" + android:gravity="center_vertical" + android:maxLines="1" + android:paddingTop="2dp" + android:paddingBottom="2dp" + android:text="@string/display_toot_truncate" + android:textAllCaps="false" + android:visibility="gone" /> <LinearLayout + android:id="@+id/status_content_translated_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="10dp" android:orientation="vertical" - android:layout_width="0dp" - android:layout_marginLeft="10dp" - android:layout_marginStart="10dp" - android:layout_weight="1" - android:layout_height="wrap_content"> - - <TextView - android:textSize="14sp" - android:maxLines="1" - android:textStyle="bold" - android:id="@+id/status_cardview_title" - android:layout_width="match_parent" - android:layout_height="wrap_content" /> + android:visibility="gone"> <TextView - android:layout_marginTop="5dp" - android:id="@+id/status_cardview_content" + android:id="@+id/status_content_translated" android:layout_width="match_parent" - android:textSize="12sp" - android:maxLines="4" android:layout_height="wrap_content" /> <TextView - android:id="@+id/status_cardview_url" - android:layout_marginTop="5dp" - android:textSize="12sp" - android:maxLines="1" + android:id="@+id/yandex_translate" android:layout_width="match_parent" - android:layout_height="wrap_content" /> + android:layout_height="wrap_content" + android:gravity="end" + android:padding="2dp" + android:text="Powered by Yandex.Translate" + tools:ignore="HardcodedText" /> </LinearLayout> - </LinearLayout> - <FrameLayout - android:visibility="gone" - android:layout_gravity="center" - android:id="@+id/status_cardview_video" - android:layout_width="match_parent" - android:layout_height="220dp" - android:layout_marginTop="5dp" - android:layout_marginBottom="10dp"> - <RelativeLayout - android:id="@+id/webview_preview" + <LinearLayout + android:id="@+id/status_cardview" android:layout_width="match_parent" - android:layout_height="match_parent"> - - <ImageView - android:id="@+id/webview_preview_card" - android:scaleType="centerCrop" - android:layout_width="match_parent" - android:layout_height="match_parent" /> + android:layout_height="wrap_content" + android:layout_marginBottom="10dp" + android:background="@drawable/card_border_light" + android:orientation="horizontal" + android:padding="1dp" + android:visibility="gone"> <ImageView - android:layout_centerInParent="true" - android:layout_width="30dp" - android:src="@drawable/video_preview" - android:layout_height="30dp" - android:contentDescription="@string/play_video" /> - - </RelativeLayout> - - <app.fedilab.android.webview.CustomWebview - android:visibility="gone" - android:id="@+id/status_cardview_webview" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - </FrameLayout> - - <RelativeLayout - android:layout_width="match_parent" - android:layout_height="wrap_content"> - - <RelativeLayout - android:id="@+id/status_horizontal_document_container" - android:visibility="gone" - |