diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java
index b76cb272c..18d159f35 100755
--- a/app/src/main/java/com/hippo/ehviewer/Settings.java
+++ b/app/src/main/java/com/hippo/ehviewer/Settings.java
@@ -159,6 +159,8 @@ public class Settings {
private static final boolean DEFAULT_SHOW_PAGE_INTERVAL = true;
private static final String KEY_VOLUME_PAGE = "volume_page";
private static final boolean DEFAULT_VOLUME_PAGE = false;
+ private static final String KEY_REVERSE_VOLUME_PAGE = "reserve_volume_page";
+ private static final boolean DEFAULT_REVERSE_VOLUME_PAGE = false;
private static final String KEY_READING_FULLSCREEN = "reading_fullscreen";
private static final boolean VALUE_READING_FULLSCREEN = true;
private static final String KEY_CUSTOM_SCREEN_LIGHTNESS = "custom_screen_lightness";
@@ -697,6 +699,14 @@ public class Settings {
putBoolean(KEY_VOLUME_PAGE, value);
}
+ public static boolean getReverseVolumePage() {
+ return getBoolean(KEY_REVERSE_VOLUME_PAGE, DEFAULT_REVERSE_VOLUME_PAGE);
+ }
+
+ public static void putReverseVolumePage(boolean value) {
+ putBoolean(KEY_REVERSE_VOLUME_PAGE, value);
+ }
+
public static boolean getReadingFullscreen() {
return getBoolean(KEY_READING_FULLSCREEN, VALUE_READING_FULLSCREEN);
}
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java
index 15acf7a91..7679f9502 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java
@@ -305,7 +305,8 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan
@Override
protected void attachBaseContext(@NonNull Context newBase) {
- if (defaultNightMode == DayNightDelegate.MODE_NIGHT_UNSPECIFIED) defaultNightMode = DayNightDelegate.getDefaultNightMode();
+ if (defaultNightMode == DayNightDelegate.MODE_NIGHT_UNSPECIFIED)
+ defaultNightMode = DayNightDelegate.getDefaultNightMode();
switch (Settings.getReadTheme()) {
case 0:
DayNightDelegate.setDefaultNightMode(defaultNightMode);
@@ -543,6 +544,13 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan
// Check volume
if (Settings.getVolumePage()) {
+ if (Settings.getReverseVolumePage()) {
+ if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
+ keyCode = KeyEvent.KEYCODE_VOLUME_DOWN;
+ } else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
+ keyCode = KeyEvent.KEYCODE_VOLUME_UP;
+ }
+ }
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
if (mLayoutMode == GalleryView.LAYOUT_RIGHT_TO_LEFT) {
mGalleryView.pageRight();
@@ -981,6 +989,7 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan
private final Switch mShowBattery;
private final Switch mShowPageInterval;
private final Switch mVolumePage;
+ private final Switch mReverseVolumePage;
private final Switch mReadingFullscreen;
private final Switch mCustomScreenLightness;
private final SeekBar mScreenLightness;
@@ -999,6 +1008,7 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan
mShowBattery = mView.findViewById(R.id.show_battery);
mShowPageInterval = mView.findViewById(R.id.show_page_interval);
mVolumePage = mView.findViewById(R.id.volume_page);
+ mReverseVolumePage = mView.findViewById(R.id.reverse_volume_page);
mReadingFullscreen = mView.findViewById(R.id.reading_fullscreen);
mCustomScreenLightness = mView.findViewById(R.id.custom_screen_lightness);
mScreenLightness = mView.findViewById(R.id.screen_lightness);
@@ -1014,6 +1024,9 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan
mShowBattery.setChecked(Settings.getShowBattery());
mShowPageInterval.setChecked(Settings.getShowPageInterval());
mVolumePage.setChecked(Settings.getVolumePage());
+ mVolumePage.setOnCheckedChangeListener((buttonView, isChecked) -> mReverseVolumePage.setEnabled(isChecked));
+ mReverseVolumePage.setEnabled(mVolumePage.isChecked());
+ mReverseVolumePage.setChecked(Settings.getReverseVolumePage());
mReadingFullscreen.setChecked(Settings.getReadingFullscreen());
mCustomScreenLightness.setChecked(Settings.getCustomScreenLightness());
mScreenLightness.setProgress(Settings.getScreenLightness());
@@ -1043,6 +1056,7 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan
boolean showBattery = mShowBattery.isChecked();
boolean showPageInterval = mShowPageInterval.isChecked();
boolean volumePage = mVolumePage.isChecked();
+ boolean reverseVolumePage = mReverseVolumePage.isChecked();
boolean readingFullscreen = mReadingFullscreen.isChecked();
boolean customScreenLightness = mCustomScreenLightness.isChecked();
int screenLightness = mScreenLightness.getProgress();
@@ -1061,6 +1075,7 @@ public class GalleryActivity extends EhActivity implements SeekBar.OnSeekBarChan
Settings.putShowBattery(showBattery);
Settings.putShowPageInterval(showPageInterval);
Settings.putVolumePage(volumePage);
+ Settings.putReverseVolumePage(reverseVolumePage);
Settings.putReadingFullscreen(readingFullscreen);
Settings.putCustomScreenLightness(customScreenLightness);
Settings.putScreenLightness(screenLightness);
diff --git a/app/src/main/res/layout/dialog_gallery_menu.xml b/app/src/main/res/layout/dialog_gallery_menu.xml
index 83ea31f44..62be4ecff 100644
--- a/app/src/main/res/layout/dialog_gallery_menu.xml
+++ b/app/src/main/res/layout/dialog_gallery_menu.xml
@@ -184,6 +184,13 @@
android:text="@string/settings_read_volume_page"
android:textColor="?android:attr/textColorPrimary" />
+
+
全屏
自定义屏幕亮度
屏幕亮度
+ 翻转音量键
下载
下载路径
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 84e120d05..c527bb67f 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -543,6 +543,7 @@
Fullscreen
Custom screen lightness
Screen lightness
+ Reverse volume key
Download
Download location
diff --git a/app/src/main/res/xml/read_settings.xml b/app/src/main/res/xml/read_settings.xml
index 27e02f929..d64068f7d 100644
--- a/app/src/main/res/xml/read_settings.xml
+++ b/app/src/main/res/xml/read_settings.xml
@@ -98,6 +98,13 @@
android:title="@string/settings_read_volume_page"
app:iconSpaceReserved="false" />
+
+