Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
YGOMobile-Cn-Ko-En
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fallenstardust
YGOMobile-Cn-Ko-En
Commits
e10b2f82
Commit
e10b2f82
authored
Aug 04, 2025
by
fallenstardust
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
按卡组分类排序在线卡组,并支持关键词搜索分类名筛选
优化在线备份缓存更新
parent
c41eadb1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
9 deletions
+20
-9
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/deck_square/MyDeckListAdapter.java
...ymb/ygomobile/ui/cards/deck_square/MyDeckListAdapter.java
+20
-9
No files found.
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/deck_square/MyDeckListAdapter.java
View file @
e10b2f82
package
cn.garymb.ygomobile.ui.cards.deck_square
;
import
static
cn
.
garymb
.
ygomobile
.
ui
.
cards
.
DeckManagerFragment
.
originalData
;
import
static
cn
.
garymb
.
ygomobile
.
ui
.
cards
.
deck_square
.
DeckSquareFileUtil
.
convertToGMTDate
;
import
android.util.Log
;
...
...
@@ -14,6 +13,7 @@ import java.util.List;
import
cn.garymb.ygomobile.bean.DeckType
;
import
cn.garymb.ygomobile.bean.events.DeckFile
;
import
cn.garymb.ygomobile.ui.cards.DeckManagerFragment
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.BasicResponse
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.LoginToken
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.MyDeckResponse
;
...
...
@@ -46,7 +46,7 @@ public class MyDeckListAdapter extends BaseQuickAdapter<MyOnlineDeckDetail, Base
if
(
loginToken
==
null
)
{
return
;
}
if
(
originalData
.
isEmpty
()){
if
(
DeckManagerFragment
.
getOriginalData
()
.
isEmpty
()){
final
DialogPlus
dialog_read_ex
=
DialogPlus
.
show
(
getContext
(),
null
,
getContext
().
getString
(
R
.
string
.
fetch_online_deck
));
VUiKit
.
defer
().
when
(()
->
{
MyDeckResponse
result
=
DeckSquareApiUtil
.
getUserDecks
(
loginToken
);
...
...
@@ -63,9 +63,20 @@ public class MyDeckListAdapter extends BaseQuickAdapter<MyOnlineDeckDetail, Base
}
LogUtil
.
i
(
TAG
,
"load mycard from server failed:"
+
e
);
}).
done
((
serverDecks
)
->
{
if
(
serverDecks
!=
null
)
{
//将服务端的卡组也放到LocalDecks中
originalData
.
clear
();
//虽然判断originalData是空的才会执行到这里,但还是写上保险
originalData
.
addAll
(
serverDecks
);
// 保存原始数据
if
(
serverDecks
!=
null
)
{
//将服务端的卡组也放到缓存中
//根据deckType排序,提高观感
serverDecks
.
sort
((
o1
,
o2
)
->
{
String
type1
=
o1
.
getDeckType
();
String
type2
=
o2
.
getDeckType
();
if
(
type1
==
null
&&
type2
==
null
)
return
0
;
if
(
type1
==
null
)
return
1
;
if
(
type2
==
null
)
return
-
1
;
return
type1
.
compareTo
(
type2
);
});
DeckManagerFragment
.
getOriginalData
().
clear
();
//虽然判断originalData是空的才会执行到这里,但还是写上保险
DeckManagerFragment
.
getOriginalData
().
addAll
(
serverDecks
);
// 保存原始数据
}
LogUtil
.
i
(
TAG
,
"load mycard from server done"
);
...
...
@@ -84,7 +95,7 @@ public class MyDeckListAdapter extends BaseQuickAdapter<MyOnlineDeckDetail, Base
}
else
{
LogUtil
.
i
(
TAG
,
"load originalData done"
);
getData
().
clear
();
addData
(
originalData
);
addData
(
DeckManagerFragment
.
getOriginalData
()
);
notifyDataSetChanged
();
}
...
...
@@ -96,11 +107,11 @@ public class MyDeckListAdapter extends BaseQuickAdapter<MyOnlineDeckDetail, Base
List
<
MyOnlineDeckDetail
>
filteredList
=
new
ArrayList
<>();
if
(
keyword
.
isEmpty
())
{
// 如果关键词为空,则显示所有数据
filteredList
.
addAll
(
originalData
);
filteredList
.
addAll
(
DeckManagerFragment
.
getOriginalData
()
);
}
else
{
// 遍历原始数据,筛选出包含关键词的item
for
(
MyOnlineDeckDetail
item
:
originalData
)
{
if
(
item
.
getDeckName
().
contains
(
keyword
))
{
for
(
MyOnlineDeckDetail
item
:
DeckManagerFragment
.
getOriginalData
()
)
{
if
(
item
.
getDeckName
().
contains
(
keyword
)
||
item
.
getDeckType
().
contains
(
keyword
)
)
{
filteredList
.
add
(
item
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment