Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
YGOMobile
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
Commits
e3fab5c8
Commit
e3fab5c8
authored
May 19, 2025
by
wangfugui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加注释、删除打开DeckSquareActivity的按钮
parent
873b5119
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
43 additions
and
85 deletions
+43
-85
mobile/src/main/java/cn/garymb/ygomobile/bean/events/DeckFile.java
...c/main/java/cn/garymb/ygomobile/bean/events/DeckFile.java
+17
-0
mobile/src/main/java/cn/garymb/ygomobile/deck_square/DeckSquareFileUtil.java
...a/cn/garymb/ygomobile/deck_square/DeckSquareFileUtil.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/deck_square/api_response/PushDeckResponse.java
.../ygomobile/deck_square/api_response/PushDeckResponse.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/loader/CardLoader.java
.../src/main/java/cn/garymb/ygomobile/loader/CardLoader.java
+2
-5
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
...ava/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
+9
-8
mobile/src/main/java/cn/garymb/ygomobile/utils/YGODeckDialogUtil.java
...ain/java/cn/garymb/ygomobile/utils/YGODeckDialogUtil.java
+13
-70
No files found.
mobile/src/main/java/cn/garymb/ygomobile/bean/events/DeckFile.java
View file @
e3fab5c8
...
...
@@ -21,6 +21,11 @@ public class DeckFile extends TextSelect {
// this.onServer = onServer;
// }
public
DeckFile
(
String
deckId
,
DeckType
.
ServerType
onServer
)
{
this
.
deckId
=
deckId
;
this
.
onServer
=
onServer
;
}
public
DeckFile
(
String
name
,
String
typeName
,
DeckType
.
ServerType
onServer
,
String
deckId
)
{
this
.
typeName
=
typeName
;
this
.
onServer
=
onServer
;
...
...
@@ -108,4 +113,16 @@ public class DeckFile extends TextSelect {
public
void
setDeckId
(
String
deckId
)
{
this
.
deckId
=
deckId
;
}
@Override
public
String
toString
()
{
return
"DeckFile{"
+
"path="
+
path
+
", fileFullName='"
+
fileFullName
+
'\''
+
", typeName='"
+
typeName
+
'\''
+
", firstCode="
+
firstCode
+
", onServer="
+
onServer
+
", deckId='"
+
deckId
+
'\''
+
'}'
;
}
}
mobile/src/main/java/cn/garymb/ygomobile/deck_square/DeckSquareFileUtil.java
View file @
e3fab5c8
...
...
@@ -90,7 +90,7 @@ public class DeckSquareFileUtil {
return
files
;
}
//读取卡组目录下的所有ydk文件,解析ydk文件,生成List<MyDeckItem>解析结果
//读取卡组目录下的所有ydk文件,解析ydk文件
(包括从ydk文件内容中读取deckId)
,生成List<MyDeckItem>解析结果
public
static
List
<
MyDeckItem
>
getMyDeckItem
()
{
List
<
MyDeckItem
>
result
=
new
ArrayList
<>();
File
[]
files
=
getAllYdk
();
...
...
mobile/src/main/java/cn/garymb/ygomobile/deck_square/api_response/PushDeckResponse.java
View file @
e3fab5c8
...
...
@@ -7,7 +7,7 @@ public class PushDeckResponse {
private
Integer
code
;
private
String
message
;
private
boolean
data
;
private
boolean
data
;
//服务器的执行结果,true代表卡组上传成功。false代表卡组上传失败
public
Integer
getCode
()
{
return
code
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/loader/CardLoader.java
View file @
e3fab5c8
package
cn.garymb.ygomobile.loader
;
import
android.app.Dialog
;
import
android.content.Context
;
import
android.text.TextUtils
;
import
android.util.SparseArray
;
...
...
@@ -13,8 +12,6 @@ import java.util.Comparator;
import
java.util.List
;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.utils.CardSort
;
import
cn.garymb.ygomobile.utils.LogUtil
;
...
...
@@ -27,9 +24,9 @@ import ocgcore.enums.LimitType;
/**
* 包括LimitManager、CardManager、LimitList
* <p>
* LimitList负责判断禁止卡等
* field包括LimitManager、CardManager
* 未封装成单例,使用时要构造实例
* LimitManager、CardManager已封装成单例,使用时不需要构造实例
*/
public
class
CardLoader
implements
ICardSearcher
{
private
final
LimitManager
mLimitManager
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
View file @
e3fab5c8
...
...
@@ -76,7 +76,6 @@ import cn.garymb.ygomobile.bean.events.CardInfoEvent;
import
cn.garymb.ygomobile.bean.events.DeckFile
;
import
cn.garymb.ygomobile.core.IrrlichtBridge
;
import
cn.garymb.ygomobile.deck_square.DeckManageDialog
;
import
cn.garymb.ygomobile.deck_square.DeckSquareActivity
;
import
cn.garymb.ygomobile.deck_square.DeckSquareApiUtil
;
import
cn.garymb.ygomobile.deck_square.DeckSquareFileUtil
;
import
cn.garymb.ygomobile.deck_square.api_response.DownloadDeckResponse
;
...
...
@@ -116,6 +115,7 @@ import ocgcore.data.LimitList;
import
ocgcore.enums.LimitType
;
/**
* 卡组编辑页面,在本页面中显示某个卡组的内容
* 注意,卡组编辑页面中的长按事件回调在ItemTouchHelperPlus中实现,而非在
* RecyclerViewItemListener.OnItemListener中
*/
...
...
@@ -159,6 +159,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
layoutView
=
inflater
.
inflate
(
R
.
layout
.
fragment_deck_cards
,
container
,
false
);
AnimationShake2
(
layoutView
);
initView
(
layoutView
);
//检查外部调用方是否传入了ydk文件路径,如果传入,则打开外部ydk文件
preLoadFile
();
//event
if
(!
EventBus
.
getDefault
().
isRegistered
(
this
))
{
//加上判断
...
...
@@ -206,7 +207,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
initBoomMenuButton
(
layoutView
.
findViewById
(
R
.
id
.
bmb
));
layoutView
.
findViewById
(
R
.
id
.
btn_nav_search
).
setOnClickListener
((
v
)
->
doMenu
(
R
.
id
.
action_search
));
layoutView
.
findViewById
(
R
.
id
.
btn_nav_list
).
setOnClickListener
((
v
)
->
doMenu
(
R
.
id
.
action_card_list
));
layoutView
.
findViewById
(
R
.
id
.
open_deck_square
).
setOnClickListener
((
v
)
->
doMenu
(
R
.
id
.
open_deck_square
));
tv_deck
.
setOnClickListener
(
v
->
{
new
DeckManageDialog
(
this
).
show
(
...
...
@@ -221,7 +221,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
/**
*
通过本文件,外部调用fragment时,如果通过setArguments(mBundle)方法设置了ydk文件路径,则直接打开它
*
外部调用fragment时,如果通过setArguments(mBundle)方法设置了ydk文件路径,则直接打开该ydk文件
* 将mPreLoadFile设置为对应的File
*/
public
void
preLoadFile
()
{
...
...
@@ -234,6 +234,10 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}
/**
* 传入外部ydk文件的路径,临时在本页面中打开该ydk的内容,用于后续的保存
* @param preLoadFilePath 外部ydk文件的路径
*/
public
void
preLoadFile
(
String
preLoadFilePath
)
{
final
File
_file
;
...
...
@@ -880,11 +884,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}
}
break
;
case
R
.
id
.
open_deck_square
:
{
Intent
exCardIntent
=
new
Intent
(
getActivity
(),
DeckSquareActivity
.
class
);
startActivity
(
exCardIntent
);
}
break
;
case
R
.
id
.
action_unsort
:
//打乱
mDeckAdapater
.
unSort
();
...
...
@@ -1255,6 +1254,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
YGOUtil
.
showTextToast
(
R
.
string
.
done
);
}
//在卡组选择的dialog中点击某个卡组(来自本地或服务器)后,dialog通过本回调函数通知本页面。
//在本页面中根据卡组来源(本地或服务器)显示卡组内容
@Override
public
void
onDeckSelect
(
DeckFile
deckFile
)
{
if
(!
deckFile
.
isLocal
())
{
//不在本地,在云上(卡组广场中或用户的云上)
...
...
mobile/src/main/java/cn/garymb/ygomobile/utils/YGODeckDialogUtil.java
View file @
e3fab5c8
...
...
@@ -37,19 +37,12 @@ import cn.garymb.ygomobile.AppsSettings;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.bean.DeckType
;
import
cn.garymb.ygomobile.bean.events.DeckFile
;
import
cn.garymb.ygomobile.deck_square.DeckSquareApiUtil
;
import
cn.garymb.ygomobile.deck_square.DeckSquareTabAdapter
;
import
cn.garymb.ygomobile.deck_square.api_response.MyDeckResponse
;
import
cn.garymb.ygomobile.deck_square.api_response.MyOnlineDeckDetail
;
import
cn.garymb.ygomobile.deck_square.api_response.OnlineDeckDetail
;
import
cn.garymb.ygomobile.deck_square.api_response.SquareDeckResponse
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.adapters.DeckListAdapter
;
import
cn.garymb.ygomobile.ui.adapters.SimpleListAdapter
;
import
cn.garymb.ygomobile.ui.adapters.TextSelectAdapter
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.utils.recyclerview.DeckTypeTouchHelperCallback
;
public
class
YGODeckDialogUtil
{
...
...
@@ -100,9 +93,8 @@ public class YGODeckDialogUtil {
viewHolder
.
show
();
}
private
DeckSquareTabAdapter
adapter
;
//注册listener,发生点击卡组事件后,通知
主界面
进行对应的显示更新
//注册listener,发生点击卡组事件后,通知
外部的activity
进行对应的显示更新
public
interface
OnDeckMenuListener
{
void
onDeckSelect
(
DeckFile
deckFile
);
...
...
@@ -115,12 +107,14 @@ public class YGODeckDialogUtil {
void
onDeckNew
(
DeckType
currentDeckType
);
}
public
interface
OnDeckDialogListener
{
void
onDismiss
();
void
onShow
();
}
public
interface
OnDeckTypeListener
{
void
onDeckTypeListener
(
int
position
);
}
...
...
@@ -248,71 +242,20 @@ public class YGODeckDialogUtil {
public
void
onItemSelect
(
int
position
,
DeckType
item
)
{
clearDeckSelect
();
deckList
.
clear
();
if
(
item
.
getOnServer
()
==
DeckType
.
ServerType
.
SQUARE_DECK
)
{
VUiKit
.
defer
().
when
(()
->
{
SquareDeckResponse
result
=
DeckSquareApiUtil
.
getSquareDecks
();
if
(
result
==
null
)
{
return
null
;
}
else
{
return
result
.
getData
().
getRecords
();
}
}).
fail
(
e
->
{
YGOUtil
.
showTextToast
(
"Fetch square deck fail"
);
}).
done
(
exCardDataList
->
{
if
(
exCardDataList
!=
null
)
{
LogUtil
.
i
(
TAG
,
"Get square deck success"
);
for
(
OnlineDeckDetail
deckRecord
:
exCardDataList
)
{
DeckFile
deckFile
=
new
DeckFile
(
deckRecord
.
getDeckName
(),
""
,
DeckType
.
ServerType
.
SQUARE_DECK
,
deckRecord
.
getDeckId
());
deckList
.
add
(
deckFile
);
}
deckAdp
.
notifyDataSetChanged
();
}
});
}
else
if
(
item
.
getOnServer
()
==
DeckType
.
ServerType
.
MY_SQUARE
)
{
VUiKit
.
defer
().
when
(()
->
{
String
serverToken
=
SharedPreferenceUtil
.
getServerToken
();
Integer
serverUserId
=
SharedPreferenceUtil
.
getServerUserId
();
MyDeckResponse
result
=
DeckSquareApiUtil
.
getUserDecks
(
serverUserId
,
serverToken
);
if
(
result
==
null
)
{
return
null
;
}
else
{
return
result
.
getData
();
}
}).
fail
(
e
->
{
YGOUtil
.
showTextToast
(
"Fetch square deck fail"
);
}).
done
(
exCardDataList
->
{
if
(
exCardDataList
!=
null
)
{
LogUtil
.
i
(
TAG
,
"Get square deck success"
);
for
(
MyOnlineDeckDetail
deckRecord
:
exCardDataList
)
{
DeckFile
deckFile
=
new
DeckFile
(
deckRecord
.
getDeckName
(),
""
,
DeckType
.
ServerType
.
MY_SQUARE
,
deckRecord
.
getDeckId
());
deckList
.
add
(
deckFile
);
}
deckAdp
.
notifyDataSetChanged
();
}
});
}
else
{
deckList
.
addAll
(
DeckUtil
.
getDeckList
(
item
.
getPath
()));
if
(
position
==
0
)
{
if
(
AppsSettings
.
get
().
isReadExpansions
())
{
try
{
if
(!
DeckUtil
.
getExpansionsDeckList
().
isEmpty
())
{
deckList
.
addAll
(
0
,
DeckUtil
.
getExpansionsDeckList
());
}
}
catch
(
IOException
e
)
{
YGOUtil
.
showTextToast
(
"额外卡库加载失败,原因为"
+
e
);
deckList
.
addAll
(
DeckUtil
.
getDeckList
(
item
.
getPath
()));
if
(
position
==
0
)
{
if
(
AppsSettings
.
get
().
isReadExpansions
())
{
try
{
if
(!
DeckUtil
.
getExpansionsDeckList
().
isEmpty
())
{
deckList
.
addAll
(
0
,
DeckUtil
.
getExpansionsDeckList
());
}
}
catch
(
IOException
e
)
{
YGOUtil
.
showTextToast
(
"额外卡库加载失败,原因为"
+
e
);
}
}
deckAdp
.
notifyDataSetChanged
();
}
deckAdp
.
notifyDataSetChanged
();
}
});
deckAdp
.
setOnItemSelectListener
(
new
DeckListAdapter
.
OnItemSelectListener
<
DeckFile
>()
{
...
...
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