diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java index 27403517f..17646c63f 100644 --- a/app/src/main/java/com/hippo/ehviewer/Settings.java +++ b/app/src/main/java/com/hippo/ehviewer/Settings.java @@ -170,6 +170,17 @@ public class Settings { putIntToStr(KEY_START_POSITION, value); } + private static final String KEY_KEEP_SCREEN_ON = "keep_screen_on"; + private static final boolean DEFAULT_KEEP_SCREEN_ON = false; + + public static boolean getKeepScreenOn() { + return getBoolean(KEY_KEEP_SCREEN_ON, DEFAULT_KEEP_SCREEN_ON); + } + + public static void putKeepScreenOn(boolean value) { + putBoolean(KEY_KEEP_SCREEN_ON, value); + } + private static final String KEY_SHOW_CLOCK = "gallery_show_clock"; private static final boolean DEFAULT_SHOW_CLOCK = true; 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 d8d694afd..be6dc36eb 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java @@ -29,6 +29,7 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.SwitchCompat; import android.view.KeyEvent; import android.view.View; +import android.view.WindowManager; import android.widget.Spinner; import android.widget.TextView; @@ -241,6 +242,13 @@ public class GalleryActivity extends AppCompatActivity mCurrentIndex = mGalleryView.getCurrentIndex(); mLayoutMode = mGalleryView.getLayoutMode(); updateSlider(); + + // Update keep screen on + if (Settings.getKeepScreenOn()) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } else { + getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } } @Override @@ -543,6 +551,7 @@ public class GalleryActivity extends AppCompatActivity private final Spinner mReadingDirection; private final Spinner mScaleMode; private final Spinner mStartPosition; + private final SwitchCompat mKeepScreenOn; private final SwitchCompat mShowClock; private final SwitchCompat mShowBattery; private final SwitchCompat mVolumePage; @@ -553,6 +562,7 @@ public class GalleryActivity extends AppCompatActivity mReadingDirection = (Spinner) mView.findViewById(R.id.reading_direction); mScaleMode = (Spinner) mView.findViewById(R.id.page_scaling); mStartPosition = (Spinner) mView.findViewById(R.id.start_position); + mKeepScreenOn = (SwitchCompat) mView.findViewById(R.id.keep_screen_on); mShowClock = (SwitchCompat) mView.findViewById(R.id.show_clock); mShowBattery = (SwitchCompat) mView.findViewById(R.id.show_battery); mVolumePage = (SwitchCompat) mView.findViewById(R.id.volume_page); @@ -560,6 +570,7 @@ public class GalleryActivity extends AppCompatActivity mReadingDirection.setSelection(Settings.getReadingDirection()); mScaleMode.setSelection(Settings.getPageScaling()); mStartPosition.setSelection(Settings.getStartPosition()); + mKeepScreenOn.setChecked(Settings.getKeepScreenOn()); mShowClock.setChecked(Settings.getShowClock()); mShowBattery.setChecked(Settings.getShowBattery()); mVolumePage.setChecked(Settings.getVolumePage()); @@ -574,6 +585,7 @@ public class GalleryActivity extends AppCompatActivity int layoutMode = GalleryView.sanitizeLayoutMode(mReadingDirection.getSelectedItemPosition()); int scaleMode = ImageView.sanitizeScaleMode(mScaleMode.getSelectedItemPosition()); int startPosition = ImageView.sanitizeStartPosition(mStartPosition.getSelectedItemPosition()); + boolean keepScreenOn = mKeepScreenOn.isChecked(); boolean showClock = mShowClock.isChecked(); boolean showBattery = mShowBattery.isChecked(); boolean volumePage = mVolumePage.isChecked(); @@ -581,6 +593,7 @@ public class GalleryActivity extends AppCompatActivity Settings.putReadingDirection(layoutMode); Settings.putPageScaling(scaleMode); Settings.putStartPosition(startPosition); + Settings.putKeepScreenOn(keepScreenOn); Settings.putShowClock(showClock); Settings.putShowBattery(showBattery); Settings.putVolumePage(volumePage); @@ -590,6 +603,11 @@ public class GalleryActivity extends AppCompatActivity mGalleryView.setScaleMode(scaleMode); mGalleryView.setStartPosition(startPosition); } + if (keepScreenOn) { + getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } else { + getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); + } if (mClock != null) { mClock.setVisibility(showClock ? View.VISIBLE : View.GONE); } diff --git a/app/src/main/res/layout/dialog_gallery_menu.xml b/app/src/main/res/layout/dialog_gallery_menu.xml index e22ade109..4834c8fcb 100644 --- a/app/src/main/res/layout/dialog_gallery_menu.xml +++ b/app/src/main/res/layout/dialog_gallery_menu.xml @@ -63,7 +63,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="center_vertical" - android:text="@string/settings_read_reading_page_scaling_title" + android:text="@string/settings_read_page_scaling_title" android:textColor="@color/primary_text_dark"/> + + 从左至右 从右至左 从上至下 - 页面缩放 - 原始尺寸 - 匹配宽度 - 匹配长度 - 匹配屏幕 - 固定缩放 - 开页位置 - 左上角 - 右上角 - 左下角 - 右下角 - 中心 + 页面缩放 + 原始尺寸 + 匹配宽度 + 匹配长度 + 匹配屏幕 + 固定缩放 + 开页位置 + 左上角 + 右上角 + 左下角 + 右下角 + 中心 + 屏幕常亮 显示时钟 显示电量 使用音量键翻页 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index f7ea97b74..a0c98e8a3 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -37,11 +37,11 @@ - @string/settings_read_reading_page_scaling_actual_size - @string/settings_read_reading_page_scaling_fit_to_width - @string/settings_read_reading_page_scaling_fit_to_height - @string/settings_read_reading_page_scaling_fit_to_screen - @string/settings_read_reading_page_scaling_fixed_scale + @string/settings_read_page_scaling_actual_size + @string/settings_read_page_scaling_fit_to_width + @string/settings_read_page_scaling_fit_to_height + @string/settings_read_page_scaling_fit_to_screen + @string/settings_read_page_scaling_fixed_scale @@ -53,11 +53,11 @@ - @string/settings_read_reading_start_position_top_left - @string/settings_read_reading_start_position_top_right - @string/settings_read_reading_start_position_bottom_left - @string/settings_read_reading_start_position_bottom_right - @string/settings_read_reading_start_position_center + @string/settings_read_start_position_top_left + @string/settings_read_start_position_top_right + @string/settings_read_start_position_bottom_left + @string/settings_read_start_position_bottom_right + @string/settings_read_start_position_center diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4dcedf9b3..0491e6d41 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -230,18 +230,19 @@ Left to right Right to left Top to bottom - Page scaling - Actual size - Fit to width - Fit to height - Fit to screen - Fixed scale - Start position - Top left - Top right - Bottom left - Bottom right - Center + Page scaling + Actual size + Fit to width + Fit to height + Fit to screen + Fixed scale + Start position + Top left + Top right + Bottom left + Bottom right + Center + Keep screen on Show clock Show battery Use volume key to turn pages diff --git a/app/src/main/res/xml/read_settings.xml b/app/src/main/res/xml/read_settings.xml index 73d757101..88bafbdee 100644 --- a/app/src/main/res/xml/read_settings.xml +++ b/app/src/main/res/xml/read_settings.xml @@ -28,7 +28,7 @@ + +