(#377) hide sensitive images after showing them

-The web client overlays a small eye button over sensitive images after they've been shown that re-hides them
main
torrentcome 7 years ago
parent d3e7126ff0
commit 660c46d7ee
  1. 13
      app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java
  2. 9
      app/src/main/res/drawable/ic_remove_red_eye_black_24dp.xml
  3. 10
      app/src/main/res/layout/item_status.xml
  4. 10
      app/src/main/res/layout/item_status_detailed.xml
  5. 1
      app/src/main/res/values/dimens.xml

@ -46,6 +46,7 @@ class StatusBaseViewHolder extends RecyclerView.ViewHolder {
private ImageView mediaPreview2; private ImageView mediaPreview2;
private ImageView mediaPreview3; private ImageView mediaPreview3;
private View sensitiveMediaWarning; private View sensitiveMediaWarning;
private View sensitiveMediaShow;
private View videoIndicator; private View videoIndicator;
private TextView mediaLabel; private TextView mediaLabel;
private View contentWarningBar; private View contentWarningBar;
@ -74,6 +75,7 @@ class StatusBaseViewHolder extends RecyclerView.ViewHolder {
mediaPreview2 = (ImageView) itemView.findViewById(R.id.status_media_preview_2); mediaPreview2 = (ImageView) itemView.findViewById(R.id.status_media_preview_2);
mediaPreview3 = (ImageView) itemView.findViewById(R.id.status_media_preview_3); mediaPreview3 = (ImageView) itemView.findViewById(R.id.status_media_preview_3);
sensitiveMediaWarning = itemView.findViewById(R.id.status_sensitive_media_warning); sensitiveMediaWarning = itemView.findViewById(R.id.status_sensitive_media_warning);
sensitiveMediaShow = itemView.findViewById(R.id.status_sensitive_media_button);
videoIndicator = itemView.findViewById(R.id.status_video_indicator); videoIndicator = itemView.findViewById(R.id.status_video_indicator);
mediaLabel = (TextView) itemView.findViewById(R.id.status_media_label); mediaLabel = (TextView) itemView.findViewById(R.id.status_media_label);
contentWarningBar = itemView.findViewById(R.id.status_content_warning_bar); contentWarningBar = itemView.findViewById(R.id.status_content_warning_bar);
@ -229,6 +231,14 @@ class StatusBaseViewHolder extends RecyclerView.ViewHolder {
if (sensitive) { if (sensitive) {
sensitiveMediaWarning.setVisibility(showingSensitive ? View.GONE : View.VISIBLE); sensitiveMediaWarning.setVisibility(showingSensitive ? View.GONE : View.VISIBLE);
sensitiveMediaShow.setVisibility(showingSensitive ? View.VISIBLE : View.GONE);
sensitiveMediaShow.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
v.setVisibility(View.GONE);
sensitiveMediaWarning.setVisibility(View.VISIBLE);
}
});
sensitiveMediaWarning.setOnClickListener(new View.OnClickListener() { sensitiveMediaWarning.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@ -236,7 +246,7 @@ class StatusBaseViewHolder extends RecyclerView.ViewHolder {
listener.onContentHiddenChange(true, getAdapterPosition()); listener.onContentHiddenChange(true, getAdapterPosition());
} }
v.setVisibility(View.GONE); v.setVisibility(View.GONE);
v.setOnClickListener(null); sensitiveMediaShow.setVisibility(View.VISIBLE);
} }
}); });
} }
@ -311,6 +321,7 @@ class StatusBaseViewHolder extends RecyclerView.ViewHolder {
private void hideSensitiveMediaWarning() { private void hideSensitiveMediaWarning() {
sensitiveMediaWarning.setVisibility(View.GONE); sensitiveMediaWarning.setVisibility(View.GONE);
sensitiveMediaShow.setVisibility(View.GONE);
} }
private void setSpoilerText(String spoilerText, final boolean expanded, private void setSpoilerText(String spoilerText, final boolean expanded,

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFF"
android:pathData="M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z"/>
</vector>

@ -250,6 +250,16 @@
android:contentDescription="@null" android:contentDescription="@null"
android:visibility="gone" /> android:visibility="gone" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/status_sensitive_media_button"
app:srcCompat="@drawable/ic_remove_red_eye_black_24dp"
android:alpha="0.7"
android:layout_alignParentTop="true"
android:contentDescription="@null"
android:padding="@dimen/status_sensitive_media_button_padding"
android:visibility="gone" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout

@ -189,6 +189,16 @@
android:contentDescription="@null" android:contentDescription="@null"
android:visibility="gone" /> android:visibility="gone" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/status_sensitive_media_button"
app:srcCompat="@drawable/ic_remove_red_eye_black_24dp"
android:alpha="0.7"
android:layout_alignParentTop="true"
android:contentDescription="@null"
android:padding="@dimen/status_sensitive_media_button_padding"
android:visibility="gone" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout

@ -20,4 +20,5 @@
<dimen name="tab_page_margin">8dp</dimen> <dimen name="tab_page_margin">8dp</dimen>
<dimen name="status_left_line_margin">38dp</dimen> <dimen name="status_left_line_margin">38dp</dimen>
<dimen name="text_content_margin">16dp</dimen> <dimen name="text_content_margin">16dp</dimen>
<dimen name="status_sensitive_media_button_padding">5dp</dimen>
</resources> </resources>

Loading…
Cancel
Save