diff --git a/Clover/app/src/main/java/org/floens/chan/core/settings/ChanSettings.java b/Clover/app/src/main/java/org/floens/chan/core/settings/ChanSettings.java index 3dae204b..49423308 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/settings/ChanSettings.java +++ b/Clover/app/src/main/java/org/floens/chan/core/settings/ChanSettings.java @@ -92,6 +92,7 @@ public class ChanSettings { public static final BooleanSetting postFileInfo; public static final BooleanSetting postFilename; public static final BooleanSetting neverHideToolbar; + public static final BooleanSetting controllerSwipeable; public static final BooleanSetting watchEnabled; public static final BooleanSetting watchCountdown; @@ -113,6 +114,8 @@ public class ChanSettings { public static final StringSetting proxyAddress; public static final IntegerSetting proxyPort; + public static final IntegerSetting settingsOpenCounter; + static { SharedPreferences p = AndroidUtils.getPreferences(); @@ -158,6 +161,7 @@ public class ChanSettings { postFileInfo = new BooleanSetting(p, "preference_post_file_info", true); postFilename = new BooleanSetting(p, "preference_post_filename", false); neverHideToolbar = new BooleanSetting(p, "preference_never_hide_toolbar", false); + controllerSwipeable = new BooleanSetting(p, "preference_controller_swipeable", true); watchEnabled = new BooleanSetting(p, "preference_watch_enabled", false, new Setting.SettingCallback() { @Override @@ -205,6 +209,8 @@ public class ChanSettings { }); loadProxy(); + settingsOpenCounter = new IntegerSetting(p, "counter_settings_open", 0); + // Old (but possibly still in some users phone) // preference_board_view_mode default "list" // preference_board_editor_filler default false diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/AdvancedSettingsController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/AdvancedSettingsController.java index 6a122913..0293d5d5 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/AdvancedSettingsController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/AdvancedSettingsController.java @@ -49,6 +49,7 @@ public class AdvancedSettingsController extends SettingsController { private SettingView forcePhoneLayoutSetting; private SettingView enableReplyFab; private SettingView neverHideToolbar; + private SettingView controllersSwipeable; public AdvancedSettingsController(Context context) { super(context); @@ -66,6 +67,8 @@ public class AdvancedSettingsController extends SettingsController { populatePreferences(); buildPreferences(); + + ChanSettings.settingsOpenCounter.set(5); } @Override @@ -81,7 +84,7 @@ public class AdvancedSettingsController extends SettingsController { public void onPreferenceChange(SettingView item) { super.onPreferenceChange(item); - if (item == forcePhoneLayoutSetting || item == enableReplyFab || item == newCaptcha || item == neverHideToolbar) { + if (item == forcePhoneLayoutSetting || item == enableReplyFab || item == newCaptcha || item == neverHideToolbar || item == controllersSwipeable) { needRestart = true; } else { EventBus.getDefault().post(new RefreshUIMessage("postui")); @@ -114,6 +117,7 @@ public class AdvancedSettingsController extends SettingsController { newCaptcha = settings.add(new BooleanSettingView(this, ChanSettings.postNewCaptcha, R.string.setting_use_new_captcha, R.string.setting_use_new_captcha_description)); settings.add(new BooleanSettingView(this, ChanSettings.saveOriginalFilename, R.string.setting_save_original_filename, 0)); + controllersSwipeable = settings.add(new BooleanSettingView(this, ChanSettings.controllerSwipeable, R.string.setting_controller_swipeable, 0)); settings.add(new BooleanSettingView(this, ChanSettings.shareUrl, R.string.setting_share_url, R.string.setting_share_url_description)); settings.add(new BooleanSettingView(this, ChanSettings.networkHttps, R.string.setting_network_https, R.string.setting_network_https_description)); forcePhoneLayoutSetting = settings.add(new BooleanSettingView(this, ChanSettings.forcePhoneLayout, R.string.setting_force_phone_layout, 0)); diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/StyledToolbarNavigationController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/StyledToolbarNavigationController.java index efe8e70b..fd0253bc 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/StyledToolbarNavigationController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/StyledToolbarNavigationController.java @@ -23,6 +23,7 @@ import org.floens.chan.R; import org.floens.chan.controller.Controller; import org.floens.chan.controller.ControllerTransition; import org.floens.chan.controller.ui.NavigationControllerContainerLayout; +import org.floens.chan.core.settings.ChanSettings; import org.floens.chan.ui.theme.ThemeHelper; import org.floens.chan.ui.toolbar.Toolbar; @@ -38,6 +39,7 @@ public class StyledToolbarNavigationController extends ToolbarNavigationControll view = inflateRes(R.layout.controller_navigation_toolbar); container = (NavigationControllerContainerLayout) view.findViewById(R.id.container); container.setNavigationController(this); + container.setSwipeEnabled(ChanSettings.controllerSwipeable.get()); toolbar = (Toolbar) view.findViewById(R.id.toolbar); toolbar.setBackgroundColor(ThemeHelper.getInstance().getTheme().primaryColor.color); toolbar.setCallback(this);