diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java
index 909109e80..ecd51250e 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java
@@ -41,6 +41,8 @@ import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
+import com.facebook.drawee.backends.pipeline.Fresco;
+import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView;
import com.hippo.animation.SimpleAnimatorListener;
import com.hippo.drawable.AddDeleteDrawable;
@@ -794,7 +796,12 @@ public final class GalleryListScene extends Scene implements SearchBar.Helper,
@Override
public void onBindViewHolder(GalleryHolder holder, int position) {
GalleryInfo gi = getDataAt(position);
- holder.thumb.setImageURI(Uri.parse(gi.thumb));
+ DraweeController controller = Fresco.newDraweeControllerBuilder()
+ .setUri(Uri.parse(gi.thumb))
+ .setTapToRetryEnabled(true)
+ .setOldController(holder.thumb.getController())
+ .build();
+ holder.thumb.setController(controller);
holder.title.setText(gi.title);
holder.uploader.setText(gi.uploader);
holder.rating.setRating(gi.rating);
diff --git a/app/src/main/res/drawable/ic_cursor_pointer.xml b/app/src/main/res/drawable/ic_cursor_pointer.xml
new file mode 100644
index 000000000..334f7e5e2
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cursor_pointer.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_image_broken.xml b/app/src/main/res/drawable/ic_image_broken.xml
new file mode 100644
index 000000000..13fcf2778
--- /dev/null
+++ b/app/src/main/res/drawable/ic_image_broken.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_gallery_list_detail.xml b/app/src/main/res/layout/item_gallery_list_detail.xml
index c4d7d2d4f..e4f5f651c 100644
--- a/app/src/main/res/layout/item_gallery_list_detail.xml
+++ b/app/src/main/res/layout/item_gallery_list_detail.xml
@@ -30,9 +30,9 @@
android:layout_width="@dimen/list_thumb_width"
android:layout_height="@dimen/list_thumb_height"
auto:actualImageScaleType="fitCenter"
- auto:failureImage="@drawable/ic_home"
+ auto:failureImage="@drawable/ic_image_broken"
auto:failureImageScaleType="fitCenter"
- auto:retryImage="@drawable/ic_settings"
+ auto:retryImage="@drawable/ic_cursor_pointer"
auto:retryImageScaleType="fitCenter"/>
M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z
M17.25,18H6.75V4H17.25M14,21H10V20H14M16,1H8A3,3 0 0,0 5,4V20A3,3 0 0,0 8,23H16A3,3 0 0,0 19,20V4A3,3 0 0,0 16,1Z
M11,5h-8v14h8v-2h-6v-4h6v-2h-6v-4h6V5M13,5h2v6h4V5h2v14h-2v-6h-4v6h-2V5z
+ M3 10v-5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v5l-6 2l-6 -4l-6 2M3 14v5a2 2 0 0 0 2 2h14a2 2 0 0 0 2 -2v-5l-6 2l-6 -4l-6 2z
+ M10,2A2,2 0 0,1 12,4V8.5C12,8.5 14,8.25 14,9.25C14,9.25 16,9 16,10C16,10 18,9.75 18,10.75C18,10.75 20,10.5 20,11.5V15C20,16 17,21 17,22H9C9,22 7,15 4,13C4,13 3,7 8,12V4A2,2 0 0,1 10,2Z