Use different flags on pol

captchafix
Floens 11 years ago
parent 5b08a7c352
commit ed03835b82
  1. 5
      Clover/app/src/main/java/org/floens/chan/chan/ChanUrls.java
  2. 10
      Clover/app/src/main/java/org/floens/chan/core/manager/BoardManager.java
  3. 10
      Clover/app/src/main/java/org/floens/chan/core/model/Post.java
  4. 5
      Clover/app/src/main/java/org/floens/chan/ui/view/PostView.java

@ -52,6 +52,11 @@ public class ChanUrls {
return "https://s.4cdn.org/image/country/" + countryCode.toLowerCase(Locale.ENGLISH) + ".gif";
}
public static String getTrollCountryFlagUrl(String countryCode) {
return "https://s.4cdn.org/image/country/troll/" + countryCode.toLowerCase(Locale.ENGLISH) + ".gif";
}
public static String getBoardsUrl() {
return "https://a.4cdn.org/boards.json";
}

@ -29,7 +29,9 @@ import org.floens.chan.utils.Logger;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class BoardManager {
private static final String TAG = "BoardManager";
@ -41,6 +43,7 @@ public class BoardManager {
};
private List<Board> allBoards;
private Map<String, Board> allBoardsByValue = new HashMap<>();
private List<BoardChangeListener> listeners = new ArrayList<>();
@ -49,6 +52,10 @@ public class BoardManager {
loadFromServer();
}
public Board getBoardByValue(String value) {
return allBoardsByValue.get(value);
}
public List<Board> getAllBoards() {
return allBoards;
}
@ -99,10 +106,13 @@ 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);
}
ChanApplication.getDatabaseManager().setBoards(allBoards);

@ -18,7 +18,9 @@
package org.floens.chan.core.model;
import android.text.SpannableString;
import android.text.TextUtils;
import org.floens.chan.ChanApplication;
import org.floens.chan.chan.ChanUrls;
import org.floens.chan.core.loader.ChanParser;
import org.floens.chan.ui.view.PostView;
@ -61,6 +63,7 @@ public class Post {
public int fileSize;
public int images = -1;
public String rawComment;
public String countryUrl;
public boolean deleted = false;
@ -129,10 +132,13 @@ public class Post {
filename = Parser.unescapeEntities(filename, false);
}
if (!TextUtils.isEmpty(country)) {
Board b = ChanApplication.getBoardManager().getBoardByValue(board);
countryUrl = b.trollFlags ? ChanUrls.getTrollCountryFlagUrl(country) : ChanUrls.getCountryFlagUrl(country);
}
ChanParser.getInstance().parse(this);
return true;
}
}

@ -44,7 +44,6 @@ import com.android.volley.toolbox.NetworkImageView;
import org.floens.chan.ChanApplication;
import org.floens.chan.R;
import org.floens.chan.chan.ChanUrls;
import org.floens.chan.core.manager.ThreadManager;
import org.floens.chan.core.model.Post;
import org.floens.chan.core.model.PostLinkable;
@ -211,7 +210,7 @@ public class PostView extends LinearLayout implements View.OnClickListener {
repliesCountView.setOnClickListener(null);
}
boolean showCountryFlag = isList() && !TextUtils.isEmpty(post.country);
boolean showCountryFlag = isList() && !TextUtils.isEmpty(post.country) && !TextUtils.isEmpty(post.countryUrl);
boolean showStickyIcon = isList() && post.sticky;
boolean showClosedIcon = isList() && post.closed;
boolean showDeletedIcon = isList() && post.deleted;
@ -223,7 +222,7 @@ public class PostView extends LinearLayout implements View.OnClickListener {
deletedView.setVisibility(showDeletedIcon ? View.VISIBLE : View.GONE);
if (showCountryFlag) {
countryView.setVisibility(View.VISIBLE);
countryView.setImageUrl(ChanUrls.getCountryFlagUrl(post.country), ChanApplication.getVolleyImageLoader());
countryView.setImageUrl(post.countryUrl, ChanApplication.getVolleyImageLoader());
} else {
countryView.setVisibility(View.GONE);
countryView.setImageUrl(null, null);

Loading…
Cancel
Save