diff --git a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java
index b9df95a29..ec9123586 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java
@@ -36,6 +36,7 @@ import com.hippo.app.AppCompatPreferenceActivity;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.ui.fragment.EhFragment;
import com.hippo.ehviewer.ui.fragment.ReadFragment;
+import com.hippo.util.DrawableManager;
import java.lang.reflect.Field;
import java.util.List;
@@ -136,7 +137,7 @@ public final class SettingsActivity extends AppCompatPreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setActionBarUpIndicator(getResources().getDrawable(R.drawable.ic_arrow_left_dark_x24));
+ setActionBarUpIndicator(DrawableManager.getDrawable(this, R.drawable.v_arrow_left_dark_x24));
replaceHeaderLayoutResId();
}
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelScene.java
index b4d835dc6..6eb101112 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelScene.java
@@ -51,6 +51,7 @@ import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.dao.DownloadLabelRaw;
import com.hippo.util.ActivityHelper;
+import com.hippo.util.DrawableManager;
import com.hippo.view.ViewTransition;
import com.hippo.yorozuya.ViewUtils;
@@ -139,7 +140,7 @@ public class DownloadLabelScene extends ToolbarScene {
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setTitle(R.string.label);
- setNavigationIcon(R.drawable.ic_arrow_left_dark_x24);
+ setNavigationIcon(DrawableManager.getDrawable(getContext(), R.drawable.v_arrow_left_dark_x24));
// Clear nav checked item
setNavCheckedItem(0);
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadScene.java
index 77fb4afb4..92e264986 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadScene.java
@@ -69,6 +69,7 @@ import com.hippo.scene.TransitionHelper;
import com.hippo.unifile.UniFile;
import com.hippo.util.ActivityHelper;
import com.hippo.util.ApiHelper;
+import com.hippo.util.DrawableManager;
import com.hippo.view.ViewTransition;
import com.hippo.widget.FabLayout;
import com.hippo.widget.LoadImageView;
@@ -225,7 +226,7 @@ public class DownloadScene extends ToolbarScene
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
updateTitle();
- setNavigationIcon(R.drawable.ic_arrow_left_dark_x24);
+ setNavigationIcon(DrawableManager.getDrawable(getContext(), R.drawable.v_arrow_left_dark_x24));
// Clear nav checked item
setNavCheckedItem(R.id.nav_download);
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java
index 14a466173..315c21e3b 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java
@@ -54,6 +54,7 @@ import com.hippo.scene.StageActivity;
import com.hippo.text.Html;
import com.hippo.text.URLImageGetter;
import com.hippo.util.ActivityHelper;
+import com.hippo.util.DrawableManager;
import com.hippo.util.ReadableTime;
import com.hippo.util.TextUrl;
import com.hippo.view.ViewTransition;
@@ -180,7 +181,7 @@ public final class GalleryCommentsScene extends ToolbarScene
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setTitle(R.string.gallery_comments);
- setNavigationIcon(R.drawable.ic_arrow_left_dark_x24);
+ setNavigationIcon(DrawableManager.getDrawable(getContext(), R.drawable.v_arrow_left_dark_x24));
// Clear nav checked item
setNavCheckedItem(0);
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java
index ad6386db8..efae6bc7d 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java
@@ -39,6 +39,7 @@ import com.hippo.ehviewer.client.EhUtils;
import com.hippo.ehviewer.client.data.GalleryDetail;
import com.hippo.rippleold.RippleSalon;
import com.hippo.util.ActivityHelper;
+import com.hippo.util.DrawableManager;
import com.hippo.yorozuya.LayoutUtils;
import java.util.ArrayList;
@@ -169,7 +170,7 @@ public final class GalleryInfoScene extends ToolbarScene implements EasyRecycler
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setTitle(R.string.gallery_info);
- setNavigationIcon(R.drawable.ic_arrow_left_dark_x24);
+ setNavigationIcon(DrawableManager.getDrawable(getContext(), R.drawable.v_arrow_left_dark_x24));
// Clear nav checked item
setNavCheckedItem(0);
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java
index 5f2383159..d83a92c9b 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryPreviewsScene.java
@@ -48,6 +48,7 @@ import com.hippo.ehviewer.client.exception.EhException;
import com.hippo.scene.SceneFragment;
import com.hippo.scene.StageActivity;
import com.hippo.util.ActivityHelper;
+import com.hippo.util.DrawableManager;
import com.hippo.widget.ContentLayout;
import com.hippo.widget.LoadImageView;
import com.hippo.widget.Slider;
@@ -151,7 +152,7 @@ public class GalleryPreviewsScene extends ToolbarScene {
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setTitle(R.string.gallery_previews);
- setNavigationIcon(R.drawable.ic_arrow_left_dark_x24);
+ setNavigationIcon(DrawableManager.getDrawable(getContext(), R.drawable.v_arrow_left_dark_x24));
// Clear nav checked item
setNavCheckedItem(0);
diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SimpleRatingView.java b/app/src/main/java/com/hippo/ehviewer/widget/SimpleRatingView.java
index d22868e13..4d6336542 100644
--- a/app/src/main/java/com/hippo/ehviewer/widget/SimpleRatingView.java
+++ b/app/src/main/java/com/hippo/ehviewer/widget/SimpleRatingView.java
@@ -24,6 +24,7 @@ import android.util.AttributeSet;
import android.view.View;
import com.hippo.ehviewer.R;
+import com.hippo.util.DrawableManager;
public class SimpleRatingView extends View {
@@ -53,9 +54,9 @@ public class SimpleRatingView extends View {
private void init(Context context) {
Resources resources = context.getResources();
- mStarDrawable = resources.getDrawable(R.drawable.ic_star_x16);
- mStarHalfDrawable = resources.getDrawable(R.drawable.ic_star_half_x16);
- mStarOutlineDrawable = resources.getDrawable(R.drawable.ic_star_outline_x16);
+ mStarDrawable = DrawableManager.getDrawable(context, R.drawable.v_star_x16);
+ mStarHalfDrawable = DrawableManager.getDrawable(context, R.drawable.v_star_half_x16);
+ mStarOutlineDrawable = DrawableManager.getDrawable(context, R.drawable.v_star_outline_x16);
mRatingSize = resources.getDimensionPixelOffset(R.dimen.rating_size);
mRatingInterval = resources.getDimensionPixelOffset(R.dimen.rating_interval);
diff --git a/app/src/main/res/drawable-hdpi/ic_star_half_x16.png b/app/src/main/res/drawable-hdpi/ic_star_half_x16.png
deleted file mode 100644
index 275304c10..000000000
Binary files a/app/src/main/res/drawable-hdpi/ic_star_half_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/ic_star_outline_x16.png b/app/src/main/res/drawable-hdpi/ic_star_outline_x16.png
deleted file mode 100644
index d537e624d..000000000
Binary files a/app/src/main/res/drawable-hdpi/ic_star_outline_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/ic_star_x16.png b/app/src/main/res/drawable-hdpi/ic_star_x16.png
deleted file mode 100644
index ad7eaafb5..000000000
Binary files a/app/src/main/res/drawable-hdpi/ic_star_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-mdpi/ic_star_half_x16.png b/app/src/main/res/drawable-mdpi/ic_star_half_x16.png
deleted file mode 100644
index 3dc6a6343..000000000
Binary files a/app/src/main/res/drawable-mdpi/ic_star_half_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-mdpi/ic_star_outline_x16.png b/app/src/main/res/drawable-mdpi/ic_star_outline_x16.png
deleted file mode 100644
index 0f7278dfe..000000000
Binary files a/app/src/main/res/drawable-mdpi/ic_star_outline_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-mdpi/ic_star_x16.png b/app/src/main/res/drawable-mdpi/ic_star_x16.png
deleted file mode 100644
index 222e50598..000000000
Binary files a/app/src/main/res/drawable-mdpi/ic_star_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_star_half_x16.png b/app/src/main/res/drawable-xhdpi/ic_star_half_x16.png
deleted file mode 100644
index 8b29fa455..000000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_star_half_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_star_outline_x16.png b/app/src/main/res/drawable-xhdpi/ic_star_outline_x16.png
deleted file mode 100644
index cbd447968..000000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_star_outline_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_star_x16.png b/app/src/main/res/drawable-xhdpi/ic_star_x16.png
deleted file mode 100644
index fc2ff5ce1..000000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_star_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_star_half_x16.png b/app/src/main/res/drawable-xxhdpi/ic_star_half_x16.png
deleted file mode 100644
index 4f756983c..000000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_star_half_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_star_outline_x16.png b/app/src/main/res/drawable-xxhdpi/ic_star_outline_x16.png
deleted file mode 100644
index b31e52154..000000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_star_outline_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_star_x16.png b/app/src/main/res/drawable-xxhdpi/ic_star_x16.png
deleted file mode 100644
index a1c9a7db0..000000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_star_x16.png and /dev/null differ
diff --git a/app/src/main/res/drawable/v_arrow_left_dark_x24.xml b/app/src/main/res/drawable/v_arrow_left_dark_x24.xml
new file mode 100644
index 000000000..1110425ee
--- /dev/null
+++ b/app/src/main/res/drawable/v_arrow_left_dark_x24.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/v_star_half_x16.xml b/app/src/main/res/drawable/v_star_half_x16.xml
new file mode 100644
index 000000000..32044e4c6
--- /dev/null
+++ b/app/src/main/res/drawable/v_star_half_x16.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/v_star_outline_x16.xml b/app/src/main/res/drawable/v_star_outline_x16.xml
new file mode 100644
index 000000000..f4888ac18
--- /dev/null
+++ b/app/src/main/res/drawable/v_star_outline_x16.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/v_star_x16.xml b/app/src/main/res/drawable/v_star_x16.xml
new file mode 100644
index 000000000..8148134e8
--- /dev/null
+++ b/app/src/main/res/drawable/v_star_x16.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values/pathdata.xml b/app/src/main/res/values/pathdata.xml
index b4fdc677c..b05819622 100644
--- a/app/src/main/res/values/pathdata.xml
+++ b/app/src/main/res/values/pathdata.xml
@@ -45,6 +45,9 @@
M21,11L14,4V8C7,9 4,14 3,19C5.5,15.5 9,13.9 14,13.9V18L21,11Z
M23,10C23,8.89 22.1,8 21,8H14.68L15.64,3.43C15.66,3.33 15.67,3.22 15.67,3.11C15.67,2.7 15.5,2.32 15.23,2.05L14.17,1L7.59,7.58C7.22,7.95 7,8.45 7,9V19A2,2 0 0,0 9,21H18C18.83,21 19.54,20.5 19.84,19.78L22.86,12.73C22.95,12.5 23,12.26 23,12V10.08L23,10M1,21H5V9H1V21Z
M2,11.5C2.2,6.3,7.2,1.7,12.5,2C18.1,2.2,23,7.9,21.9,13.5C21,13.5,20.1,13.2,19.6,12.4C18.3,10.4,17.7,8.1,16.5,6.1C15.6,6.2,14.8,6.4,14,6.6C14.3,8.9,15.8,10.8,16.3,13C16.1,14.9,13.6,16,11.9,15.1C10.5,14.6,9.9,13.1,9.4,11.8C8.9,10.5,8.4,9.1,7.7,7.9C6.6,7.9,5.5,7.9,4.5,8.4C5.4,12.9,7.9,16.9,8.9,21.4C4.8,20.1,1.8,15.8,2,11.5M14.8,17.1C15.8,16.5,16.6,15.6,17.5,14.8C18.8,15.1,20,15.3,21.3,15.4C19.9,18.7,16.9,21.2,13.3,21.9C12.3,20.5,11.7,18.9,11.3,17.3C12.5,17.4,13.7,17.5,14.8,17.1Z
+ M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z
+ M12,15.89V6.59L13.71,10.63L18.09,11L14.77,13.88L15.76,18.16M22,9.74L14.81,9.13L12,2.5L9.19,9.13L2,9.74L7.45,14.47L5.82,21.5L12,17.77L18.18,21.5L16.54,14.47L22,9.74Z
+ M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z
M13,0C20.2,0,26,5.9,26,13.2,26,16.9,24,20.8,18.7,26.1L13,32,7.2,26.2C2,20.8,0,16.9,0,13.3,0,5.9,5.8,0,13,0Z