diff --git a/Clover/app/src/main/java/org/floens/chan/Chan.java b/Clover/app/src/main/java/org/floens/chan/Chan.java index 6a9dc083..e014887a 100644 --- a/Clover/app/src/main/java/org/floens/chan/Chan.java +++ b/Clover/app/src/main/java/org/floens/chan/Chan.java @@ -128,8 +128,8 @@ public class Chan extends Application { fileCache = new FileCache(new File(cacheDir, FILE_CACHE_NAME), FILE_CACHE_DISK_SIZE, getUserAgent()); databaseManager = new DatabaseManager(this); - boardManager = new BoardManager(); - watchManager = new WatchManager(); + boardManager = new BoardManager(databaseManager); + watchManager = new WatchManager(databaseManager); Time.endTiming("Initializing application", startTime); diff --git a/Clover/app/src/main/java/org/floens/chan/core/manager/BoardManager.java b/Clover/app/src/main/java/org/floens/chan/core/manager/BoardManager.java index c9ace4da..b7d720b5 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/manager/BoardManager.java +++ b/Clover/app/src/main/java/org/floens/chan/core/manager/BoardManager.java @@ -22,6 +22,7 @@ import com.android.volley.VolleyError; import org.floens.chan.Chan; import org.floens.chan.chan.ChanUrls; +import org.floens.chan.core.database.DatabaseManager; import org.floens.chan.core.model.Board; import org.floens.chan.core.net.BoardsRequest; import org.floens.chan.utils.Logger; @@ -35,135 +36,134 @@ import java.util.Map; import de.greenrobot.event.EventBus; -public class BoardManager { +public class BoardManager implements Response.Listener>, Response.ErrorListener { private static final String TAG = "BoardManager"; - private static final Comparator savedOrder = new Comparator() { + + private static final Comparator ORDER_SORT = new Comparator() { @Override public int compare(Board lhs, Board rhs) { - return lhs.order < rhs.order ? -1 : 1; + return lhs.order - rhs.order; } }; - private List allBoards; - private Map allBoardsByValue = new HashMap<>(); + private static final Comparator NAME_SORT = new Comparator() { + @Override + public int compare(Board lhs, Board rhs) { + return lhs.name.compareTo(rhs.name); + } + }; - public BoardManager() { - loadBoards(); - loadFromServer(); - } + private final DatabaseManager databaseManager; - // TODO: synchronize - public Board getBoardByValue(String value) { - return allBoardsByValue.get(value); - } + private final List boards; + private final List savedBoards = new ArrayList<>(); + private final Map boardsByCode = new HashMap<>(); - public List getAllBoards() { - return allBoards; - } + public BoardManager(DatabaseManager databaseManager) { + this.databaseManager = databaseManager; + boards = databaseManager.getBoards(); - public List getSavedBoards() { - List saved = new ArrayList<>(allBoards.size()); - - for (Board b : allBoards) { - if (b.saved) - saved.add(b); + if (boards.isEmpty()) { + Logger.d(TAG, "Loading default boards"); + boards.addAll(getDefaultBoards()); + saveDatabase(); + update(true); + } else { + update(false); } - Collections.sort(saved, savedOrder); - - return saved; + Chan.getVolleyRequestQueue().add(new BoardsRequest(ChanUrls.getBoardsUrl(), this, this)); } - public boolean getBoardExists(String board) { - for (Board e : getAllBoards()) { - if (e.value.equals(board)) { - return true; + @Override + public void onResponse(List response) { + List boardsToAddWs = new ArrayList<>(); + List boardsToAddNws = new ArrayList<>(); + + for (int i = 0; i < response.size(); i++) { + Board serverBoard = response.get(i); + + Board existing = getBoardByCode(serverBoard.code); + if (existing != null) { + serverBoard.id = existing.id; + serverBoard.saved = existing.saved; + serverBoard.order = existing.order; + boards.set(boards.indexOf(existing), serverBoard); + } else { + serverBoard.saved = true; + if (serverBoard.workSafe) { + boardsToAddWs.add(serverBoard); + } else { + boardsToAddNws.add(serverBoard); + } } } - return false; - } - - public void updateSavedBoards() { - Chan.getDatabaseManager().setBoards(allBoards); + Collections.sort(boardsToAddWs, NAME_SORT); + Collections.sort(boardsToAddNws, NAME_SORT); - notifyChanged(); - } + for (int i = 0; i < boardsToAddWs.size(); i++) { + Board board = boardsToAddWs.get(i); + board.order = boards.size(); + boards.add(board); + } - private void updateByValueMap() { - allBoardsByValue.clear(); - for (Board test : allBoards) { - allBoardsByValue.put(test.value, test); + for (int i = 0; i < boardsToAddNws.size(); i++) { + Board board = boardsToAddNws.get(i); + board.order = boards.size(); + boards.add(board); } - } - private void notifyChanged() { - EventBus.getDefault().post(new BoardsChangedMessage()); + saveDatabase(); + update(true); } - private void storeBoards() { - updateByValueMap(); + @Override + public void onErrorResponse(VolleyError error) { + Logger.e(TAG, "Failed to get boards from server"); + } - Chan.getDatabaseManager().setBoards(allBoards); - notifyChanged(); + // Thread-safe + public boolean getBoardExists(String code) { + return getBoardByCode(code) != null; } - private void loadBoards() { - allBoards = Chan.getDatabaseManager().getBoards(); - if (allBoards.size() == 0) { - Logger.d(TAG, "Loading default boards"); - allBoards = getDefaultBoards(); - storeBoards(); + // Thread-safe + public Board getBoardByCode(String code) { + synchronized (boardsByCode) { + return boardsByCode.get(code); } - updateByValueMap(); } - private void setBoardsFromServer(List serverList) { - boolean has; - for (Board serverBoard : serverList) { - has = false; - for (int i = 0; i < allBoards.size(); i++) { - if (allBoards.get(i).value.equals(serverBoard.value)) { - Board old = allBoards.get(i); - serverBoard.id = old.id; - serverBoard.saved = old.saved; - serverBoard.order = old.order; - allBoards.set(i, serverBoard); - - has = true; - break; - } - } + public List getAllBoards() { + return boards; + } - if (!has) { - /*Logger.d(TAG, "Adding unknown board: " + serverBoard.value); + public List getSavedBoards() { + return savedBoards; + } - if (serverBoard.workSafe) { - serverBoard.saved = true; - serverBoard.order = allBoards.size(); - }*/ + public void flushOrderAndSaved() { + saveDatabase(); + update(true); + } - allBoards.add(serverBoard); + private void update(boolean notify) { + savedBoards.clear(); + savedBoards.addAll(filterSaved(boards)); + synchronized (boardsByCode) { + boardsByCode.clear(); + for (Board board : boards) { + boardsByCode.put(board.code, board); } } - - storeBoards(); + if (notify) { + EventBus.getDefault().post(new BoardsChangedMessage()); + } } - private void loadFromServer() { - Chan.getVolleyRequestQueue().add( - new BoardsRequest(ChanUrls.getBoardsUrl(), new Response.Listener>() { - @Override - public void onResponse(List data) { - setBoardsFromServer(data); - } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - Logger.e(TAG, "Failed to get boards from server"); - } - }) - ); + private void saveDatabase() { + databaseManager.setBoards(boards); } private List getDefaultBoards() { @@ -178,6 +178,18 @@ public class BoardManager { return list; } + private List filterSaved(List all) { + List saved = new ArrayList<>(all.size()); + for (int i = 0; i < all.size(); i++) { + Board board = all.get(i); + if (board.saved) { + saved.add(board); + } + } + Collections.sort(saved, ORDER_SORT); + return saved; + } + public static class BoardsChangedMessage { } } diff --git a/Clover/app/src/main/java/org/floens/chan/core/manager/FilterEngine.java b/Clover/app/src/main/java/org/floens/chan/core/manager/FilterEngine.java index be859e53..19caff7b 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/manager/FilterEngine.java +++ b/Clover/app/src/main/java/org/floens/chan/core/manager/FilterEngine.java @@ -252,7 +252,7 @@ public class FilterEngine { } else if (!TextUtils.isEmpty(filter.boards)) { List appliedBoards = new ArrayList<>(); for (String value : filter.boards.split(",")) { - Board boardByValue = Chan.getBoardManager().getBoardByValue(value); + Board boardByValue = Chan.getBoardManager().getBoardByCode(value); if (boardByValue != null) { appliedBoards.add(boardByValue); } @@ -267,7 +267,7 @@ public class FilterEngine { filter.boards = ""; for (int i = 0; i < appliedBoards.size(); i++) { Board board = appliedBoards.get(i); - filter.boards += board.value; + filter.boards += board.code; if (i < appliedBoards.size() - 1) { filter.boards += ","; } diff --git a/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java b/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java index 3a7aa6cc..76cdca6e 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java +++ b/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java @@ -125,11 +125,11 @@ public class WatchManager { private PowerManager.WakeLock wakeLock; private long lastBackgroundUpdateTime; - public WatchManager() { + public WatchManager(DatabaseManager databaseManager) { alarmManager = (AlarmManager) getAppContext().getSystemService(Context.ALARM_SERVICE); powerManager = (PowerManager) getAppContext().getSystemService(Context.POWER_SERVICE); - databaseManager = Chan.getDatabaseManager(); + this.databaseManager = databaseManager; databasePinManager = databaseManager.getDatabasePinManager(); pins = databaseManager.runTaskSync(databasePinManager.getPins()); Collections.sort(pins, SORT_PINS); diff --git a/Clover/app/src/main/java/org/floens/chan/core/model/Board.java b/Clover/app/src/main/java/org/floens/chan/core/model/Board.java index d961ba04..4b5219fb 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/model/Board.java +++ b/Clover/app/src/main/java/org/floens/chan/core/model/Board.java @@ -27,9 +27,9 @@ public class Board { public Board() { } - public Board(String key, String value, boolean saved, boolean workSafe) { - this.key = key; - this.value = value; + public Board(String name, String code, boolean saved, boolean workSafe) { + this.name = name; + this.code = code; this.saved = saved; this.workSafe = workSafe; } @@ -37,17 +37,13 @@ public class Board { @DatabaseField(generatedId = true) public int id; - /** - * Name of the board, e.g. Literature - */ - @DatabaseField - public String key; + // named key for legacy support + @DatabaseField(columnName = "key") + public String name; - /** - * Name of the url, e.g. lit - */ - @DatabaseField - public String value; + // named value for legacy support + @DatabaseField(columnName = "value") + public String code; /** * True if this board appears in the dropdown, false otherwise. @@ -115,9 +111,7 @@ public class Board { @DatabaseField public boolean countryFlags = false; - /** - * Not used anymore. - */ + @Deprecated @DatabaseField public boolean trollFlags = false; @@ -128,7 +122,7 @@ public class Board { public String description; public boolean finish() { - if (TextUtils.isEmpty(key) || TextUtils.isEmpty(value) || perPage < 0 || pages < 0) + if (TextUtils.isEmpty(name) || TextUtils.isEmpty(code) || perPage < 0 || pages < 0) return false; if (cooldownThreads < 0 || cooldownReplies < 0 || cooldownImages < 0 || cooldownRepliesIntra < 0 || cooldownImagesIntra < 0) { @@ -140,6 +134,8 @@ public class Board { @Override public String toString() { - return key; + return name; } + + } diff --git a/Clover/app/src/main/java/org/floens/chan/core/model/Post.java b/Clover/app/src/main/java/org/floens/chan/core/model/Post.java index 1c09daaa..73e41605 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/model/Post.java +++ b/Clover/app/src/main/java/org/floens/chan/core/model/Post.java @@ -166,7 +166,7 @@ public class Post { filename = Parser.unescapeEntities(filename, false); if (spoiler) { - Board b = Chan.getBoardManager().getBoardByValue(board); + Board b = Chan.getBoardManager().getBoardByCode(board); if (b != null && b.customSpoilers >= 0) { thumbnailUrl = ChanUrls.getCustomSpoilerUrl(board, random.nextInt(b.customSpoilers) + 1); } else { diff --git a/Clover/app/src/main/java/org/floens/chan/core/net/BoardsRequest.java b/Clover/app/src/main/java/org/floens/chan/core/net/BoardsRequest.java index 7cfc9f2e..c44df9cb 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/net/BoardsRequest.java +++ b/Clover/app/src/main/java/org/floens/chan/core/net/BoardsRequest.java @@ -26,7 +26,6 @@ import org.floens.chan.core.model.Board; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -35,9 +34,9 @@ public class BoardsRequest extends JsonReaderRequest> { "f" ); - public static List TREAT_AS_NOT_WORKSAFE = Arrays.asList( - "a", "c", "w", "cm", "jp", "mlp", "lgbt" - ); +// public static List TREAT_AS_NOT_WORKSAFE = Arrays.asList( +// "a", "c", "w", "cm", "jp", "mlp", "lgbt" +// ); public BoardsRequest(String url, Listener> listener, ErrorListener errorListener) { super(url, listener, errorListener); @@ -85,10 +84,10 @@ public class BoardsRequest extends JsonReaderRequest> { switch (key) { case "title": - board.key = reader.nextString(); + board.name = reader.nextString(); break; case "board": - board.value = reader.nextString(); + board.code = reader.nextString(); break; case "ws_board": board.workSafe = reader.nextInt() == 1; @@ -179,13 +178,13 @@ public class BoardsRequest extends JsonReaderRequest> { return null; } - if (BLOCKED.contains(board.value)) { + if (BLOCKED.contains(board.code)) { return null; } - if (TREAT_AS_NOT_WORKSAFE.contains(board.value)) { - board.workSafe = false; - } +// if (TREAT_AS_NOT_WORKSAFE.contains(board.code)) { +// board.workSafe = false; +// } return board; } diff --git a/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java b/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java index d08104a9..dbbc8bc6 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java +++ b/Clover/app/src/main/java/org/floens/chan/core/net/ChanReaderRequest.java @@ -72,7 +72,7 @@ public class ChanReaderRequest extends JsonReaderRequest boards = request.filterEngine.getBoardsForFilter(filter); for (Board board : boards) { - if (board.value.equals(loadable.board)) { + if (board.code.equals(loadable.board)) { request.filters.add(filter.copy()); break; } diff --git a/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java b/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java index 9f13743c..f6d63c8c 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java +++ b/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java @@ -91,7 +91,7 @@ public class ReplyPresenter implements ReplyManager.HttpCallback, bound = true; this.loadable = loadable; - this.board = boardManager.getBoardByValue(loadable.board); + this.board = boardManager.getBoardByCode(loadable.board); draft = replyManager.getReply(loadable); diff --git a/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java b/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java index 2af52ce4..3ec0784c 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java @@ -137,7 +137,7 @@ public class StartActivity extends AppCompatActivity implements NfcAdapter.Creat chanState.thread = loadableManager.get(chanState.thread); loadDefault = false; - Board board = boardManager.getBoardByValue(chanState.board.board); + Board board = boardManager.getBoardByCode(chanState.board.board); browseController.loadBoard(board); if (chanState.thread.mode == Loadable.Mode.THREAD) { @@ -150,7 +150,7 @@ public class StartActivity extends AppCompatActivity implements NfcAdapter.Creat Loadable fromUri = ChanHelper.getLoadableFromStartUri(data); if (fromUri != null) { loadDefault = false; - Board board = boardManager.getBoardByValue(fromUri.board); + Board board = boardManager.getBoardByCode(fromUri.board); browseController.loadBoard(board); if (fromUri.isThreadMode()) { diff --git a/Clover/app/src/main/java/org/floens/chan/ui/cell/ThreadStatusCell.java b/Clover/app/src/main/java/org/floens/chan/ui/cell/ThreadStatusCell.java index 38bc8e3c..602d21bc 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/cell/ThreadStatusCell.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/cell/ThreadStatusCell.java @@ -119,7 +119,7 @@ public class ThreadStatusCell extends LinearLayout implements View.OnClickListen Post op = chanThread.op; - Board board = Chan.getBoardManager().getBoardByValue(chanThread.loadable.board); + Board board = Chan.getBoardManager().getBoardByCode(chanThread.loadable.board); if (board != null) { SpannableString replies = new SpannableString(op.replies + "R"); if (op.replies >= board.bumpLimit) { diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java index 4541df37..6fe03d98 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java @@ -89,6 +89,7 @@ public class BoardEditController extends Controller implements View.OnClickListe items.add(new FloatingMenuItem(OPTION_SORT_A_Z, R.string.board_edit_sort_a_z)); navigationItem.menu = new ToolbarMenu(context); navigationItem.createOverflow(context, this, items); + navigationItem.swipeable = false; view = inflateRes(R.layout.controller_board_edit); recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); @@ -135,7 +136,7 @@ public class BoardEditController extends Controller implements View.OnClickListe boards.remove(position - 1); adapter.notifyItemRemoved(position); - Snackbar snackbar = Snackbar.make(view, context.getString(R.string.board_edit_board_removed, board.key), Snackbar.LENGTH_LONG); + Snackbar snackbar = Snackbar.make(view, context.getString(R.string.board_edit_board_removed, board.name), Snackbar.LENGTH_LONG); fixSnackbarText(context, snackbar); snackbar.setAction(R.string.undo, new View.OnClickListener() { @Override @@ -162,7 +163,7 @@ public class BoardEditController extends Controller implements View.OnClickListe Collections.sort(boards, new Comparator() { @Override public int compare(Board lhs, Board rhs) { - return lhs.value.compareTo(rhs.value); + return lhs.code.compareTo(rhs.code); } }); adapter.notifyDataSetChanged(); @@ -177,7 +178,7 @@ public class BoardEditController extends Controller implements View.OnClickListe boards.get(i).order = i; } - boardManager.updateSavedBoards(); + boardManager.flushOrderAndSaved(); } @Override @@ -230,7 +231,7 @@ public class BoardEditController extends Controller implements View.OnClickListe // Duplicate for (Board board : boards) { - if (board.value.equals(value)) { + if (board.code.equals(value)) { new AlertDialog.Builder(context).setMessage(R.string.board_add_duplicate).setPositiveButton(R.string.ok, null).show(); return; @@ -240,14 +241,14 @@ public class BoardEditController extends Controller implements View.OnClickListe // Normal add List all = Chan.getBoardManager().getAllBoards(); for (Board board : all) { - if (board.value.equals(value)) { + if (board.code.equals(value)) { board.saved = true; boards.add(board); adapter.notifyDataSetChanged(); recyclerView.smoothScrollToPosition(boards.size()); - Snackbar snackbar = Snackbar.make(view, getString(R.string.board_add_success) + " " + board.key, Snackbar.LENGTH_LONG); + Snackbar snackbar = Snackbar.make(view, getString(R.string.board_add_success) + " " + board.name, Snackbar.LENGTH_LONG); fixSnackbarText(context, snackbar); snackbar.show(); @@ -320,7 +321,7 @@ public class BoardEditController extends Controller implements View.OnClickListe @Override public String getItem(int position) { - return filtered.get(position).value; + return filtered.get(position).code; } @Override @@ -328,7 +329,7 @@ public class BoardEditController extends Controller implements View.OnClickListe @SuppressLint("ViewHolder") TextView view = (TextView) LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_list_item_1, parent, false); Board b = filtered.get(position); - view.setText("/" + b.value + "/ - " + b.key); + view.setText("/" + b.code + "/ - " + b.name); view.setOnTouchListener(new View.OnTouchListener() { @Override @@ -353,7 +354,7 @@ public class BoardEditController extends Controller implements View.OnClickListe String lowered = filter.toLowerCase(Locale.ENGLISH); List list = new ArrayList<>(); for (Board b : getBoards()) { - if ((b.key.toLowerCase(Locale.ENGLISH).contains(lowered) || b.value.toLowerCase(Locale.ENGLISH) + if ((b.name.toLowerCase(Locale.ENGLISH).contains(lowered) || b.code.toLowerCase(Locale.ENGLISH) .contains(lowered))) { list.add(b); } @@ -363,7 +364,7 @@ public class BoardEditController extends Controller implements View.OnClickListe private boolean haveBoard(String value) { for (Board b : currentlyEditing) { - if (b.value.equals(value)) + if (b.code.equals(value)) return true; } return false; @@ -372,18 +373,18 @@ public class BoardEditController extends Controller implements View.OnClickListe private List getBoards() { // Lets be cheaty here: if the user has nsfw boards in the list, // show them in the autofiller, hide them otherwise. - boolean showUnsafe = false; + /*boolean showUnsafe = false; for (Board has : currentlyEditing) { if (!has.workSafe) { showUnsafe = true; break; } - } - + }*/ List s = new ArrayList<>(); for (Board b : boardManager.getAllBoards()) { - if (!haveBoard(b.value) && (showUnsafe || b.workSafe)) + if (!haveBoard(b.code)/* && (showUnsafe || b.workSafe)*/) { s.add(b); + } } return s; } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java index ec3eaa71..3076a45c 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java @@ -268,9 +268,9 @@ public class BrowseController extends ThreadController implements ToolbarMenuIte } public void loadBoard(Board board) { - Loadable loadable = databaseManager.getDatabaseLoadableManager().get(Loadable.forCatalog(board.value)); - loadable.title = board.key; - navigationItem.title = board.key; + Loadable loadable = databaseManager.getDatabaseLoadableManager().get(Loadable.forCatalog(board.code)); + loadable.title = board.name; + navigationItem.title = board.name; ThreadPresenter presenter = threadLayout.getPresenter(); presenter.unbindLoadable(); @@ -302,7 +302,7 @@ public class BrowseController extends ThreadController implements ToolbarMenuIte public Board board; public FloatingMenuItemBoard(Board board) { - super(board.id, board.key); + super(board.id, board.name); this.board = board; } } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/HistoryController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/HistoryController.java index 460d5c20..68bd0e76 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/HistoryController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/HistoryController.java @@ -189,8 +189,8 @@ public class HistoryController extends Controller implements CompoundButton.OnCh } holder.text.setText(history.loadable.title); - Board board = boardManager.getBoardByValue(history.loadable.board); - holder.subtext.setText(board == null ? null : ("/" + board.value + "/ - " + board.key)); + Board board = boardManager.getBoardByCode(history.loadable.board); + holder.subtext.setText(board == null ? null : ("/" + board.code + "/ \u2013 " + board.name)); } @Override diff --git a/Clover/app/src/main/java/org/floens/chan/ui/helper/BoardHelper.java b/Clover/app/src/main/java/org/floens/chan/ui/helper/BoardHelper.java index 75af1482..0363d1cc 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/helper/BoardHelper.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/helper/BoardHelper.java @@ -22,7 +22,7 @@ import org.jsoup.parser.Parser; public class BoardHelper { public static String getName(Board board) { - return "/" + board.value + "/ " + board.key; + return "/" + board.code + "/ " + board.name; } public static String getDescription(Board board) { diff --git a/Clover/app/src/main/java/org/floens/chan/ui/helper/PostHelper.java b/Clover/app/src/main/java/org/floens/chan/ui/helper/PostHelper.java index d4b74502..f739eb69 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/helper/PostHelper.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/helper/PostHelper.java @@ -71,7 +71,7 @@ public class PostHelper { if (!TextUtils.isEmpty(post.subject)) { return post.subject; } else if (!TextUtils.isEmpty(post.comment)) { - return "/" + post.board + "/ - " + post.comment.subSequence(0, Math.min(post.comment.length(), 200)).toString(); + return "/" + post.board + "/ \u2013 " + post.comment.subSequence(0, Math.min(post.comment.length(), 200)).toString(); } else { return "/" + post.board + "/" + post.no; } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/layout/BoardSelectLayout.java b/Clover/app/src/main/java/org/floens/chan/ui/layout/BoardSelectLayout.java index b8445c1b..c5f4927b 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/layout/BoardSelectLayout.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/layout/BoardSelectLayout.java @@ -118,7 +118,7 @@ public class BoardSelectLayout extends LinearLayout implements SearchLayout.Sear public void setCheckedBoards(List checked) { for (BoardChecked board : boards) { for (Board check : checked) { - if (check.value.equals(board.board.value)) { + if (check.code.equals(board.board.code)) { board.checked = true; break; } @@ -206,8 +206,8 @@ public class BoardSelectLayout extends LinearLayout implements SearchLayout.Sear String query = searchQuery.toLowerCase(Locale.ENGLISH); for (BoardChecked boardChecked : sourceList) { String description = boardChecked.board.description == null ? "" : boardChecked.board.description; - if (boardChecked.board.key.toLowerCase(Locale.ENGLISH).contains(query) || - boardChecked.board.value.toLowerCase(Locale.ENGLISH).contains(query) || + if (boardChecked.board.name.toLowerCase(Locale.ENGLISH).contains(query) || + boardChecked.board.code.toLowerCase(Locale.ENGLISH).contains(query) || description.toLowerCase(Locale.ENGLISH).contains(query)) { displayList.add(boardChecked); }