Don't auto add new sfw boards, mark some boards as nsfw

Also keep /f/ out
multisite
Floens 10 years ago
parent 3916188fe3
commit 39d31138df
  1. 4
      Clover/app/src/main/java/org/floens/chan/core/manager/BoardManager.java
  2. 8
      Clover/app/src/main/java/org/floens/chan/core/model/Board.java
  3. 18
      Clover/app/src/main/java/org/floens/chan/core/net/BoardsRequest.java

@ -136,12 +136,12 @@ public class BoardManager {
} }
if (!has) { if (!has) {
Logger.d(TAG, "Adding unknown board: " + serverBoard.value); /*Logger.d(TAG, "Adding unknown board: " + serverBoard.value);
if (serverBoard.workSafe) { if (serverBoard.workSafe) {
serverBoard.saved = true; serverBoard.saved = true;
serverBoard.order = allBoards.size(); serverBoard.order = allBoards.size();
} }*/
allBoards.add(serverBoard); allBoards.add(serverBoard);
} }

@ -17,6 +17,8 @@
*/ */
package org.floens.chan.core.model; package org.floens.chan.core.model;
import android.text.TextUtils;
import com.j256.ormlite.field.DatabaseField; import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable; import com.j256.ormlite.table.DatabaseTable;
@ -126,12 +128,12 @@ public class Board {
public String description; public String description;
public boolean finish() { public boolean finish() {
if (key == null || value == null || perPage < 0 || pages < 0) if (TextUtils.isEmpty(key) || TextUtils.isEmpty(value) || perPage < 0 || pages < 0)
return false; return false;
// Also filters out /f/, it can't be viewed anyway if (cooldownThreads < 0 || cooldownReplies < 0 || cooldownImages < 0 || cooldownRepliesIntra < 0 || cooldownImagesIntra < 0) {
if (cooldownThreads < 0 || cooldownReplies < 0 || cooldownImages < 0 || cooldownRepliesIntra < 0 || cooldownImagesIntra < 0)
return false; return false;
}
return true; return true;
} }

@ -26,9 +26,19 @@ import org.floens.chan.core.model.Board;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
public class BoardsRequest extends JsonReaderRequest<List<Board>> { public class BoardsRequest extends JsonReaderRequest<List<Board>> {
public static List<String> BLOCKED = Collections.singletonList(
"f"
);
public static List<String> TREAT_AS_NOT_WORKSAFE = Arrays.asList(
"a", "c", "w", "cm", "jp", "mlp", "lgbt"
);
public BoardsRequest(String url, Listener<List<Board>> listener, ErrorListener errorListener) { public BoardsRequest(String url, Listener<List<Board>> listener, ErrorListener errorListener) {
super(url, listener, errorListener); super(url, listener, errorListener);
} }
@ -169,6 +179,14 @@ public class BoardsRequest extends JsonReaderRequest<List<Board>> {
return null; return null;
} }
if (BLOCKED.contains(board.value)) {
return null;
}
if (TREAT_AS_NOT_WORKSAFE.contains(board.value)) {
board.workSafe = false;
}
return board; return board;
} }
} }

Loading…
Cancel
Save