Fix boards by value not available before database load

captchafix
Floens 11 years ago
parent 16418a8b5c
commit 1f8b0a5cbe
  1. 12
      Clover/app/src/main/java/org/floens/chan/core/manager/BoardManager.java
  2. 2
      Clover/app/src/main/java/org/floens/chan/core/model/Post.java

@ -97,6 +97,13 @@ public class BoardManager {
listeners.remove(listener);
}
private void updateByValueMap() {
allBoardsByValue.clear();
for (Board test : allBoards) {
allBoardsByValue.put(test.value, test);
}
}
private void notifyChanged() {
for (BoardChangeListener l : listeners) {
l.onBoardsChanged();
@ -106,14 +113,12 @@ public class BoardManager {
private void storeBoards() {
Logger.d(TAG, "Storing boards in database");
allBoardsByValue.clear();
for (Board test : allBoards) {
if (test.saved) {
Logger.d(TAG, "Board with value " + test.value + " saved");
}
allBoardsByValue.put(test.value, test);
}
updateByValueMap();
ChanApplication.getDatabaseManager().setBoards(allBoards);
notifyChanged();
@ -126,6 +131,7 @@ public class BoardManager {
allBoards = getDefaultBoards();
storeBoards();
}
updateByValueMap();
}
private void setBoardsFromServer(List<Board> serverList) {

@ -136,7 +136,7 @@ public class Post {
if (spoiler) {
Board b = ChanApplication.getBoardManager().getBoardByValue(board);
if (b.customSpoilers >= 0) {
if (b != null && b.customSpoilers >= 0) {
thumbnailUrl = ChanUrls.getCustomSpoilerUrl(board, random.nextInt(b.customSpoilers) + 1);
} else {
thumbnailUrl = ChanUrls.getSpoilerUrl();

Loading…
Cancel
Save