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 cb22993c..8371e537 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 @@ -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 serverList) { 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 dff2f405..2677838c 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 @@ -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();