From a12f9ba59590c101b2ee0d267f3b5293e3a127c2 Mon Sep 17 00:00:00 2001 From: seven332 Date: Sat, 2 Apr 2016 16:36:37 +0800 Subject: [PATCH] Add fullscreen option --- .../java/com/hippo/ehviewer/Settings.java | 11 ++++++ .../hippo/ehviewer/ui/GalleryActivity.java | 39 ++++++++++++++----- .../main/res/layout/dialog_gallery_menu.xml | 7 ++++ app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rHK/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/values/themes.xml | 3 +- app/src/main/res/xml/read_settings.xml | 5 +++ 9 files changed, 59 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java index d407dc613..ca205d436 100644 --- a/app/src/main/java/com/hippo/ehviewer/Settings.java +++ b/app/src/main/java/com/hippo/ehviewer/Settings.java @@ -459,6 +459,17 @@ public class Settings { putBoolean(KEY_VOLUME_PAGE, value); } + private static final String KEY_READING_FULLSCREEN = "reading_fullscreen"; + private static final boolean VALUE_READING_FULLSCREEN = true; + + public static boolean getReadingFullscreen() { + return getBoolean(KEY_READING_FULLSCREEN, VALUE_READING_FULLSCREEN); + } + + public static void putReadingFullscreen(boolean value) { + putBoolean(KEY_READING_FULLSCREEN, value); + } + private static final String KEY_CUSTOM_SCREEN_LIGHTNESS = "custom_screen_lightness"; private static final boolean DEFAULT_CUSTOM_SCREEN_LIGHTNESS = false; 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 5a01cda37..b16e82d87 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/GalleryActivity.java @@ -223,6 +223,14 @@ public class GalleryActivity extends EhActivity @Override protected void onCreate(@Nullable Bundle savedInstanceState) { + if (Settings.getReadingFullscreen() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Window w = getWindow(); + w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, + WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); + w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, + WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + } + super.onCreate(savedInstanceState); if (savedInstanceState == null) { @@ -256,16 +264,18 @@ public class GalleryActivity extends EhActivity glRootView.setContentPane(mGalleryView); // System UI helper - int systemUiLevel; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { - systemUiLevel = SystemUiHelper.LEVEL_IMMERSIVE; - } else { - systemUiLevel = SystemUiHelper.LEVEL_HIDE_STATUS_BAR; + if (Settings.getReadingFullscreen()) { + int systemUiLevel; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + systemUiLevel = SystemUiHelper.LEVEL_IMMERSIVE; + } else { + systemUiLevel = SystemUiHelper.LEVEL_HIDE_STATUS_BAR; + } + mSystemUiHelper = new SystemUiHelper(this, systemUiLevel, + SystemUiHelper.FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES | SystemUiHelper.FLAG_IMMERSIVE_STICKY); + mSystemUiHelper.hide(); + mShowSystemUi = false; } - mSystemUiHelper = new SystemUiHelper(this, systemUiLevel, - SystemUiHelper.FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES | SystemUiHelper.FLAG_IMMERSIVE_STICKY); - mSystemUiHelper.hide(); - mShowSystemUi = false; mMaskView = (ColorView) ViewUtils.$$(this, R.id.mask); mClock = ViewUtils.$$(this, R.id.clock); @@ -719,6 +729,7 @@ public class GalleryActivity extends EhActivity private final SwitchCompat mShowClock; private final SwitchCompat mShowBattery; private final SwitchCompat mVolumePage; + private final SwitchCompat mReadingFullscreen; private final SwitchCompat mCustomScreenLightness; private final SeekBar mScreenLightness; @@ -733,6 +744,7 @@ public class GalleryActivity extends EhActivity mShowClock = (SwitchCompat) mView.findViewById(R.id.show_clock); mShowBattery = (SwitchCompat) mView.findViewById(R.id.show_battery); mVolumePage = (SwitchCompat) mView.findViewById(R.id.volume_page); + mReadingFullscreen = (SwitchCompat) mView.findViewById(R.id.reading_fullscreen); mCustomScreenLightness = (SwitchCompat) mView.findViewById(R.id.custom_screen_lightness); mScreenLightness = (SeekBar) mView.findViewById(R.id.screen_lightness); @@ -744,6 +756,7 @@ public class GalleryActivity extends EhActivity mShowClock.setChecked(Settings.getShowClock()); mShowBattery.setChecked(Settings.getShowBattery()); mVolumePage.setChecked(Settings.getVolumePage()); + mReadingFullscreen.setChecked(Settings.getReadingFullscreen()); mCustomScreenLightness.setChecked(Settings.getCustomScreenLightness()); mScreenLightness.setProgress(Settings.getScreenLightness()); mScreenLightness.setEnabled(Settings.getCustomScreenLightness()); @@ -770,9 +783,12 @@ public class GalleryActivity extends EhActivity boolean showClock = mShowClock.isChecked(); boolean showBattery = mShowBattery.isChecked(); boolean volumePage = mVolumePage.isChecked(); + boolean readingFullscreen = mReadingFullscreen.isChecked(); boolean customScreenLightness = mCustomScreenLightness.isChecked(); int screenLightness = mScreenLightness.getProgress(); + boolean oldReadingFullscreen = Settings.getReadingFullscreen(); + Settings.putScreenRotation(screenRotation); Settings.putReadingDirection(layoutMode); Settings.putPageScaling(scaleMode); @@ -781,6 +797,7 @@ public class GalleryActivity extends EhActivity Settings.putShowClock(showClock); Settings.putShowBattery(showBattery); Settings.putVolumePage(volumePage); + Settings.putReadingFullscreen(readingFullscreen); Settings.putCustomScreenLightness(customScreenLightness); Settings.putScreenLightness(screenLightness); @@ -819,6 +836,10 @@ public class GalleryActivity extends EhActivity // Update slider mLayoutMode = layoutMode; updateSlider(); + + if (oldReadingFullscreen != readingFullscreen) { + recreate(); + } } } diff --git a/app/src/main/res/layout/dialog_gallery_menu.xml b/app/src/main/res/layout/dialog_gallery_menu.xml index 6ce79c57b..2581f88a1 100644 --- a/app/src/main/res/layout/dialog_gallery_menu.xml +++ b/app/src/main/res/layout/dialog_gallery_menu.xml @@ -150,6 +150,13 @@ android:text="@string/settings_read_volume_page" android:textColor="@color/primary_text_dark"/> + + 显示时钟 显示电量 使用音量键翻页 + 全屏 自定义屏幕亮度 屏幕亮度 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 8214eb447..127d1fc65 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -401,6 +401,7 @@ 顯示時鐘 顯示電量 使用音量鍵翻頁 + 全屏 自定義屏幕亮度 屏幕亮度 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index fcb22e91d..6cbd2401d 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -401,6 +401,7 @@ 顯示時鐘 顯示電量 使用音量鍵翻頁 + 全屏 自定義螢幕亮度 螢幕亮度 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f5efb878c..f396d30ba 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -443,6 +443,7 @@ Show clock Show battery Use volume key to turn pages + Fullscreen Custom screen lightness Screen lightness diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index c4c31c12c..ce70087b5 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -70,7 +70,8 @@ - diff --git a/app/src/main/res/xml/read_settings.xml b/app/src/main/res/xml/read_settings.xml index fdadecaa4..8dfbcd968 100644 --- a/app/src/main/res/xml/read_settings.xml +++ b/app/src/main/res/xml/read_settings.xml @@ -71,6 +71,11 @@ android:title="@string/settings_read_volume_page" android:defaultValue="false"/> + +