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.constraintlayout.widget.ConstraintSet;
|
||||||
import androidx.core.app.ActivityOptionsCompat;
|
import androidx.core.app.ActivityOptionsCompat;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.core.view.ViewCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.lifecycle.LifecycleOwner;
|
import androidx.lifecycle.LifecycleOwner;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
@ -1879,6 +1880,14 @@ public class StatusAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
||||||
statusToDeal.sensitive = !statusToDeal.sensitive;
|
statusToDeal.sensitive = !statusToDeal.sensitive;
|
||||||
adapter.notifyItemChanged(holder.getBindingAdapterPosition());
|
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 {
|
} else {
|
||||||
loadAndAddAttachment(context, layoutMediaBinding, holder, adapter, mediaPosition, mediaW, mediaH, ratio, statusToDeal, attachment);
|
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;
|
statusToDeal.sensitive = !statusToDeal.sensitive;
|
||||||
adapter.notifyItemChanged(holder.getBindingAdapterPosition());
|
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 {
|
} else {
|
||||||
loadAndAddAttachment(context, layoutMediaBinding, holder, adapter, mediaPosition, -1.f, -1.f, -1.f, statusToDeal, attachment);
|
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;
|
statusToDeal.sensitive = !statusToDeal.sensitive;
|
||||||
adapter.notifyItemChanged(holder.getBindingAdapterPosition());
|
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)) {
|
if ((!statusToDeal.sensitive || expand_media) && (fullAttachement)) {
|
||||||
layoutMediaBinding.getRoot().setPadding(0, 0, 0, 10);
|
layoutMediaBinding.getRoot().setPadding(0, 0, 0, 10);
|
||||||
|
|
|
@ -45,6 +45,7 @@ import androidx.appcompat.widget.LinearLayoutCompat;
|
||||||
import androidx.constraintlayout.widget.ConstraintSet;
|
import androidx.constraintlayout.widget.ConstraintSet;
|
||||||
import androidx.core.app.ActivityOptionsCompat;
|
import androidx.core.app.ActivityOptionsCompat;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
|
import androidx.core.view.ViewCompat;
|
||||||
import androidx.lifecycle.LifecycleOwner;
|
import androidx.lifecycle.LifecycleOwner;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import androidx.lifecycle.ViewModelStoreOwner;
|
import androidx.lifecycle.ViewModelStoreOwner;
|
||||||
|
@ -208,7 +209,14 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie
|
||||||
status.sensitive = !status.sensitive;
|
status.sensitive = !status.sensitive;
|
||||||
adapter.notifyItemChanged(holder.getBindingAdapterPosition());
|
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
|
@NotNull
|
||||||
|
@ -687,6 +695,14 @@ public class StatusDirectMessageAdapter extends RecyclerView.Adapter<RecyclerVie
|
||||||
status.sensitive = !status.sensitive;
|
status.sensitive = !status.sensitive;
|
||||||
notifyItemChanged(holder.getBindingAdapterPosition());
|
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 {
|
} else {
|
||||||
loadAndAddAttachment(context, layoutMediaBinding, holder, this, mediaPosition, -1.f, -1.f, -1.f, status, attachment);
|
loadAndAddAttachment(context, layoutMediaBinding, holder, this, mediaPosition, -1.f, -1.f, -1.f, status, attachment);
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,6 +68,7 @@
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_margin="5dp"
|
android:layout_margin="5dp"
|
||||||
android:contentDescription="@string/visibility"
|
android:contentDescription="@string/visibility"
|
||||||
|
android:importantForAccessibility="no"
|
||||||
android:src="@drawable/ic_baseline_visibility_24"
|
android:src="@drawable/ic_baseline_visibility_24"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@id/media" />
|
app:layout_constraintTop_toTopOf="@id/media" />
|
||||||
|
|
|
@ -128,6 +128,8 @@
|
||||||
<string name="bookmark_remove">Remove bookmark</string>
|
<string name="bookmark_remove">Remove bookmark</string>
|
||||||
<string name="status_bookmarked">Status has been added to bookmarks!</string>
|
<string name="status_bookmarked">Status has been added to bookmarks!</string>
|
||||||
<string name="status_unbookmarked">Status was removed from 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 -->
|
<!-- Compose -->
|
||||||
<string name="add_content_warning">Add content warning</string>
|
<string name="add_content_warning">Add content warning</string>
|
||||||
|
|
Loading…
Reference in a new issue