From f9fe6026d1be94cd6f3aa9046ade497353c8dbe0 Mon Sep 17 00:00:00 2001 From: Floens Date: Tue, 19 Apr 2016 11:40:02 +0200 Subject: [PATCH] Show status text for the boards and themes setting --- .../ui/controller/MainSettingsController.java | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/MainSettingsController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/MainSettingsController.java index c100c19c..80dc0c88 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/MainSettingsController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/MainSettingsController.java @@ -30,6 +30,8 @@ import android.widget.Toast; import org.floens.chan.Chan; import org.floens.chan.R; +import org.floens.chan.core.manager.BoardManager; +import org.floens.chan.core.model.Board; import org.floens.chan.core.settings.ChanSettings; import org.floens.chan.ui.activity.StartActivity; import org.floens.chan.ui.helper.HintPopup; @@ -53,6 +55,7 @@ import java.util.List; import de.greenrobot.event.EventBus; +import static org.floens.chan.ui.theme.ThemeHelper.theme; import static org.floens.chan.utils.AndroidUtils.getString; public class MainSettingsController extends SettingsController implements ToolbarMenuItem.ToolbarMenuItemCallback, WatchSettingsController.WatchSettingControllerListener, PassSettingsController.PassSettingControllerListener { @@ -60,6 +63,7 @@ public class MainSettingsController extends SettingsController implements Toolba private ListSettingView imageAutoLoadView; private ListSettingView videoAutoLoadView; + private LinkSettingView boardEditorView; private LinkSettingView watchLink; private LinkSettingView passLink; private int clickCount; @@ -82,6 +86,8 @@ public class MainSettingsController extends SettingsController implements Toolba public void onCreate() { super.onCreate(); + EventBus.getDefault().register(this); + navigationItem.setTitle(R.string.settings_screen); navigationItem.menu = new ToolbarMenu(context); overflow = navigationItem.createOverflow(context, this, Collections.singletonList( @@ -127,11 +133,17 @@ public class MainSettingsController extends SettingsController implements Toolba public void onDestroy() { super.onDestroy(); + EventBus.getDefault().unregister(this); + if (previousLayoutMode != ChanSettings.layoutMode.get()) { ((StartActivity) context).restart(); } } + public void onEvent(BoardManager.BoardsChangedMessage message) { + updateBoardLinkDescription(); + } + @Override public void onMenuItemClicked(ToolbarMenuItem item) { } @@ -169,12 +181,14 @@ public class MainSettingsController extends SettingsController implements Toolba private void populatePreferences() { // General group SettingsGroup general = new SettingsGroup(R.string.settings_group_general); - general.add(new LinkSettingView(this, R.string.settings_board_edit, 0, new View.OnClickListener() { + boardEditorView = new LinkSettingView(this, R.string.settings_board_edit, 0, new View.OnClickListener() { @Override public void onClick(View v) { navigationController.pushController(new BoardEditController(context)); } - })); + }); + general.add(boardEditorView); + updateBoardLinkDescription(); watchLink = (LinkSettingView) general.add(new LinkSettingView(this, R.string.settings_watch, 0, new View.OnClickListener() { @Override @@ -187,7 +201,7 @@ public class MainSettingsController extends SettingsController implements Toolba SettingsGroup appearance = new SettingsGroup(R.string.settings_group_appearance); - appearance.add(new LinkSettingView(this, R.string.settings_screen_theme, 0, new View.OnClickListener() { + appearance.add(new LinkSettingView(this, getString(R.string.settings_screen_theme), theme().displayName, new View.OnClickListener() { @Override public void onClick(View v) { navigationController.pushController(new ThemeSettingsController(context)); @@ -388,6 +402,11 @@ public class MainSettingsController extends SettingsController implements Toolba groups.add(about); } + private void updateBoardLinkDescription() { + List savedBoards = Chan.getBoardManager().getSavedBoards(); + boardEditorView.setDescription(context.getResources().getQuantityString(R.plurals.board, savedBoards.size(), savedBoards.size())); + } + private void updateVideoLoadModes() { ChanSettings.MediaAutoLoadMode currentImageLoadMode = ChanSettings.imageAutoLoadNetwork.get(); ChanSettings.MediaAutoLoadMode[] modes = ChanSettings.MediaAutoLoadMode.values();