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
a5f1c5aa
Commit
a5f1c5aa
authored
Jul 07, 2025
by
fallenstardust
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
封装批量删除卡组工具方法
parent
2f77f072
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
54 additions
and
73 deletions
+54
-73
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
...ava/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
+5
-37
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/deck_square/DeckSelectFragment.java
...mb/ygomobile/ui/cards/deck_square/DeckSelectFragment.java
+6
-36
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/deck_square/DeckSquareApiUtil.java
...ymb/ygomobile/ui/cards/deck_square/DeckSquareApiUtil.java
+43
-0
No files found.
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
View file @
a5f1c5aa
...
@@ -917,44 +917,12 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
...
@@ -917,44 +917,12 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
builder
.
setLeftButtonListener
((
dlg
,
rs
)
->
{
builder
.
setLeftButtonListener
((
dlg
,
rs
)
->
{
if
(
mDeckAdapater
.
getYdkFile
()
!=
null
)
{
if
(
mDeckAdapater
.
getYdkFile
()
!=
null
)
{
FileUtils
.
deleteFile
(
mDeckAdapater
.
getYdkFile
());
FileUtils
.
deleteFile
(
mDeckAdapater
.
getYdkFile
());
//统一调用批量删除在线卡组(这里只有1个)
List
<
DeckFile
>
deckFileList
=
new
ArrayList
<>();
deckFileList
.
add
(
new
DeckFile
(
mDeckAdapater
.
getYdkFile
()));
DeckSquareApiUtil
.
deleteDecks
(
deckFileList
);
if
(
SharedPreferenceUtil
.
getServerToken
()
!=
null
)
{
YGOUtil
.
showTextToast
(
R
.
string
.
done
);
LoginToken
loginToken
=
new
LoginToken
(
SharedPreferenceUtil
.
getServerUserId
(),
SharedPreferenceUtil
.
getServerToken
()
);
// 获取在线卡组列表(异步处理)
VUiKit
.
defer
().
when
(()
->
{
return
DeckSquareApiUtil
.
getUserDecks
(
loginToken
);
}).
fail
((
e
)
->
{
LogUtil
.
e
(
TAG
,
"getUserDecks failed: "
+
e
);
}).
done
((
result
)
->
{
if
(
result
==
null
||
result
.
getData
()
==
null
)
{
return
;
}
List
<
MyOnlineDeckDetail
>
onlineDecks
=
result
.
getData
();
for
(
MyOnlineDeckDetail
onlineDeck
:
onlineDecks
)
{
if
(
onlineDeck
.
getDeckName
().
equals
(
mDeckAdapater
.
getYdkFile
().
getName
()))
{
// 删除在线卡组(异步处理)
VUiKit
.
defer
().
when
(()
->
{
PushSingleDeckResponse
deckResponse
=
DeckSquareApiUtil
.
deleteDeck
(
onlineDeck
.
getDeckId
(),
loginToken
);
return
deckResponse
;
}).
fail
((
deleteError
)
->
{
LogUtil
.
e
(
TAG
,
"Delete Online Deck failed: "
+
deleteError
);
}).
done
((
deleteSuccess
)
->
{
if
(
deleteSuccess
.
isData
())
{
LogUtil
.
i
(
TAG
,
"Online deck deleted successfully"
);
YGOUtil
.
showTextToast
(
getContext
().
getString
(
R
.
string
.
done
));
}
});
break
;
}
}
});
}
dlg
.
dismiss
();
dlg
.
dismiss
();
File
file
=
getFirstYdk
();
File
file
=
getFirstYdk
();
loadDeckFromFile
(
file
);
loadDeckFromFile
(
file
);
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/deck_square/DeckSelectFragment.java
View file @
a5f1c5aa
...
@@ -367,45 +367,12 @@ public class DeckSelectFragment extends Fragment {
...
@@ -367,45 +367,12 @@ public class DeckSelectFragment extends Fragment {
for
(
DeckFile
deckFile
:
selectDeckList
)
{
for
(
DeckFile
deckFile
:
selectDeckList
)
{
deckFile
.
getPathFile
().
delete
();
deckFile
.
getPathFile
().
delete
();
deckList
.
remove
(
deckFile
);
deckList
.
remove
(
deckFile
);
if
(
SharedPreferenceUtil
.
getServerToken
()
!=
null
)
{
LoginToken
loginToken
=
new
LoginToken
(
SharedPreferenceUtil
.
getServerUserId
(),
SharedPreferenceUtil
.
getServerToken
());
// 获取在线卡组列表(异步处理)
VUiKit
.
defer
().
when
(()
->
{
return
DeckSquareApiUtil
.
getUserDecks
(
loginToken
);
}).
fail
((
e
)
->
{
LogUtil
.
e
(
TAG
,
"getUserDecks failed: "
+
e
);
}).
done
((
result
)
->
{
if
(
result
==
null
||
result
.
getData
()
==
null
)
{
return
;
}
List
<
MyOnlineDeckDetail
>
onlineDecks
=
result
.
getData
();
for
(
MyOnlineDeckDetail
onlineDeck
:
onlineDecks
)
{
if
(
onlineDeck
.
getDeckName
().
equals
(
deckFile
.
getName
()))
{
// 删除在线卡组(异步处理)
VUiKit
.
defer
().
when
(()
->
{
PushSingleDeckResponse
deckResponse
=
DeckSquareApiUtil
.
deleteDeck
(
onlineDeck
.
getDeckId
(),
loginToken
);
return
deckResponse
;
}).
fail
((
deleteError
)
->
{
LogUtil
.
e
(
TAG
,
"Delete Online Deck failed: "
+
deleteError
);
}).
done
((
deleteSuccess
)
->
{
if
(
deleteSuccess
.
isData
())
{
YGOUtil
.
showTextToast
(
R
.
string
.
done
);
LogUtil
.
i
(
TAG
,
"Online deck deleted successfully"
);
}
});
break
;
}
}
});
}
}
}
dialogPlus
.
dismiss
();
dialogPlus
.
dismiss
();
onDeckMenuListener
.
onDeckDel
(
selectDeckList
);
onDeckMenuListener
.
onDeckDel
(
selectDeckList
);
clearDeckSelect
();
clearDeckSelect
();
DeckSquareApiUtil
.
deleteDecks
(
selectDeckList
);
YGOUtil
.
showTextToast
(
R
.
string
.
done
);
}
}
});
});
dialogPlus
.
setRightButtonListener
(
new
DialogInterface
.
OnClickListener
()
{
dialogPlus
.
setRightButtonListener
(
new
DialogInterface
.
OnClickListener
()
{
...
@@ -430,7 +397,7 @@ public class DeckSelectFragment extends Fragment {
...
@@ -430,7 +397,7 @@ public class DeckSelectFragment extends Fragment {
}
}
}
}
IOUtils
.
delete
(
file
);
IOUtils
.
delete
(
file
);
YGOUtil
.
showTextToast
(
R
.
string
.
done
);
onDeckMenuListener
.
onDeckDel
(
deckFileList
);
onDeckMenuListener
.
onDeckDel
(
deckFileList
);
typeAdp
.
remove
(
positon
);
typeAdp
.
remove
(
positon
);
if
(
typeAdp
.
getSelectPosition
()
==
positon
)
{
if
(
typeAdp
.
getSelectPosition
()
==
positon
)
{
...
@@ -441,6 +408,9 @@ public class DeckSelectFragment extends Fragment {
...
@@ -441,6 +408,9 @@ public class DeckSelectFragment extends Fragment {
deckList
.
clear
();
deckList
.
clear
();
deckList
.
addAll
(
DeckUtil
.
getDeckList
(
typeList
.
get
(
2
).
getPath
()));
deckList
.
addAll
(
DeckUtil
.
getDeckList
(
typeList
.
get
(
2
).
getPath
()));
deckAdp
.
notifyDataSetChanged
();
deckAdp
.
notifyDataSetChanged
();
//删除在线的同名卡组们
DeckSquareApiUtil
.
deleteDecks
(
deckFileList
);
YGOUtil
.
showTextToast
(
R
.
string
.
done
);
}
}
}));
}));
itemTouchHelper
.
attachToRecyclerView
(
binding
.
rvType
);
itemTouchHelper
.
attachToRecyclerView
(
binding
.
rvType
);
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/deck_square/DeckSquareApiUtil.java
View file @
a5f1c5aa
...
@@ -15,6 +15,7 @@ import cn.garymb.ygomobile.AppsSettings;
...
@@ -15,6 +15,7 @@ import cn.garymb.ygomobile.AppsSettings;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.bean.DeckType
;
import
cn.garymb.ygomobile.bean.DeckType
;
import
cn.garymb.ygomobile.bean.events.DeckFile
;
import
cn.garymb.ygomobile.bean.events.DeckFile
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.BasicResponse
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.BasicResponse
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.DeckIdResponse
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.DeckIdResponse
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.DeckMultiIdResponse
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.DeckMultiIdResponse
;
...
@@ -33,6 +34,7 @@ import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushSingleDeckRespo
...
@@ -33,6 +34,7 @@ import cn.garymb.ygomobile.ui.cards.deck_square.api_response.PushSingleDeckRespo
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.SquareDeckResponse
;
import
cn.garymb.ygomobile.ui.cards.deck_square.api_response.SquareDeckResponse
;
import
cn.garymb.ygomobile.ui.cards.deck_square.bo.MyDeckItem
;
import
cn.garymb.ygomobile.ui.cards.deck_square.bo.MyDeckItem
;
import
cn.garymb.ygomobile.ui.cards.deck_square.bo.SyncMutliDeckResult
;
import
cn.garymb.ygomobile.ui.cards.deck_square.bo.SyncMutliDeckResult
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.utils.DeckUtil
;
import
cn.garymb.ygomobile.utils.DeckUtil
;
import
cn.garymb.ygomobile.utils.LogUtil
;
import
cn.garymb.ygomobile.utils.LogUtil
;
import
cn.garymb.ygomobile.utils.OkhttpUtil
;
import
cn.garymb.ygomobile.utils.OkhttpUtil
;
...
@@ -489,6 +491,47 @@ public class DeckSquareApiUtil {
...
@@ -489,6 +491,47 @@ public class DeckSquareApiUtil {
}
}
public
static
void
deleteDecks
(
List
<
DeckFile
>
deckFileList
)
{
if
(
SharedPreferenceUtil
.
getServerToken
()
!=
null
)
{
LoginToken
loginToken
=
new
LoginToken
(
SharedPreferenceUtil
.
getServerUserId
(),
SharedPreferenceUtil
.
getServerToken
()
);
// 获取在线卡组列表(异步处理)
VUiKit
.
defer
().
when
(()
->
{
return
DeckSquareApiUtil
.
getUserDecks
(
loginToken
);
}).
fail
((
e
)
->
{
LogUtil
.
e
(
TAG
,
"getUserDecks failed: "
+
e
);
}).
done
((
result
)
->
{
if
(
result
==
null
||
result
.
getData
()
==
null
)
{
return
;
}
List
<
MyOnlineDeckDetail
>
onlineDecks
=
result
.
getData
();
for
(
MyOnlineDeckDetail
onlineDeck
:
onlineDecks
)
{
for
(
DeckFile
deckFile
:
deckFileList
)
{
if
(
onlineDeck
.
getDeckName
().
equals
(
deckFile
.
getName
()))
{
// 删除在线卡组(异步处理)
VUiKit
.
defer
().
when
(()
->
{
PushSingleDeckResponse
deckResponse
=
DeckSquareApiUtil
.
deleteDeck
(
onlineDeck
.
getDeckId
(),
loginToken
);
return
deckResponse
;
}).
fail
((
deleteError
)
->
{
LogUtil
.
e
(
TAG
,
"Delete Online Deck failed: "
+
deleteError
);
}).
done
((
deleteSuccess
)
->
{
if
(
deleteSuccess
.
isData
())
{
LogUtil
.
i
(
TAG
,
"Online deck deleted successfully"
);
}
});
break
;
}
}
}
});
}
}
public
static
PushSingleDeckResponse
deleteDeck
(
String
deckId
,
LoginToken
loginToken
)
throws
public
static
PushSingleDeckResponse
deleteDeck
(
String
deckId
,
LoginToken
loginToken
)
throws
IOException
{
IOException
{
PushSingleDeckResponse
result
=
null
;
PushSingleDeckResponse
result
=
null
;
...
...
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