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
8a704146
Commit
8a704146
authored
Oct 15, 2018
by
fallenstardust
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
API28
parent
2dccb18e
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
70 additions
and
52 deletions
+70
-52
build.gradle
build.gradle
+4
-2
libcore/build.gradle
libcore/build.gradle
+1
-1
mobile/build.gradle
mobile/build.gradle
+9
-9
mobile/src/main/AndroidManifest.xml
mobile/src/main/AndroidManifest.xml
+5
-4
mobile/src/main/java/android/support/v7/widget/helper/ItemTouchHelper2.java
...va/android/support/v7/widget/helper/ItemTouchHelper2.java
+2
-2
mobile/src/main/java/android/support/v7/widget/helper/ItemTouchHelperPlus.java
...android/support/v7/widget/helper/ItemTouchHelperPlus.java
+34
-16
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerActivityImpl.java
...cn/garymb/ygomobile/ui/cards/DeckManagerActivityImpl.java
+7
-6
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/deck/DeckItemTouchHelper.java
...n/garymb/ygomobile/ui/cards/deck/DeckItemTouchHelper.java
+2
-11
mobile/src/main/res/values-ko/strings.xml
mobile/src/main/res/values-ko/strings.xml
+4
-1
mobile/src/main/res/values-zh/strings.xml
mobile/src/main/res/values-zh/strings.xml
+1
-0
mobile/src/main/res/values/strings.xml
mobile/src/main/res/values/strings.xml
+1
-0
No files found.
build.gradle
View file @
8a704146
...
...
@@ -4,6 +4,7 @@ buildscript {
repositories
{
jcenter
()
maven
{
url
"https://jitpack.io"
}
maven
{
url
'http://maven.aliyun.com/nexus/content/groups/public/'
}
google
()
}
dependencies
{
...
...
@@ -13,9 +14,9 @@ buildscript {
}
ext
{
compileSdkVersion
=
2
6
compileSdkVersion
=
2
8
buildToolsVersion
=
compileSdkVersion
+
".0.0"
supportVersion
=
compileSdkVersion
+
".0.0
-alpha1
"
supportVersion
=
compileSdkVersion
+
".0.0"
}
allprojects
{
...
...
@@ -24,6 +25,7 @@ allprojects {
google
()
maven
{
url
"https://jitpack.io"
}
maven
{
url
"https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master"
}
maven
{
url
'http://maven.aliyun.com/nexus/content/groups/public/'
}
}
}
...
...
libcore/build.gradle
View file @
8a704146
...
...
@@ -22,7 +22,7 @@ android {
jniLibs
.
srcDirs
'libs'
}
}
buildToolsVersion
'28.0.2'
}
dependencies
{
...
...
mobile/build.gradle
View file @
8a704146
...
...
@@ -7,7 +7,7 @@ android {
defaultConfig
{
applicationId
"cn.garymb.ygomobile"
minSdkVersion
16
targetSdkVersion
2
2
targetSdkVersion
2
6
versionCode
330701009
versionName
"3.3.7"
flavorDimensions
"versionCode"
...
...
@@ -80,16 +80,16 @@ repositories {
dependencies
{
implementation
'junit:junit:4.12'
implementation
project
(
':libcore'
)
implementation
'org.jdeferred:jdeferred-android-aar:1.2.4'
implementation
'com.github.bumptech.glide:glide:3.7.0'
implementation
'com.github.chrisbanes.photoview:library:1.2.4'
//
implementation
'com.android.support:support-annotations:'
+
rootProject
.
ext
.
supportVersion
//support-annotations,support-vector-drawable
implementation
'com.android.support:appcompat-v7:'
+
rootProject
.
ext
.
supportVersion
implementation
'com.android.support:recyclerview-v7:'
+
rootProject
.
ext
.
supportVersion
implementation
'com.android.support:design:'
+
rootProject
.
ext
.
supportVersion
implementation
'com.android.support:appcompat-v7:'
+
rootProject
.
ext
.
supportVersion
implementation
'com.android.support:support-vector-drawable:'
+
rootProject
.
ext
.
supportVersion
//
implementation
'org.jdeferred:jdeferred-android-aar:1.2.4'
implementation
'com.github.bumptech.glide:glide:3.7.0'
implementation
(
'com.github.chrisbanes.photoview:library:1.2.4'
){
exclude
group:
'com.android.support'
,
module:
'support-v4'
}
implementation
'org.greenrobot:eventbus:3.0.0'
implementation
'com.tubb.smrv:swipemenu-recyclerview:5.4.0'
//
...
...
mobile/src/main/AndroidManifest.xml
View file @
8a704146
...
...
@@ -9,16 +9,17 @@
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.WAKE_LOCK"
/>
<uses-permission
android:name=
"android.permission.READ_LOGS"
/>
<uses-permission
android:name=
"android.permission.RECORD_AUDIO
"
/>
<uses-permission
android:name=
"android.permission.READ_LOGS"
tools:ignore=
"ProtectedPermissions
"
/>
<uses-permission
android:name=
"android.permission.VIBRATE"
/>
<uses-permission
android:name=
"android.permission.WRITE_SETTINGS"
/>
<uses-permission
android:name=
"android.permission.WRITE_SETTINGS"
tools:ignore=
"ProtectedPermissions"
/>
<uses-permission
android:name=
"android.permission.GET_TASKS"
/>
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission
android:name=
"android.permission.CHANGE_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.EXPAND_STATUS_BAR"
/>
<uses-permission
android:name=
"android.permission.SYSTEM_ALERT_WINDOW"
/>
/>
<uses-permission
android:name=
"android.permission.SYSTEM_ALERT_WINDOW"
/>
<uses-sdk
tools:overrideLibrary=
"com.toptoche.searchablespinnerlibrary"
/>
...
...
mobile/src/main/java/android/support/v7/widget/helper/ItemTouchHelper2.java
View file @
8a704146
...
...
@@ -670,8 +670,8 @@ public class ItemTouchHelper2 extends RecyclerView.ItemDecoration
targetTranslateX
-
currentTranslateX
,
targetTranslateY
-
currentTranslateY
);
rv
.
setDuration
(
duration
);
if
(
mCallback
.
canAnimation
(
mRecyclerView
,
prevSelected
))
{
mRecoverAnimations
.
add
(
rv
);
rv
.
start
();
mRecoverAnimations
.
add
(
rv
);
rv
.
start
();
}
else
{
rv
.
onAnimationEnd
(
null
);
}
...
...
mobile/src/main/java/android/support/v7/widget/helper/ItemTouchHelperPlus.java
View file @
8a704146
...
...
@@ -22,7 +22,6 @@ import android.os.Handler;
import
android.support.annotation.Nullable
;
import
android.support.v4.view.GestureDetectorCompat
;
import
android.support.v7.widget.RecyclerView
;
import
android.util.Log
;
import
android.view.GestureDetector
;
import
android.view.MotionEvent
;
import
android.view.View
;
...
...
@@ -36,8 +35,9 @@ public class ItemTouchHelperPlus extends ItemTouchHelper {
public
ItemTouchHelperPlus
(
Context
context
,
ItemTouchHelperPlus
.
Callback
callback
)
{
super
(
callback
);
mCallback2
=
callback
;
mContext
=
context
;
mCallback2
=
callback
;
mCallback2
.
setItemTouchHelper
(
this
);
}
public
void
setItemDragListener
(
OnItemDragListener
itemDragListener
)
{
...
...
@@ -63,19 +63,48 @@ public class ItemTouchHelperPlus extends ItemTouchHelper {
return
mContext
;
}
private
int
mActionState
;
private
float
mSelectedStartX
,
mSelectedStartY
;
private
RecyclerView
.
ViewHolder
mSelected
;
private
int
getActionState
(){
return
mActionState
;
}
public
float
getSelectedStartX
()
{
return
mSelectedStartX
;
}
public
float
getSelectedStartY
()
{
return
mSelectedStartY
;
}
@Override
void
select
(
@Nullable
RecyclerView
.
ViewHolder
selected
,
int
actionState
)
{
super
.
select
(
selected
,
actionState
);
if
(
selected
!=
this
.
mSelected
||
actionState
!=
mActionState
)
{
mActionState
=
actionState
;
if
(
selected
!=
null
)
{
mSelectedStartX
=
(
float
)
selected
.
itemView
.
getLeft
();
mSelectedStartY
=
(
float
)
selected
.
itemView
.
getTop
();
mSelected
=
selected
;
}
}
}
@Override
void
moveIfNecessary
(
RecyclerView
.
ViewHolder
viewHolder
)
{
super
.
moveIfNecessary
(
viewHolder
);
if
(
mRecyclerView
.
isLayoutRequested
())
{
return
;
}
if
(
mActionState
!=
ACTION_STATE_DRAG
)
{
if
(
getActionState
()
!=
ACTION_STATE_DRAG
)
{
return
;
}
final
float
threshold
=
mCallback
.
getMoveThreshold
(
viewHolder
);
final
int
x
=
(
int
)
(
mSelectedStartX
+
mDx
);
final
int
y
=
(
int
)
(
mSelectedStartY
+
mDy
);
final
int
x
=
(
int
)
(
getSelectedStartX
()
+
mDx
);
final
int
y
=
(
int
)
(
getSelectedStartY
()
+
mDy
);
if
(
Math
.
abs
(
y
-
viewHolder
.
itemView
.
getTop
())
<
viewHolder
.
itemView
.
getHeight
()
*
threshold
&&
Math
.
abs
(
x
-
viewHolder
.
itemView
.
getLeft
())
<
viewHolder
.
itemView
.
getWidth
()
*
threshold
)
{
...
...
@@ -166,17 +195,12 @@ public class ItemTouchHelperPlus extends ItemTouchHelper {
@Override
public
void
run
()
{
if
(
System
.
currentTimeMillis
()
-
longPressTime
>=
mLongTime
)
{
if
(
DEBUG
)
Log
.
i
(
TAG
,
"enter delete"
);
mLongPressMode
=
true
;
if
(!
isLongPressCancel
)
{
if
(
getOnDragListener
()
!=
null
&&
mSelectId
>=
0
)
{
getOnDragListener
().
onDragLongPress
(
mSelectId
);
}
}
}
else
{
if
(
DEBUG
)
Log
.
i
(
TAG
,
"no enter long press "
+
(
System
.
currentTimeMillis
()
-
longPressTime
));
}
}
};
...
...
@@ -185,8 +209,6 @@ public class ItemTouchHelperPlus extends ItemTouchHelper {
if
(!
isLongPressMode
()
&&
!
isLongPressCancel
)
{
isLongPressCancel
=
true
;
endLongPressMode
();
if
(
DEBUG
)
Log
.
w
(
"kk"
,
"cancel enter long press"
);
}
}
...
...
@@ -246,10 +268,6 @@ public class ItemTouchHelperPlus extends ItemTouchHelper {
mInitialTouchX
=
x
;
mInitialTouchY
=
y
;
mDx
=
mDy
=
0
f
;
if
(
DEBUG
)
{
Log
.
d
(
TAG
,
"onlong press: x:"
+
mInitialTouchX
+
",y:"
+
mInitialTouchY
);
}
if
(
mCallback
.
isLongPressDragEnabled
())
{
select
(
vh
,
ACTION_STATE_DRAG
);
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerActivityImpl.java
View file @
8a704146
...
...
@@ -10,7 +10,8 @@ import android.support.annotation.Nullable;
import
android.support.v7.widget.AppCompatSpinner
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.RecyclerViewItemListener
;
import
android.support.v7.widget.helper.ItemTouchHelper2
;
import
android.support.v7.widget.helper.ItemTouchHelperPlus
;
import
android.support.v7.widget.helper.OnItemDragListener
;
import
android.text.InputType
;
import
android.text.TextUtils
;
import
android.util.Log
;
...
...
@@ -65,9 +66,8 @@ import ocgcore.data.LimitList;
import
ocgcore.enums.LimitType
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
YDK_FILE_EX
;
import
static
cn
.
garymb
.
ygomobile
.
lite
.
R
.
id
.
toolbar
;
class
DeckManagerActivityImpl
extends
BaseCardsAcitivity
implements
RecyclerViewItemListener
.
OnItemListener
,
ItemTouchHelper2
.
OnDragList
ner
{
class
DeckManagerActivityImpl
extends
BaseCardsAcitivity
implements
RecyclerViewItemListener
.
OnItemListener
,
OnItemDragListe
ner
{
private
RecyclerView
mRecyclerView
;
private
DeckAdapater
mDeckAdapater
;
private
AppsSettings
mSettings
=
AppsSettings
.
get
();
...
...
@@ -93,8 +93,8 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
mRecyclerView
.
setAdapter
((
mDeckAdapater
=
new
DeckAdapater
(
this
,
mRecyclerView
,
getImageLoader
())));
mRecyclerView
.
setLayoutManager
(
new
DeckLayoutManager
(
this
,
Constants
.
DECK_WIDTH_COUNT
));
mDeckItemTouchHelper
=
new
DeckItemTouchHelper
(
mDeckAdapater
);
mDeckItemTouchHelper
.
setOnDragListner
(
this
);
ItemTouchHelper2
touchHelper
=
new
ItemTouchHelper2
(
this
,
mDeckItemTouchHelper
);
ItemTouchHelperPlus
touchHelper
=
new
ItemTouchHelperPlus
(
this
,
mDeckItemTouchHelper
);
touchHelper
.
setItemDragListener
(
this
);
touchHelper
.
setEnableClickDrag
(
Constants
.
DECK_SINGLE_PRESS_DRAG
);
touchHelper
.
attachToRecyclerView
(
mRecyclerView
);
mRecyclerView
.
addOnItemTouchListener
(
new
RecyclerViewItemListener
(
mRecyclerView
,
this
));
...
...
@@ -218,7 +218,8 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
}
@Override
public
void
onDragEnd
()
{}
public
void
onDragEnd
()
{
}
private
void
loadDeck
(
File
file
)
{
loadDeck
(
file
,
false
);
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/deck/DeckItemTouchHelper.java
View file @
8a704146
...
...
@@ -3,7 +3,7 @@ package cn.garymb.ygomobile.ui.cards.deck;
import
android.support.v7.widget.GridLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.helper.ItemTouchHelper
;
import
android.support.v7.widget.helper.ItemTouchHelper
2
;
import
android.support.v7.widget.helper.ItemTouchHelper
Plus
;
import
android.util.Log
;
import
java.util.List
;
...
...
@@ -14,7 +14,7 @@ import cn.garymb.ygomobile.lite.R;
import
static
android
.
support
.
v7
.
widget
.
helper
.
ItemTouchHelper
.
ACTION_STATE_DRAG
;
import
static
android
.
support
.
v7
.
widget
.
helper
.
ItemTouchHelper
.
ACTION_STATE_IDLE
;
public
class
DeckItemTouchHelper
extends
ItemTouchHelper
2
.
Callback
{
public
class
DeckItemTouchHelper
extends
ItemTouchHelper
Plus
.
Callback
{
private
DeckDrager
mDeckDrager
;
private
static
final
String
TAG
=
"drag"
;
private
static
final
boolean
DEBUG
=
false
;
...
...
@@ -125,15 +125,6 @@ public class DeckItemTouchHelper extends ItemTouchHelper2.Callback {
mDeckDrager
.
delete
(
id
);
}
// 忘记是做啥的了
@Override
public
boolean
canAnimation
(
RecyclerView
recyclerView
,
RecyclerView
.
ViewHolder
viewHolder
)
{
if
(
viewHolder
!=
null
&&
viewHolder
.
getAdapterPosition
()
<
0
)
{
return
false
;
}
return
super
.
canAnimation
(
recyclerView
,
viewHolder
);
}
@Override
public
void
onMoved
(
RecyclerView
recyclerView
,
RecyclerView
.
ViewHolder
viewHolder
,
int
fromPos
,
RecyclerView
.
ViewHolder
target
,
int
toPos
,
int
x
,
int
y
)
{
super
.
onMoved
(
recyclerView
,
viewHolder
,
fromPos
,
target
,
toPos
,
x
,
y
);
...
...
mobile/src/main/res/values-ko/strings.xml
View file @
8a704146
...
...
@@ -160,7 +160,7 @@
<string
name=
"check_choose_file"
formatted=
"false"
>
%s 을(를) 선택 하시겠습니까?
</string>
<string
name=
"settings_deck_delete_dialog"
>
카드 기록 삭제
</string>
<string
name=
"settings_deck_delete_dialog_desc"
>
show delete card dialog in deck editor
</string>
<string
name=
"delete_card"
formatted=
"false"
>
s 을(를) 삭제하겠습니까?
</string>
<string
name=
"delete_card"
formatted=
"false"
>
%
s 을(를) 삭제하겠습니까?
</string>
<string
name=
"clear_deck"
>
덱 초기화
</string>
<string
name=
"question_clear_deck"
>
덱을 초기화 하겠습니까?
</string>
<string
name=
"delete_server_info"
>
서버정보를 삭제하겠습니까?
</string>
...
...
@@ -219,6 +219,9 @@
<string
name=
"bgSelect"
>
배경으로 사용할 이미지를 선택하세요.
</string>
<string
name=
"avatarSelect"
>
아바타로 사용할 이미지를 선택하세요.
</string>
<string
name=
"ClickLinkArrows"
>
활성화된 링크마커
</string>
<string
name=
"tip_no_permission"
formatted=
"false"
>
the permission %s is denied.
</string>
<string
name=
"Already_Lastest"
>
이미 최신 버전입니다.
</string>
<string
name=
"about_immersive_mode"
>
16:9 화면 비율이 아닌 휴대전화 또는 터치 포인트가 어긋나는 경우 설정하십시오.
</string>
<string
name=
"OK"
>
OK
</string>
<string
name=
"Cancel"
>
Cancel
</string>
</resources>
mobile/src/main/res/values-zh/strings.xml
View file @
8a704146
...
...
@@ -219,6 +219,7 @@
<string
name=
"bgSelect"
>
点击相应背景选择文件
</string>
<string
name=
"avatarSelect"
>
点击相应头像选择文件
</string>
<string
name=
"ClickLinkArrows"
>
点亮箭头
</string>
<string
name=
"tip_no_permission"
formatted=
"false"
>
权限 %s 被你禁止了
</string>
<string
name=
"Already_Lastest"
>
已经是最新版本
</string>
<string
name=
"about_immersive_mode"
>
开关它来适配非16:9的分辨率屏幕,有的机型需要先在系统设置开启全屏应用
</string>
<string
name=
"OK"
>
确定
</string>
...
...
mobile/src/main/res/values/strings.xml
View file @
8a704146
...
...
@@ -223,6 +223,7 @@
<string
name=
"avatarSelect"
>
click avatar and select files
</string>
<string
name=
"ClickLinkArrows"
>
click link arrows
</string>
<string
name=
"Already_Lastest"
>
Already be the Lastest Version
</string>
<string
name=
"tip_no_permission"
formatted=
"false"
>
the permission %s is denied.
</string>
<string
name=
"about_immersive_mode"
>
switch it to optimize the screen resolution which isnot 16:9
</string>
<string
name=
"OK"
>
OK
</string>
<string
name=
"Cancel"
>
Cancel
</string>
...
...
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