Improved Android Downloader: added Image Resolution chooser and fixed several bugs.

This commit is contained in:
valfieri
2019-08-26 15:36:26 +02:00
parent 29f1420abc
commit 7b434f33e8
2 changed files with 476 additions and 185 deletions

View File

@@ -189,6 +189,137 @@ public class ImgDownloader {
cardurl = "https://deckmaster.info/images/cards/DDN/386322-hr.jpg";
else if(id.equals("11492115"))
cardurl = "https://deckmaster.info/images/cards/DDE/209162-hr.jpg";
else if(id.equals("7448911"))
cardurl = "https://img.scryfall.com/cards/large/front/c/a/ca03131a-9bd4-4fba-b95c-90f1831e86e7.jpg?1562879774";
else if(id.equals("7453611"))
cardurl = "https://img.scryfall.com/cards/large/front/7/3/73636ca0-2309-4bb3-9300-8bd0c0bb5b31.jpg?1562877808";
else if(id.equals("7447611"))
cardurl = "https://img.scryfall.com/cards/large/front/2/8/28f72260-c8f9-4c44-92b5-23cef6690fdd.jpg?1562876119";
else if(id.equals("7467111"))
cardurl = "https://img.scryfall.com/cards/large/front/1/f/1fe2b76f-ddb7-49d5-933b-ccb06be5d46f.jpg?1562875903";
else if(id.equals("7409311"))
cardurl = "https://img.scryfall.com/cards/large/front/7/5/758abd53-6ad2-406e-8615-8e48678405b4.jpg?1562877848";
else if(id.equals("3896122"))
cardurl = "https://img.scryfall.com/cards/large/front/5/9/59a00cac-53ae-46ad-8468-e6d1db40b266.jpg?1562542382";
else if(id.equals("3896522"))
cardurl = "https://www.cardkingdom.com/images/magic-the-gathering/masters-25/whale-token-42707-medium.jpg";
else if(id.equals("3896521"))
cardurl = "https://www.cardkingdom.com/images/magic-the-gathering/commander-2014/fish-token-zombie-token-blue-53462-medium.jpg";
else if(id.equals("3896523"))
cardurl = "https://img.scryfall.com/cards/large/front/d/0/d0cd85cc-ad22-446b-8378-5eb69fee1959.jpg?1562840712";
else if(id.equals("687701"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2437-hr.jpg";
else if(id.equals("687702"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3069-hr.jpg";
else if(id.equals("687703"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2443-hr.jpg";
else if(id.equals("687704"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2444-hr.jpg";
else if(id.equals("687705"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2450-hr.jpg";
else if(id.equals("687713"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3175-hr.jpg";
else if(id.equals("687712"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2624-hr.jpg";
else if(id.equals("687711"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3168-hr.jpg";
else if(id.equals("687710"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3161-hr.jpg";
else if(id.equals("687709"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2485-hr.jpg";
else if(id.equals("687752"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3085-hr.jpg";
else if(id.equals("687707"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2478-hr.jpg";
else if(id.equals("687751"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3083-hr.jpg";
else if(id.equals("687720"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2652-hr.jpg";
else if(id.equals("687719"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2650-hr.jpg";
else if(id.equals("687718"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3178-hr.jpg";
else if(id.equals("687717"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2641-hr.jpg";
else if(id.equals("687716"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2634-hr.jpg";
else if(id.equals("687715"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2631-hr.jpg";
else if(id.equals("687714"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2630-hr.jpg";
else if(id.equals("687722"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2550-hr.jpg";
else if(id.equals("687721"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3183-hr.jpg";
else if(id.equals("687734"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2398-hr.jpg";
else if(id.equals("687708"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3086-hr.jpg";
else if(id.equals("687732"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3158-hr.jpg";
else if(id.equals("687731"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3157-hr.jpg";
else if(id.equals("687755"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3156-hr.jpg";
else if(id.equals("687730"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2603-hr.jpg";
else if(id.equals("687729"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2576-hr.jpg";
else if(id.equals("687728"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2573-hr.jpg";
else if(id.equals("687727"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2570-hr.jpg";
else if(id.equals("687726"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2568-hr.jpg";
else if(id.equals("687725"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2559-hr.jpg";
else if(id.equals("687724"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3131-hr.jpg";
else if(id.equals("687723"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3128-hr.jpg";
else if(id.equals("687740"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2759-hr.jpg";
else if(id.equals("687739"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2755-hr.jpg";
else if(id.equals("687738"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2432-hr.jpg";
else if(id.equals("687737"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3053-hr.jpg";
else if(id.equals("687756"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3054-hr.jpg";
else if(id.equals("687736"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2408-hr.jpg";
else if(id.equals("687735"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2403-hr.jpg";
else if(id.equals("687733"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2729-hr.jpg";
else if(id.equals("687706"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3082-hr.jpg";
else if(id.equals("687750"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2748-hr.jpg";
else if(id.equals("687748"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2747-hr.jpg";
else if(id.equals("687749"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2746-hr.jpg";
else if(id.equals("687742"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2743-hr.jpg";
else if(id.equals("687743"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2744-hr.jpg";
else if(id.equals("687744"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2745-hr.jpg";
else if(id.equals("687745"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2763-hr.jpg";
else if(id.equals("687746"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2764-hr.jpg";
else if(id.equals("687747"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2765-hr.jpg";
else if(id.equals("687741"))
cardurl = "https://deckmaster.info/images/cards/DKM/-2761-hr.jpg";
else if(id.equals("687753"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3176-hr.jpg";
else if(id.equals("687754"))
cardurl = "https://deckmaster.info/images/cards/DKM/-3184-hr.jpg";
return cardurl;
}
@@ -200,13 +331,13 @@ public class ImgDownloader {
tokenurl = "http://4.bp.blogspot.com/-y5Fanm3qvrU/Vmd4gGnl2DI/AAAAAAAAAWY/FCrS9FTgOJk/s1600/Tatsumasa%2BToken.jpg";
else if (id.equals("435411t") || id.equals("435410t"))
tokenurl = "https://deckmaster.info/images/cards/XLN/-5173-hr.jpg";
else if (id.equals("202474t") || id.equals("1098t"))
else if(id.equals("202474t") || id.equals("1098t") || id.equals("2024t") || id.equals("3766t") || id.equals("11183t") || id.equals("902t"))
tokenurl = "https://deckmaster.info/images/cards/AST/-884-hr.jpg";
else if (id.equals("202590t"))
else if(id.equals("202590t") || id.equals("2073t") || id.equals("1027t"))
tokenurl = "https://deckmaster.info/images/cards/AST/-892-hr.jpg";
else if (id.equals("201124t"))
else if(id.equals("201124t") || id.equals("3118t"))
tokenurl = "http://i1013.photobucket.com/albums/af260/lovesoldier99/STARFISHTOKEN.jpg";
else if (id.equals("184735"))
else if(id.equals("184735") || id.equals("376488t") || id.equals("3066t"))
tokenurl = "https://i.pinimg.com/originals/a9/fb/37/a9fb37bdfa8f8013b7eb854d155838e2.jpg";
else if(id.equals("184598t"))
tokenurl = "https://deckmaster.info/images/cards/HM/-2070-hr.jpg";
@@ -280,7 +411,7 @@ public class ImgDownloader {
tokenurl = "https://www.mtg.onl/static/b7625a256e10bcec251a1a0abbf17bd4/4d406/PROXY_Horror_B_4_4.jpg";
else if(id.equals("5261t"))
tokenurl = "https://static.cardmarket.com/img/5a0199344cad68eebeefca6fa24e52c3/items/1/MH1/376905.jpg";
else if (id.equals("116384t"))
else if(id.equals("116384t") || id.equals("376564t"))
tokenurl = "https://deckmaster.info/images/cards/TSP/-114916-hr.jpg";
else if(id.equals("116383t"))
tokenurl = "https://i.imgur.com/wRMebWg.jpg";
@@ -308,6 +439,30 @@ public class ImgDownloader {
tokenurl = "https://www.mtg.onl/static/b8060dffbaf67ef987c6324c1523d3e4/4d406/PROXY_Hound_G_1_1.jpg";
else if(id.equals("3591t"))
tokenurl = "https://i.pinimg.com/564x/6e/8d/fe/6e8dfeee2919a3efff210df56ab7b85d.jpg";
else if(id.equals("72858t"))
tokenurl = "https://www.mtg.onl/static/348314ede9097dd8f6dd018a6502d125/4d406/PROXY_Pincher_2_2.jpg";
else if(id.equals("3832t"))
tokenurl = "https://deckmaster.info/images/cards/GK1_DIMIR/-6541-hr.jpg";
else if(id.equals("426909t") || id.equals("426705t"))
tokenurl = "https://img.scryfall.com/cards/large/front/9/8/98956e73-04e4-4d7f-bda5-cfa78eb71350.jpg?1562844807";
else if(id.equals("426897t"))
tokenurl = "https://img.scryfall.com/cards/large/front/a/8/a8f339c6-2c0d-4631-849b-44d4360b5131.jpg?1562844814";
else if(id.equals("175105t"))
tokenurl = "https://crystal-cdn1.crystalcommerce.com/photos/371742/beast.jpg";
else if(id.equals("470549t"))
tokenurl = "https://img.scryfall.com/cards/large/front/7/7/7711a586-37f9-4560-b25d-4fb339d9cd55.jpg?1565299650";
else if(id.equals("3227t"))
tokenurl = "https://deckmaster.info/images/cards/PS/-2072-hr.jpg";
else if(id.equals("3148t"))
tokenurl = "https://deckmaster.info/images/cards/AL/-2156-hr.jpg";
else if(id.equals("3113t"))
tokenurl = "https://www.mtg.onl/static/fca7508d78c26e3daea78fd4640faf9a/4d406/PROXY_Orb_U_X_X.jpg";
else if(id.equals("26815t"))
tokenurl = "https://www.mtg.onl/static/8bb68cf125fdcc9d8a21b3dade2f11cb/4d406/PROXY_Cat_B_2_1.jpg";
else if(id.equals("25956t"))
tokenurl = "https://www.mtg.onl/static/740ce087c4aff57e881b01c28528c8f9/4d406/PROXY_Kavu_B_3_3.jpg";
else if(id.equals("74027t"))
tokenurl = "https://www.mtg.onl/static/48515f01d0fda15dd9308d3a528dae7b/4d406/PROXY_Spirit_W_3_3.jpg";
return tokenurl;
}
@@ -320,7 +475,11 @@ public class ImgDownloader {
id.equals("19741") || id.equals("19722") || id.equals("19706") || id.equals("24597") || id.equals("24617") || id.equals("24563") ||
id.equals("253539") || id.equals("277995") || id.equals("265415") || id.equals("289225") || id.equals("289215") || id.equals("253529") ||
id.equals("253641") || id.equals("270957") || id.equals("401685") || id.equals("89116") || id.equals("5183") || id.equals("5177") ||
id.equals("209289") || id.equals("198171") || id.equals("10419") || id.equals("470542") || id.equals("29992"))
id.equals("209289") || id.equals("198171") || id.equals("10419") || id.equals("470542") || id.equals("29992") || id.equals("666") ||
id.equals("2026") || id.equals("45395") || id.equals("442021") || id.equals("423758") || id.equals("426930") || id.equals("998") ||
id.equals("446163") || id.equals("378411") || id.equals("376457") || id.equals("470749") || id.equals("450641") || id.equals("470623") ||
id.equals("470620") || id.equals("470754") || id.equals("470750") || id.equals("470739") || id.equals("470708") || id.equals("470581") ||
id.equals("470578") || id.equals("470571") || id.equals("470552"))
return false;
return true;
}
@@ -462,16 +621,21 @@ public class ImgDownloader {
Integer ThumbY = 0;
if (targetres.equals("High")) {
ImgX = 672;
ImgY = 936;
ThumbX = 124;
ThumbY = 176;
} else if (targetres.equals("Medium")) {
ImgX = 488;
ImgY = 680;
ThumbX = 90;
ThumbY = 128;
} else if (targetres.equals("Medium")) {
} else if (targetres.equals("Low")) {
ImgX = 244;
ImgY = 340;
ThumbX = 45;
ThumbY = 64;
} else if (targetres.equals("Low")) {
} else if (targetres.equals("Tiny")) {
ImgX = 180;
ImgY = 255;
ThumbX = 45;
@@ -595,34 +759,6 @@ public class ImgDownloader {
}
}
for (int y = 0; y < mappa.size(); y++) {
String id = mappa.keySet().toArray()[y].toString();
Document doc = null;
try {
doc = Jsoup.connect(baseurl + id).get();
} catch (Exception e) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i will retry 2 times more...");
try {
doc = Jsoup.connect(baseurl + id).get();
} catch (Exception e2) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i will retry 1 time more...");
try {
doc = Jsoup.connect(baseurl + id).get();
} catch (Exception e3) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i will not retry anymore...");
continue;
}
}
}
if (doc == null) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i will not retry anymore...");
continue;
}
Elements divs = doc.select("body div");
if (divs == null) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i will not retry anymore...");
continue;
}
String scryset = set;
if (scryset.equalsIgnoreCase("MRQ"))
scryset = "MMQ";
@@ -666,29 +802,22 @@ public class ImgDownloader {
scryset = "DDI";
else if (scryset.equalsIgnoreCase("ZVE"))
scryset = "DDP";
try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
} catch (Exception e) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will retry 2 times more...");
try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
} catch (Exception e2) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will retry 1 time more...");
try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
} catch (Exception e3) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will not retry anymore...");
res = mappa.get(id) + " - " + set + File.separator + id + ".jpg\n" + res;
continue;
}
}
}
for (int y = 0; y < mappa.size(); y++) {
String id = mappa.keySet().toArray()[y].toString();
progressBarDialog.incrementProgressBy((int) (1));
String specialcardurl = getSpecialCardUrl(id);
if (!specialcardurl.isEmpty()) {
URL url = new URL(specialcardurl);
InputStream in;
HttpURLConnection httpcon = (HttpURLConnection) url.openConnection();
if(httpcon == null) {
System.err.println("Error: Problem fetching card: " + mappa.get(id) + "-" + id + ", i will not download it...");
break;
}
httpcon.addRequestProperty("User-Agent", "Mozilla/4.76");
InputStream in = null;
try{
in = new BufferedInputStream(url.openStream());
in = new BufferedInputStream(httpcon.getInputStream());
} catch (Exception ex) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will retry 2 times more...");
try {
@@ -738,25 +867,161 @@ public class ImgDownloader {
} catch (IOException e) {
e.printStackTrace();
}
progressBarDialog.incrementProgressBy((int) (1));
continue;
}
Document doc = null;
try {
doc = Jsoup.connect(baseurl + id).get();
} catch (Exception e) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i will retry 2 times more...");
try {
doc = Jsoup.connect(baseurl + id).get();
} catch (Exception e2) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i will retry 1 time more...");
try {
doc = Jsoup.connect(baseurl + id).get();
} catch (Exception e3) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i will not retry anymore...");
continue;
}
}
}
if (doc == null) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i can't download it...");
continue;
}
Elements divs = doc.select("body div");
if (divs == null) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i can't download it...");
continue;
}
int k;
for (k = 0; k < divs.size(); k++)
if (divs.get(k).childNodes().size() > 0 && divs.get(k).childNode(0).toString().toLowerCase().contains("card name"))
break;
if (k >= divs.size()) {
System.err.println("Error: Problem reading card (" + mappa.get(id) + ") infos from: " + baseurl + id + ", i can't download it...");
continue;
}
String cardname = divs.get(k + 1).childNode(0).attributes().get("#text").replace("\r\n", "").trim();
if(targetres.equals("High")) {
try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
Elements outlinks = doc.select("body a");
if (outlinks != null) {
for (int h = 0; h < outlinks.size(); h++) {
String linkcard = outlinks.get(h).attributes().get("href");
if (linkcard != null && linkcard.contains(cardname.toLowerCase().replace(" ", "-"))) {
try {
doc = Jsoup.connect(linkcard).get();
if (doc == null)
continue;
Elements metadata = doc.select("head meta");
if (metadata != null) {
for (int j = 0; j < metadata.size(); j++) {
if (metadata.get(j).attributes().get("content").toLowerCase().contains(cardname.toLowerCase())) {
h = outlinks.size();
break;
}
}
}
} catch (Exception ex) {
}
}
}
}
} catch (Exception e) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will retry 2 times more...");
try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
Elements outlinks = doc.select("body a");
if (outlinks != null) {
for (int h = 0; h < outlinks.size(); h++) {
String linkcard = outlinks.get(h).attributes().get("href");
if (linkcard != null && linkcard.contains(cardname.toLowerCase().replace(" ", "-"))) {
try {
doc = Jsoup.connect(linkcard).get();
if (doc == null)
continue;
Elements metadata = doc.select("head meta");
if (metadata != null) {
for (int j = 0; j < metadata.size(); j++) {
if (metadata.get(j).attributes().get("content").toLowerCase().contains(cardname.toLowerCase())) {
h = outlinks.size();
break;
}
}
}
} catch (Exception ex) {
}
}
}
}
} catch (Exception e2) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will retry 1 time more...");
try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
Elements outlinks = doc.select("body a");
if (outlinks != null) {
for (int h = 0; h < outlinks.size(); h++) {
String linkcard = outlinks.get(h).attributes().get("href");
if (linkcard != null && linkcard.contains(cardname.toLowerCase().replace(" ", "-"))) {
try {
doc = Jsoup.connect(linkcard).get();
if (doc == null)
continue;
Elements metadata = doc.select("head meta");
if (metadata != null) {
for (int j = 0; j < metadata.size(); j++) {
if (metadata.get(j).attributes().get("content").toLowerCase().contains(cardname.toLowerCase())) {
h = outlinks.size();
break;
}
}
}
} catch (Exception ex) {
}
}
}
}
} catch (Exception e3) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will not retry anymore...");
continue;
}
}
}
} else {
try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
} catch (Exception e) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will retry 2 times more...");
try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
} catch (Exception e2) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will retry 1 time more...");
try {
doc = Jsoup.connect(imageurl + scryset.toLowerCase()).get();
} catch (Exception e3) {
System.err.println("Error: Problem downloading card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will not retry anymore...");
res = mappa.get(id) + " - " + set + File.separator + id + ".jpg\n" + res;
continue;
}
}
}
}
if(doc == null){
System.err.println("Error: Problem fetching card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will not download it...");
continue;
}
Elements imgs = doc.select("body img");
if (imgs == null) {
System.err.println("Error: Problem fetching card: " + mappa.get(id) + "-" + id + " from " + scryset + " on ScryFall, i will not download it...");
continue;
}
int k;
for (k = 0; k < divs.size(); k++)
if (divs.get(k).childNodes().size() > 0 && divs.get(k).childNode(0).toString().toLowerCase().contains("card name"))
break;
if (k >= divs.size())
continue;
String cardname = divs.get(k + 1).childNode(0).attributes().get("#text").replace("\r\n", "").trim();
for (int i = 0; i < imgs.size(); i++) {
String title = imgs.get(i).attributes().get("title");
@@ -1036,7 +1301,6 @@ public class ImgDownloader {
}
}
}
progressBarDialog.incrementProgressBy((int) (1));
break;
}
}

View File

@@ -460,14 +460,14 @@ public class SDLActivity extends Activity implements OnKeyListener {
for (int i = 0; i < availableSets.length; i++) {
selectedSets.add(availableSets[i].split(" - ")[0]);
}
downloadCardImagesStart();
chooseResolution();
}
});
cardDownloader.setPositiveButton("Download Selected", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (selectedSets.size() > 0)
downloadCardImagesStart();
chooseResolution();
else
downloadCardImages();
}
@@ -476,6 +476,32 @@ public class SDLActivity extends Activity implements OnKeyListener {
cardDownloader.create().show();
}
String targetRes = "";
private void chooseResolution() {
AlertDialog.Builder resChooser = new AlertDialog.Builder(this);
resChooser.setTitle("Which resolution would you like to use?");
final String[] availableRes = new String[]{"High - (672x936)", "Medium - (488x680)", "Low - (244x340)", "Tiny - (280x255)"};
resChooser.setSingleChoiceItems(availableRes, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
targetRes = availableRes[item].split(" - ")[0];
}
});
resChooser.setPositiveButton("Download Selected", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (!targetRes.isEmpty())
downloadCardImagesStart();
else
chooseResolution();
}
});
resChooser.create().show();
}
boolean error = false;
String res = "";
boolean dowloadInProgress = false;
@@ -504,7 +530,7 @@ public class SDLActivity extends Activity implements OnKeyListener {
cardDownloader.setTitle("Downloading set: " + set);
}
});
String details = ImgDownloader.DownloadCardImages(set, availableSets, "High", getSystemStorageLocation(), getUserStorageLocation() + "sets/", cardDownloader);
String details = ImgDownloader.DownloadCardImages(set, availableSets, targetRes, getSystemStorageLocation(), getUserStorageLocation() + "sets/", cardDownloader);
if (!details.isEmpty()) {
if (!res.isEmpty())
res = res + "\nSET " + set + ":\n" + details;
@@ -575,6 +601,7 @@ public class SDLActivity extends Activity implements OnKeyListener {
infoDialog.create().show();
res = "";
set = "";
targetRes = "";
selectedSets = new ArrayList<String>();
error = false;
}