Commit b61c2816 authored by feihuaduo's avatar feihuaduo

修复v0协议解析兼容性问题

parent 844d3bdd
...@@ -58,6 +58,7 @@ public class Deck implements Parcelable { ...@@ -58,6 +58,7 @@ public class Deck implements Parcelable {
public Deck(String name, Uri uri) { public Deck(String name, Uri uri) {
this(name); this(name);
Log.e("DeckUU", "Uri:" + uri);
int version = YGO_PROTOCOL_0; int version = YGO_PROTOCOL_0;
try { try {
...@@ -148,6 +149,7 @@ public class Deck implements Parcelable { ...@@ -148,6 +149,7 @@ public class Deck implements Parcelable {
} }
for (String m : mList) { for (String m : mList) {
Log.e("DeckUU", "Main:" + m);
int[] idNum = toIdAndNum(m, version); int[] idNum = toIdAndNum(m, version);
if (idNum[0] > 0) { if (idNum[0] > 0) {
for (int i = 0; i < idNum[1]; i++) { for (int i = 0; i < idNum[1]; i++) {
...@@ -220,7 +222,7 @@ public class Deck implements Parcelable { ...@@ -220,7 +222,7 @@ public class Deck implements Parcelable {
private int[] toIdAndNum1(String m) { private int[] toIdAndNum1(String m) {
//元素0为卡密,元素1为卡片数量 //元素0为卡密,元素1为卡片数量
int[] idNum = {0, 1}; int[] idNum = {0, 1};
idNum[0] = toId(m.substring(0, m.length() - 1)); idNum[0] = toId(m.substring(0, m.length() - 1),YGO_PROTOCOL_1);
idNum[1] = Integer.parseInt(m.substring(m.length() - 1)); idNum[1] = Integer.parseInt(m.substring(m.length() - 1));
return idNum; return idNum;
} }
...@@ -234,11 +236,10 @@ public class Deck implements Parcelable { ...@@ -234,11 +236,10 @@ public class Deck implements Parcelable {
} catch (Exception e) { } catch (Exception e) {
} }
idNum[0] = toId(m.substring(0, m.length() - 2)); idNum[0] = toId(m.substring(0, m.length() - 2),YGO_PROTOCOL_0);
} else { } else {
idNum[0] = toId(m); idNum[0] = toId(m,YGO_PROTOCOL_0);
} }
return idNum; return idNum;
} }
...@@ -380,12 +381,18 @@ public class Deck implements Parcelable { ...@@ -380,12 +381,18 @@ public class Deck implements Parcelable {
return file; return file;
} }
private int toId(String str) { private int toId(String str, int version) {
if (TextUtils.isEmpty(str)) return 0; if (TextUtils.isEmpty(str)) return 0;
try { try {
//如果需要返回16进制码: switch (version) {
return unId(str); case YGO_PROTOCOL_0:
// return Integer.parseInt(str); return Integer.parseInt(str);
case YGO_PROTOCOL_1:
//如果需要返回40进制码:
return unId(str);
default:
return Integer.parseInt(str);
}
} catch (Exception e) { } catch (Exception e) {
return 0; return 0;
} }
......
...@@ -129,7 +129,7 @@ public class CardLoader implements ICardSearcher { ...@@ -129,7 +129,7 @@ public class CardLoader implements ICardSearcher {
List<Card> list = new ArrayList<>(); List<Card> list = new ArrayList<>();
for (int i = 0; i < cards.size(); i++) { for (int i = 0; i < cards.size(); i++) {
Card card = cards.valueAt(i); Card card = cards.valueAt(i);
//ָΧ //指定搜索范围
if (inCards != null && (!inCards.contains(card.Code) && !inCards.contains(card.Alias))) { if (inCards != null && (!inCards.contains(card.Code) && !inCards.contains(card.Alias))) {
continue; continue;
} }
......
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