diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java index 53bba55f..8407b229 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java @@ -86,6 +86,7 @@ import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintSet; import androidx.core.app.ActivityOptionsCompat; import androidx.core.content.ContextCompat; +import androidx.core.view.ViewCompat; import androidx.fragment.app.Fragment; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.ViewModelProvider; @@ -1879,6 +1880,14 @@ public class StatusAdapter extends RecyclerView.Adapter statusToDeal.sensitive = !statusToDeal.sensitive; adapter.notifyItemChanged(holder.getBindingAdapterPosition()); }); + ViewCompat.addAccessibilityAction( + layoutMediaBinding.mediaVideo, + context.getString(statusToDeal.sensitive ? R.string.cd_show_media : R.string.cd_hide_media), + (view, arguments) -> { + statusToDeal.sensitive = !statusToDeal.sensitive; + adapter.notifyItemChanged(holder.getBindingAdapterPosition()); + return true; + }); } else { loadAndAddAttachment(context, layoutMediaBinding, holder, adapter, mediaPosition, mediaW, mediaH, ratio, statusToDeal, attachment); } @@ -1961,6 +1970,14 @@ public class StatusAdapter extends RecyclerView.Adapter statusToDeal.sensitive = !statusToDeal.sensitive; adapter.notifyItemChanged(holder.getBindingAdapterPosition()); }); + ViewCompat.addAccessibilityAction( + layoutMediaBinding.mediaVideo, + context.getString(statusToDeal.sensitive ? R.string.cd_show_media : R.string.cd_hide_media), + (view, arguments) -> { + statusToDeal.sensitive = !statusToDeal.sensitive; + adapter.notifyItemChanged(holder.getBindingAdapterPosition()); + return true; + }); } else { loadAndAddAttachment(context, layoutMediaBinding, holder, adapter, mediaPosition, -1.f, -1.f, -1.f, statusToDeal, attachment); } @@ -3046,6 +3063,14 @@ public class StatusAdapter extends RecyclerView.Adapter statusToDeal.sensitive = !statusToDeal.sensitive; adapter.notifyItemChanged(holder.getBindingAdapterPosition()); }); + ViewCompat.addAccessibilityAction( + layoutMediaBinding.media, + context.getString(statusToDeal.sensitive ? R.string.cd_show_media : R.string.cd_hide_media), + (view, arguments) -> { + statusToDeal.sensitive = !statusToDeal.sensitive; + adapter.notifyItemChanged(holder.getBindingAdapterPosition()); + return true; + }); if ((!statusToDeal.sensitive || expand_media) && (fullAttachement)) { layoutMediaBinding.getRoot().setPadding(0, 0, 0, 10); 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 9485ee72..e5f69eea 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 @@ -45,6 +45,7 @@ import androidx.appcompat.widget.LinearLayoutCompat; import androidx.constraintlayout.widget.ConstraintSet; import androidx.core.app.ActivityOptionsCompat; import androidx.core.content.ContextCompat; +import androidx.core.view.ViewCompat; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelStoreOwner; @@ -208,7 +209,14 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter { + status.sensitive = !status.sensitive; + adapter.notifyItemChanged(holder.getBindingAdapterPosition()); + return true; + }); } @NotNull @@ -687,6 +695,14 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter { + status.sensitive = !status.sensitive; + notifyItemChanged(holder.getBindingAdapterPosition()); + return true; + }); } else { loadAndAddAttachment(context, layoutMediaBinding, holder, this, mediaPosition, -1.f, -1.f, -1.f, status, attachment); } diff --git a/app/src/main/res/layouts/mastodon/layout/layout_media.xml b/app/src/main/res/layouts/mastodon/layout/layout_media.xml index 0ba67e76..90e88779 100644 --- a/app/src/main/res/layouts/mastodon/layout/layout_media.xml +++ b/app/src/main/res/layouts/mastodon/layout/layout_media.xml @@ -68,6 +68,7 @@ android:layout_alignParentTop="true" android:layout_margin="5dp" android:contentDescription="@string/visibility" + android:importantForAccessibility="no" android:src="@drawable/ic_baseline_visibility_24" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/media" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 101ed353..34fdd734 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -128,6 +128,8 @@ Remove bookmark Status has been added to bookmarks! Status was removed from bookmarks! + Hide media + Show media Add content warning