mirror of
https://codeberg.org/tom79/Fedilab.git
synced 2025-09-15 08:20:18 +03:00
Add accessibility action to toggle media sensitivity in timelines
(related #357)
This commit is contained in:
parent
3ad57e4683
commit
dbc5bae868
4 changed files with 45 additions and 1 deletions
|
@ -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<RecyclerView.ViewHolder>
|
|||
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<RecyclerView.ViewHolder>
|
|||
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<RecyclerView.ViewHolder>
|
|||
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);
|
||||
|
|
|
@ -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<RecyclerVie
|
|||
status.sensitive = !status.sensitive;
|
||||
adapter.notifyItemChanged(holder.getBindingAdapterPosition());
|
||||
});
|
||||
|
||||
ViewCompat.addAccessibilityAction(
|
||||
layoutMediaBinding.media,
|
||||
context.getString(status.sensitive ? R.string.cd_show_media : R.string.cd_hide_media),
|
||||
(view, arguments) -> {
|
||||
status.sensitive = !status.sensitive;
|
||||
adapter.notifyItemChanged(holder.getBindingAdapterPosition());
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
@ -687,6 +695,14 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie
|
|||
status.sensitive = !status.sensitive;
|
||||
notifyItemChanged(holder.getBindingAdapterPosition());
|
||||
});
|
||||
ViewCompat.addAccessibilityAction(
|
||||
layoutMediaBinding.mediaVideo,
|
||||
context.getString(status.sensitive ? R.string.cd_show_media : R.string.cd_hide_media),
|
||||
(view, arguments) -> {
|
||||
status.sensitive = !status.sensitive;
|
||||
notifyItemChanged(holder.getBindingAdapterPosition());
|
||||
return true;
|
||||
});
|
||||
} else {
|
||||
loadAndAddAttachment(context, layoutMediaBinding, holder, this, mediaPosition, -1.f, -1.f, -1.f, status, attachment);
|
||||
}
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -128,6 +128,8 @@
|
|||
<string name="bookmark_remove">Remove bookmark</string>
|
||||
<string name="status_bookmarked">Status has been added to bookmarks!</string>
|
||||
<string name="status_unbookmarked">Status was removed from bookmarks!</string>
|
||||
<string name="cd_hide_media">Hide media</string>
|
||||
<string name="cd_show_media">Show media</string>
|
||||
|
||||
<!-- Compose -->
|
||||
<string name="add_content_warning">Add content warning</string>
|
||||
|
|
Loading…
Reference in a new issue