Allow string resources in all the setting view contructors

Convert every Controller.string call to AndroidUtils.getString
multisite
Floens 10 years ago
parent ee98b5c3cf
commit 9b8ae6fdf2
  1. 4
      Clover/app/src/main/java/org/floens/chan/controller/Controller.java
  2. 44
      Clover/app/src/main/java/org/floens/chan/ui/controller/AdvancedSettingsController.java
  3. 5
      Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java
  4. 4
      Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java
  5. 2
      Clover/app/src/main/java/org/floens/chan/ui/controller/DeveloperSettingsController.java
  6. 2
      Clover/app/src/main/java/org/floens/chan/ui/controller/FiltersController.java
  7. 2
      Clover/app/src/main/java/org/floens/chan/ui/controller/HistoryController.java
  8. 8
      Clover/app/src/main/java/org/floens/chan/ui/controller/ImageViewerController.java
  9. 81
      Clover/app/src/main/java/org/floens/chan/ui/controller/MainSettingsController.java
  10. 8
      Clover/app/src/main/java/org/floens/chan/ui/controller/PassSettingsController.java
  11. 14
      Clover/app/src/main/java/org/floens/chan/ui/controller/WatchSettingsController.java
  12. 4
      Clover/app/src/main/java/org/floens/chan/ui/settings/BooleanSettingView.java
  13. 4
      Clover/app/src/main/java/org/floens/chan/ui/settings/IntegerSettingView.java
  14. 8
      Clover/app/src/main/java/org/floens/chan/ui/settings/LinkSettingView.java
  15. 8
      Clover/app/src/main/java/org/floens/chan/ui/settings/ListSettingView.java
  16. 6
      Clover/app/src/main/java/org/floens/chan/ui/settings/SettingView.java
  17. 4
      Clover/app/src/main/java/org/floens/chan/ui/settings/SettingsGroup.java
  18. 4
      Clover/app/src/main/java/org/floens/chan/ui/settings/StringSettingView.java

@ -238,8 +238,4 @@ public abstract class Controller {
public ViewGroup inflateRes(int resId) {
return (ViewGroup) LayoutInflater.from(context).inflate(resId, null);
}
public String string(int id) {
return context.getString(id);
}
}

@ -63,7 +63,7 @@ public class AdvancedSettingsController extends SettingsController {
public void onCreate() {
super.onCreate();
navigationItem.title = string(R.string.settings_screen_advanced);
navigationItem.setTitle(R.string.settings_screen_advanced);
view = inflateRes(R.layout.settings_layout);
content = (LinearLayout) view.findViewById(R.id.scrollview_content);
@ -96,10 +96,10 @@ public class AdvancedSettingsController extends SettingsController {
}
private void populatePreferences() {
SettingsGroup settings = new SettingsGroup(string(R.string.settings_group_advanced));
SettingsGroup settings = new SettingsGroup(R.string.settings_group_advanced);
// TODO change this to a presenting controller
saveLocation = (LinkSettingView) settings.add(new LinkSettingView(this, string(R.string.setting_save_folder), null, new View.OnClickListener() {
saveLocation = (LinkSettingView) settings.add(new LinkSettingView(this, R.string.setting_save_folder, 0, new View.OnClickListener() {
@Override
public void onClick(View v) {
File dir = new File(ChanSettings.saveLocation.get());
@ -119,28 +119,28 @@ public class AdvancedSettingsController extends SettingsController {
}));
setSaveLocationDescription();
newCaptcha = settings.add(new BooleanSettingView(this, ChanSettings.postNewCaptcha, string(R.string.setting_use_new_captcha), string(R.string.setting_use_new_captcha_description)));
settings.add(new BooleanSettingView(this, ChanSettings.saveOriginalFilename, string(R.string.setting_save_original_filename), null));
settings.add(new BooleanSettingView(this, ChanSettings.shareUrl, string(R.string.setting_share_url), string(R.string.setting_share_url_description)));
settings.add(new BooleanSettingView(this, ChanSettings.networkHttps, string(R.string.setting_network_https), string(R.string.setting_network_https_description)));
forcePhoneLayoutSetting = settings.add(new BooleanSettingView(this, ChanSettings.forcePhoneLayout, string(R.string.setting_force_phone_layout), null));
enableReplyFab = settings.add(new BooleanSettingView(this, ChanSettings.enableReplyFab, string(R.string.setting_enable_reply_fab), string(R.string.setting_enable_reply_fab_description)));
anonymize = settings.add(new BooleanSettingView(this, ChanSettings.anonymize, string(R.string.setting_anonymize), null));
anonymizeIds = settings.add(new BooleanSettingView(this, ChanSettings.anonymizeIds, string(R.string.setting_anonymize_ids), null));
settings.add(new BooleanSettingView(this, ChanSettings.repliesButtonsBottom, string(R.string.setting_buttons_bottom), null));
settings.add(new BooleanSettingView(this, ChanSettings.confirmExit, string(R.string.setting_confirm_exit), null));
tapNoReply = settings.add(new BooleanSettingView(this, ChanSettings.tapNoReply, string(R.string.setting_tap_no_rely), null));
settings.add(new BooleanSettingView(this, ChanSettings.volumeKeysScrolling, string(R.string.setting_volume_key_scrolling), null));
postFullDate = settings.add(new BooleanSettingView(this, ChanSettings.postFullDate, string(R.string.setting_post_full_date), null));
postFileInfo = settings.add(new BooleanSettingView(this, ChanSettings.postFileInfo, string(R.string.setting_post_file_info), null));
postFilename = settings.add(new BooleanSettingView(this, ChanSettings.postFilename, string(R.string.setting_post_filename), null));
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));
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));
enableReplyFab = settings.add(new BooleanSettingView(this, ChanSettings.enableReplyFab, R.string.setting_enable_reply_fab,R.string.setting_enable_reply_fab_description));
anonymize = settings.add(new BooleanSettingView(this, ChanSettings.anonymize, R.string.setting_anonymize, 0));
anonymizeIds = settings.add(new BooleanSettingView(this, ChanSettings.anonymizeIds, R.string.setting_anonymize_ids, 0));
settings.add(new BooleanSettingView(this, ChanSettings.repliesButtonsBottom, R.string.setting_buttons_bottom, 0));
settings.add(new BooleanSettingView(this, ChanSettings.confirmExit, R.string.setting_confirm_exit, 0));
tapNoReply = settings.add(new BooleanSettingView(this, ChanSettings.tapNoReply, R.string.setting_tap_no_rely, 0));
settings.add(new BooleanSettingView(this, ChanSettings.volumeKeysScrolling, R.string.setting_volume_key_scrolling, 0));
postFullDate = settings.add(new BooleanSettingView(this, ChanSettings.postFullDate, R.string.setting_post_full_date, 0));
postFileInfo = settings.add(new BooleanSettingView(this, ChanSettings.postFileInfo, R.string.setting_post_file_info, 0));
postFilename = settings.add(new BooleanSettingView(this, ChanSettings.postFilename, R.string.setting_post_filename, 0));
groups.add(settings);
SettingsGroup proxy = new SettingsGroup(string(R.string.settings_group_proxy));
proxy.add(new BooleanSettingView(this, ChanSettings.proxyEnabled, string(R.string.setting_proxy_enabled), null));
proxy.add(new StringSettingView(this, ChanSettings.proxyAddress, string(R.string.setting_proxy_address), string(R.string.setting_proxy_address)));
proxy.add(new IntegerSettingView(this, ChanSettings.proxyPort, string(R.string.setting_proxy_port), string(R.string.setting_proxy_port)));
SettingsGroup proxy = new SettingsGroup(R.string.settings_group_proxy);
proxy.add(new BooleanSettingView(this, ChanSettings.proxyEnabled, R.string.setting_proxy_enabled, 0));
proxy.add(new StringSettingView(this, ChanSettings.proxyAddress, R.string.setting_proxy_address, R.string.setting_proxy_address));
proxy.add(new IntegerSettingView(this, ChanSettings.proxyPort, R.string.setting_proxy_port, R.string.setting_proxy_port));
groups.add(proxy);
}

@ -60,6 +60,7 @@ import java.util.Locale;
import static org.floens.chan.utils.AndroidUtils.dp;
import static org.floens.chan.utils.AndroidUtils.fixSnackbarText;
import static org.floens.chan.utils.AndroidUtils.getString;
public class BoardEditController extends Controller implements View.OnClickListener, ToolbarMenuItem.ToolbarMenuItemCallback {
private static final int OPTION_SORT_A_Z = 1;
@ -81,7 +82,7 @@ public class BoardEditController extends Controller implements View.OnClickListe
public void onCreate() {
super.onCreate();
navigationItem.title = string(R.string.board_edit);
navigationItem.setTitle(R.string.board_edit);
List<FloatingMenuItem> items = new ArrayList<>();
items.add(new FloatingMenuItem(OPTION_SORT_A_Z, R.string.board_edit_sort_a_z));
@ -244,7 +245,7 @@ public class BoardEditController extends Controller implements View.OnClickListe
recyclerView.smoothScrollToPosition(boards.size());
Snackbar snackbar = Snackbar.make(view, string(R.string.board_add_success) + " " + board.key, Snackbar.LENGTH_LONG);
Snackbar snackbar = Snackbar.make(view, getString(R.string.board_add_success) + " " + board.key, Snackbar.LENGTH_LONG);
fixSnackbarText(context, snackbar);
snackbar.show();

@ -47,6 +47,8 @@ import org.floens.chan.utils.AndroidUtils;
import java.util.ArrayList;
import java.util.List;
import static org.floens.chan.utils.AndroidUtils.getString;
public class BrowseController extends ThreadController implements ToolbarMenuItem.ToolbarMenuItemCallback, ThreadLayout.ThreadLayoutCallback, FloatingMenu.FloatingMenuCallback {
private static final int REFRESH_ID = 1;
private static final int REPLY_ID = 101;
@ -174,7 +176,7 @@ public class BrowseController extends ThreadController implements ToolbarMenuIte
break;
}
String name = string(nameId);
String name = getString(nameId);
if (order == this.order) {
name = "\u2713 " + name; // Checkmark
}

@ -45,7 +45,7 @@ public class DeveloperSettingsController extends Controller {
public void onCreate() {
super.onCreate();
navigationItem.title = string(R.string.settings_developer);
navigationItem.setTitle(R.string.settings_developer);
LinearLayout wrapper = new LinearLayout(context);
wrapper.setOrientation(LinearLayout.VERTICAL);

@ -103,7 +103,7 @@ public class FiltersController extends Controller implements ToolbarMenuItem.Too
filterEngine = FilterEngine.getInstance();
databaseManager = Chan.getDatabaseManager();
navigationItem.title = string(R.string.filters_screen);
navigationItem.setTitle(R.string.filters_screen);
navigationItem.menu = new ToolbarMenu(context);
navigationItem.menu.addItem(new ToolbarMenuItem(context, this, SEARCH_ID, R.drawable.ic_search_white_24dp));

@ -68,7 +68,7 @@ public class HistoryController extends Controller implements CompoundButton.OnCh
databaseManager = Chan.getDatabaseManager();
navigationItem.title = string(R.string.history_screen);
navigationItem.setTitle(R.string.history_screen);
List<FloatingMenuItem> items = new ArrayList<>();
items.add(new FloatingMenuItem(CLEAR_ID, R.string.history_clear));
navigationItem.menu = new ToolbarMenu(context);

@ -118,10 +118,10 @@ public class ImageViewerController extends Controller implements ImageViewerPres
navigationItem.menu = new ToolbarMenu(context);
navigationItem.menu.addItem(new ToolbarMenuItem(context, this, SAVE_ID, R.drawable.ic_file_download_white_24dp));
overflowMenuItem = navigationItem.createOverflow(context, this, Arrays.asList(
new FloatingMenuItem(OPEN_BROWSER_ID, string(R.string.action_open_browser)),
new FloatingMenuItem(SHARE_ID, string(R.string.action_share)),
new FloatingMenuItem(SEARCH_ID, string(R.string.action_search_image)),
new FloatingMenuItem(SAVE_ALBUM, string(R.string.action_download_album))
new FloatingMenuItem(OPEN_BROWSER_ID, R.string.action_open_browser),
new FloatingMenuItem(SHARE_ID, R.string.action_share),
new FloatingMenuItem(SEARCH_ID, R.string.action_search_image),
new FloatingMenuItem(SAVE_ALBUM, R.string.action_download_album)
));
view = inflateRes(R.layout.controller_image_viewer);

@ -44,11 +44,13 @@ import org.floens.chan.utils.AndroidUtils;
import org.floens.chan.utils.AnimationUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import de.greenrobot.event.EventBus;
import static org.floens.chan.utils.AndroidUtils.getString;
public class MainSettingsController extends SettingsController implements ToolbarMenuItem.ToolbarMenuItemCallback, WatchSettingsController.WatchSettingControllerListener, PassSettingsController.PassSettingControllerListener {
private static final int ADVANCED_SETTINGS = 1;
private SettingView imageAutoLoadView;
@ -68,10 +70,10 @@ public class MainSettingsController extends SettingsController implements Toolba
public void onCreate() {
super.onCreate();
navigationItem.title = s(R.string.settings_screen);
navigationItem.setTitle(R.string.settings_screen);
navigationItem.menu = new ToolbarMenu(context);
navigationItem.createOverflow(context, this, Arrays.asList(
new FloatingMenuItem(ADVANCED_SETTINGS, s(R.string.settings_screen_advanced))
navigationItem.createOverflow(context, this, Collections.singletonList(
new FloatingMenuItem(ADVANCED_SETTINGS, R.string.settings_screen_advanced)
));
view = inflateRes(R.layout.settings_layout);
@ -115,25 +117,25 @@ public class MainSettingsController extends SettingsController implements Toolba
@Override
public void onWatchEnabledChanged(boolean enabled) {
watchLink.setDescription(s(enabled ? R.string.setting_watch_summary_enabled : R.string.setting_watch_summary_disabled));
watchLink.setDescription(enabled ? R.string.setting_watch_summary_enabled : R.string.setting_watch_summary_disabled);
}
@Override
public void onPassEnabledChanged(boolean enabled) {
passLink.setDescription(s(enabled ? R.string.setting_pass_summary_enabled : R.string.setting_pass_summary_disabled));
passLink.setDescription(enabled ? R.string.setting_pass_summary_enabled : R.string.setting_pass_summary_disabled);
}
private void populatePreferences() {
// General group
SettingsGroup general = new SettingsGroup(s(R.string.settings_group_general));
general.add(new LinkSettingView(this, s(R.string.settings_board_edit), null, new View.OnClickListener() {
SettingsGroup general = new SettingsGroup(R.string.settings_group_general);
general.add(new LinkSettingView(this, R.string.settings_board_edit, 0, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new BoardEditController(context));
}
}));
watchLink = (LinkSettingView) general.add(new LinkSettingView(this, s(R.string.settings_watch), null, new View.OnClickListener() {
watchLink = (LinkSettingView) general.add(new LinkSettingView(this, R.string.settings_watch, 0, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new WatchSettingsController(context));
@ -142,9 +144,9 @@ public class MainSettingsController extends SettingsController implements Toolba
groups.add(general);
SettingsGroup appearance = new SettingsGroup(s(R.string.settings_group_appearance));
SettingsGroup appearance = new SettingsGroup(R.string.settings_group_appearance);
appearance.add(new LinkSettingView(this, s(R.string.settings_screen_theme), null, new View.OnClickListener() {
appearance.add(new LinkSettingView(this, R.string.settings_screen_theme, 0, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new ThemeSettingsController(context));
@ -153,48 +155,48 @@ public class MainSettingsController extends SettingsController implements Toolba
List<ListSettingView.Item> fontSizes = new ArrayList<>();
for (int size = 10; size <= 19; size++) {
String name = size + (String.valueOf(size).equals(ChanSettings.fontSize.getDefault()) ? " " + s(R.string.setting_font_size_default) : "");
String name = size + (String.valueOf(size).equals(ChanSettings.fontSize.getDefault()) ? " " + getString(R.string.setting_font_size_default) : "");
fontSizes.add(new ListSettingView.Item(name, String.valueOf(size)));
}
fontView = appearance.add(new ListSettingView(this, ChanSettings.fontSize, s(R.string.setting_font_size), fontSizes.toArray(new ListSettingView.Item[fontSizes.size()])));
fontView = appearance.add(new ListSettingView(this, ChanSettings.fontSize, R.string.setting_font_size, fontSizes.toArray(new ListSettingView.Item[fontSizes.size()])));
groups.add(appearance);
// Browsing group
SettingsGroup browsing = new SettingsGroup(s(R.string.settings_group_browsing));
SettingsGroup browsing = new SettingsGroup(R.string.settings_group_browsing);
browsing.add(new LinkSettingView(this, s(R.string.filters_screen), null, new View.OnClickListener() {
browsing.add(new LinkSettingView(this, R.string.filters_screen, 0, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new FiltersController(context));
}
}));
browsing.add(new BooleanSettingView(this, ChanSettings.openLinkConfirmation, s(R.string.setting_open_link_confirmation), null));
browsing.add(new BooleanSettingView(this, ChanSettings.autoRefreshThread, s(R.string.setting_auto_refresh_thread), null));
browsing.add(new BooleanSettingView(this, ChanSettings.openLinkConfirmation, R.string.setting_open_link_confirmation, 0));
browsing.add(new BooleanSettingView(this, ChanSettings.autoRefreshThread, R.string.setting_auto_refresh_thread, 0));
List<ListSettingView.Item> imageAutoLoadTypes = new ArrayList<>();
for (ChanSettings.ImageAutoLoadMode mode : ChanSettings.ImageAutoLoadMode.values()) {
String name = "";
int name = 0;
switch (mode) {
case ALL:
name = string(R.string.setting_image_auto_load_all);
name = R.string.setting_image_auto_load_all;
break;
case WIFI:
name = string(R.string.setting_image_auto_load_wifi);
name = R.string.setting_image_auto_load_wifi;
break;
case NONE:
name = string(R.string.setting_image_auto_load_none);
name = R.string.setting_image_auto_load_none;
break;
}
imageAutoLoadTypes.add(new ListSettingView.Item(name, mode.name));
imageAutoLoadTypes.add(new ListSettingView.Item(getString(name), mode.name));
}
imageAutoLoadView = browsing.add(new ListSettingView(this, ChanSettings.imageAutoLoadNetwork, s(R.string.setting_image_auto_load), imageAutoLoadTypes.toArray(new ListSettingView.Item[imageAutoLoadTypes.size()])));
videoAutoLoadView = browsing.add(new BooleanSettingView(this, ChanSettings.videoAutoLoad, s(R.string.setting_video_auto_load), s(R.string.setting_video_auto_load_description)));
browsing.add(new BooleanSettingView(this, ChanSettings.videoOpenExternal, s(R.string.setting_video_open_external), s(R.string.setting_video_open_external_description)));
browsing.add(new LinkSettingView(this, string(R.string.setting_clear_thread_hides), null, new View.OnClickListener() {
imageAutoLoadView = browsing.add(new ListSettingView(this, ChanSettings.imageAutoLoadNetwork, R.string.setting_image_auto_load, imageAutoLoadTypes.toArray(new ListSettingView.Item[imageAutoLoadTypes.size()])));
videoAutoLoadView = browsing.add(new BooleanSettingView(this, ChanSettings.videoAutoLoad, R.string.setting_video_auto_load, R.string.setting_video_auto_load_description));
browsing.add(new BooleanSettingView(this, ChanSettings.videoOpenExternal, R.string.setting_video_open_external, R.string.setting_video_open_external_description));
browsing.add(new LinkSettingView(this, R.string.setting_clear_thread_hides, 0, new View.OnClickListener() {
@Override
public void onClick(View v) {
Chan.getDatabaseManager().clearAllThreadHides();
@ -206,22 +208,22 @@ public class MainSettingsController extends SettingsController implements Toolba
groups.add(browsing);
// Posting group
SettingsGroup posting = new SettingsGroup(s(R.string.settings_group_posting));
SettingsGroup posting = new SettingsGroup(R.string.settings_group_posting);
passLink = (LinkSettingView) posting.add(new LinkSettingView(this, s(R.string.settings_pass), null, new View.OnClickListener() {
passLink = (LinkSettingView) posting.add(new LinkSettingView(this, R.string.settings_pass, 0, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new PassSettingsController(context));
}
}));
posting.add(new BooleanSettingView(this, ChanSettings.postPinThread, s(R.string.setting_post_pin), null));
posting.add(new StringSettingView(this, ChanSettings.postDefaultName, s(R.string.setting_post_default_name), s(R.string.setting_post_default_name)));
posting.add(new BooleanSettingView(this, ChanSettings.postPinThread, R.string.setting_post_pin, 0));
posting.add(new StringSettingView(this, ChanSettings.postDefaultName, R.string.setting_post_default_name, R.string.setting_post_default_name));
groups.add(posting);
// About group
SettingsGroup about = new SettingsGroup(s(R.string.settings_group_about));
SettingsGroup about = new SettingsGroup(R.string.settings_group_about);
String version = "";
try {
version = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
@ -229,7 +231,7 @@ public class MainSettingsController extends SettingsController implements Toolba
e.printStackTrace();
}
about.add(new LinkSettingView(this, s(R.string.app_name), version, new View.OnClickListener() {
about.add(new LinkSettingView(this, getString(R.string.app_name), version, new View.OnClickListener() {
@Override
public void onClick(View v) {
if ((++clickCount) % 5 == 0) {
@ -281,23 +283,23 @@ public class MainSettingsController extends SettingsController implements Toolba
}
}
about.add(new LinkSettingView(this, s(R.string.settings_about_license), s(R.string.settings_about_license_description), new View.OnClickListener() {
about.add(new LinkSettingView(this, R.string.settings_about_license, R.string.settings_about_license_description, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new LicensesController(context,
s(R.string.settings_about_license), "file:///android_asset/html/license.html"));
getString(R.string.settings_about_license), "file:///android_asset/html/license.html"));
}
}));
about.add(new LinkSettingView(this, s(R.string.settings_about_licenses), s(R.string.settings_about_licenses_description), new View.OnClickListener() {
about.add(new LinkSettingView(this, R.string.settings_about_licenses, R.string.settings_about_licenses_description, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new LicensesController(context,
s(R.string.settings_about_licenses), "file:///android_asset/html/licenses.html"));
getString(R.string.settings_about_licenses), "file:///android_asset/html/licenses.html"));
}
}));
developerView = about.add(new LinkSettingView(this, s(R.string.settings_developer), null, new View.OnClickListener() {
developerView = about.add(new LinkSettingView(this, R.string.settings_developer, 0, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new DeveloperSettingsController(context));
@ -306,9 +308,4 @@ public class MainSettingsController extends SettingsController implements Toolba
groups.add(about);
}
private String s(int id) {
return string(id);
}
}

@ -36,6 +36,8 @@ import org.floens.chan.ui.view.CrossfadeView;
import org.floens.chan.utils.AndroidUtils;
import org.floens.chan.utils.AnimationUtils;
import static org.floens.chan.utils.AndroidUtils.getString;
public class PassSettingsController extends Controller implements View.OnClickListener, ReplyManager.HttpCallback<PassHttpCall> {
private LinearLayout container;
private CrossfadeView crossfadeView;
@ -54,7 +56,7 @@ public class PassSettingsController extends Controller implements View.OnClickLi
public void onCreate() {
super.onCreate();
navigationItem.title = string(R.string.settings_screen_pass);
navigationItem.setTitle(R.string.settings_screen_pass);
view = inflateRes(R.layout.controller_pass);
container = (LinearLayout) view.findViewById(R.id.container);
@ -72,7 +74,7 @@ public class PassSettingsController extends Controller implements View.OnClickLi
button.setText(loggedIn ? R.string.setting_pass_logout : R.string.setting_pass_login);
button.setOnClickListener(this);
bottomDescription.setText(Html.fromHtml(string(R.string.setting_pass_bottom_description)));
bottomDescription.setText(Html.fromHtml(getString(R.string.setting_pass_bottom_description)));
bottomDescription.setMovementMethod(LinkMovementMethod.getInstance());
inputToken.setText(ChanSettings.passToken.get());
@ -131,7 +133,7 @@ public class PassSettingsController extends Controller implements View.OnClickLi
private void authFail(PassHttpCall httpPost) {
if (httpPost.message == null) {
httpPost.message = string(R.string.setting_pass_error);
httpPost.message = getString(R.string.setting_pass_error);
}
showError(httpPost.message);

@ -51,7 +51,7 @@ public class WatchSettingsController extends SettingsController implements Compo
boolean enabled = ChanSettings.watchEnabled.get();
navigationItem.title = string(R.string.settings_screen_watch);
navigationItem.setTitle(R.string.settings_screen_watch);
view = inflateRes(R.layout.controller_watch);
content = (LinearLayout) view.findViewById(R.id.scrollview_content);
@ -99,10 +99,10 @@ public class WatchSettingsController extends SettingsController implements Compo
}
private void populatePreferences() {
SettingsGroup settings = new SettingsGroup(string(R.string.settings_group_watch));
SettingsGroup settings = new SettingsGroup(R.string.settings_group_watch);
// settings.add(new BooleanSettingView(this, ChanSettings.watchCountdown, string(R.string.setting_watch_countdown), string(R.string.setting_watch_countdown_description)));
enableBackground = settings.add(new BooleanSettingView(this, ChanSettings.watchBackground, string(R.string.setting_watch_enable_background), string(R.string.setting_watch_enable_background_description)));
enableBackground = settings.add(new BooleanSettingView(this, ChanSettings.watchBackground, R.string.setting_watch_enable_background, R.string.setting_watch_enable_background_description));
int[] timeouts = new int[]{1, 2, 3, 5, 10, 30, 60};
ListSettingView.Item[] timeoutsItems = new ListSettingView.Item[timeouts.length];
@ -110,15 +110,15 @@ public class WatchSettingsController extends SettingsController implements Compo
String name = context.getResources().getQuantityString(R.plurals.minutes, timeouts[i], timeouts[i]);
timeoutsItems[i] = new ListSettingView.Item(name, String.valueOf(timeouts[i] * 60));
}
backgroundTimeout = settings.add(new ListSettingView(this, ChanSettings.watchBackgroundTimeout, string(R.string.setting_watch_background_timeout), timeoutsItems));
backgroundTimeout = settings.add(new ListSettingView(this, ChanSettings.watchBackgroundTimeout, R.string.setting_watch_background_timeout, timeoutsItems));
notifyMode = settings.add(new ListSettingView(this, ChanSettings.watchNotifyMode, string(R.string.setting_watch_notify_mode),
notifyMode = settings.add(new ListSettingView(this, ChanSettings.watchNotifyMode, R.string.setting_watch_notify_mode,
context.getResources().getStringArray(R.array.setting_watch_notify_modes), new String[]{"all", "quotes"}));
soundMode = settings.add(new ListSettingView(this, ChanSettings.watchSound, string(R.string.setting_watch_sound),
soundMode = settings.add(new ListSettingView(this, ChanSettings.watchSound, R.string.setting_watch_sound,
context.getResources().getStringArray(R.array.setting_watch_sounds), new String[]{"all", "quotes"}));
ledMode = settings.add(new ListSettingView(this, ChanSettings.watchLed, string(R.string.setting_watch_led),
ledMode = settings.add(new ListSettingView(this, ChanSettings.watchLed, R.string.setting_watch_led,
context.getResources().getStringArray(R.array.setting_watch_leds),
new String[]{"-1", "ffffffff", "ffff0000", "ffffff00", "ff00ff00", "ff00ffff", "ff0000ff", "ffff00ff"}));

@ -30,6 +30,10 @@ public class BooleanSettingView extends SettingView implements View.OnClickListe
private String description;
private boolean building = true;
public BooleanSettingView(SettingsController settingsController, Setting<Boolean> setting, int name, int description) {
this(settingsController, setting, getString(name), getString(description));
}
public BooleanSettingView(SettingsController settingsController, Setting<Boolean> setting, String name, String description) {
super(settingsController, name);
this.setting = setting;

@ -38,6 +38,10 @@ public class IntegerSettingView extends SettingView implements View.OnClickListe
private final Setting<Integer> setting;
private final String dialogTitle;
public IntegerSettingView(SettingsController settingsController, Setting<Integer> setting, int name, int dialogTitle) {
this(settingsController, setting, getString(name), getString(dialogTitle));
}
public IntegerSettingView(SettingsController settingsController, Setting<Integer> setting, String name, String dialogTitle) {
super(settingsController, name);
this.setting = setting;

@ -26,6 +26,10 @@ public class LinkSettingView extends SettingView {
private String description;
private boolean built = false;
public LinkSettingView(SettingsController settingsController, int name, int description, View.OnClickListener clickListener) {
this(settingsController, getString(name), getString(description), clickListener);
}
public LinkSettingView(SettingsController settingsController, String name, String description, View.OnClickListener clickListener) {
super(settingsController, name);
this.description = description;
@ -54,6 +58,10 @@ public class LinkSettingView extends SettingView {
}
}
public void setDescription(int description) {
setDescription(getString(description));
}
public void setDescription(String description) {
this.description = description;
if (built) {

@ -37,6 +37,10 @@ public class ListSettingView extends SettingView implements FloatingMenu.Floatin
private int selected;
public ListSettingView(SettingsController settingsController, Setting<String> setting, int name, String[] itemNames, String[] keys) {
this(settingsController, setting, getString(name), itemNames, keys);
}
public ListSettingView(SettingsController settingsController, Setting<String> setting, String name, String[] itemNames, String[] keys) {
super(settingsController, name);
@ -50,6 +54,10 @@ public class ListSettingView extends SettingView implements FloatingMenu.Floatin
selectItem();
}
public ListSettingView(SettingsController settingsController, Setting<String> setting, int name, Item[] items) {
this(settingsController, setting, getString(name), items);
}
public ListSettingView(SettingsController settingsController, Setting<String> setting, String name, Item[] items) {
super(settingsController, name);
this.setting = setting;

@ -19,6 +19,8 @@ package org.floens.chan.ui.settings;
import android.view.View;
import org.floens.chan.utils.AndroidUtils;
public abstract class SettingView {
public SettingsController settingsController;
public final String name;
@ -44,4 +46,8 @@ public abstract class SettingView {
public String getBottomDescription() {
return null;
}
public static String getString(int id) {
return id == 0 ? null : AndroidUtils.getString(id);
}
}

@ -24,6 +24,10 @@ public class SettingsGroup {
public final String name;
public final List<SettingView> settingViews = new ArrayList<>();
public SettingsGroup(int name) {
this(SettingView.getString(name));
}
public SettingsGroup(String name) {
this.name = name;
}

@ -34,6 +34,10 @@ public class StringSettingView extends SettingView implements View.OnClickListen
private final Setting<String> setting;
private final String dialogTitle;
public StringSettingView(SettingsController settingsController, Setting<String> setting, int name, int dialogTitle) {
this(settingsController, setting, getString(name), getString(dialogTitle));
}
public StringSettingView(SettingsController settingsController, Setting<String> setting, String name, String dialogTitle) {
super(settingsController, name);
this.setting = setting;

Loading…
Cancel
Save