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
875d6e44
Commit
875d6e44
authored
Sep 28, 2021
by
qq247321453
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update glide
parent
511d83d1
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
364 additions
and
178 deletions
+364
-178
mobile/build.gradle
mobile/build.gradle
+2
-1
mobile/proguard-rules.pro
mobile/proguard-rules.pro
+17
-2
mobile/src/main/java/cn/garymb/ygomobile/App.java
mobile/src/main/java/cn/garymb/ygomobile/App.java
+2
-4
mobile/src/main/java/cn/garymb/ygomobile/AppsSettings.java
mobile/src/main/java/cn/garymb/ygomobile/AppsSettings.java
+16
-23
mobile/src/main/java/cn/garymb/ygomobile/Constants.java
mobile/src/main/java/cn/garymb/ygomobile/Constants.java
+3
-1
mobile/src/main/java/cn/garymb/ygomobile/YGOStarter.java
mobile/src/main/java/cn/garymb/ygomobile/YGOStarter.java
+8
-8
mobile/src/main/java/cn/garymb/ygomobile/loader/ImageLoader.java
...src/main/java/cn/garymb/ygomobile/loader/ImageLoader.java
+54
-68
mobile/src/main/java/cn/garymb/ygomobile/ui/activities/BaseActivity.java
.../java/cn/garymb/ygomobile/ui/activities/BaseActivity.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/ui/activities/PermissionsActivity.java
...n/garymb/ygomobile/ui/activities/PermissionsActivity.java
+0
-2
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/BaseCardsActivity.java
.../java/cn/garymb/ygomobile/ui/cards/BaseCardsActivity.java
+3
-3
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardDetail.java
...rc/main/java/cn/garymb/ygomobile/ui/cards/CardDetail.java
+5
-5
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardSearchActivity.java
...java/cn/garymb/ygomobile/ui/cards/CardSearchActivity.java
+3
-3
mobile/src/main/java/cn/garymb/ygomobile/ui/file/FileAdapter.java
...rc/main/java/cn/garymb/ygomobile/ui/file/FileAdapter.java
+2
-3
mobile/src/main/java/cn/garymb/ygomobile/ui/mycard/MyCardActivity.java
...in/java/cn/garymb/ygomobile/ui/mycard/MyCardActivity.java
+8
-10
mobile/src/main/java/cn/garymb/ygomobile/ui/mycard/mcchat/util/ImageUtil.java
.../cn/garymb/ygomobile/ui/mycard/mcchat/util/ImageUtil.java
+5
-12
mobile/src/main/java/cn/garymb/ygomobile/ui/plus/ViewTargetPlus.java
...main/java/cn/garymb/ygomobile/ui/plus/ViewTargetPlus.java
+37
-10
mobile/src/main/java/cn/garymb/ygomobile/ui/preference/BasePreferenceFragment.java
...arymb/ygomobile/ui/preference/BasePreferenceFragment.java
+5
-0
mobile/src/main/java/cn/garymb/ygomobile/ui/preference/fragments/SettingFragment.java
...mb/ygomobile/ui/preference/fragments/SettingFragment.java
+4
-4
mobile/src/main/java/cn/garymb/ygomobile/utils/DeckUtil.java
mobile/src/main/java/cn/garymb/ygomobile/utils/DeckUtil.java
+19
-18
mobile/src/main/java/cn/garymb/ygomobile/utils/glide/BpgResourceDecoder.java
...a/cn/garymb/ygomobile/utils/glide/BpgResourceDecoder.java
+52
-0
mobile/src/main/java/cn/garymb/ygomobile/utils/glide/GlideCompat.java
...ain/java/cn/garymb/ygomobile/utils/glide/GlideCompat.java
+37
-0
mobile/src/main/java/cn/garymb/ygomobile/utils/glide/StringSignature.java
...java/cn/garymb/ygomobile/utils/glide/StringSignature.java
+43
-0
mobile/src/main/java/cn/garymb/ygomobile/utils/glide/YGOAppGlideModule.java
...va/cn/garymb/ygomobile/utils/glide/YGOAppGlideModule.java
+38
-0
No files found.
mobile/build.gradle
View file @
875d6e44
...
@@ -93,7 +93,8 @@ dependencies {
...
@@ -93,7 +93,8 @@ dependencies {
// implementation 'com.android.support:design:' + rootProject.ext.supportVersion
// implementation 'com.android.support:design:' + rootProject.ext.supportVersion
implementation
'org.jdeferred:jdeferred-android-aar:1.2.4'
implementation
'org.jdeferred:jdeferred-android-aar:1.2.4'
implementation
'com.github.bumptech.glide:glide:3.7.0'
implementation
'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor
'com.github.bumptech.glide:compiler:4.12.0'
implementation
(
'com.github.chrisbanes.photoview:library:1.2.4'
)
{
implementation
(
'com.github.chrisbanes.photoview:library:1.2.4'
)
{
implementation
'com.github.chrisbanes.photoview:library:1.2.4'
implementation
'com.github.chrisbanes.photoview:library:1.2.4'
exclude
group:
'com.android.support'
,
module:
'support-v4'
//
exclude
group:
'com.android.support'
,
module:
'support-v4'
//
...
...
mobile/proguard-rules.pro
View file @
875d6e44
...
@@ -17,9 +17,24 @@
...
@@ -17,9 +17,24 @@
#
}
#
}
-
keepclassmembers
class
*
implements
cn
.
garymb
.
ygomobile
.
core
.
IrrlichtBridge
.
*
{
public
*
;}
-
keepclassmembers
class
*
implements
cn
.
garymb
.
ygomobile
.
core
.
IrrlichtBridge
.
*
{
public
*
;}
-
keepclassmembers
class
*
implements
android
.
os
.
Parcelable
{
public
*
;}
-
keepclassmembers
class
*
implements
android
.
os
.
Parcelable
{
public
*
;}
-
keep
class
*
implements
com
.
bumptech
.
glide
.
module
.
GlideModule
{
*
;
#############
-
keep
public
class
*
implements
com
.
bumptech
.
glide
.
module
.
GlideModule
-
keep
class
*
extends
com
.
bumptech
.
glide
.
module
.
AppGlideModule
{
<
init
>
(...);
}
-
keep
public
enum
com
.
bumptech
.
glide
.
load
.
ImageHeaderParser
$
**
{
**
[]
$
VALUES
;
public
*
;
}
}
-
keep
class
com
.
bumptech
.
glide
.
load
.
data
.
ParcelFileDescriptorRewinder
$
InternalRewinder
{
***
rewind
();
}
#
for
DexGuard
only
#-
keepresourcexmlelements
manifest
/
application
/
meta
-
data
@
value
=
GlideModule
#############
-
keep
class
net
.
kk
.
xml
.
**
{
-
keep
class
net
.
kk
.
xml
.
**
{
public
*
;
public
*
;
protected
*
;
protected
*
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/App.java
View file @
875d6e44
...
@@ -6,13 +6,10 @@ import android.content.Context;
...
@@ -6,13 +6,10 @@ import android.content.Context;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.content.pm.ApplicationInfo
;
import
android.content.pm.ApplicationInfo
;
import
android.content.pm.PackageManager
;
import
android.content.pm.PackageManager
;
import
android.util.Log
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
androidx.appcompat.app.AppCompatDelegate
;
import
androidx.appcompat.app.AppCompatDelegate
;
import
com.bumptech.glide.Glide
;
import
com.ourygo.assistant.util.DuelAssistantManagement
;
import
com.tencent.bugly.Bugly
;
import
com.tencent.bugly.Bugly
;
import
com.tencent.bugly.beta.Beta
;
import
com.tencent.bugly.beta.Beta
;
import
com.tencent.smtt.export.external.TbsCoreSettings
;
import
com.tencent.smtt.export.external.TbsCoreSettings
;
...
@@ -26,6 +23,7 @@ import cn.garymb.ygomobile.lite.BuildConfig;
...
@@ -26,6 +23,7 @@ import cn.garymb.ygomobile.lite.BuildConfig;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.home.MainActivity
;
import
cn.garymb.ygomobile.ui.home.MainActivity
;
import
cn.garymb.ygomobile.utils.CrashHandler
;
import
cn.garymb.ygomobile.utils.CrashHandler
;
import
cn.garymb.ygomobile.utils.glide.GlideCompat
;
import
cn.garymb.ygomobile.utils.ProcessUtils
;
import
cn.garymb.ygomobile.utils.ProcessUtils
;
public
class
App
extends
GameApplication
{
public
class
App
extends
GameApplication
{
...
@@ -164,7 +162,7 @@ public class App extends GameApplication {
...
@@ -164,7 +162,7 @@ public class App extends GameApplication {
ISNav
.
getInstance
().
init
(
new
ImageLoader
()
{
ISNav
.
getInstance
().
init
(
new
ImageLoader
()
{
@Override
@Override
public
void
displayImage
(
Context
context
,
String
path
,
ImageView
imageView
)
{
public
void
displayImage
(
Context
context
,
String
path
,
ImageView
imageView
)
{
Glide
.
with
(
context
).
load
(
path
).
into
(
imageView
);
Glide
Compat
.
with
(
context
).
load
(
path
).
into
(
imageView
);
}
}
});
});
}
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/AppsSettings.java
View file @
875d6e44
...
@@ -12,7 +12,6 @@ import androidx.annotation.Nullable;
...
@@ -12,7 +12,6 @@ import androidx.annotation.Nullable;
import
org.json.JSONArray
;
import
org.json.JSONArray
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileFilter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
...
@@ -224,13 +223,23 @@ public class AppsSettings {
...
@@ -224,13 +223,23 @@ public class AppsSettings {
return
new
File
(
getDataBasePath
(),
Constants
.
DATABASE_NAME
);
return
new
File
(
getDataBasePath
(),
Constants
.
DATABASE_NAME
);
}
}
public
File
[]
getExpansionFiles
(){
return
new
File
(
AppsSettings
.
get
().
getResourcePath
(),
Constants
.
CORE_EXPANSIONS
)
.
listFiles
((
file
)
->
{
if
(!
file
.
isFile
()){
return
false
;
}
String
s_name
=
file
.
getName
().
toLowerCase
();
return
s_name
.
endsWith
(
".zip"
)
||
s_name
.
endsWith
(
".ypk"
);
});
}
private
void
makeCdbList
(
List
<
String
>
pathList
)
{
private
void
makeCdbList
(
List
<
String
>
pathList
)
{
if
(
isReadExpansions
())
{
if
(
isReadExpansions
())
{
File
expansionsDir
=
getExpansionsPath
();
File
expansionsDir
=
getExpansionsPath
();
if
(
expansionsDir
.
exists
())
{
if
(
expansionsDir
.
exists
())
{
File
[]
cdbs
=
expansionsDir
.
listFiles
(
file
->
{
File
[]
cdbs
=
expansionsDir
.
listFiles
(
file
->
file
.
isFile
()
&&
file
.
getName
().
toLowerCase
(
Locale
.
US
).
endsWith
(
".cdb"
));
return
file
.
isFile
()
&&
file
.
getName
().
toLowerCase
(
Locale
.
US
).
endsWith
(
".cdb"
);
});
if
(
cdbs
!=
null
)
{
if
(
cdbs
!=
null
)
{
try
{
try
{
Arrays
.
sort
(
cdbs
,
(
file
,
t1
)
->
{
Arrays
.
sort
(
cdbs
,
(
file
,
t1
)
->
{
...
@@ -259,25 +268,9 @@ public class AppsSettings {
...
@@ -259,25 +268,9 @@ public class AppsSettings {
if
(
isReadExpansions
())
{
if
(
isReadExpansions
())
{
File
expansionsDir
=
getExpansionsPath
();
File
expansionsDir
=
getExpansionsPath
();
if
(
expansionsDir
.
exists
())
{
if
(
expansionsDir
.
exists
())
{
File
[]
zips
=
expansionsDir
.
listFiles
(
new
FileFilter
()
{
File
[]
files
=
getExpansionFiles
();
@Override
if
(
files
!=
null
)
{
public
boolean
accept
(
File
file
)
{
for
(
File
file
:
files
)
{
return
file
.
isFile
()
&&
file
.
getName
().
toLowerCase
(
Locale
.
US
).
endsWith
(
".zip"
);
}
});
if
(
zips
!=
null
)
{
for
(
File
file
:
zips
)
{
pathList
.
add
(
file
.
getAbsolutePath
());
}
}
File
[]
ypks
=
expansionsDir
.
listFiles
(
new
FileFilter
()
{
@Override
public
boolean
accept
(
File
file
)
{
return
file
.
isFile
()
&&
file
.
getName
().
toLowerCase
(
Locale
.
US
).
endsWith
(
".ypk"
);
}
});
if
(
ypks
!=
null
)
{
for
(
File
file
:
ypks
)
{
pathList
.
add
(
file
.
getAbsolutePath
());
pathList
.
add
(
file
.
getAbsolutePath
());
}
}
}
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/Constants.java
View file @
875d6e44
...
@@ -93,8 +93,10 @@ public interface Constants {
...
@@ -93,8 +93,10 @@ public interface Constants {
String
YDK_FILE_EX
=
".ydk"
;
String
YDK_FILE_EX
=
".ydk"
;
int
[]
CORE_SKIN_BG_SIZE
=
new
int
[]{
1280
,
720
};
int
[]
CORE_SKIN_BG_SIZE
=
new
int
[]{
1280
,
720
};
int
[]
CORE_SKIN_CARD_MINI_SIZE
=
new
int
[]{
44
,
64
};
int
[]
CORE_SKIN_CARD_SMALL_SIZE
=
new
int
[]{
177
,
254
};
int
[]
CORE_SKIN_CARD_SMALL_SIZE
=
new
int
[]{
177
,
254
};
int
[]
CORE_SKIN_CARD_MIDDLE_SIZE
=
new
int
[]{
531
,
762
};
//原图
int
[]
CORE_SKIN_CARD_MIDDLE_SIZE
=
new
int
[]{
397
,
578
};
int
[]
CORE_SKIN_CARD_COVER_SIZE
=
new
int
[]{
177
,
254
};
int
[]
CORE_SKIN_CARD_COVER_SIZE
=
new
int
[]{
177
,
254
};
int
[]
CORE_SKIN_AVATAR_SIZE
=
new
int
[]{
128
,
128
};
int
[]
CORE_SKIN_AVATAR_SIZE
=
new
int
[]{
128
,
128
};
...
...
mobile/src/main/java/cn/garymb/ygomobile/YGOStarter.java
View file @
875d6e44
...
@@ -17,11 +17,9 @@ import android.view.WindowManager;
...
@@ -17,11 +17,9 @@ import android.view.WindowManager;
import
androidx.appcompat.app.ActionBar
;
import
androidx.appcompat.app.ActionBar
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.load.engine.DiskCacheStrategy
;
import
com.bumptech.glide.load.engine.DiskCacheStrategy
;
import
com.bumptech.glide.request.target.ViewTarget
;
import
com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
;
import
com.bumptech.glide.signature.StringSignature
;
import
com.bumptech.glide.signature.MediaStoreSignature
;
import
com.tencent.bugly.proguard.C
;
import
java.io.File
;
import
java.io.File
;
import
java.util.HashMap
;
import
java.util.HashMap
;
...
@@ -31,6 +29,7 @@ import cn.garymb.ygomobile.core.IrrlichtBridge;
...
@@ -31,6 +29,7 @@ import cn.garymb.ygomobile.core.IrrlichtBridge;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.plus.ViewTargetPlus
;
import
cn.garymb.ygomobile.ui.plus.ViewTargetPlus
;
import
cn.garymb.ygomobile.utils.ComponentUtils
;
import
cn.garymb.ygomobile.utils.ComponentUtils
;
import
cn.garymb.ygomobile.utils.glide.GlideCompat
;
public
class
YGOStarter
{
public
class
YGOStarter
{
...
@@ -83,12 +82,13 @@ public class YGOStarter {
...
@@ -83,12 +82,13 @@ public class YGOStarter {
File
bgfile
=
new
File
(
AppsSettings
.
get
().
getCoreSkinPath
(),
Constants
.
CORE_SKIN_BG
);
File
bgfile
=
new
File
(
AppsSettings
.
get
().
getCoreSkinPath
(),
Constants
.
CORE_SKIN_BG
);
if
(
bgfile
.
exists
())
{
if
(
bgfile
.
exists
())
{
// .getApplicationContext()
// .getApplicationContext()
Glide
.
with
(
activity
).
load
(
bgfile
)
GlideCompat
.
with
(
activity
).
load
(
bgfile
)
.
signature
(
new
StringSignature
(
bgfile
.
getName
()
+
bgfile
.
lastModified
()))
.
signature
(
new
MediaStoreSignature
(
"image/*"
,
bgfile
.
lastModified
(),
0
))
.
transition
(
DrawableTransitionOptions
.
withCrossFade
())
.
diskCacheStrategy
(
DiskCacheStrategy
.
NONE
)
.
diskCacheStrategy
(
DiskCacheStrategy
.
NONE
)
.
into
(
activityShowInfo
.
mViewTarget
);
.
into
(
activityShowInfo
.
mViewTarget
);
}
else
{
}
else
{
Glide
.
with
(
activity
.
getApplicationContext
()).
load
(
R
.
drawable
.
bg
).
into
(
activityShowInfo
.
mViewTarget
);
Glide
Compat
.
with
(
activity
.
getApplicationContext
()).
load
(
R
.
drawable
.
bg
).
into
(
activityShowInfo
.
mViewTarget
);
}
}
activity
.
setRequestedOrientation
(
ActivityInfo
.
SCREEN_ORIENTATION_LANDSCAPE
);
//强制为横屏
activity
.
setRequestedOrientation
(
ActivityInfo
.
SCREEN_ORIENTATION_LANDSCAPE
);
//强制为横屏
setFullScreen
(
activity
,
activityShowInfo
);
setFullScreen
(
activity
,
activityShowInfo
);
...
@@ -188,7 +188,7 @@ public class YGOStarter {
...
@@ -188,7 +188,7 @@ public class YGOStarter {
private
static
class
ActivityShowInfo
{
private
static
class
ActivityShowInfo
{
//根布局
//根布局
View
mRoot
;
View
mRoot
;
ViewTarget
mViewTarget
;
ViewTarget
Plus
mViewTarget
;
//是否显示了标题栏
//是否显示了标题栏
boolean
hasSupperbar
;
boolean
hasSupperbar
;
//是否显示了标题栏
//是否显示了标题栏
...
...
mobile/src/main/java/cn/garymb/ygomobile/loader/ImageLoader.java
View file @
875d6e44
package
cn.garymb.ygomobile.loader
;
package
cn.garymb.ygomobile.loader
;
import
android.graphics.Bitmap
;
import
android.graphics.drawable.Drawable
;
import
android.graphics.drawable.Drawable
;
import
android.net.Uri
;
import
android.net.Uri
;
import
android.util.Log
;
import
android.util.Log
;
...
@@ -9,16 +8,10 @@ import android.widget.ImageView;
...
@@ -9,16 +8,10 @@ import android.widget.ImageView;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
com.bumptech.glide.DrawableTypeRequest
;
import
com.bumptech.glide.RequestBuilder
;
import
com.bumptech.glide.load.ResourceDecoder
;
import
com.bumptech.glide.load.engine.Resource
;
import
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool
;
import
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool
;
import
com.bumptech.glide.load.model.ImageVideoWrapper
;
import
com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
;
import
com.bumptech.glide.load.resource.bitmap.BitmapResource
;
import
com.bumptech.glide.load.resource.gifbitmap.GifBitmapWrapper
;
import
com.bumptech.glide.load.resource.gifbitmap.GifBitmapWrapperResource
;
import
com.bumptech.glide.signature.MediaStoreSignature
;
import
com.bumptech.glide.signature.MediaStoreSignature
;
import
com.bumptech.glide.signature.StringSignature
;
import
java.io.ByteArrayOutputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.Closeable
;
import
java.io.Closeable
;
...
@@ -34,24 +27,32 @@ import java.util.zip.ZipFile;
...
@@ -34,24 +27,32 @@ import java.util.zip.ZipFile;
import
cn.garymb.ygomobile.AppsSettings
;
import
cn.garymb.ygomobile.AppsSettings
;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.core.IrrlichtBridge
;
import
cn.garymb.ygomobile.lite.BuildConfig
;
import
cn.garymb.ygomobile.lite.BuildConfig
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.utils.FileUtils
;
import
cn.garymb.ygomobile.utils.FileUtils
;
import
cn.garymb.ygomobile.utils.IOUtils
;
import
cn.garymb.ygomobile.utils.IOUtils
;
import
cn.garymb.ygomobile.utils.NetUtils
;
import
cn.garymb.ygomobile.utils.NetUtils
;
import
cn.garymb.ygomobile.utils.glide.GlideCompat
;
import
cn.garymb.ygomobile.utils.glide.StringSignature
;
import
ocgcore.data.Card
;
import
ocgcore.data.Card
;
import
static
com
.
bumptech
.
glide
.
Glide
.
with
;
public
class
ImageLoader
implements
Closeable
{
public
class
ImageLoader
implements
Closeable
{
public
enum
Type
{
public
enum
Type
{
//origin size
//origin size
origin
,
origin
(
0
),
//44x64
@Deprecated
mini
(
1
),
//177x254
//177x254
small
,
small
(
2
)
,
//531x762
//531x762
middle
middle
(
3
);
private
final
int
id
;
Type
(
int
id
){
this
.
id
=
id
;}
public
int
getId
()
{
return
id
;
}
}
}
private
static
class
Cache
{
private
static
class
Cache
{
...
@@ -67,7 +68,6 @@ public class ImageLoader implements Closeable {
...
@@ -67,7 +68,6 @@ public class ImageLoader implements Closeable {
private
final
boolean
useCache
;
private
final
boolean
useCache
;
private
static
final
String
TAG
=
ImageLoader
.
class
.
getSimpleName
();
private
static
final
String
TAG
=
ImageLoader
.
class
.
getSimpleName
();
private
final
Map
<
String
,
ZipFile
>
zipFileCache
=
new
ConcurrentHashMap
<>();
private
final
Map
<
String
,
ZipFile
>
zipFileCache
=
new
ConcurrentHashMap
<>();
private
final
LruBitmapPool
mLruBitmapPool
=
new
LruBitmapPool
(
128
);
private
final
Map
<
Long
,
Cache
>
zipDataCache
=
new
ConcurrentHashMap
<>();
private
final
Map
<
Long
,
Cache
>
zipDataCache
=
new
ConcurrentHashMap
<>();
private
ZipFile
mDefaultZipFile
;
private
ZipFile
mDefaultZipFile
;
private
File
mPicsFile
;
private
File
mPicsFile
;
...
@@ -134,7 +134,7 @@ public class ImageLoader implements Closeable {
...
@@ -134,7 +134,7 @@ public class ImageLoader implements Closeable {
bindT
(
uri
,
name
,
imageview
,
pre
,
type
);
bindT
(
uri
,
name
,
imageview
,
pre
,
type
);
}
}
private
<
T
>
void
setDefaults
(
@NonNull
DrawableTypeRequest
<
T
>
resource
,
String
nam
e
,
private
<
T
>
void
setDefaults
(
@NonNull
RequestBuilder
<
Drawable
>
resourc
e
,
@Nullable
com
.
bumptech
.
glide
.
load
.
Key
signature
,
@Nullable
com
.
bumptech
.
glide
.
load
.
Key
signature
,
@Nullable
Drawable
pre
,
@Nullable
Drawable
pre
,
@NonNull
Type
type
)
{
@NonNull
Type
type
)
{
...
@@ -144,34 +144,31 @@ public class ImageLoader implements Closeable {
...
@@ -144,34 +144,31 @@ public class ImageLoader implements Closeable {
resource
.
placeholder
(
R
.
drawable
.
unknown
);
resource
.
placeholder
(
R
.
drawable
.
unknown
);
}
}
resource
.
error
(
R
.
drawable
.
unknown
);
resource
.
error
(
R
.
drawable
.
unknown
);
resource
.
animate
(
R
.
anim
.
push_in
);
resource
.
transition
(
DrawableTransitionOptions
.
withCrossFade
());
if
(
type
!=
Type
.
origin
)
{
//都改为原图
int
[]
size
=
null
;
// if (type != Type.origin) {
switch
(
type
)
{
// int[] size = null;
case
small:
// switch (type) {
size
=
Constants
.
CORE_SKIN_CARD_SMALL_SIZE
;
// case small:
break
;
// size = Constants.CORE_SKIN_CARD_SMALL_SIZE;
case
middle:
// break;
size
=
Constants
.
CORE_SKIN_CARD_MIDDLE_SIZE
;
// case middle:
break
;
// size = Constants.CORE_SKIN_CARD_MIDDLE_SIZE;
}
// break;
if
(
size
!=
null
)
{
// }
resource
.
override
(
size
[
0
],
size
[
1
]);
// if (size != null) {
}
// resource.override(size[0], size[1]);
}
// }
// }
if
(
signature
!=
null
)
{
if
(
signature
!=
null
)
{
resource
.
signature
(
signature
);
resource
.
signature
(
signature
);
}
}
String
ex
=
FileUtils
.
getFileExpansion
(
name
);
if
(
"bpg"
.
equals
(
ex
))
{
resource
.
decoder
(
new
BpgResourceDecoder
(
name
,
mLruBitmapPool
));
}
}
}
private
<
T
>
void
bindT
(
final
T
data
,
String
name
,
ImageView
imageview
,
Drawable
pre
,
@NonNull
Type
type
)
{
private
<
T
>
void
bindT
(
final
T
data
,
String
name
,
ImageView
imageview
,
Drawable
pre
,
@NonNull
Type
type
)
{
try
{
try
{
DrawableTypeRequest
<
T
>
resource
=
with
(
imageview
.
getContext
()).
load
(
data
);
RequestBuilder
<
Drawable
>
resource
=
GlideCompat
.
with
(
imageview
.
getContext
()).
load
(
data
);
setDefaults
(
resource
,
n
ame
,
n
ew
StringSignature
(
name
+
":"
+
type
),
pre
,
type
);
setDefaults
(
resource
,
new
StringSignature
(
name
+
":"
+
type
),
pre
,
type
);
resource
.
into
(
imageview
);
resource
.
into
(
imageview
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
Log
.
e
(
TAG
,
"$"
,
e
);
Log
.
e
(
TAG
,
"$"
,
e
);
...
@@ -183,10 +180,10 @@ public class ImageLoader implements Closeable {
...
@@ -183,10 +180,10 @@ public class ImageLoader implements Closeable {
Log
.
v
(
TAG
,
"bind file:"
+
file
.
getPath
()
+
", type="
+
type
);
Log
.
v
(
TAG
,
"bind file:"
+
file
.
getPath
()
+
", type="
+
type
);
}
}
try
{
try
{
DrawableTypeRequest
<
File
>
resource
=
with
(
imageview
.
getContext
()).
load
(
file
);
RequestBuilder
<
Drawable
>
resource
=
GlideCompat
.
with
(
imageview
.
getContext
()).
load
(
file
);
setDefaults
(
resource
,
file
.
getName
(),
setDefaults
(
resource
,
new
MediaStoreSignature
(
"image/*"
,
new
MediaStoreSignature
(
"image/*"
,
file
.
lastModified
(),
Type
.
origin
.
getId
()),
file
.
lastModified
(),
type
.
ordinal
()),
pre
,
type
);
pre
,
type
);
resource
.
into
(
imageview
);
resource
.
into
(
imageview
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
Log
.
e
(
TAG
,
"$"
,
e
);
Log
.
e
(
TAG
,
"$"
,
e
);
...
@@ -244,6 +241,20 @@ public class ImageLoader implements Closeable {
...
@@ -244,6 +241,20 @@ public class ImageLoader implements Closeable {
bindImage
(
imageview
,
code
,
null
,
type
);
bindImage
(
imageview
,
code
,
null
,
type
);
}
}
public
static
File
getImageFile
(
long
code
){
for
(
String
ex
:
Constants
.
IMAGE_EX
)
{
File
file
=
new
File
(
AppsSettings
.
get
().
getResourcePath
(),
Constants
.
CORE_IMAGE_PATH
+
"/"
+
code
+
ex
);
if
(
file
.
exists
()){
return
file
;
}
File
file_ex
=
new
File
(
AppsSettings
.
get
().
getResourcePath
(),
Constants
.
CORE_EXPANSIONS_IMAGE_PATH
+
"/"
+
code
+
ex
);
if
(
file_ex
.
exists
()){
return
file_ex
;
}
}
return
null
;
}
public
void
bindImage
(
ImageView
imageview
,
long
code
,
Drawable
pre
,
@NonNull
Type
type
)
{
public
void
bindImage
(
ImageView
imageview
,
long
code
,
Drawable
pre
,
@NonNull
Type
type
)
{
if
(
BuildConfig
.
DEBUG_MODE
)
{
if
(
BuildConfig
.
DEBUG_MODE
)
{
Log
.
v
(
TAG
,
"bind image:"
+
code
+
", type="
+
type
);
Log
.
v
(
TAG
,
"bind image:"
+
code
+
", type="
+
type
);
...
@@ -283,8 +294,7 @@ public class ImageLoader implements Closeable {
...
@@ -283,8 +294,7 @@ public class ImageLoader implements Closeable {
}
}
//3.
//3.
//zips
//zips
File
[]
files
=
new
File
(
AppsSettings
.
get
().
getResourcePath
(),
Constants
.
CORE_EXPANSIONS
)
File
[]
files
=
AppsSettings
.
get
().
getExpansionFiles
();
.
listFiles
((
dir
,
name1
)
->
name1
.
endsWith
(
".zip"
)
||
name1
.
endsWith
(
".ypk"
));
cleanInValidZips
();
cleanInValidZips
();
...
@@ -321,28 +331,4 @@ public class ImageLoader implements Closeable {
...
@@ -321,28 +331,4 @@ public class ImageLoader implements Closeable {
}
}
}
}
private
static
class
BpgResourceDecoder
implements
ResourceDecoder
<
ImageVideoWrapper
,
GifBitmapWrapper
>
{
private
final
String
id
;
private
final
LruBitmapPool
mLruBitmapPool
;
private
BpgResourceDecoder
(
String
id
,
LruBitmapPool
lruBitmapPool
)
{
this
.
id
=
id
;
this
.
mLruBitmapPool
=
lruBitmapPool
;
}
@Override
public
Resource
<
GifBitmapWrapper
>
decode
(
ImageVideoWrapper
source
,
int
width
,
int
height
)
{
Bitmap
bitmap
=
IrrlichtBridge
.
getBpgImage
(
source
.
getStream
(),
Bitmap
.
Config
.
RGB_565
);
if
(
bitmap
==
null
)
{
return
null
;
}
BitmapResource
resource
=
new
BitmapResource
(
bitmap
,
mLruBitmapPool
);
return
new
GifBitmapWrapperResource
(
new
GifBitmapWrapper
(
resource
,
null
));
}
@Override
public
String
getId
()
{
return
id
;
}
}
}
}
mobile/src/main/java/cn/garymb/ygomobile/ui/activities/BaseActivity.java
View file @
875d6e44
...
@@ -256,7 +256,7 @@ public class BaseActivity extends AppCompatActivity {
...
@@ -256,7 +256,7 @@ public class BaseActivity extends AppCompatActivity {
}
}
public
Context
getContext
()
{
public
Context
getContext
()
{
return
getActivity
()
;
return
this
;
}
}
protected
<
T
extends
View
>
T
$
(
int
id
)
{
protected
<
T
extends
View
>
T
$
(
int
id
)
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/activities/PermissionsActivity.java
View file @
875d6e44
...
@@ -16,8 +16,6 @@ import androidx.appcompat.app.AppCompatActivity;
...
@@ -16,8 +16,6 @@ import androidx.appcompat.app.AppCompatActivity;
import
androidx.core.app.ActivityCompat
;
import
androidx.core.app.ActivityCompat
;
import
androidx.core.content.ContextCompat
;
import
androidx.core.content.ContextCompat
;
import
com.bumptech.glide.GenericTranscodeRequest
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/BaseCardsActivity.java
View file @
875d6e44
...
@@ -22,7 +22,6 @@ import com.app.hubert.guide.NewbieGuide;
...
@@ -22,7 +22,6 @@ import com.app.hubert.guide.NewbieGuide;
import
com.app.hubert.guide.model.GuidePage
;
import
com.app.hubert.guide.model.GuidePage
;
import
com.app.hubert.guide.model.HighLight
;
import
com.app.hubert.guide.model.HighLight
;
import
com.app.hubert.guide.model.HighlightOptions
;
import
com.app.hubert.guide.model.HighlightOptions
;
import
com.bumptech.glide.Glide
;
import
java.util.List
;
import
java.util.List
;
...
@@ -32,6 +31,7 @@ import cn.garymb.ygomobile.loader.CardLoader;
...
@@ -32,6 +31,7 @@ import cn.garymb.ygomobile.loader.CardLoader;
import
cn.garymb.ygomobile.loader.ImageLoader
;
import
cn.garymb.ygomobile.loader.ImageLoader
;
import
cn.garymb.ygomobile.ui.activities.BaseActivity
;
import
cn.garymb.ygomobile.ui.activities.BaseActivity
;
import
cn.garymb.ygomobile.ui.adapters.CardListAdapter
;
import
cn.garymb.ygomobile.ui.adapters.CardListAdapter
;
import
cn.garymb.ygomobile.utils.glide.GlideCompat
;
import
ocgcore.DataManager
;
import
ocgcore.DataManager
;
import
ocgcore.LimitManager
;
import
ocgcore.LimitManager
;
import
ocgcore.StringManager
;
import
ocgcore.StringManager
;
...
@@ -180,10 +180,10 @@ public abstract class BaseCardsActivity extends BaseActivity implements CardLoad
...
@@ -180,10 +180,10 @@ public abstract class BaseCardsActivity extends BaseActivity implements CardLoad
switch
(
newState
)
{
switch
(
newState
)
{
case
RecyclerView
.
SCROLL_STATE_IDLE
:
case
RecyclerView
.
SCROLL_STATE_IDLE
:
case
RecyclerView
.
SCROLL_STATE_SETTLING
:
case
RecyclerView
.
SCROLL_STATE_SETTLING
:
Glide
.
with
(
getContext
()).
resumeRequests
();
Glide
Compat
.
with
(
getContext
()).
resumeRequests
();
break
;
break
;
case
RecyclerView
.
SCROLL_STATE_DRAGGING
:
case
RecyclerView
.
SCROLL_STATE_DRAGGING
:
Glide
.
with
(
getContext
()).
pauseRequests
();
Glide
Compat
.
with
(
getContext
()).
pauseRequests
();
break
;
break
;
}
}
}
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardDetail.java
View file @
875d6e44
...
@@ -349,7 +349,6 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
...
@@ -349,7 +349,6 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
private
void
showCardImageDetail
(
int
code
)
{
private
void
showCardImageDetail
(
int
code
)
{
AppsSettings
appsSettings
=
AppsSettings
.
get
();
AppsSettings
appsSettings
=
AppsSettings
.
get
();
File
file
=
new
File
(
appsSettings
.
getCardImagePath
(
code
));
View
view
=
dialog
.
initDialog
(
context
,
R
.
layout
.
dialog_photo
);
View
view
=
dialog
.
initDialog
(
context
,
R
.
layout
.
dialog_photo
);
dialog
.
setDialogWidth
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
);
dialog
.
setDialogWidth
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
);
...
@@ -391,7 +390,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
...
@@ -391,7 +390,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
btn_redownload
.
setOnClickListener
((
s
)
->
{
btn_redownload
.
setOnClickListener
((
s
)
->
{
ll_btn
.
startAnimation
(
AnimationUtils
.
loadAnimation
(
context
,
R
.
anim
.
push_out
));
ll_btn
.
startAnimation
(
AnimationUtils
.
loadAnimation
(
context
,
R
.
anim
.
push_out
));
ll_btn
.
setVisibility
(
View
.
GONE
);
ll_btn
.
setVisibility
(
View
.
GONE
);
downloadCardImage
(
code
,
file
,
true
);
downloadCardImage
(
code
,
true
);
});
});
btn_share
.
setOnClickListener
((
s
)
->
{
btn_share
.
setOnClickListener
((
s
)
->
{
...
@@ -418,17 +417,18 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
...
@@ -418,17 +417,18 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
//先显示普通卡片大图,判断如果没有高清图就下载
//先显示普通卡片大图,判断如果没有高清图就下载
imageLoader
.
bindImage
(
photoView
,
code
,
null
,
ImageLoader
.
Type
.
middle
);
imageLoader
.
bindImage
(
photoView
,
code
,
null
,
ImageLoader
.
Type
.
middle
);
if
(
!
file
.
exists
(
))
{
if
(
null
==
ImageLoader
.
getImageFile
(
code
))
{
downloadCardImage
(
code
,
f
ile
,
f
alse
);
downloadCardImage
(
code
,
false
);
}
}
}
}
private
void
downloadCardImage
(
int
code
,
File
imgFile
,
boolean
force
)
{
private
void
downloadCardImage
(
int
code
,
boolean
force
)
{
if
(
cardManager
.
getCard
(
code
)
==
null
)
{
if
(
cardManager
.
getCard
(
code
)
==
null
)
{
YGOUtil
.
show
(
context
.
getString
(
R
.
string
.
tip_expansions_image
));
YGOUtil
.
show
(
context
.
getString
(
R
.
string
.
tip_expansions_image
));
return
;
return
;
}
}
File
imgFile
=
new
File
(
AppsSettings
.
get
().
getCardImagePath
(
code
));
final
File
tmp
=
new
File
(
imgFile
.
getAbsolutePath
()
+
".tmp"
);
final
File
tmp
=
new
File
(
imgFile
.
getAbsolutePath
()
+
".tmp"
);
if
(
tmp
.
exists
())
{
if
(
tmp
.
exists
())
{
if
(
force
){
if
(
force
){
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardSearchActivity.java
View file @
875d6e44
...
@@ -26,7 +26,6 @@ import com.app.hubert.guide.NewbieGuide;
...
@@ -26,7 +26,6 @@ import com.app.hubert.guide.NewbieGuide;
import
com.app.hubert.guide.model.GuidePage
;
import
com.app.hubert.guide.model.GuidePage
;
import
com.app.hubert.guide.model.HighLight
;
import
com.app.hubert.guide.model.HighLight
;
import
com.app.hubert.guide.model.HighlightOptions
;
import
com.app.hubert.guide.model.HighlightOptions
;
import
com.bumptech.glide.Glide
;
import
com.ourygo.assistant.util.DuelAssistantManagement
;
import
com.ourygo.assistant.util.DuelAssistantManagement
;
import
java.util.List
;
import
java.util.List
;
...
@@ -42,6 +41,7 @@ import cn.garymb.ygomobile.ui.adapters.CardListAdapter;
...
@@ -42,6 +41,7 @@ import cn.garymb.ygomobile.ui.adapters.CardListAdapter;
import
cn.garymb.ygomobile.ui.plus.AOnGestureListener
;
import
cn.garymb.ygomobile.ui.plus.AOnGestureListener
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.utils.glide.GlideCompat
;
import
ocgcore.DataManager
;
import
ocgcore.DataManager
;
import
ocgcore.LimitManager
;
import
ocgcore.LimitManager
;
import
ocgcore.StringManager
;
import
ocgcore.StringManager
;
...
@@ -170,11 +170,11 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
...
@@ -170,11 +170,11 @@ public class CardSearchActivity extends BaseActivity implements CardLoader.CallB
case
RecyclerView
.
SCROLL_STATE_IDLE
:
case
RecyclerView
.
SCROLL_STATE_IDLE
:
case
RecyclerView
.
SCROLL_STATE_SETTLING
:
case
RecyclerView
.
SCROLL_STATE_SETTLING
:
if
(!
isFinishing
())
{
if
(!
isFinishing
())
{
Glide
.
with
(
getContext
()).
resumeRequests
();
Glide
Compat
.
with
(
getContext
()).
resumeRequests
();
}
}
break
;
break
;
case
RecyclerView
.
SCROLL_STATE_DRAGGING
:
case
RecyclerView
.
SCROLL_STATE_DRAGGING
:
Glide
.
with
(
getContext
()).
pauseRequests
();
Glide
Compat
.
with
(
getContext
()).
pauseRequests
();
break
;
break
;
}
}
}
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/file/FileAdapter.java
View file @
875d6e44
...
@@ -12,8 +12,6 @@ import android.widget.ImageView;
...
@@ -12,8 +12,6 @@ import android.widget.ImageView;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.bumptech.glide.Glide
;
import
java.io.File
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -25,6 +23,7 @@ import cn.garymb.ygomobile.Constants;
...
@@ -25,6 +23,7 @@ import cn.garymb.ygomobile.Constants;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.adapters.BaseAdapterPlus
;
import
cn.garymb.ygomobile.ui.adapters.BaseAdapterPlus
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.utils.glide.GlideCompat
;
class
FileAdapter
extends
BaseAdapterPlus
<
File
>
{
class
FileAdapter
extends
BaseAdapterPlus
<
File
>
{
public
interface
OnPathChangedListener
{
public
interface
OnPathChangedListener
{
...
@@ -221,7 +220,7 @@ class FileAdapter extends BaseAdapterPlus<File> {
...
@@ -221,7 +220,7 @@ class FileAdapter extends BaseAdapterPlus<File> {
}
}
if
(!
item
.
isDirectory
())
{
if
(!
item
.
isDirectory
())
{
if
(
isimage
)
{
if
(
isimage
)
{
Glide
.
with
(
context
).
load
(
item
).
into
(
viewHolder
.
icon
);
Glide
Compat
.
with
(
context
).
load
(
item
).
into
(
viewHolder
.
icon
);
}
else
{
}
else
{
viewHolder
.
icon
.
setImageResource
(
R
.
drawable
.
ic_insert_drive_file
);
viewHolder
.
icon
.
setImageResource
(
R
.
drawable
.
ic_insert_drive_file
);
}
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/mycard/MyCardActivity.java
View file @
875d6e44
...
@@ -24,7 +24,6 @@ import androidx.annotation.NonNull;
...
@@ -24,7 +24,6 @@ import androidx.annotation.NonNull;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.drawerlayout.widget.DrawerLayout
;
import
androidx.drawerlayout.widget.DrawerLayout
;
import
com.bumptech.glide.Glide
;
import
com.google.android.material.navigation.NavigationView
;
import
com.google.android.material.navigation.NavigationView
;
import
com.tencent.smtt.sdk.ValueCallback
;
import
com.tencent.smtt.sdk.ValueCallback
;
import
com.tencent.smtt.sdk.WebChromeClient
;
import
com.tencent.smtt.sdk.WebChromeClient
;
...
@@ -40,6 +39,7 @@ import cn.garymb.ygomobile.ui.activities.BaseActivity;
...
@@ -40,6 +39,7 @@ import cn.garymb.ygomobile.ui.activities.BaseActivity;
import
cn.garymb.ygomobile.ui.cards.DeckManagerActivity
;
import
cn.garymb.ygomobile.ui.cards.DeckManagerActivity
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.SplashActivity
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.SplashActivity
;
import
cn.garymb.ygomobile.utils.ActivityUtils
;
import
cn.garymb.ygomobile.utils.ActivityUtils
;
import
cn.garymb.ygomobile.utils.glide.GlideCompat
;
public
class
MyCardActivity
extends
BaseActivity
implements
MyCard
.
MyCardListener
,
NavigationView
.
OnNavigationItemSelectedListener
{
public
class
MyCardActivity
extends
BaseActivity
implements
MyCard
.
MyCardListener
,
NavigationView
.
OnNavigationItemSelectedListener
{
...
@@ -56,15 +56,13 @@ public class MyCardActivity extends BaseActivity implements MyCard.MyCardListene
...
@@ -56,15 +56,13 @@ public class MyCardActivity extends BaseActivity implements MyCard.MyCardListene
@Override
@Override
public
void
handleMessage
(
Message
msg
)
{
public
void
handleMessage
(
Message
msg
)
{
super
.
handleMessage
(
msg
);
super
.
handleMessage
(
msg
);
switch
(
msg
.
what
)
{
if
(
msg
.
what
==
TYPE_MC_LOGIN
)
{
case
TYPE_MC_LOGIN:
String
[]
ss
=
(
String
[])
msg
.
obj
;
String
[]
ss
=
(
String
[])
msg
.
obj
;
if
(!
TextUtils
.
isEmpty
(
ss
[
1
])
&&
ActivityUtils
.
isActivityExist
(
MyCardActivity
.
this
))
{
if
(!
TextUtils
.
isEmpty
(
ss
[
1
])
&&
ActivityUtils
.
isActivityExist
(
MyCardActivity
.
this
))
{
GlideCompat
.
with
(
MyCardActivity
.
this
).
load
(
Uri
.
parse
(
ss
[
1
])).
into
(
mHeadView
);
Glide
.
with
(
MyCardActivity
.
this
).
load
(
Uri
.
parse
(
ss
[
1
])).
into
(
mHeadView
);
}
}
mNameView
.
setText
(
ss
[
0
]);
mNameView
.
setText
(
ss
[
0
]);
mStatusView
.
setText
(
ss
[
2
]);
mStatusView
.
setText
(
ss
[
2
]);
break
;
}
}
}
}
};
};
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/mycard/mcchat/util/ImageUtil.java
View file @
875d6e44
package
cn.garymb.ygomobile.ui.mycard.mcchat.util
;
package
cn.garymb.ygomobile.ui.mycard.mcchat.util
;
import
android.content.Context
;
import
android.content.Context
;
import
android.graphics.ColorFilter
;
import
android.graphics.ColorMatrix
;
import
android.graphics.ColorMatrix
;
import
android.graphics.ColorMatrixColorFilter
;
import
android.graphics.ColorMatrixColorFilter
;
import
android.net.Uri
;
import
android.net.Uri
;
import
android.util.Log
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.load.engine.DiskCacheStrategy
;
import
com.bumptech.glide.load.engine.DiskCacheStrategy
;
import
java.util.HashMap
;
import
java.util.Map
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.utils.glide.GlideCompat
;
public
class
ImageUtil
{
public
class
ImageUtil
{
public
static
void
setAvatar
(
Context
context
,
String
url
,
final
ImageView
im
)
{
public
static
void
setAvatar
(
Context
context
,
String
url
,
final
ImageView
im
)
{
if
(
url
!=
null
)
{
if
(
url
!=
null
)
{
Glide
.
with
(
context
)
Glide
Compat
.
with
(
context
)
.
load
(
Uri
.
parse
(
url
))
.
load
(
Uri
.
parse
(
url
))
.
asBitmap
()
.
diskCacheStrategy
(
DiskCacheStrategy
.
DATA
)
.
diskCacheStrategy
(
DiskCacheStrategy
.
SOURCE
)
.
placeholder
(
R
.
drawable
.
avatar
)
.
placeholder
(
R
.
drawable
.
avatar
)
.
into
(
im
);
.
into
(
im
);
}
}
...
@@ -32,10 +26,9 @@ public class ImageUtil {
...
@@ -32,10 +26,9 @@ public class ImageUtil {
public
static
void
setImage
(
Context
context
,
String
url
,
final
ImageView
im
)
{
public
static
void
setImage
(
Context
context
,
String
url
,
final
ImageView
im
)
{
if
(
url
!=
null
)
{
if
(
url
!=
null
)
{
Glide
.
with
(
context
)
Glide
Compat
.
with
(
context
)
.
load
(
url
)
.
load
(
url
)
.
asBitmap
()
.
diskCacheStrategy
(
DiskCacheStrategy
.
DATA
)
.
diskCacheStrategy
(
DiskCacheStrategy
.
SOURCE
)
.
placeholder
(
R
.
drawable
.
unknown
)
.
placeholder
(
R
.
drawable
.
unknown
)
.
into
(
im
);
.
into
(
im
);
}
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/plus/ViewTargetPlus.java
View file @
875d6e44
package
cn.garymb.ygomobile.ui.plus
;
package
cn.garymb.ygomobile.ui.plus
;
import
android.
os.Build
;
import
android.
graphics.drawable.Drawable
;
import
android.view.View
;
import
android.view.View
;
import
com.bumptech.glide.load.resource.drawable.GlideDrawable
;
import
androidx.annotation.NonNull
;
import
com.bumptech.glide.request.animation.GlideAnimation
;
import
androidx.annotation.Nullable
;
import
com.bumptech.glide.request.target.ViewTarget
;
import
com.bumptech.glide.request.target.CustomViewTarget
;
import
com.bumptech.glide.request.transition.Transition
;
public
class
ViewTargetPlus
extends
ViewTarget
<
View
,
GlideDrawable
>
{
public
class
ViewTargetPlus
extends
CustomViewTarget
<
View
,
Drawable
>
{
public
ViewTargetPlus
(
View
view
)
{
public
ViewTargetPlus
(
View
view
)
{
super
(
view
);
super
(
view
);
}
}
@Override
@Override
public
void
onResourceReady
(
GlideDrawable
resource
,
GlideAnimation
<?
super
GlideDrawable
>
glideAnimation
)
{
protected
void
onResourceCleared
(
@Nullable
Drawable
placeholder
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
JELLY_BEAN
)
{
this
.
view
.
setBackground
(
placeholder
);
this
.
view
.
setBackground
(
resource
);
}
}
else
{
this
.
view
.
setBackgroundDrawable
(
resource
);
@Override
public
void
onLoadFailed
(
@Nullable
Drawable
errorDrawable
)
{
this
.
view
.
setBackground
(
errorDrawable
);
}
@Override
public
void
onResourceReady
(
@NonNull
Drawable
resource
,
@Nullable
Transition
<?
super
Drawable
>
transition
)
{
this
.
view
.
setBackground
(
resource
);
if
(
transition
!=
null
)
{
transition
.
transition
(
resource
,
new
Transition
.
ViewAdapter
()
{
@Override
public
View
getView
()
{
return
view
;
}
@Nullable
@Override
public
Drawable
getCurrentDrawable
()
{
return
view
.
getBackground
();
}
@Override
public
void
setDrawable
(
Drawable
drawable
)
{
view
.
setBackground
(
drawable
);
}
});
}
}
}
}
}
}
mobile/src/main/java/cn/garymb/ygomobile/ui/preference/BasePreferenceFragment.java
View file @
875d6e44
...
@@ -16,6 +16,11 @@ import android.view.MenuItem;
...
@@ -16,6 +16,11 @@ import android.view.MenuItem;
abstract
class
BasePreferenceFragment
extends
PreferenceFragment
implements
Preference
.
OnPreferenceClickListener
abstract
class
BasePreferenceFragment
extends
PreferenceFragment
implements
Preference
.
OnPreferenceClickListener
,
Preference
.
OnPreferenceChangeListener
{
,
Preference
.
OnPreferenceChangeListener
{
public
BasePreferenceFragment
()
{
super
();
}
@Override
@Override
public
boolean
onPreferenceChange
(
Preference
preference
,
Object
value
)
{
public
boolean
onPreferenceChange
(
Preference
preference
,
Object
value
)
{
if
(
value
==
null
)
return
false
;
if
(
value
==
null
)
return
false
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/preference/fragments/SettingFragment.java
View file @
875d6e44
...
@@ -22,9 +22,8 @@ import android.widget.ImageView;
...
@@ -22,9 +22,8 @@ import android.widget.ImageView;
import
android.widget.ListView
;
import
android.widget.ListView
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.load.engine.DiskCacheStrategy
;
import
com.bumptech.glide.load.engine.DiskCacheStrategy
;
import
com.bumptech.glide.signature.
String
Signature
;
import
com.bumptech.glide.signature.
MediaStore
Signature
;
import
com.ourygo.assistant.service.DuelAssistantService
;
import
com.ourygo.assistant.service.DuelAssistantService
;
import
com.tencent.bugly.beta.Beta
;
import
com.tencent.bugly.beta.Beta
;
...
@@ -46,6 +45,7 @@ import cn.garymb.ygomobile.ui.plus.DialogPlus;
...
@@ -46,6 +45,7 @@ import cn.garymb.ygomobile.ui.plus.DialogPlus;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.ui.preference.PreferenceFragmentPlus
;
import
cn.garymb.ygomobile.ui.preference.PreferenceFragmentPlus
;
import
cn.garymb.ygomobile.utils.FileUtils
;
import
cn.garymb.ygomobile.utils.FileUtils
;
import
cn.garymb.ygomobile.utils.glide.GlideCompat
;
import
cn.garymb.ygomobile.utils.IOUtils
;
import
cn.garymb.ygomobile.utils.IOUtils
;
import
cn.garymb.ygomobile.utils.SystemUtils
;
import
cn.garymb.ygomobile.utils.SystemUtils
;
import
ocgcore.DataManager
;
import
ocgcore.DataManager
;
...
@@ -489,7 +489,7 @@ public class SettingFragment extends PreferenceFragmentPlus {
...
@@ -489,7 +489,7 @@ public class SettingFragment extends PreferenceFragmentPlus {
//builder.show();
//builder.show();
File
img
=
new
File
(
outFile
);
File
img
=
new
File
(
outFile
);
if
(
img
.
exists
())
{
if
(
img
.
exists
())
{
Glide
.
with
(
this
).
load
(
img
).
signature
(
new
StringSignature
(
img
.
getName
()
+
img
.
lastModified
()
))
Glide
Compat
.
with
(
this
).
load
(
img
).
signature
(
new
MediaStoreSignature
(
"image/*"
,
img
.
lastModified
(),
0
))
.
diskCacheStrategy
(
DiskCacheStrategy
.
NONE
)
.
diskCacheStrategy
(
DiskCacheStrategy
.
NONE
)
.
override
(
outWidth
,
outHeight
)
.
override
(
outWidth
,
outHeight
)
.
into
(
imageView
);
.
into
(
imageView
);
...
@@ -499,7 +499,7 @@ public class SettingFragment extends PreferenceFragmentPlus {
...
@@ -499,7 +499,7 @@ public class SettingFragment extends PreferenceFragmentPlus {
public
void
setImage
(
String
outFile
,
int
outWidth
,
int
outHeight
,
ImageView
imageView
)
{
public
void
setImage
(
String
outFile
,
int
outWidth
,
int
outHeight
,
ImageView
imageView
)
{
File
img
=
new
File
(
outFile
);
File
img
=
new
File
(
outFile
);
if
(
img
.
exists
())
{
if
(
img
.
exists
())
{
Glide
.
with
(
this
).
load
(
img
).
signature
(
new
StringSignature
(
img
.
getName
()
+
img
.
lastModified
()
))
Glide
Compat
.
with
(
this
).
load
(
img
).
signature
(
new
MediaStoreSignature
(
"image/*"
,
img
.
lastModified
(),
0
))
.
diskCacheStrategy
(
DiskCacheStrategy
.
NONE
)
.
diskCacheStrategy
(
DiskCacheStrategy
.
NONE
)
.
override
(
outWidth
,
outHeight
)
.
override
(
outWidth
,
outHeight
)
.
into
(
imageView
);
.
into
(
imageView
);
...
...
mobile/src/main/java/cn/garymb/ygomobile/utils/DeckUtil.java
View file @
875d6e44
package
cn.garymb.ygomobile.utils
;
package
cn.garymb.ygomobile.utils
;
import
android.content.Context
;
import
android.content.Context
;
import
android.os.Build
;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -94,23 +93,25 @@ public class DeckUtil {
...
@@ -94,23 +93,25 @@ public class DeckUtil {
}
}
}
}
}
}
files
=
appsSettings
.
getExpansion
sPath
().
list
Files
();
files
=
appsSettings
.
getExpansionFiles
();
for
(
File
file
:
files
)
{
for
(
File
file
:
files
)
{
if
(
file
.
isFile
()
&&
(
file
.
getName
().
endsWith
(
".zip"
)
||
file
.
getName
().
endsWith
(
".ypk"
)))
{
if
(
file
.
isFile
())
{
ZipFile
zipFile
=
new
ZipFile
(
file
.
getAbsoluteFile
());
ZipFile
zipFile
=
null
;
Enumeration
entries
=
zipFile
.
entries
();
try
{
while
(
entries
.
hasMoreElements
())
{
zipFile
=
new
ZipFile
(
file
.
getAbsoluteFile
());
ZipEntry
entry
=
(
ZipEntry
)
entries
.
nextElement
();
Enumeration
<?>
entries
=
zipFile
.
entries
();
if
(
entry
.
getName
().
endsWith
(
".ydk"
))
{
while
(
entries
.
hasMoreElements
())
{
String
name
=
entry
.
getName
();
ZipEntry
entry
=
(
ZipEntry
)
entries
.
nextElement
();
name
=
name
.
substring
(
name
.
lastIndexOf
(
"/"
),
name
.
length
());
if
(
entry
.
getName
().
endsWith
(
".ydk"
))
{
InputStream
inputStream
=
zipFile
.
getInputStream
(
entry
);
String
name
=
entry
.
getName
();
deckList
.
add
(
new
DeckFile
(
name
=
name
.
substring
(
name
.
lastIndexOf
(
"/"
));
IOUtils
.
asFile
(
inputStream
,
InputStream
inputStream
=
zipFile
.
getInputStream
(
entry
);
appsSettings
.
getCacheDeckDir
()
+
"/"
+
name
)));
deckList
.
add
(
new
DeckFile
(
IOUtils
.
asFile
(
inputStream
,
appsSettings
.
getCacheDeckDir
()
+
"/"
+
name
)));
}
}
}
}
}
finally
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
IOUtils
.
close
(
zipFile
);
IOUtils
.
close
(
zipFile
);
}
}
}
}
...
@@ -119,14 +120,14 @@ public class DeckUtil {
...
@@ -119,14 +120,14 @@ public class DeckUtil {
return
deckList
;
return
deckList
;
}
}
static
Comparator
nameCom
=
new
Comparator
<
DeckFile
>()
{
private
final
static
Comparator
<
DeckFile
>
nameCom
=
new
Comparator
<
DeckFile
>()
{
@Override
@Override
public
int
compare
(
DeckFile
ydk1
,
DeckFile
ydk2
)
{
public
int
compare
(
DeckFile
ydk1
,
DeckFile
ydk2
)
{
return
ydk1
.
getName
().
compareTo
(
ydk2
.
getName
());
return
ydk1
.
getName
().
compareTo
(
ydk2
.
getName
());
}
}
};
};
static
Comparator
dateCom
=
new
Comparator
<
DeckFile
>()
{
private
final
static
Comparator
<
DeckFile
>
dateCom
=
new
Comparator
<
DeckFile
>()
{
@Override
@Override
public
int
compare
(
DeckFile
ydk1
,
DeckFile
ydk2
)
{
public
int
compare
(
DeckFile
ydk1
,
DeckFile
ydk2
)
{
return
ydk2
.
getDate
().
compareTo
(
ydk1
.
getDate
());
return
ydk2
.
getDate
().
compareTo
(
ydk1
.
getDate
());
...
...
mobile/src/main/java/cn/garymb/ygomobile/utils/glide/BpgResourceDecoder.java
0 → 100644
View file @
875d6e44
package
cn.garymb.ygomobile.utils.glide
;
import
android.graphics.Bitmap
;
import
android.util.Log
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.bumptech.glide.load.Options
;
import
com.bumptech.glide.load.ResourceDecoder
;
import
com.bumptech.glide.load.engine.Resource
;
import
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool
;
import
com.bumptech.glide.load.resource.bitmap.BitmapResource
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
cn.garymb.ygomobile.core.IrrlichtBridge
;
import
cn.garymb.ygomobile.utils.IOUtils
;
public
class
BpgResourceDecoder
implements
ResourceDecoder
<
File
,
Bitmap
>
{
private
final
LruBitmapPool
mLruBitmapPool
;
public
BpgResourceDecoder
(
LruBitmapPool
lruBitmapPool
)
{
this
.
mLruBitmapPool
=
lruBitmapPool
;
}
@Override
public
boolean
handles
(
@NonNull
File
source
,
@NonNull
Options
options
)
{
return
source
.
getName
().
toLowerCase
().
endsWith
(
".bpg"
);
}
@Nullable
@Override
public
Resource
<
Bitmap
>
decode
(
@NonNull
File
source
,
int
width
,
int
height
,
@NonNull
Options
options
)
{
// Log.v("ImageLoader", "decode:" + source);
FileInputStream
input
=
null
;
Bitmap
bitmap
=
null
;
try
{
input
=
new
FileInputStream
(
source
);
bitmap
=
IrrlichtBridge
.
getBpgImage
(
input
,
Bitmap
.
Config
.
RGB_565
);
}
catch
(
Throwable
e
)
{
//Ignore
}
finally
{
IOUtils
.
close
(
input
);
}
if
(
bitmap
==
null
)
{
return
null
;
}
return
new
BitmapResource
(
bitmap
,
mLruBitmapPool
);
}
}
\ No newline at end of file
mobile/src/main/java/cn/garymb/ygomobile/utils/glide/GlideCompat.java
0 → 100644
View file @
875d6e44
package
cn.garymb.ygomobile.utils.glide
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.view.View
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.RequestManager
;
public
class
GlideCompat
{
public
static
RequestManager
with
(
Context
context
)
{
return
Glide
.
with
(
context
);
}
@Deprecated
public
static
RequestManager
with
(
android
.
app
.
Fragment
context
)
{
return
Glide
.
with
(
context
);
}
public
static
RequestManager
with
(
Fragment
context
)
{
return
Glide
.
with
(
context
);
}
public
static
RequestManager
with
(
View
context
)
{
return
Glide
.
with
(
context
);
}
public
static
RequestManager
with
(
FragmentActivity
context
)
{
return
Glide
.
with
(
context
);
}
public
static
RequestManager
with
(
Activity
activity
)
{
return
Glide
.
with
(
activity
);
}
}
mobile/src/main/java/cn/garymb/ygomobile/utils/glide/StringSignature.java
0 → 100644
View file @
875d6e44
package
cn.garymb.ygomobile.utils.glide
;
import
androidx.annotation.NonNull
;
import
com.bumptech.glide.load.Key
;
import
com.bumptech.glide.util.Preconditions
;
import
java.security.MessageDigest
;
import
java.util.Objects
;
public
class
StringSignature
implements
Key
{
private
final
String
key
;
public
StringSignature
(
String
key
)
{
this
.
key
=
Preconditions
.
checkNotNull
(
key
);
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
StringSignature
that
=
(
StringSignature
)
o
;
return
Objects
.
equals
(
key
,
that
.
key
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
key
);
}
@Override
public
void
updateDiskCacheKey
(
@NonNull
MessageDigest
messageDigest
)
{
messageDigest
.
update
(
key
.
getBytes
(
CHARSET
));
}
@NonNull
@Override
public
String
toString
()
{
return
"StringSignature{"
+
"key='"
+
key
+
'\''
+
'}'
;
}
}
mobile/src/main/java/cn/garymb/ygomobile/utils/glide/YGOAppGlideModule.java
0 → 100644
View file @
875d6e44
package
cn.garymb.ygomobile.utils.glide
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
androidx.annotation.Keep
;
import
androidx.annotation.NonNull
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.GlideBuilder
;
import
com.bumptech.glide.Registry
;
import
com.bumptech.glide.annotation.GlideModule
;
import
com.bumptech.glide.load.DecodeFormat
;
import
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool
;
import
com.bumptech.glide.load.engine.cache.ExternalPreferredCacheDiskCacheFactory
;
import
com.bumptech.glide.module.AppGlideModule
;
import
com.bumptech.glide.request.RequestOptions
;
import
java.io.File
;
@Keep
@GlideModule
public
class
YGOAppGlideModule
extends
AppGlideModule
{
private
final
LruBitmapPool
mLruBitmapPool
=
new
LruBitmapPool
(
128
);
@Override
public
void
applyOptions
(
@NonNull
Context
context
,
@NonNull
GlideBuilder
builder
)
{
super
.
applyOptions
(
context
,
builder
);
//不需要显示透明
builder
.
setDefaultRequestOptions
(
new
RequestOptions
().
format
(
DecodeFormat
.
PREFER_RGB_565
));
builder
.
setDiskCache
(
new
ExternalPreferredCacheDiskCacheFactory
(
context
));
}
@Override
public
void
registerComponents
(
@NonNull
Context
context
,
@NonNull
Glide
glide
,
@NonNull
Registry
registry
)
{
super
.
registerComponents
(
context
,
glide
,
registry
);
registry
.
append
(
File
.
class
,
Bitmap
.
class
,
new
BpgResourceDecoder
(
mLruBitmapPool
));
}
}
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