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
4ae7246f
Commit
4ae7246f
authored
May 24, 2019
by
fallenstardust
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://github.com/fallenstardust/YGOMobile-cn-ko-en
parents
26609a03
056b7d36
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
106 additions
and
24 deletions
+106
-24
mobile/src/main/java/cn/garymb/ygomobile/bean/Deck.java
mobile/src/main/java/cn/garymb/ygomobile/bean/Deck.java
+59
-14
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerActivityImpl.java
...cn/garymb/ygomobile/ui/cards/DeckManagerActivityImpl.java
+47
-10
No files found.
mobile/src/main/java/cn/garymb/ygomobile/bean/Deck.java
View file @
4ae7246f
...
...
@@ -31,7 +31,7 @@ public class Deck implements Parcelable {
sideList
=
new
ArrayList
<>();
}
public
Deck
(
String
name
,
Uri
uri
)
{
public
Deck
(
String
name
,
Uri
uri
)
{
this
(
name
);
String
main
=
uri
.
getQueryParameter
(
QUERY_MAIN
);
String
extra
=
uri
.
getQueryParameter
(
QUERY_EXTRA
);
...
...
@@ -39,34 +39,56 @@ public class Deck implements Parcelable {
if
(!
TextUtils
.
isEmpty
(
main
))
{
String
[]
mains
=
main
.
split
(
","
);
for
(
String
m
:
mains
)
{
int
id
=
toId
(
m
);
if
(
id
>
0
)
{
mainlist
.
add
(
id
);
int
[]
idNum
=
toIdAndNum
(
m
);
if
(
idNum
[
0
]
>
0
)
{
for
(
int
i
=
0
;
i
<
idNum
[
1
];
i
++){
mainlist
.
add
(
idNum
[
0
]);
}
}
}
}
if
(!
TextUtils
.
isEmpty
(
extra
))
{
String
[]
extras
=
extra
.
split
(
","
);
for
(
String
m
:
extras
)
{
int
id
=
toId
(
m
);
if
(
id
>
0
)
{
extraList
.
add
(
id
);
int
[]
idNum
=
toIdAndNum
(
m
);
if
(
idNum
[
0
]
>
0
)
{
for
(
int
i
=
0
;
i
<
idNum
[
1
];
i
++){
extraList
.
add
(
idNum
[
0
]);
}
}
}
}
if
(!
TextUtils
.
isEmpty
(
side
))
{
String
[]
sides
=
side
.
split
(
","
);
for
(
String
m
:
sides
)
{
int
id
=
toId
(
m
);
if
(
id
>
0
)
{
sideList
.
add
(
id
);
int
[]
idNum
=
toIdAndNum
(
m
);
if
(
idNum
[
0
]
>
0
)
{
for
(
int
i
=
0
;
i
<
idNum
[
1
];
i
++){
sideList
.
add
(
idNum
[
0
]);
}
}
}
}
}
private
int
[]
toIdAndNum
(
String
m
)
{
int
[]
idNum
={
0
,
1
};
if
(
m
.
contains
(
"*"
)){
try
{
idNum
[
1
]=
Integer
.
parseInt
(
m
.
substring
(
m
.
length
()-
1
));
}
catch
(
Exception
e
){
}
idNum
[
0
]=
toId
(
m
.
substring
(
0
,
m
.
length
()-
2
));
}
else
{
idNum
[
0
]=
toId
(
m
);
}
return
idNum
;
}
public
Deck
(
Uri
uri
)
{
this
(
uri
.
getQueryParameter
(
QUERY_YDK
),
uri
);
this
(
uri
.
getQueryParameter
(
QUERY_YDK
),
uri
);
}
public
Uri
toAppUri
()
{
...
...
@@ -93,15 +115,38 @@ public class Deck implements Parcelable {
private
String
toString
(
List
<
Integer
>
ids
)
{
StringBuilder
builder
=
new
StringBuilder
();
int
i
=
0
;
for
(
Integer
id
:
ids
)
{
for
(
int
i
=
0
;
i
<
ids
.
size
();
i
++)
{
Integer
id
=
ids
.
get
(
i
);
if
(
i
>
0
)
{
builder
.
append
(
","
);
}
if
(
id
>
0
)
{
builder
.
append
(
id
);
//如果是最后一张就不用对比下张卡
if
(
i
!=
ids
.
size
()-
1
)
{
int
id1
=
ids
.
get
(
i
+
1
);
//同名卡张数
int
tNum
=
1
;
//如果下张是同名卡
if
(
id1
==
id
)
{
tNum
++;
//如果是倒数第二张就不用对比下下张卡
if
(
i
!=
ids
.
size
()-
2
)
{
id1
=
ids
.
get
(
i
+
2
);
//如果下下张是同名卡
if
(
id1
==
id
)
{
tNum
++;
i
++;
}
}
i
++;
}
//如果有同名卡
if
(
tNum
>
1
)
{
builder
.
append
(
"*"
+
tNum
);
}
}
}
}
return
builder
.
toString
();
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerActivityImpl.java
View file @
4ae7246f
...
...
@@ -7,6 +7,7 @@ import android.graphics.Bitmap;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Handler
;
import
android.support.annotation.Nullable
;
import
android.support.v7.widget.AppCompatSpinner
;
import
android.support.v7.widget.RecyclerView
;
...
...
@@ -88,6 +89,7 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
private
AppCompatSpinner
mLimitSpinner
;
private
CardDetail
mCardDetail
;
private
DialogPlus
mDialog
;
private
DialogPlus
builderShareLoading
;
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
...
...
@@ -586,10 +588,10 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
case
R
.
id
.
action_save
:
if
(
mPreLoadFile
!=
null
&&
mPreLoadFile
==
mDeckAdapater
.
getYdkFile
())
{
//需要保存到deck文件夹
inputDeckName
(
mPreLoadFile
,
true
);
inputDeckName
(
mPreLoadFile
,
true
,
true
);
}
else
{
if
(
mDeckAdapater
.
getYdkFile
()
==
null
)
{
inputDeckName
(
null
,
true
);
inputDeckName
(
null
,
true
,
true
);
}
else
{
save
(
mDeckAdapater
.
getYdkFile
());
}
...
...
@@ -603,7 +605,7 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
// }
// break;
case
R
.
id
.
action_rename
:
inputDeckName
(
mDeckAdapater
.
getYdkFile
(),
false
);
inputDeckName
(
mDeckAdapater
.
getYdkFile
(),
false
,
true
);
break
;
case
R
.
id
.
action_deck_new
:
{
final
File
old
=
mDeckAdapater
.
getYdkFile
();
...
...
@@ -614,17 +616,17 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
builder
.
setLeftButtonListener
((
dlg
,
rs
)
->
{
dlg
.
dismiss
();
//复制当前卡组
inputDeckName
(
old
,
true
);
inputDeckName
(
old
,
true
,
true
);
});
builder
.
setRightButtonListener
((
dlg
,
rs
)
->
{
dlg
.
dismiss
();
setCurDeck
(
null
);
inputDeckName
(
null
,
true
);
inputDeckName
(
null
,
true
,
true
);
});
builder
.
setOnCloseLinster
((
dlg
)
->
{
dlg
.
dismiss
();
setCurDeck
(
null
);
inputDeckName
(
null
,
true
);
inputDeckName
(
null
,
true
,
true
);
});
builder
.
show
();
}
...
...
@@ -682,8 +684,41 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
return
files
==
null
||
files
.
size
()
==
0
?
null
:
files
.
get
(
0
);
}
private
void
shareDeck
()
{
// 开启绘图缓存
private
void
shareDeck
(){
builderShareLoading
=
new
DialogPlus
(
this
);
builderShareLoading
.
showProgressBar
();
builderShareLoading
.
hideTitleBar
();
builderShareLoading
.
setMessage
(
"准备分享中"
);
builderShareLoading
.
show
();
//先排序
mDeckAdapater
.
sort
();
//保存
if
(
mPreLoadFile
!=
null
&&
mPreLoadFile
==
mDeckAdapater
.
getYdkFile
())
{
//需要保存到deck文件夹
inputDeckName
(
mPreLoadFile
,
true
,
false
);
}
else
{
if
(
mDeckAdapater
.
getYdkFile
()
==
null
)
{
inputDeckName
(
null
,
true
,
false
);
}
}
//保存成功后重新加载卡组
File
file
=
getSelectDeck
(
mDeckSpinner
);
if
(
file
!=
null
)
{
loadDeckFromFile
(
file
);
}
//延时一秒,等排好序再分享
new
Handler
().
postDelayed
(
new
Runnable
()
{
@Override
public
void
run
()
{
shareDeck1
();
}
},
1000
);
}
private
void
shareDeck1
()
{
//开启绘图缓存
mRecyclerView
.
setDrawingCacheEnabled
(
true
);
//这个方法可调可不调,因为在getDrawingCache()里会自动判断有没有缓存有没有准备好,
//如果没有,会自动调用buildDrawingCache()
...
...
@@ -712,6 +747,7 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
showToast
(
getString
(
R
.
string
.
deck_text_copyed
));
//复制完毕开启决斗助手
Util
.
startDuelService
(
this
);
builderShareLoading
.
dismiss
();
// String label = TextUtils.isEmpty(deck.getName()) ? getString(R.string.share_deck) : deck.getName();
// final String uriString = deck.toAppUri().toString();
// final String httpUri = deck.toHttpUri().toString();
...
...
@@ -877,7 +913,7 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
});
}
private
void
inputDeckName
(
File
oldYdk
,
boolean
keepOld
)
{
private
void
inputDeckName
(
File
oldYdk
,
boolean
keepOld
,
boolean
isToastSave
)
{
DialogPlus
builder
=
new
DialogPlus
(
this
);
// AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder
.
setTitle
(
R
.
string
.
intpu_name
);
...
...
@@ -920,6 +956,7 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
}
catch
(
IOException
e
)
{
}
initDecksListSpinners
(
mDeckSpinner
,
ydk
);
if
(
isToastSave
)
save
(
ydk
);
loadDeckFromFile
(
ydk
);
}
...
...
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