diff --git a/app/build.gradle b/app/build.gradle
index 43de65d76..c0a668f4d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,7 +5,7 @@ android {
defaultConfig {
applicationId "com.hippo.ehviewer"
- minSdkVersion 14
+ minSdkVersion 21
targetSdkVersion 28
versionCode 104
versionName "1.7.3"
@@ -64,7 +64,7 @@ clean {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation 'androidx.appcompat:appcompat:1.1.0'
+ implementation 'androidx.appcompat:appcompat:1.2.0-alpha03'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'com.getkeepsafe.relinker:relinker:1.3.1'
diff --git a/app/src/debug/res/values-es/strings.xml b/app/src/debug/res/values-es/strings.xml
index 82d363589..fc1747762 100755
--- a/app/src/debug/res/values-es/strings.xml
+++ b/app/src/debug/res/values-es/strings.xml
@@ -1,5 +1,4 @@
-
-
-
+
diff --git a/app/src/main/res/anim/decelerate_quart.xml b/app/src/main/res/anim/decelerate_quart.xml
index e495bc3dc..30d0c8081 100644
--- a/app/src/main/res/anim/decelerate_quart.xml
+++ b/app/src/main/res/anim/decelerate_quart.xml
@@ -1,5 +1,4 @@
-
-
-
+
diff --git a/app/src/main/res/anim/decelerate_quint.xml b/app/src/main/res/anim/decelerate_quint.xml
index 0a975d4ba..bb6e5a55c 100644
--- a/app/src/main/res/anim/decelerate_quint.xml
+++ b/app/src/main/res/anim/decelerate_quint.xml
@@ -1,5 +1,4 @@
-
-
-
+
diff --git a/app/src/main/res/anim/decelerate_terz.xml b/app/src/main/res/anim/decelerate_terz.xml
index b8289000d..42eb92099 100644
--- a/app/src/main/res/anim/decelerate_terz.xml
+++ b/app/src/main/res/anim/decelerate_terz.xml
@@ -1,5 +1,4 @@
-
-
-
+
diff --git a/app/src/main/res/anim/scene_close_enter.xml b/app/src/main/res/anim/scene_close_enter.xml
index 8468ce8aa..a640293f0 100644
--- a/app/src/main/res/anim/scene_close_enter.xml
+++ b/app/src/main/res/anim/scene_close_enter.xml
@@ -1,5 +1,4 @@
-
-
-
+
+ android:toAlpha="1.0" />
diff --git a/app/src/main/res/anim/scene_close_exit.xml b/app/src/main/res/anim/scene_close_exit.xml
index 5a9230cfe..23c036195 100644
--- a/app/src/main/res/anim/scene_close_exit.xml
+++ b/app/src/main/res/anim/scene_close_exit.xml
@@ -1,5 +1,4 @@
-
-
-
+ android:toAlpha="0.0" />
+ android:toYDelta="8%" />
diff --git a/app/src/main/res/anim/scene_open_enter.xml b/app/src/main/res/anim/scene_open_enter.xml
index 847f43b5f..5b11c3e1e 100644
--- a/app/src/main/res/anim/scene_open_enter.xml
+++ b/app/src/main/res/anim/scene_open_enter.xml
@@ -1,5 +1,4 @@
-
-
-
+ android:fillBefore="false"
+ android:fillEnabled="true"
+ android:fromAlpha="0.0"
+ android:interpolator="@anim/decelerate_quart"
+ android:toAlpha="1.0" />
+ android:toYDelta="0" />
diff --git a/app/src/main/res/anim/scene_open_exit.xml b/app/src/main/res/anim/scene_open_exit.xml
index 6d2a3f2fa..c637be392 100644
--- a/app/src/main/res/anim/scene_open_exit.xml
+++ b/app/src/main/res/anim/scene_open_exit.xml
@@ -1,5 +1,4 @@
-
-
-
+
+ android:toAlpha="0.7" />
diff --git a/app/src/main/res/color/content_reactive_dark.xml b/app/src/main/res/color/content_reactive.xml
similarity index 79%
rename from app/src/main/res/color/content_reactive_dark.xml
rename to app/src/main/res/color/content_reactive.xml
index 37c7629d5..531c16d48 100644
--- a/app/src/main/res/color/content_reactive_dark.xml
+++ b/app/src/main/res/color/content_reactive.xml
@@ -1,5 +1,4 @@
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/color/primary_text_material_black.xml b/app/src/main/res/color/primary_text_material_black.xml
index 456b910e3..ea0bbda03 100644
--- a/app/src/main/res/color/primary_text_material_black.xml
+++ b/app/src/main/res/color/primary_text_material_black.xml
@@ -1,5 +1,4 @@
-
-
-
-
+
+
diff --git a/app/src/main/res/drawable/divider_gallery_detail_light.xml b/app/src/main/res/drawable/divider_gallery_detail.xml
similarity index 94%
rename from app/src/main/res/drawable/divider_gallery_detail_light.xml
rename to app/src/main/res/drawable/divider_gallery_detail.xml
index d28ede080..557dfc2a8 100644
--- a/app/src/main/res/drawable/divider_gallery_detail_light.xml
+++ b/app/src/main/res/drawable/divider_gallery_detail.xml
@@ -19,7 +19,7 @@
xmlns:android="http://schemas.android.com/apk/res/android">
+ android:color="@color/divider"/>
diff --git a/app/src/main/res/drawable/divider_gallery_detail_dark.xml b/app/src/main/res/drawable/divider_gallery_detail_dark.xml
index 0924cb242..1096a6643 100644
--- a/app/src/main/res/drawable/divider_gallery_detail_dark.xml
+++ b/app/src/main/res/drawable/divider_gallery_detail_dark.xml
@@ -19,7 +19,7 @@
xmlns:android="http://schemas.android.com/apk/res/android">
+ android:color="@color/divider_black"/>
diff --git a/app/src/main/res/drawable/shadow_bottom.xml b/app/src/main/res/drawable/shadow_bottom.xml
index 680f43191..9ab24f76e 100644
--- a/app/src/main/res/drawable/shadow_bottom.xml
+++ b/app/src/main/res/drawable/shadow_bottom.xml
@@ -21,7 +21,7 @@
diff --git a/app/src/main/res/drawable/shadow_top.xml b/app/src/main/res/drawable/shadow_top.xml
index 4a4014fd5..33d42a312 100644
--- a/app/src/main/res/drawable/shadow_top.xml
+++ b/app/src/main/res/drawable/shadow_top.xml
@@ -21,7 +21,7 @@
diff --git a/app/src/main/res/layout-v21/drawer_list.xml b/app/src/main/res/layout-v21/drawer_list.xml
index 1a461448a..8f6a8982b 100644
--- a/app/src/main/res/layout-v21/drawer_list.xml
+++ b/app/src/main/res/layout-v21/drawer_list.xml
@@ -1,5 +1,4 @@
-
-
-
-
+ app:popupTheme="?attr/toolbarPopupTheme" />
+ android:visibility="gone" />
+ android:layout_height="match_parent" />
diff --git a/app/src/main/res/layout-v21/drawer_list_rv.xml b/app/src/main/res/layout-v21/drawer_list_rv.xml
index baf117a7d..16fe95862 100644
--- a/app/src/main/res/layout-v21/drawer_list_rv.xml
+++ b/app/src/main/res/layout-v21/drawer_list_rv.xml
@@ -1,5 +1,4 @@
-
-
-
-
+ app:popupTheme="?attr/toolbarPopupTheme" />
+ android:visibility="gone" />
+ android:layout_height="match_parent" />
diff --git a/app/src/main/res/layout-v21/preference_widget_seekbar.xml b/app/src/main/res/layout-v21/preference_widget_seekbar.xml
index ed4184edb..bdd523fee 100644
--- a/app/src/main/res/layout-v21/preference_widget_seekbar.xml
+++ b/app/src/main/res/layout-v21/preference_widget_seekbar.xml
@@ -1,5 +1,4 @@
-
-
-
+ android:clipToPadding="false"
+ android:gravity="center_vertical"
+ android:minHeight="?android:attr/listPreferredItemHeightSmall"
+ android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:paddingRight="?android:attr/listPreferredItemPaddingRight">
+ android:textAppearance="?android:attr/textAppearanceListItem" />
+ android:textColor="?android:attr/textColorSecondary" />
+ android:minWidth="@dimen/preference_widget_width"
+ android:orientation="vertical" />
+ android:layout_alignParentRight="true"
+ android:layout_toRightOf="@android:id/widget_frame" />
diff --git a/app/src/main/res/layout-v21/scene_toolbar.xml b/app/src/main/res/layout-v21/scene_toolbar.xml
index 02cb0ebdd..28847f374 100644
--- a/app/src/main/res/layout-v21/scene_toolbar.xml
+++ b/app/src/main/res/layout-v21/scene_toolbar.xml
@@ -1,5 +1,4 @@
-
-
-
-
+ app:popupTheme="?attr/toolbarPopupTheme" />
+ android:layout_weight="1" />
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index ce7f96372..69186dd7f 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -36,15 +36,7 @@
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header_main"
- app:menu="@menu/nav_drawer_main">
-
-
-
+ app:menu="@menu/nav_drawer_main" />
-
-
+
diff --git a/app/src/main/res/layout/item_gallery_grid.xml b/app/src/main/res/layout/item_gallery_grid.xml
index cb4d947a9..84d5cc122 100644
--- a/app/src/main/res/layout/item_gallery_grid.xml
+++ b/app/src/main/res/layout/item_gallery_grid.xml
@@ -15,7 +15,7 @@
~ limitations under the License.
-->
-
-
+
diff --git a/app/src/main/res/layout/item_gallery_list.xml b/app/src/main/res/layout/item_gallery_list.xml
index df494ef0a..0a9f2d8a3 100644
--- a/app/src/main/res/layout/item_gallery_list.xml
+++ b/app/src/main/res/layout/item_gallery_list.xml
@@ -14,7 +14,7 @@
~ limitations under the License.
-->
-
-
+
diff --git a/app/src/main/res/layout/scene_login.xml b/app/src/main/res/layout/scene_login.xml
index 37ac255c8..0343a1f44 100644
--- a/app/src/main/res/layout/scene_login.xml
+++ b/app/src/main/res/layout/scene_login.xml
@@ -47,6 +47,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:minWidth="@dimen/single_max_width"
+ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:hint="@string/username">
-
-
+
-
-
-
diff --git a/app/src/main/res/layout/scene_warning.xml b/app/src/main/res/layout/scene_warning.xml
index 2dfc62f42..eea0f9ecb 100644
--- a/app/src/main/res/layout/scene_warning.xml
+++ b/app/src/main/res/layout/scene_warning.xml
@@ -60,7 +60,7 @@
android:id="@+id/buttonPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal"
+ android:orientation="vertical"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:paddingTop="4dp"
@@ -68,25 +68,23 @@
android:gravity="bottom"
style="?attr/buttonBarStyle">
-
-
+
+
diff --git a/app/src/main/res/layout/search_action.xml b/app/src/main/res/layout/search_action.xml
index ae75a85ce..87fc9ea34 100644
--- a/app/src/main/res/layout/search_action.xml
+++ b/app/src/main/res/layout/search_action.xml
@@ -28,7 +28,7 @@
android:layout_weight="1"
android:textColor="?attr/colorPrimary"
android:textStyle="bold"
- style="?attr/buttonBarPositiveButtonStyle"/>
+ style="@style/Widget.MaterialComponents.Button.TextButton"/>
-
-
+
diff --git a/app/src/main/res/layout/search_normal.xml b/app/src/main/res/layout/search_normal.xml
index b4db5c097..43fd8eb82 100644
--- a/app/src/main/res/layout/search_normal.xml
+++ b/app/src/main/res/layout/search_normal.xml
@@ -72,6 +72,7 @@
android:layout_width="36dp"
android:layout_height="36dp"
android:padding="6dp"
+ android:background="?selectableItemBackgroundBorderless"
app:srcCompat="@drawable/v_help_circle_x24"/>
+ style="@style/Widget.MaterialComponents.Button"/>
+
+
+
+ #ffffffff
+ #4dffffff
+ #ff303030
+
+ @color/grey_825
+ @color/grey_600
+ @color/grey_700
+ @color/grey_600
+ @color/grey_775
+ @color/grey_775
+ @color/grey_800
+ #fff44336
+ #ff009688
+ #ff00796b
+ #ff9c27b0
+ #ffe040fb
+ #ffd500f9
+ #ffaa00ff
+ #ff00acc1
+ #ff7cb342
+ #fff9a825
+ #ffff7043
+ #ff080808
+ #ff111111
+ #ff191919
+ #ff212121
+ #ff292929
+ #ff323232
+ #ff3a3a3a
+ #ff424242
+ #ff4a4a4a
+ #ff525252
+ #ff595959
+ #ff616161
+ #ff666666
+ #ff6b6b6b
+ #ff707070
+ #ff757575
+ #ff7f7f7f
+ #ff8a8a8a
+ #ff949494
+ #ff9e9e9e
+ #ffa6a6a6
+ #ffaeaeae
+ #ffb5b5b5
+ #ffbdbdbd
+ #ffc6c6c6
+ #ffcfcfcf
+ #ffd7d7d7
+ #ffe0e0e0
+ #ffe4e4e4
+ #ffe7e7e7
+ #ffebebeb
+ #ffeeeeee
+ #fff0f0f0
+ #fff2f2f2
+ #fff3f3f3
+ #fff5f5f5
+ #ff795548
+
+ @color/teal_500
+ @color/teal_700
+ @color/purple_a200
+
+ #80ffffff
+
+ #ffe53935
+ @color/purple_a700
+ #ff1d87e4
+ @color/cyan_600
+ @color/light_green_600
+ @color/yellow_800
+ @color/deep_orange_400
+
+ #8a000000
+
+
+ #fff44336
+
+ #ffff9800
+
+ #ffFbc02d
+
+ #ff4caf50
+
+ #ff8bc34a
+
+ #ff2196f3
+
+ #ff3f51b5
+
+ #ff9c27b0
+
+ #ff9575cd
+
+ #fff06292
+ @android:color/black
+
+
+ #20ffffff
+
+
+ #38000000
+
+ #1f000000
+
+ #e5009688
+
+
+
+ #F5F5F5
+
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
new file mode 100644
index 000000000..6ca019b2f
--- /dev/null
+++ b/app/src/main/res/values-night/themes.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-v19/themes.xml b/app/src/main/res/values-v19/themes.xml
deleted file mode 100644
index bc25064bf..000000000
--- a/app/src/main/res/values-v19/themes.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/values-v21/themes.xml b/app/src/main/res/values-v21/themes.xml
deleted file mode 100644
index a8562186b..000000000
--- a/app/src/main/res/values-v21/themes.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 29f5eaded..8838f8269 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -282,4 +282,15 @@
- SOCKS
+
+ - @string/follow_system
+ - @string/settings_eh_theme_light
+ - @string/settings_eh_theme_dark
+
+
+
+ - -1
+ - 1
+ - 2
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 72e6f71f7..cff4ec29c 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,5 +1,4 @@
-
-
-
+
+
+ #8a000000
+ #42000000
#8a000000
#42000000
#ffffffff
@@ -33,35 +34,27 @@
#d9ffffff
#4dffffff
- #ff303030
- #fffafafa
+ #fffafafa
- @color/grey_100
- @color/grey_825
+ #fff
@color/grey_925
- @color/grey_300
- @color/grey_600
+ @color/grey_300
@color/grey_700
- @color/grey_200
- @color/grey_700
+ @color/grey_200
@color/grey_850
- @color/colorAccent
- @color/grey_600
+ @color/colorAccent
@color/grey_700
- @color/colorAccent
- @color/grey_775
+ @color/colorAccent
@color/grey_875
- @color/colorPrimary
- @color/grey_775
+ @color/colorPrimary
@color/grey_875
- @color/grey_100
- @color/grey_800
+ @color/grey_100
@color/grey_900
#fff44336
@@ -152,11 +145,11 @@
@android:color/black
- #20000000
- #20ffffff
+ #20000000
+ #20ffffff
- #38000000
+ #38000000
@color/grey_800
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 523069aa8..e2034a077 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,4 @@
-
-
-
+
Disable default filters for:
Language
Uploader
@@ -780,4 +779,7 @@
Download Service
Favorite
+
+ Follow system
+ Black dark theme
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 17c504b14..024cba553 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,5 +1,4 @@
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/app/src/main/res/xml/eh_settings.xml b/app/src/main/res/xml/eh_settings.xml
index d1d1178fd..14f7bec99 100644
--- a/app/src/main/res/xml/eh_settings.xml
+++ b/app/src/main/res/xml/eh_settings.xml
@@ -55,13 +55,18 @@
app:iconSpaceReserved="false"/>
+ android:title="@string/settings_eh_theme"
+ app:iconSpaceReserved="false" />
+
+