From d1df944bba9f9ab745447f2a8304ebee0d92ca85 Mon Sep 17 00:00:00 2001 From: tehcneko <7764726+tehcneko@users.noreply.github.com> Date: Sat, 20 Mar 2021 21:37:24 +0800 Subject: [PATCH] Add reverse volume key --- .../main/java/com/hippo/ehviewer/Settings.java | 10 ++++++++++ .../com/hippo/ehviewer/ui/GalleryActivity.java | 17 ++++++++++++++++- app/src/main/res/layout/dialog_gallery_menu.xml | 7 +++++++ app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/read_settings.xml | 7 +++++++ 6 files changed, 42 insertions(+), 1 deletion(-) 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" /> + +