Commit 9cdf0cc3 authored by fallenstardust's avatar fallenstardust

修复已存在deck中的卡组被替换密码后不会自动保存的问题。

parent cc5543bf
...@@ -13,8 +13,6 @@ import java.io.FileInputStream; ...@@ -13,8 +13,6 @@ import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import cn.garymb.ygomobile.Constants; import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.bean.Deck; import cn.garymb.ygomobile.bean.Deck;
...@@ -27,6 +25,8 @@ import ocgcore.data.Card; ...@@ -27,6 +25,8 @@ import ocgcore.data.Card;
import ocgcore.data.LimitList; import ocgcore.data.LimitList;
public class DeckLoader { public class DeckLoader {
private static Boolean isChanged;
public static DeckInfo readDeck(CardLoader cardLoader, File file, LimitList limitList) { public static DeckInfo readDeck(CardLoader cardLoader, File file, LimitList limitList) {
DeckInfo deckInfo = null; DeckInfo deckInfo = null;
FileInputStream fileinputStream = null; FileInputStream fileinputStream = null;
...@@ -35,6 +35,10 @@ public class DeckLoader { ...@@ -35,6 +35,10 @@ public class DeckLoader {
deckInfo = readDeck(cardLoader, fileinputStream, limitList); deckInfo = readDeck(cardLoader, fileinputStream, limitList);
if (deckInfo != null) { if (deckInfo != null) {
deckInfo.source = file; deckInfo.source = file;
if (isChanged) {
DeckUtils.save(deckInfo, deckInfo.source);
isChanged = false;
}
} }
} catch (Exception e) { } catch (Exception e) {
Log.e("deckreader", "read 1", e); Log.e("deckreader", "read 1", e);
...@@ -113,7 +117,7 @@ public class DeckLoader { ...@@ -113,7 +117,7 @@ public class DeckLoader {
DeckInfo deckInfo = new DeckInfo(); DeckInfo deckInfo = new DeckInfo();
SparseArray<Card> tmp = cardLoader.readCards(deck.getMainlist(), true); SparseArray<Card> tmp = cardLoader.readCards(deck.getMainlist(), true);
int code; int code;
boolean isChanged = false; isChanged = false;
for (Integer id : deck.getMainlist()) { for (Integer id : deck.getMainlist()) {
if (ArrayUtil.contains(oldIDsArray, tmp.get(id).getCode())) { if (ArrayUtil.contains(oldIDsArray, tmp.get(id).getCode())) {
code = ArrayUtil.get(newIDsArray, ArrayUtil.indexOf(oldIDsArray, tmp.get(id).getCode())); code = ArrayUtil.get(newIDsArray, ArrayUtil.indexOf(oldIDsArray, tmp.get(id).getCode()));
...@@ -144,9 +148,6 @@ public class DeckLoader { ...@@ -144,9 +148,6 @@ public class DeckLoader {
} }
deckInfo.addSideCards(tmp.get(id)); deckInfo.addSideCards(tmp.get(id));
} }
if (isChanged) {
//DeckUtils.save(deckInfo,inputStream.read());
}
return deckInfo; return deckInfo;
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment