Commit 410f9721 authored by Dark Zane's avatar Dark Zane Committed by GitHub

Merge branch 'fallenstardust:master' into master

parents ea1d7611 1d534200
......@@ -304,8 +304,8 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
}
@Override
public void onShowPackList(Card cardInfo) {
showPackList(cardInfo);
public void onShowPackList(List<Card> packList) {
showCardList(packList, false);//保持原收录顺序,不排序
}
@Override
......@@ -314,8 +314,8 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
}
@Override
public void onGetRelatedCardList(Card cardInfo) {
getRelatedCardList(cardInfo);
public void onGetRelatedCardList(List<Card> cardList) {
showCardList(cardList, true);//便于查看,排序
}
@Override
......@@ -360,59 +360,11 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
mCardLoader.search(searchInfo);
}
private void getRelatedCardList(Card cardInfo) {
SparseArray<Card> cards = mCardManager.getAllCards();
// 使用 ArrayList 来保存匹配的卡片
List<Card> matchingCards = new ArrayList<>();
// 将 cardInfo 的 setCode 转换为 List<Long>
List<Long> cardInfoSetCodes = new ArrayList<>();
for (long setCode : cardInfo.getSetCode()) {
if (setCode != 0) cardInfoSetCodes.add(setCode);
}
Log.w("cc cardInfoSetCodes", cardInfoSetCodes.toString());
for (int i = 0; i < cards.size(); i++) {
Card card = cards.valueAt(i);
// 检查卡片是否已经存在于匹配列表中
if (!matchingCards.contains(card)) {
// 检查卡片名或描述是否包含给定卡片的名字
if (!card.Name.equals(cardInfo.Name) && (card.Name.contains(cardInfo.Name) || card.Desc.contains(cardInfo.Name))) {
matchingCards.add(card);
continue; // 如果名称或描述匹配,则跳过系列代码检查
}
// 获取卡片的系列代码并检查是否有相同的系列代码
for (long setCode : card.getSetCode()) {
if (cardInfoSetCodes.contains(setCode)) {
matchingCards.add(card);
break; // 如果已经找到匹配,可以跳出内层循环
}
}
}
}
// 日志输出匹配的卡片数量
Log.w("cc related cards", "Found " + matchingCards.size() + " related cards.");
// 确保 matchingCards 不为空时调用 onSearchResult
if (!matchingCards.isEmpty()) {
onSearchResult(mCardLoader.sort(matchingCards), false);//为了整齐需要,调用CardLoader的sort方法排序List<Card>
} else {
Log.w("cc", "No related card found");
}
}
private void showPackList(Card cardInfo) {
Integer idToUse = cardInfo.Alias != 0 ? cardInfo.Alias : cardInfo.Code;
List<Card> packList = mPackManager.getCards(mCardLoader, idToUse);
if (packList != null) {
onSearchResult(packList, false);//为了保持原packlist的收录顺序,不调用CardLoader的sort方法排序List<Card>
private void showCardList(List<Card> cardList, boolean sort) {
if (!cardList.isEmpty()) {
onSearchResult(sort ? mCardLoader.sort(cardList) : cardList, false);//根据情况不同,判断是否调用CardLoader的sort方法排序List<Card>
} else {
Log.w("cc", "No pack found for the given ID/Alias: " + idToUse);
Log.w("cc", "No card found");
}
}
......
......@@ -562,8 +562,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}
@Override
public void onShowPackList(Card cardInfo) {
showPackList(cardInfo);
public void onShowPackList(List<Card> packList) {
showCardList(packList, false);//保持原收录顺序,不排序
}
@Override
......@@ -572,8 +572,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}
@Override
public void onGetRelatedCardList(Card cardInfo) {
getRelatedCardList(cardInfo);
public void onGetRelatedCardList(List<Card> cardList) {
showCardList(cardList, true);//便于查看,排序
}
@Override
......@@ -629,61 +629,11 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
mCardLoader.search(searchInfo);
}
private void getRelatedCardList(Card cardInfo) {
SparseArray<Card> cards = mCardManager.getAllCards();
// 使用 ArrayList 来保存匹配的卡片
List<Card> matchingCards = new ArrayList<>();
// 将 cardInfo 的 setCode 转换为 List<Long>
List<Long> cardInfoSetCodes = new ArrayList<>();
for (long setCode : cardInfo.getSetCode()) {
if (setCode != 0) cardInfoSetCodes.add(setCode);
}
Log.w("cc cardInfoSetCodes", cardInfoSetCodes.toString());
for (int i = 0; i < cards.size(); i++) {
Card card = cards.valueAt(i);
// 检查卡片是否已经存在于匹配列表中
if (!matchingCards.contains(card)) {
// 检查卡片名或描述是否包含给定卡片的名字
if (!card.Name.equals(cardInfo.Name) && (card.Name.contains(cardInfo.Name) || card.Desc.contains(cardInfo.Name))) {
matchingCards.add(card);
continue; // 如果名称或描述匹配,则跳过系列代码检查
}
// 获取卡片的系列代码并检查是否有相同的系列代码
for (long setCode : card.getSetCode()) {
if (cardInfoSetCodes.contains(setCode)) {
matchingCards.add(card);
break; // 如果已经找到匹配,可以跳出内层循环
}
}
}
}
// 日志输出匹配的卡片数量
Log.w("cc related cards", "Found " + matchingCards.size() + " related cards.");
// 确保 matchingCards 不为空时调用 onSearchResult
if (!matchingCards.isEmpty()) {
onSearchResult(matchingCards, false);
} else {
Log.w("cc", "No related card found");
}
}
private void showPackList(Card cardInfo) {
Integer idToUse = cardInfo.Alias != 0 ? cardInfo.Alias : cardInfo.Code;
// 确保再次检查 PackManager 是否已经加载完成
if (mPackManager == null) {
return;
}
List<Card> packList = mPackManager.getCards(mCardLoader, idToUse);
if (packList != null) {
onSearchResult(packList, false);
private void showCardList(List<Card> cardList, boolean sort) {
if (!cardList.isEmpty()) {
onSearchResult(sort ? mCardLoader.sort(cardList) : cardList, false);//根据情况不同,判断是否调用CardLoader的sort方法排序List<Card>
} else {
Log.w("seesee", "No pack found for the given ID/Alias: " + idToUse);
Log.w("cc", "No card found");
}
}
......
......@@ -30,15 +30,15 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/title_height_small"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/btn_faq"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@drawable/addto"
android:background="@drawable/button2_bg"
android:gravity="center"
android:paddingLeft="16dp"
android:paddingRight="16dp"
......@@ -46,20 +46,37 @@
android:text="@string/card_faq"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="@color/colorAccentDark"
android:textSize="14sp"
android:textSize="10sp"
android:textStyle="bold" />
<TextView
android:id="@+id/btn_related"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@drawable/button2_bg"
android:gravity="center"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:shadowColor="@color/black"
android:text="@string/card_related"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="@color/holo_orange_bright"
android:textSize="10sp"
android:textStyle="bold" />
<TextView
android:id="@+id/btn_add_main"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:background="@drawable/addto"
android:background="@drawable/button2_bg"
android:gravity="center"
android:text="@string/card_add_main"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@color/item_title"
android:textSize="14sp"
android:textSize="10sp"
android:textStyle="bold"
android:visibility="invisible"
tools:visibility="visible" />
......@@ -67,14 +84,14 @@
<TextView
android:id="@+id/btn_add_side"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:background="@drawable/addto"
android:background="@drawable/button2_bg"
android:gravity="center"
android:text="@string/card_add_side"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@color/item_title"
android:textSize="14sp"
android:textSize="10sp"
android:textStyle="bold"
android:visibility="invisible"
tools:visibility="visible" />
......@@ -86,15 +103,18 @@
<ImageButton
android:id="@+id/btn_close"
android:layout_width="@dimen/button_width_small"
android:layout_height="@dimen/button_width_small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@android:color/transparent"
app:srcCompat="@drawable/ic_close_black_24dp" />
</LinearLayout>
<cn.garymb.ygomobile.ui.widget.AlwaysMarqueeTextView
android:id="@+id/text_name"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_vertical"
......@@ -206,7 +226,7 @@
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:src="@drawable/ic_search"/>
android:src="@drawable/ic_search" />
</LinearLayout>
</LinearLayout>
......
......@@ -142,6 +142,7 @@
<string name="label_category">Categoría</string>
<string name="searching">Buscar</string>
<string name="card_faq">FAQ</string>
<string name="card_related">Relacionadas</string>
<string name="no_webbrowser">Ningún navegador web instalado</string>
<string name="load_game">Cargando juego</string>
<string name="new_deck">Nuevo</string>
......
......@@ -133,7 +133,8 @@
<string name="label_category">効果分類</string>
<string name="linkmarker">◀リンクマーカー▶</string>>
<string name="searching">ロード中</string>
<string name="card_faq">オンラインで判定をチェック</string>
<string name="card_faq">Q&amp;A</string>
<string name="card_related">関連カード</string>
<string name="no_webbrowser">ブラウザはインストールしていません</string>
<string name="load_game">ゲーム起動中</string>
......
......@@ -133,6 +133,7 @@
<string name="linkmarker">◀링크 마커▶</string>>
<string name="searching">검색 중</string>
<string name="card_faq">FAQ</string>
<string name="card_related">관련 카드</string>
<string name="no_webbrowser">웹 브라우저가 설치되지 않았습니다</string>
<string name="load_game">게임 시작 중</string>
......
......@@ -134,6 +134,7 @@
<string name="linkmarker">◀连接标记▶</string>>
<string name="searching">读取中</string>
<string name="card_faq">裁定查询</string>
<string name="card_related">关联卡片</string>
<string name="no_webbrowser">没有安装浏览器</string>
<string name="load_game">启动游戏中</string>
......
......@@ -376,4 +376,5 @@
<string name="tip_download_failed">Save Failed!</string>
<string name="tip_download_OK">Saved to</string>
<string name="replay_list">Replay List</string>
<string name="card_related">Related</string>
</resources>
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