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
a12cab99
Commit
a12cab99
authored
Nov 06, 2019
by
feihuaduo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
主界面剪贴板检测
parent
4cf8824c
Changes
33
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
703 additions
and
316 deletions
+703
-316
mobile/src/main/AndroidManifest.xml
mobile/src/main/AndroidManifest.xml
+4
-4
mobile/src/main/java/cn/garymb/ygomobile/mycard/MyCard.java
mobile/src/main/java/cn/garymb/ygomobile/mycard/MyCard.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/mycard/MyCardActivity.java
.../main/java/cn/garymb/ygomobile/mycard/MyCardActivity.java
+3
-3
mobile/src/main/java/cn/garymb/ygomobile/mycard/MyCardWebView.java
...c/main/java/cn/garymb/ygomobile/mycard/MyCardWebView.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/mycard/X5WebView.java
...e/src/main/java/cn/garymb/ygomobile/mycard/X5WebView.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/adapter/ChatAdapter.java
...n/garymb/ygomobile/mycard/mcchat/adapter/ChatAdapter.java
+9
-8
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/base/ChatListener.java
.../cn/garymb/ygomobile/mycard/mcchat/base/ChatListener.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/bean/ChatMessage.java
...a/cn/garymb/ygomobile/mycard/mcchat/bean/ChatMessage.java
+2
-2
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/management/ServiceManagement.java
...ygomobile/mycard/mcchat/management/ServiceManagement.java
+4
-4
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/management/UserManagement.java
...mb/ygomobile/mycard/mcchat/management/UserManagement.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/ui/activity/ChatSplashActivity.java
...omobile/mycard/mcchat/ui/activity/ChatSplashActivity.java
+10
-9
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/ui/activity/McChatActivity.java
...b/ygomobile/mycard/mcchat/ui/activity/McChatActivity.java
+10
-9
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/util/ImageUtil.java
...ava/cn/garymb/ygomobile/mycard/mcchat/util/ImageUtil.java
+1
-6
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/util/TaxiConnectionListener.java
.../ygomobile/mycard/mcchat/util/TaxiConnectionListener.java
+3
-3
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/view/YuanImage.java
...ava/cn/garymb/ygomobile/mycard/mcchat/view/YuanImage.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/ourygo/base/OnDuelClipBoardListener.java
...garymb/ygomobile/ourygo/base/OnDuelClipBoardListener.java
+11
-0
mobile/src/main/java/cn/garymb/ygomobile/ourygo/service/DuelAssistantService.java
...garymb/ygomobile/ourygo/service/DuelAssistantService.java
+59
-181
mobile/src/main/java/cn/garymb/ygomobile/ourygo/util/DuelAssistantManagement.java
...garymb/ygomobile/ourygo/util/DuelAssistantManagement.java
+262
-0
mobile/src/main/java/cn/garymb/ygomobile/ui/activities/BaseActivity.java
.../java/cn/garymb/ygomobile/ui/activities/BaseActivity.java
+24
-1
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardSearchActivityImpl.java
.../cn/garymb/ygomobile/ui/cards/CardSearchActivityImpl.java
+6
-5
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerActivityImpl.java
...cn/garymb/ygomobile/ui/cards/DeckManagerActivityImpl.java
+6
-7
mobile/src/main/java/cn/garymb/ygomobile/ui/home/HomeActivity.java
...c/main/java/cn/garymb/ygomobile/ui/home/HomeActivity.java
+4
-5
mobile/src/main/java/cn/garymb/ygomobile/ui/home/MainActivity.java
...c/main/java/cn/garymb/ygomobile/ui/home/MainActivity.java
+123
-1
mobile/src/main/java/cn/garymb/ygomobile/ui/mycard/mcchat/util/Util.java
.../java/cn/garymb/ygomobile/ui/mycard/mcchat/util/Util.java
+0
-50
mobile/src/main/java/cn/garymb/ygomobile/ui/preference/fragments/SettingFragment.java
...mb/ygomobile/ui/preference/fragments/SettingFragment.java
+3
-5
mobile/src/main/java/cn/garymb/ygomobile/ui/widget/WebViewPlus.java
.../main/java/cn/garymb/ygomobile/ui/widget/WebViewPlus.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/utils/DeckUtil.java
mobile/src/main/java/cn/garymb/ygomobile/utils/DeckUtil.java
+31
-0
mobile/src/main/java/cn/garymb/ygomobile/utils/YGODialogUtil.java
...rc/main/java/cn/garymb/ygomobile/utils/YGODialogUtil.java
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/utils/YGOUtil.java
mobile/src/main/java/cn/garymb/ygomobile/utils/YGOUtil.java
+115
-0
mobile/src/main/res/layout/activity_online_mycard.xml
mobile/src/main/res/layout/activity_online_mycard.xml
+2
-2
mobile/src/main/res/layout/item_chat.xml
mobile/src/main/res/layout/item_chat.xml
+1
-1
mobile/src/main/res/layout/item_chat_me.xml
mobile/src/main/res/layout/item_chat_me.xml
+1
-1
mobile/src/main/res/xml/shortcuts.xml
mobile/src/main/res/xml/shortcuts.xml
+1
-1
No files found.
mobile/src/main/AndroidManifest.xml
View file @
a12cab99
...
@@ -158,16 +158,16 @@
...
@@ -158,16 +158,16 @@
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
android:theme=
"@style/AppTheme"
/>
android:theme=
"@style/AppTheme"
/>
<activity
<activity
android:name=
"cn.garymb.ygomobile.
ui.
mycard.MyCardActivity"
android:name=
"cn.garymb.ygomobile.mycard.MyCardActivity"
android:configChanges=
"orientation|keyboardHidden|navigation|screenSize"
android:configChanges=
"orientation|keyboardHidden|navigation|screenSize"
android:launchMode=
"singleTop"
android:launchMode=
"singleTop"
android:theme=
"@style/AppTheme.Mycard"
android:theme=
"@style/AppTheme.Mycard"
android:windowSoftInputMode=
"stateAlwaysHidden|adjustResize"
/>
android:windowSoftInputMode=
"stateAlwaysHidden|adjustResize"
/>
<activity
<activity
android:name=
"cn.garymb.ygomobile.
ui.mycard.mcchat.Mcc
hatActivity"
android:name=
"cn.garymb.ygomobile.
mycard.mcchat.ui.activity.McC
hatActivity"
android:label=
"@string/app_name"
android:label=
"@string/app_name"
android:windowSoftInputMode=
"stateHidden|adjustResize"
/>
android:windowSoftInputMode=
"stateHidden|adjustResize"
/>
<activity
android:name=
"cn.garymb.ygomobile.
ui.mycard.mcchat.
SplashActivity"
/>
<activity
android:name=
"cn.garymb.ygomobile.
mycard.mcchat.ui.activity.Chat
SplashActivity"
/>
<activity
android:name=
"cn.garymb.ygomobile.ui.activities.FileLogActivity"
/>
<activity
android:name=
"cn.garymb.ygomobile.ui.activities.FileLogActivity"
/>
<activity
android:name=
"cn.garymb.ygomobile.ui.activities.PermissionsActivity"
/>
<activity
android:name=
"cn.garymb.ygomobile.ui.activities.PermissionsActivity"
/>
...
@@ -194,7 +194,7 @@
...
@@ -194,7 +194,7 @@
<!-- 为防止Service被系统回收,可以尝试通过提高服务的优先级解决,1000是最高优先级,数字越小,优先级越低 -->
<!-- 为防止Service被系统回收,可以尝试通过提高服务的优先级解决,1000是最高优先级,数字越小,优先级越低 -->
<!--android:priority="1000"-->
<!--android:priority="1000"-->
<service
<service
android:name=
"cn.garymb.ygomobile.
ui.plus.ServiceDuelAssistant
"
android:name=
"cn.garymb.ygomobile.
ourygo.service.DuelAssistantService
"
android:priority=
"1000"
/>
android:priority=
"1000"
/>
</application>
</application>
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/MyCard.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/MyCard.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard
;
package
cn.garymb.ygomobile.mycard
;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.app.Activity
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/MyCardActivity.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/MyCardActivity.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard
;
package
cn.garymb.ygomobile.mycard
;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.annotation.TargetApi
;
import
android.annotation.TargetApi
;
...
@@ -38,7 +38,7 @@ import cn.garymb.ygomobile.lite.BuildConfig;
...
@@ -38,7 +38,7 @@ import cn.garymb.ygomobile.lite.BuildConfig;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.activities.BaseActivity
;
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.
mycard.mcchat.ui.activity.Chat
SplashActivity
;
public
class
MyCardActivity
extends
BaseActivity
implements
MyCard
.
MyCardListener
,
NavigationView
.
OnNavigationItemSelectedListener
{
public
class
MyCardActivity
extends
BaseActivity
implements
MyCard
.
MyCardListener
,
NavigationView
.
OnNavigationItemSelectedListener
{
...
@@ -310,7 +310,7 @@ public class MyCardActivity extends BaseActivity implements MyCard.MyCardListene
...
@@ -310,7 +310,7 @@ public class MyCardActivity extends BaseActivity implements MyCard.MyCardListene
mWebViewPlus
.
loadUrl
(
mMyCard
.
getBBSUrl
());
mWebViewPlus
.
loadUrl
(
mMyCard
.
getBBSUrl
());
break
;
break
;
case
R
.
id
.
action_chat
:
case
R
.
id
.
action_chat
:
startActivity
(
new
Intent
(
MyCardActivity
.
this
,
SplashActivity
.
class
));
startActivity
(
new
Intent
(
MyCardActivity
.
this
,
Chat
SplashActivity
.
class
));
break
;
break
;
default
:
default
:
return
false
;
return
false
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/MyCardWebView.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/MyCardWebView.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard
;
package
cn.garymb.ygomobile.mycard
;
import
android.content.Context
;
import
android.content.Context
;
import
android.util.AttributeSet
;
import
android.util.AttributeSet
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/X5WebView.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/X5WebView.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard
;
package
cn.garymb.ygomobile.mycard
;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
android.content.Context
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/mcchat/adapter/ChatAdapter.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/adapter/ChatAdapter.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard.mcchat.adapter
;
package
cn.garymb.ygomobile.mycard.mcchat.adapter
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.Context
;
...
@@ -16,10 +16,11 @@ import androidx.recyclerview.widget.RecyclerView;
...
@@ -16,10 +16,11 @@ import androidx.recyclerview.widget.RecyclerView;
import
java.util.List
;
import
java.util.List
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.ChatMessage
;
import
cn.garymb.ygomobile.mycard.mcchat.bean.ChatMessage
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.management.UserManagement
;
import
cn.garymb.ygomobile.mycard.mcchat.management.UserManagement
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil
;
import
cn.garymb.ygomobile.mycard.mcchat.util.ImageUtil
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.util.Util
;
import
cn.garymb.ygomobile.utils.YGOUtil
;
import
cn.garymb.ygomobile.utils.YGOUtil
;
public
class
ChatAdapter
extends
RecyclerView
.
Adapter
<
ChatAdapter
.
ViewHolder
>
{
public
class
ChatAdapter
extends
RecyclerView
.
Adapter
<
ChatAdapter
.
ViewHolder
>
{
...
@@ -84,8 +85,8 @@ public class ChatAdapter extends RecyclerView.Adapter<ChatAdapter.ViewHolder> {
...
@@ -84,8 +85,8 @@ public class ChatAdapter extends RecyclerView.Adapter<ChatAdapter.ViewHolder> {
@Override
@Override
public
boolean
onLongClick
(
View
p1
)
{
public
boolean
onLongClick
(
View
p1
)
{
Util
.
fz
Message
(
context
,
cm
.
getMessage
());
YGOUtil
.
copy
Message
(
context
,
cm
.
getMessage
());
Util
.
show
(
context
,
"已复制到剪贴板"
);
YGOUtil
.
show
(
"已复制到剪贴板"
);
// TODO: Implement this method
// TODO: Implement this method
return
true
;
return
true
;
}
}
...
@@ -94,7 +95,7 @@ public class ChatAdapter extends RecyclerView.Adapter<ChatAdapter.ViewHolder> {
...
@@ -94,7 +95,7 @@ public class ChatAdapter extends RecyclerView.Adapter<ChatAdapter.ViewHolder> {
@Override
@Override
public
void
onClick
(
View
p1
)
{
public
void
onClick
(
View
p1
)
{
Util
.
closeKeyboard
((
Activity
)
context
);
YGO
Util
.
closeKeyboard
((
Activity
)
context
);
// TODO: Implement this method
// TODO: Implement this method
}
}
});
});
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/mycard/mcchat
/ChatListener.java
→
mobile/src/main/java/cn/garymb/ygomobile/
mycard/mcchat/base
/ChatListener.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.mycard.mcchat
;
package
cn.garymb.ygomobile.
mycard.mcchat.base
;
import
org.jivesoftware.smack.packet.Message
;
import
org.jivesoftware.smack.packet.Message
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/mycard/mcchat
/ChatMessage.java
→
mobile/src/main/java/cn/garymb/ygomobile/
mycard/mcchat/bean
/ChatMessage.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.mycard.mcchat
;
package
cn.garymb.ygomobile.
mycard.mcchat.bean
;
import
org.jivesoftware.smack.packet.Message
;
import
org.jivesoftware.smack.packet.Message
;
import
cn.garymb.ygomobile.
ui.
mycard.mcchat.management.ServiceManagement
;
import
cn.garymb.ygomobile.mycard.mcchat.management.ServiceManagement
;
public
class
ChatMessage
{
public
class
ChatMessage
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/mcchat/management/ServiceManagement.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/management/ServiceManagement.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard.mcchat.management
;
package
cn.garymb.ygomobile.mycard.mcchat.management
;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.os.Handler
;
import
android.os.Handler
;
...
@@ -22,9 +22,9 @@ import java.io.IOException;
...
@@ -22,9 +22,9 @@ import java.io.IOException;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
cn.garymb.ygomobile.
ui.mycard.mcchat
.ChatListener
;
import
cn.garymb.ygomobile.
mycard.mcchat.base
.ChatListener
;
import
cn.garymb.ygomobile.
ui.mycard.mcchat
.ChatMessage
;
import
cn.garymb.ygomobile.
mycard.mcchat.bean
.ChatMessage
;
import
cn.garymb.ygomobile.
ui.
mycard.mcchat.util.TaxiConnectionListener
;
import
cn.garymb.ygomobile.mycard.mcchat.util.TaxiConnectionListener
;
import
cn.garymb.ygomobile.utils.FileLogUtil
;
import
cn.garymb.ygomobile.utils.FileLogUtil
;
public
class
ServiceManagement
{
public
class
ServiceManagement
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/mcchat/management/UserManagement.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/management/UserManagement.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard.mcchat.management
;
package
cn.garymb.ygomobile.mycard.mcchat.management
;
public
class
UserManagement
{
public
class
UserManagement
{
private
static
UserManagement
um
=
new
UserManagement
();
private
static
UserManagement
um
=
new
UserManagement
();
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/mycard/mcchat/
SplashActivity.java
→
mobile/src/main/java/cn/garymb/ygomobile/
mycard/mcchat/ui/activity/Chat
SplashActivity.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.mycard.mcchat
;
package
cn.garymb.ygomobile.
mycard.mcchat.ui.activity
;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.app.Activity
;
...
@@ -20,12 +20,13 @@ import org.jivesoftware.smack.XMPPException;
...
@@ -20,12 +20,13 @@ import org.jivesoftware.smack.XMPPException;
import
java.io.IOException
;
import
java.io.IOException
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.mycard.MyCardActivity
;
import
cn.garymb.ygomobile.mycard.MyCardActivity
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.management.ServiceManagement
;
import
cn.garymb.ygomobile.mycard.mcchat.management.ServiceManagement
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.management.UserManagement
;
import
cn.garymb.ygomobile.mycard.mcchat.management.UserManagement
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.util.Util
;
public
class
SplashActivity
extends
Activity
{
import
cn.garymb.ygomobile.utils.YGOUtil
;
public
class
ChatSplashActivity
extends
Activity
{
ServiceManagement
su
;
ServiceManagement
su
;
ProgressBar
sp_jz
;
ProgressBar
sp_jz
;
...
@@ -43,10 +44,10 @@ public class SplashActivity extends Activity {
...
@@ -43,10 +44,10 @@ public class SplashActivity extends Activity {
su
.
setIsConnected
(
false
);
su
.
setIsConnected
(
false
);
sp_jz
.
setVisibility
(
View
.
GONE
);
sp_jz
.
setVisibility
(
View
.
GONE
);
sp_tv
.
setText
(
getString
(
R
.
string
.
logining_failed
));
sp_tv
.
setText
(
getString
(
R
.
string
.
logining_failed
));
Util
.
show
(
SplashActivity
.
this
,
getString
(
R
.
string
.
failed_reason
)
+
msg
.
obj
);
YGOUtil
.
show
(
YGOUtil
.
s
(
R
.
string
.
failed_reason
)
+
msg
.
obj
);
break
;
break
;
case
1
:
case
1
:
startActivity
(
new
Intent
(
SplashActivity
.
this
,
Mcc
hatActivity
.
class
));
startActivity
(
new
Intent
(
ChatSplashActivity
.
this
,
McC
hatActivity
.
class
));
finish
();
finish
();
break
;
break
;
case
2
:
case
2
:
...
@@ -65,7 +66,7 @@ public class SplashActivity extends Activity {
...
@@ -65,7 +66,7 @@ public class SplashActivity extends Activity {
case
5
:
case
5
:
/*sp_jz.setVisibility(View.GONE);
/*sp_jz.setVisibility(View.GONE);
sp_tv.setText("用户名或密码为空");*/
sp_tv.setText("用户名或密码为空");*/
startActivity
(
new
Intent
(
SplashActivity
.
this
,
MyCardActivity
.
class
));
startActivity
(
new
Intent
(
Chat
SplashActivity
.
this
,
MyCardActivity
.
class
));
finish
();
finish
();
break
;
break
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/mycard/mcchat/Mcc
hatActivity.java
→
mobile/src/main/java/cn/garymb/ygomobile/
mycard/mcchat/ui/activity/McC
hatActivity.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.mycard.mcchat
;
package
cn.garymb.ygomobile.
mycard.mcchat.ui.activity
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.os.Bundle
;
import
android.os.Bundle
;
...
@@ -15,12 +15,13 @@ import androidx.recyclerview.widget.RecyclerView;
...
@@ -15,12 +15,13 @@ import androidx.recyclerview.widget.RecyclerView;
import
org.jivesoftware.smack.packet.Message
;
import
org.jivesoftware.smack.packet.Message
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.adapter.ChatAdapter
;
import
cn.garymb.ygomobile.mycard.mcchat.base.ChatListener
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.management.ServiceManagement
;
import
cn.garymb.ygomobile.mycard.mcchat.adapter.ChatAdapter
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.management.UserManagement
;
import
cn.garymb.ygomobile.mycard.mcchat.management.ServiceManagement
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.util.Util
;
import
cn.garymb.ygomobile.mycard.mcchat.management.UserManagement
;
import
cn.garymb.ygomobile.utils.YGOUtil
;
public
class
Mc
c
hatActivity
extends
Activity
implements
ChatListener
{
public
class
Mc
C
hatActivity
extends
Activity
implements
ChatListener
{
private
EditText
main_send_message
;
private
EditText
main_send_message
;
private
ImageButton
main_send
;
private
ImageButton
main_send
;
...
@@ -85,7 +86,7 @@ public class McchatActivity extends Activity implements ChatListener {
...
@@ -85,7 +86,7 @@ public class McchatActivity extends Activity implements ChatListener {
su
=
ServiceManagement
.
getDx
();
su
=
ServiceManagement
.
getDx
();
cadp
=
new
ChatAdapter
(
this
,
su
.
getData
());
cadp
=
new
ChatAdapter
(
this
,
su
.
getData
());
su
.
addListener
(
this
);
su
.
addListener
(
this
);
LinearLayoutManager
linearLayoutManager
=
new
LinearLayoutManager
(
Mc
c
hatActivity
.
this
,
LinearLayoutManager
.
VERTICAL
,
false
);
LinearLayoutManager
linearLayoutManager
=
new
LinearLayoutManager
(
Mc
C
hatActivity
.
this
,
LinearLayoutManager
.
VERTICAL
,
false
);
linearLayoutManager
.
setStackFromEnd
(
true
);
//关键 设置此项,当软键盘弹出时,布局会自动顶上去,在结合AndroidManifest.xml设置属性
linearLayoutManager
.
setStackFromEnd
(
true
);
//关键 设置此项,当软键盘弹出时,布局会自动顶上去,在结合AndroidManifest.xml设置属性
main_rec
.
setLayoutManager
(
linearLayoutManager
);
main_rec
.
setLayoutManager
(
linearLayoutManager
);
main_rec
.
setAdapter
(
cadp
);
main_rec
.
setAdapter
(
cadp
);
...
@@ -101,13 +102,13 @@ public class McchatActivity extends Activity implements ChatListener {
...
@@ -101,13 +102,13 @@ public class McchatActivity extends Activity implements ChatListener {
public
void
onClick
(
View
p1
)
{
public
void
onClick
(
View
p1
)
{
String
message
=
main_send_message
.
getText
().
toString
().
trim
();
String
message
=
main_send_message
.
getText
().
toString
().
trim
();
if
(
message
.
equals
(
""
))
{
if
(
message
.
equals
(
""
))
{
Util
.
show
(
McchatActivity
.
this
,
getString
(
R
.
string
.
noting_to_send
));
YGOUtil
.
show
(
getString
(
R
.
string
.
noting_to_send
));
}
else
{
}
else
{
try
{
try
{
su
.
sendMessage
(
message
);
su
.
sendMessage
(
message
);
main_send_message
.
setText
(
""
);
main_send_message
.
setText
(
""
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
Util
.
show
(
McchatActivity
.
this
,
getString
(
R
.
string
.
sending_failed
));
YGOUtil
.
show
(
getString
(
R
.
string
.
sending_failed
));
}
}
}
}
// TODO: Implement this method
// TODO: Implement this method
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/mcchat/util/ImageUtil.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/util/ImageUtil.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard.mcchat.util
;
package
cn.garymb.ygomobile.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.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
;
public
class
ImageUtil
{
public
class
ImageUtil
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/mcchat/util/TaxiConnectionListener.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/util/TaxiConnectionListener.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard.mcchat.util
;
package
cn.garymb.ygomobile.mycard.mcchat.util
;
/**
/**
* 连接监听类
* 连接监听类
...
@@ -12,8 +12,8 @@ import org.jivesoftware.smack.XMPPConnection;
...
@@ -12,8 +12,8 @@ import org.jivesoftware.smack.XMPPConnection;
import
java.util.Timer
;
import
java.util.Timer
;
import
java.util.TimerTask
;
import
java.util.TimerTask
;
import
cn.garymb.ygomobile.
ui.
mycard.mcchat.management.ServiceManagement
;
import
cn.garymb.ygomobile.mycard.mcchat.management.ServiceManagement
;
import
cn.garymb.ygomobile.
ui.
mycard.mcchat.management.UserManagement
;
import
cn.garymb.ygomobile.mycard.mcchat.management.UserManagement
;
public
class
TaxiConnectionListener
implements
ConnectionListener
{
public
class
TaxiConnectionListener
implements
ConnectionListener
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/
ui/
mycard/mcchat/view/YuanImage.java
→
mobile/src/main/java/cn/garymb/ygomobile/mycard/mcchat/view/YuanImage.java
View file @
a12cab99
package
cn.garymb.ygomobile.
ui.
mycard.mcchat.view
;
package
cn.garymb.ygomobile.mycard.mcchat.view
;
import
android.content.Context
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
android.graphics.Bitmap
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/ourygo/base/OnDuelClipBoardListener.java
0 → 100644
View file @
a12cab99
package
cn.garymb.ygomobile.ourygo.base
;
public
interface
OnDuelClipBoardListener
{
void
onDeckCode
(
String
deckCode
,
boolean
isDebounce
);
void
onDeckUrl
(
String
deckUrl
,
boolean
isDebounce
);
void
onCardQuery
(
String
cardSearchMessage
,
boolean
isDebounce
);
void
onDuelPassword
(
String
password
,
boolean
isDebounce
);
boolean
isEffective
();
}
mobile/src/main/java/cn/garymb/ygomobile/
ui/plus/ServiceDuelAssistant
.java
→
mobile/src/main/java/cn/garymb/ygomobile/
ourygo/service/DuelAssistantService
.java
View file @
a12cab99
This diff is collapsed.
Click to expand it.
mobile/src/main/java/cn/garymb/ygomobile/ourygo/util/DuelAssistantManagement.java
0 → 100644
View file @
a12cab99
package
cn.garymb.ygomobile.ourygo.util
;
import
android.content.ClipData
;
import
android.content.ClipboardManager
;
import
android.content.Context
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
java.util.ArrayList
;
import
java.util.List
;
import
cn.garymb.ygomobile.App
;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.ourygo.base.OnDuelClipBoardListener
;
public
class
DuelAssistantManagement
{
private
static
final
DuelAssistantManagement
ourInstance
=
new
DuelAssistantManagement
();
private
String
lastMessage
;
private
String
cardSearchMessage
;
public
static
DuelAssistantManagement
getInstance
()
{
return
ourInstance
;
}
//是否启动助手
private
boolean
isStart
;
private
boolean
isListener
;
private
ClipboardManager
clipboardManager
;
//其他单独监听是否能触发
private
boolean
isOtherListener
;
private
List
<
OnDuelClipBoardListener
>
onDuelClipBoardListenerList
;
//卡查关键字
public
static
final
String
[]
cardSearchKey
=
new
String
[]{
"?"
,
"?"
};
//卡组url前缀
private
final
static
String
DECK_URL_PREFIX
=
Constants
.
SCHEME_APP
+
"://"
+
Constants
.
URI_HOST
;
//卡组复制
public
static
final
String
[]
DeckTextKey
=
new
String
[]{
"#main"
};
//加房关键字
public
static
final
String
[]
passwordPrefix
=
{
"M,"
,
"m,"
,
"T,"
,
"PR,"
,
"pr,"
,
"AI,"
,
"ai,"
,
"LF2,"
,
"lf2,"
,
"M#"
,
"m#"
,
"T#"
,
"t#"
,
"PR#"
,
"pr#"
,
"NS#"
,
"ns#"
,
"S#"
,
"s#"
,
"AI#"
,
"ai#"
,
"LF2#"
,
"lf2#"
,
"R#"
,
"r#"
};
private
DuelAssistantManagement
()
{
isStart
=
false
;
isOtherListener
=
true
;
isListener
=
true
;
onDuelClipBoardListenerList
=
new
ArrayList
<>();
clipboardManager
=
(
ClipboardManager
)
App
.
get
().
getSystemService
(
Context
.
CLIPBOARD_SERVICE
);
if
(
clipboardManager
!=
null
)
clipboardManager
.
addPrimaryClipChangedListener
(
onPrimaryClipChangedListener
);
}
public
boolean
isStart
()
{
return
isStart
;
}
public
void
setStart
(
boolean
start
)
{
isStart
=
start
;
}
public
boolean
isListener
()
{
return
isListener
;
}
public
void
setListener
(
boolean
listener
)
{
isListener
=
listener
;
}
public
void
addListener
(
OnDuelClipBoardListener
onDuelClipBoardListener
){
onDuelClipBoardListenerList
.
add
(
onDuelClipBoardListener
);
}
public
void
removeListener
(
OnDuelClipBoardListener
onDuelClipBoardListener
){
onDuelClipBoardListenerList
.
remove
(
onDuelClipBoardListener
);
}
public
boolean
isOtherListener
()
{
return
isOtherListener
;
}
public
void
setOtherListener
(
boolean
otherListener
)
{
isOtherListener
=
otherListener
;
}
public
String
getCardSearchMessage
()
{
return
cardSearchMessage
;
}
public
void
setCardSearchMessage
(
String
cardSearchMessage
)
{
this
.
cardSearchMessage
=
cardSearchMessage
;
}
ClipboardManager
.
OnPrimaryClipChangedListener
onPrimaryClipChangedListener
=
new
ClipboardManager
.
OnPrimaryClipChangedListener
()
{
@Override
public
void
onPrimaryClipChanged
()
{
if
(!
isListener
)
return
;
ClipData
clipData
=
clipboardManager
.
getPrimaryClip
();
if
(
clipData
==
null
)
return
;
CharSequence
cs
=
clipData
.
getItemAt
(
0
).
getText
();
final
String
clipMessage
;
if
(
cs
!=
null
)
{
clipMessage
=
cs
.
toString
();
}
else
{
clipMessage
=
null
;
}
//如果复制的内容为空则不执行下面的代码
if
(
TextUtils
.
isEmpty
(
clipMessage
))
{
return
;
}
checkMessage
(
clipMessage
,
null
);
}
};
/**
* 检查复制内容
* @param clipMessage 复制内容
*/
public
void
checkMessage
(
String
clipMessage
,
OnDuelClipBoardListener
onDuelClipBoardListener1
)
{
if
(
TextUtils
.
isEmpty
(
clipMessage
)
)
return
;
boolean
isDebounce
;
if
(
clipMessage
.
equals
(
lastMessage
))
isDebounce
=
true
;
else
isDebounce
=
false
;
lastMessage
=
clipMessage
;
//如果复制的内容是多行作为卡组去判断
if
(
clipMessage
.
contains
(
"\n"
))
{
for
(
String
s
:
DeckTextKey
)
{
//只要包含其中一个关键字就视为卡组
if
(
clipMessage
.
contains
(
s
))
{
if
(
onDuelClipBoardListener1
==
null
)
{
isOtherListener
=
false
;
for
(
int
i
=
0
;
i
<
onDuelClipBoardListenerList
.
size
();
i
++)
{
OnDuelClipBoardListener
onDuelClipBoardListener
=
onDuelClipBoardListenerList
.
get
(
i
);
if
(
onDuelClipBoardListener
.
isEffective
())
{
onDuelClipBoardListener
.
onDeckCode
(
clipMessage
,
isDebounce
);
}
else
{
onDuelClipBoardListenerList
.
remove
(
i
);
i
--;
}
}
isOtherListener
=
true
;
}
else
if
(
isOtherListener
){
onDuelClipBoardListener1
.
onDeckCode
(
clipMessage
,
isDebounce
);
}
return
;
}
}
return
;
}
//如果是卡组url
int
deckStart
=
clipMessage
.
indexOf
(
DECK_URL_PREFIX
);
if
(
deckStart
!=
-
1
)
{
if
(
onDuelClipBoardListener1
==
null
)
{
isOtherListener
=
false
;
for
(
int
i
=
0
;
i
<
onDuelClipBoardListenerList
.
size
();
i
++)
{
OnDuelClipBoardListener
onDuelClipBoardListener
=
onDuelClipBoardListenerList
.
get
(
i
);
if
(
onDuelClipBoardListener
.
isEffective
())
{
onDuelClipBoardListener
.
onDeckUrl
(
clipMessage
.
substring
(
deckStart
+
DECK_URL_PREFIX
.
length
()),
isDebounce
);
}
else
{
onDuelClipBoardListenerList
.
remove
(
i
);
i
--;
}
}
isOtherListener
=
true
;
}
else
if
(
isOtherListener
)
{
onDuelClipBoardListener1
.
onDeckUrl
(
clipMessage
.
substring
(
deckStart
+
DECK_URL_PREFIX
.
length
()),
isDebounce
);
}
return
;
}
int
start
=
-
1
;
int
end
;
String
passwordPrefixKey
=
null
;
for
(
String
s
:
passwordPrefix
)
{
start
=
clipMessage
.
indexOf
(
s
);
passwordPrefixKey
=
s
;
if
(
start
!=
-
1
)
{
break
;
}
}
if
(
start
!=
-
1
)
{
//如果密码含有空格,则以空格结尾
end
=
clipMessage
.
indexOf
(
" "
,
start
);
//如果不含有空格则取片尾所有
if
(
end
==
-
1
)
{
end
=
clipMessage
.
length
();
}
else
{
//如果只有密码前缀而没有密码内容则不跳转
if
(
end
-
start
==
passwordPrefixKey
.
length
())
return
;
}
if
(
onDuelClipBoardListener1
==
null
)
{
isOtherListener
=
false
;
for
(
int
i
=
0
;
i
<
onDuelClipBoardListenerList
.
size
();
i
++)
{
OnDuelClipBoardListener
onDuelClipBoardListener
=
onDuelClipBoardListenerList
.
get
(
i
);
if
(
onDuelClipBoardListener
.
isEffective
())
{
onDuelClipBoardListener
.
onDuelPassword
(
clipMessage
.
substring
(
start
,
end
),
isDebounce
);
}
else
{
onDuelClipBoardListenerList
.
remove
(
i
);
i
--;
}
}
isOtherListener
=
true
;
}
else
if
(
isOtherListener
)
{
onDuelClipBoardListener1
.
onDuelPassword
(
clipMessage
.
substring
(
start
,
end
),
isDebounce
);
}
}
else
{
for
(
String
s
:
cardSearchKey
)
{
int
cardSearchStart
=
clipMessage
.
indexOf
(
s
);
if
(
cardSearchStart
!=
-
1
)
{
//卡查内容
cardSearchMessage
=
clipMessage
.
substring
(
cardSearchStart
+
s
.
length
(),
clipMessage
.
length
());
//如果复制的文本里带?号后面没有内容则不跳转
if
(
TextUtils
.
isEmpty
(
cardSearchMessage
))
{
return
;
}
//如果卡查内容包含“=”并且复制的内容包含“.”不卡查
if
(
cardSearchMessage
.
contains
(
"="
)
&&
clipMessage
.
contains
(
"."
))
{
return
;
}
if
(
onDuelClipBoardListener1
==
null
)
{
isOtherListener
=
false
;
for
(
int
i
=
0
;
i
<
onDuelClipBoardListenerList
.
size
();
i
++)
{
OnDuelClipBoardListener
onDuelClipBoardListener
=
onDuelClipBoardListenerList
.
get
(
i
);
if
(
onDuelClipBoardListener
.
isEffective
())
{
onDuelClipBoardListener
.
onCardQuery
(
cardSearchMessage
,
isDebounce
);
}
else
{
onDuelClipBoardListenerList
.
remove
(
i
);
i
--;
}
}
isOtherListener
=
true
;
}
else
if
(
isOtherListener
)
{
onDuelClipBoardListener1
.
onCardQuery
(
cardSearchMessage
,
isDebounce
);
}
}
}
}
}
}
mobile/src/main/java/cn/garymb/ygomobile/ui/activities/BaseActivity.java
View file @
a12cab99
...
@@ -10,8 +10,10 @@ import android.os.Build;
...
@@ -10,8 +10,10 @@ import android.os.Build;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.Looper
;
import
android.os.Looper
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.view.MenuItem
;
import
android.view.MenuItem
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.Button
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
...
@@ -20,18 +22,36 @@ import androidx.appcompat.app.ActionBar;
...
@@ -20,18 +22,36 @@ import androidx.appcompat.app.ActionBar;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.appcompat.widget.Toolbar
;
import
com.feihua.dialogutils.util.DialogUtils
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
import
java.io.IOException
;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.bean.ServerInfo
;
import
cn.garymb.ygomobile.bean.ServerList
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ourygo.base.OnDuelClipBoardListener
;
import
cn.garymb.ygomobile.ourygo.service.DuelAssistantService
;
import
cn.garymb.ygomobile.ourygo.util.DuelAssistantManagement
;
import
cn.garymb.ygomobile.ui.cards.CardSearchAcitivity
;
import
cn.garymb.ygomobile.ui.home.ServerListManager
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.utils.DeckUtil
;
import
cn.garymb.ygomobile.utils.FileLogUtil
;
import
cn.garymb.ygomobile.utils.FileLogUtil
;
import
cn.garymb.ygomobile.utils.YGOUtil
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
ASSET_SERVER_LIST
;
public
class
BaseActivity
extends
AppCompatActivity
{
public
class
BaseActivity
extends
AppCompatActivity
{
protected
final
static
int
REQUEST_PERMISSIONS
=
0x1000
+
1
;
protected
final
static
int
REQUEST_PERMISSIONS
=
0x1000
+
1
;
private
boolean
mExitAnim
=
true
;
private
boolean
mExitAnim
=
true
;
private
boolean
mEnterAnim
=
true
;
private
boolean
mEnterAnim
=
true
;
private
Toast
mToast
;
private
Toast
mToast
;
private
DialogUtils
dialogUtils
;
protected
String
[]
getPermissions
()
{
protected
String
[]
getPermissions
()
{
return
PERMISSIONS
;
return
PERMISSIONS
;
...
@@ -48,6 +68,7 @@ public class BaseActivity extends AppCompatActivity {
...
@@ -48,6 +68,7 @@ public class BaseActivity extends AppCompatActivity {
@Override
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
dialogUtils
=
DialogUtils
.
getdx
(
this
);
}
}
protected
void
setupActionBar
()
{
protected
void
setupActionBar
()
{
...
@@ -73,6 +94,8 @@ public class BaseActivity extends AppCompatActivity {
...
@@ -73,6 +94,8 @@ public class BaseActivity extends AppCompatActivity {
}
}
onActivityResult
(
REQUEST_PERMISSIONS
,
PermissionsActivity
.
PERMISSIONS_GRANTED
,
null
);
onActivityResult
(
REQUEST_PERMISSIONS
,
PermissionsActivity
.
PERMISSIONS_GRANTED
,
null
);
}
}
}
}
public
Activity
getActivity
()
{
public
Activity
getActivity
()
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/CardSearchActivityImpl.java
View file @
a12cab99
...
@@ -25,12 +25,13 @@ import cn.garymb.ygomobile.Constants;
...
@@ -25,12 +25,13 @@ import cn.garymb.ygomobile.Constants;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.loader.CardLoader
;
import
cn.garymb.ygomobile.loader.CardLoader
;
import
cn.garymb.ygomobile.loader.ImageLoader
;
import
cn.garymb.ygomobile.loader.ImageLoader
;
import
cn.garymb.ygomobile.ourygo.util.DuelAssistantManagement
;
import
cn.garymb.ygomobile.ui.activities.BaseActivity
;
import
cn.garymb.ygomobile.ui.activities.BaseActivity
;
import
cn.garymb.ygomobile.ui.activities.WebActivity
;
import
cn.garymb.ygomobile.ui.activities.WebActivity
;
import
cn.garymb.ygomobile.ui.adapters.CardListAdapter
;
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.ServiceDuelAssistant
;
import
cn.garymb.ygomobile.
ourygo.service.DuelAssistantService
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
ocgcore.DataManager
;
import
ocgcore.DataManager
;
import
ocgcore.LimitManager
;
import
ocgcore.LimitManager
;
...
@@ -60,7 +61,7 @@ class CardSearchActivityImpl extends BaseActivity implements CardLoader.CallBack
...
@@ -60,7 +61,7 @@ class CardSearchActivityImpl extends BaseActivity implements CardLoader.CallBack
setContentView
(
R
.
layout
.
activity_search
);
setContentView
(
R
.
layout
.
activity_search
);
if
(
TextUtils
.
isEmpty
(
getIntent
().
getStringExtra
(
CardSearchAcitivity
.
SEARCH_MESSAGE
))){
if
(
TextUtils
.
isEmpty
(
getIntent
().
getStringExtra
(
CardSearchAcitivity
.
SEARCH_MESSAGE
))){
ServiceDuelAssistant
.
cardSearchMessage
=
""
;
DuelAssistantManagement
.
getInstance
().
setCardSearchMessage
(
""
)
;
}
}
Toolbar
toolbar
=
$
(
R
.
id
.
toolbar
);
Toolbar
toolbar
=
$
(
R
.
id
.
toolbar
);
setSupportActionBar
(
toolbar
);
setSupportActionBar
(
toolbar
);
...
@@ -105,15 +106,15 @@ class CardSearchActivityImpl extends BaseActivity implements CardLoader.CallBack
...
@@ -105,15 +106,15 @@ class CardSearchActivityImpl extends BaseActivity implements CardLoader.CallBack
@Override
@Override
protected
void
onRestart
()
{
protected
void
onRestart
()
{
super
.
onRestart
();
super
.
onRestart
();
if
(!
isFirstCardSearch
&&!
currentCardSearchMessage
.
equals
(
ServiceDuelAssistant
.
cardSearchMessage
)){
if
(!
isFirstCardSearch
&&!
currentCardSearchMessage
.
equals
(
DuelAssistantManagement
.
getInstance
().
getCardSearchMessage
()
)){
currentCardSearchMessage
=
ServiceDuelAssistant
.
cardSearchMessage
;
currentCardSearchMessage
=
DuelAssistantManagement
.
getInstance
().
getCardSearchMessage
()
;
intentSearch
();
intentSearch
();
}
}
}
}
private
void
intentSearch
(){
private
void
intentSearch
(){
// intentSearchMessage=getIntent().getStringExtra(CardSearchAcitivity.SEARCH_MESSAGE);
// intentSearchMessage=getIntent().getStringExtra(CardSearchAcitivity.SEARCH_MESSAGE);
mCardSelector
.
search
(
ServiceDuelAssistant
.
cardSearchMessage
);
mCardSelector
.
search
(
DuelAssistantManagement
.
getInstance
().
getCardSearchMessage
()
);
}
}
protected
void
setListeners
()
{
protected
void
setListeners
()
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerActivityImpl.java
View file @
a12cab99
...
@@ -65,19 +65,18 @@ import cn.garymb.ygomobile.ui.cards.deck.DeckItem;
...
@@ -65,19 +65,18 @@ import cn.garymb.ygomobile.ui.cards.deck.DeckItem;
import
cn.garymb.ygomobile.ui.cards.deck.DeckItemTouchHelper
;
import
cn.garymb.ygomobile.ui.cards.deck.DeckItemTouchHelper
;
import
cn.garymb.ygomobile.ui.cards.deck.DeckItemType
;
import
cn.garymb.ygomobile.ui.cards.deck.DeckItemType
;
import
cn.garymb.ygomobile.ui.cards.deck.DeckLayoutManager
;
import
cn.garymb.ygomobile.ui.cards.deck.DeckLayoutManager
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil
;
import
cn.garymb.ygomobile.mycard.mcchat.util.ImageUtil
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.util.Util
;
import
cn.garymb.ygomobile.ui.plus.AOnGestureListener
;
import
cn.garymb.ygomobile.ui.plus.AOnGestureListener
;
import
cn.garymb.ygomobile.ui.plus.DefaultOnBoomListener
;
import
cn.garymb.ygomobile.ui.plus.DefaultOnBoomListener
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.
ui.plus.ServiceDuelAssistant
;
import
cn.garymb.ygomobile.
ourygo.service.DuelAssistantService
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.utils.BitmapUtil
;
import
cn.garymb.ygomobile.utils.BitmapUtil
;
import
cn.garymb.ygomobile.utils.DeckUtil
;
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.ShareUtil
;
import
cn.garymb.ygomobile.utils.ShareUtil
;
import
cn.garymb.ygomobile.utils.YGODialogUtil
;
import
cn.garymb.ygomobile.utils.YGODialogUtil
;
import
cn.garymb.ygomobile.utils.YGOUtil
;
import
ocgcore.DataManager
;
import
ocgcore.DataManager
;
import
ocgcore.data.Card
;
import
ocgcore.data.Card
;
import
ocgcore.data.LimitList
;
import
ocgcore.data.LimitList
;
...
@@ -794,11 +793,11 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
...
@@ -794,11 +793,11 @@ class DeckManagerActivityImpl extends BaseCardsAcitivity implements RecyclerView
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
du
.
dis
();
du
.
dis
();
stopService
(
new
Intent
(
DeckManagerActivityImpl
.
this
,
ServiceDuelAssistant
.
class
));
stopService
(
new
Intent
(
DeckManagerActivityImpl
.
this
,
DuelAssistantService
.
class
));
Util
.
fz
Message
(
DeckManagerActivityImpl
.
this
,
et_code
.
getText
().
toString
().
trim
());
YGOUtil
.
copy
Message
(
DeckManagerActivityImpl
.
this
,
et_code
.
getText
().
toString
().
trim
());
showToast
(
getString
(
R
.
string
.
deck_text_copyed
));
showToast
(
getString
(
R
.
string
.
deck_text_copyed
));
//复制完毕开启决斗助手
//复制完毕开启决斗助手
Util
.
startDuelService
(
DeckManagerActivityImpl
.
this
);
YGO
Util
.
startDuelService
(
DeckManagerActivityImpl
.
this
);
}
}
});
});
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/home/HomeActivity.java
View file @
a12cab99
...
@@ -61,7 +61,7 @@ import cn.garymb.ygomobile.ui.adapters.ServerListAdapter;
...
@@ -61,7 +61,7 @@ import cn.garymb.ygomobile.ui.adapters.ServerListAdapter;
import
cn.garymb.ygomobile.ui.adapters.SimpleListAdapter
;
import
cn.garymb.ygomobile.ui.adapters.SimpleListAdapter
;
import
cn.garymb.ygomobile.ui.cards.CardSearchAcitivity
;
import
cn.garymb.ygomobile.ui.cards.CardSearchAcitivity
;
import
cn.garymb.ygomobile.ui.cards.DeckManagerActivity
;
import
cn.garymb.ygomobile.ui.cards.DeckManagerActivity
;
import
cn.garymb.ygomobile.
ui.
mycard.MyCardActivity
;
import
cn.garymb.ygomobile.mycard.MyCardActivity
;
import
cn.garymb.ygomobile.ui.plus.DefaultOnBoomListener
;
import
cn.garymb.ygomobile.ui.plus.DefaultOnBoomListener
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.preference.SettingsActivity
;
import
cn.garymb.ygomobile.ui.preference.SettingsActivity
;
...
@@ -71,8 +71,7 @@ import cn.garymb.ygomobile.utils.AlipayPayUtils;
...
@@ -71,8 +71,7 @@ import cn.garymb.ygomobile.utils.AlipayPayUtils;
import
cn.garymb.ygomobile.utils.ComponentUtils
;
import
cn.garymb.ygomobile.utils.ComponentUtils
;
import
cn.garymb.ygomobile.utils.FileLogUtil
;
import
cn.garymb.ygomobile.utils.FileLogUtil
;
import
cn.garymb.ygomobile.utils.ScreenUtil
;
import
cn.garymb.ygomobile.utils.ScreenUtil
;
import
cn.garymb.ygomobile.utils.YGOUtil
;
import
static
cn
.
garymb
.
ygomobile
.
ui
.
mycard
.
mcchat
.
util
.
Util
.
startDuelService
;
public
abstract
class
HomeActivity
extends
BaseActivity
implements
NavigationView
.
OnNavigationItemSelectedListener
{
public
abstract
class
HomeActivity
extends
BaseActivity
implements
NavigationView
.
OnNavigationItemSelectedListener
{
protected
SwipeMenuRecyclerView
mServerList
;
protected
SwipeMenuRecyclerView
mServerList
;
...
@@ -224,8 +223,8 @@ public abstract class HomeActivity extends BaseActivity implements NavigationVie
...
@@ -224,8 +223,8 @@ public abstract class HomeActivity extends BaseActivity implements NavigationVie
TrPay
.
getInstance
(
HomeActivity
.
this
).
initPaySdk
(
"e1014da420ea4405898c01273d6731b6"
,
"YGOMobile"
);
TrPay
.
getInstance
(
HomeActivity
.
this
).
initPaySdk
(
"e1014da420ea4405898c01273d6731b6"
,
"YGOMobile"
);
//autoupadte checking
//autoupadte checking
checkPgyerUpdateSilent
(
getContext
(),
false
,
false
,
false
);
checkPgyerUpdateSilent
(
getContext
(),
false
,
false
,
false
);
//
ServiceDuelAssistant
//
DuelAssistantService
startDuelService
(
this
);
YGOUtil
.
startDuelService
(
this
);
//萌卡
//萌卡
StartMycard
();
StartMycard
();
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/home/MainActivity.java
View file @
a12cab99
...
@@ -14,29 +14,40 @@ import android.widget.Button;
...
@@ -14,29 +14,40 @@ import android.widget.Button;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
com.feihua.dialogutils.util.DialogUtils
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
cn.garymb.ygomobile.AppsSettings
;
import
cn.garymb.ygomobile.AppsSettings
;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.Constants
;
import
cn.garymb.ygomobile.GameUriManager
;
import
cn.garymb.ygomobile.GameUriManager
;
import
cn.garymb.ygomobile.YGOMobileActivity
;
import
cn.garymb.ygomobile.YGOMobileActivity
;
import
cn.garymb.ygomobile.YGOStarter
;
import
cn.garymb.ygomobile.YGOStarter
;
import
cn.garymb.ygomobile.bean.ServerInfo
;
import
cn.garymb.ygomobile.bean.ServerList
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ourygo.base.OnDuelClipBoardListener
;
import
cn.garymb.ygomobile.ourygo.util.DuelAssistantManagement
;
import
cn.garymb.ygomobile.ui.activities.BaseActivity
;
import
cn.garymb.ygomobile.ui.activities.LogoActivity
;
import
cn.garymb.ygomobile.ui.activities.LogoActivity
;
import
cn.garymb.ygomobile.ui.activities.WebActivity
;
import
cn.garymb.ygomobile.ui.activities.WebActivity
;
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.ComponentUtils
;
import
cn.garymb.ygomobile.utils.ComponentUtils
;
import
cn.garymb.ygomobile.utils.DeckUtil
;
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.PermissionUtil
;
import
cn.garymb.ygomobile.utils.PermissionUtil
;
import
cn.garymb.ygomobile.utils.YGOUtil
;
import
libwindbot.windbot.WindBot
;
import
libwindbot.windbot.WindBot
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
ASSET_SERVER_LIST
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
CORE_BOT_CONF_PATH
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
CORE_BOT_CONF_PATH
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
DATABASE_NAME
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
DATABASE_NAME
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
NETWORK_IMAGE
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
NETWORK_IMAGE
;
public
class
MainActivity
extends
HomeActivity
{
public
class
MainActivity
extends
HomeActivity
implements
OnDuelClipBoardListener
{
private
static
final
String
TAG
=
"ResCheckTask"
;
private
static
final
String
TAG
=
"ResCheckTask"
;
private
GameUriManager
mGameUriManager
;
private
GameUriManager
mGameUriManager
;
private
ImageUpdater
mImageUpdater
;
private
ImageUpdater
mImageUpdater
;
...
@@ -52,6 +63,11 @@ public class MainActivity extends HomeActivity {
...
@@ -52,6 +63,11 @@ public class MainActivity extends HomeActivity {
int
err
=
getIntent
().
getIntExtra
(
LogoActivity
.
EXTRA_ERROR
,
ResCheckTask
.
ERROR_NONE
);
int
err
=
getIntent
().
getIntExtra
(
LogoActivity
.
EXTRA_ERROR
,
ResCheckTask
.
ERROR_NONE
);
//资源复制
//资源复制
onCheckCompleted
(
err
,
isNew
);
onCheckCompleted
(
err
,
isNew
);
// if (DuelAssistantManagement.getInstance().isStart()){
// DuelAssistantManagement.getInstance().checkMessage(YGOUtil.getCopyMessage(),this);
// Log.e("BaseActivity","检测复制内容"+YGOUtil.getCopyMessage());
// }
}
}
@Override
@Override
...
@@ -62,6 +78,10 @@ public class MainActivity extends HomeActivity {
...
@@ -62,6 +78,10 @@ public class MainActivity extends HomeActivity {
if
(!
ComponentUtils
.
isActivityRunning
(
this
,
new
ComponentName
(
this
,
YGOMobileActivity
.
class
)))
{
if
(!
ComponentUtils
.
isActivityRunning
(
this
,
new
ComponentName
(
this
,
YGOMobileActivity
.
class
)))
{
ComponentUtils
.
killActivity
(
this
,
new
ComponentName
(
this
,
YGOMobileActivity
.
class
));
ComponentUtils
.
killActivity
(
this
,
new
ComponentName
(
this
,
YGOMobileActivity
.
class
));
}
}
if
(
DuelAssistantManagement
.
getInstance
().
isStart
()){
DuelAssistantManagement
.
getInstance
().
checkMessage
(
YGOUtil
.
getCopyMessage
(),
this
);
}
}
}
@Override
@Override
...
@@ -211,4 +231,106 @@ public class MainActivity extends HomeActivity {
...
@@ -211,4 +231,106 @@ public class MainActivity extends HomeActivity {
getGameUriManager
().
doIntent
(
getIntent
());
getGameUriManager
().
doIntent
(
getIntent
());
}
}
}
}
@Override
public
void
onDeckCode
(
String
deckCode
,
boolean
isDebounce
)
{
if
(
isDebounce
)
return
;
DialogPlus
dialogPlus
=
new
DialogPlus
(
this
);
dialogPlus
.
setMessage
(
"检测到卡组,是否保存?"
);
dialogPlus
.
setLeftButtonText
(
"保存"
);
dialogPlus
.
setRightButtonText
(
"取消"
);
dialogPlus
.
setLeftButtonListener
(
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
DeckUtil
.
saveDeck
(
MainActivity
.
this
,
deckCode
,
false
);
dialog
.
dismiss
();
}
});
dialogPlus
.
setRightButtonListener
(
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
}
});
dialogPlus
.
show
();
}
@Override
public
void
onDeckUrl
(
String
deckUrl
,
boolean
isDebounce
)
{
if
(
isDebounce
)
return
;
DialogPlus
dialogPlus
=
new
DialogPlus
(
this
);
dialogPlus
.
setMessage
(
"检测到卡组,是否保存?"
);
dialogPlus
.
setLeftButtonText
(
"保存"
);
dialogPlus
.
setRightButtonText
(
"取消"
);
dialogPlus
.
setLeftButtonListener
(
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
DeckUtil
.
saveDeck
(
MainActivity
.
this
,
deckUrl
,
true
);
dialog
.
dismiss
();
}
});
dialogPlus
.
setRightButtonListener
(
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
}
});
dialogPlus
.
show
();
}
@Override
public
void
onCardQuery
(
String
cardNameKey
,
boolean
isDebounce
)
{
}
@Override
public
void
onDuelPassword
(
String
password
,
boolean
isDebounce
)
{
if
(
isDebounce
)
return
;
DialogPlus
dialogPlus
=
new
DialogPlus
(
this
);
dialogPlus
.
setTitle
(
password
);
dialogPlus
.
setMessage
(
"检测到决斗密码,是否加入房间?"
);
dialogPlus
.
setLeftButtonText
(
"加入"
);
dialogPlus
.
setRightButtonText
(
"取消"
);
dialogPlus
.
setLeftButtonListener
(
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
File
xmlFile
=
new
File
(
getFilesDir
(),
Constants
.
SERVER_FILE
);
VUiKit
.
defer
().
when
(()
->
{
ServerList
assetList
=
ServerListManager
.
readList
(
MainActivity
.
this
.
getAssets
().
open
(
ASSET_SERVER_LIST
));
ServerList
fileList
=
xmlFile
.
exists
()
?
ServerListManager
.
readList
(
new
FileInputStream
(
xmlFile
))
:
null
;
if
(
fileList
==
null
)
{
return
assetList
;
}
if
(
fileList
.
getVercode
()
<
assetList
.
getVercode
())
{
xmlFile
.
delete
();
return
assetList
;
}
return
fileList
;
}).
done
((
list
)
->
{
if
(
list
!=
null
)
{
ServerInfo
serverInfo
=
list
.
getServerInfoList
().
get
(
0
);
YGOUtil
.
duelIntent
(
MainActivity
.
this
,
serverInfo
.
getServerAddr
(),
serverInfo
.
getPort
(),
serverInfo
.
getPlayerName
(),
password
);
}
});
dialog
.
dismiss
();
}
});
dialogPlus
.
setRightButtonListener
(
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
dialog
.
dismiss
();
}
});
dialogPlus
.
show
();
}
@Override
public
boolean
isEffective
()
{
return
YGOUtil
.
isContextExisted
(
this
);
}
}
}
mobile/src/main/java/cn/garymb/ygomobile/ui/mycard/mcchat/util/Util.java
deleted
100644 → 0
View file @
4cf8824c
package
cn.garymb.ygomobile.ui.mycard.mcchat.util
;
import
android.app.Activity
;
import
android.content.ClipboardManager
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.os.Build
;
import
android.view.inputmethod.InputMethodManager
;
import
android.widget.Toast
;
import
cn.garymb.ygomobile.AppsSettings
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.plus.ServiceDuelAssistant
;
import
cn.garymb.ygomobile.utils.PermissionUtil
;
public
class
Util
{
//提示
public
static
void
show
(
Context
context
,
String
message
)
{
Toast
.
makeText
(
context
,
message
,
Toast
.
LENGTH_SHORT
).
show
();
}
//关闭输入法
public
static
void
closeKeyboard
(
Activity
activity
)
{
InputMethodManager
inputMethodManager
=
(
InputMethodManager
)
activity
.
getSystemService
(
Context
.
INPUT_METHOD_SERVICE
);
inputMethodManager
.
hideSoftInputFromWindow
((
activity
).
getCurrentFocus
().
getWindowToken
()
,
InputMethodManager
.
HIDE_NOT_ALWAYS
);
}
//复制字符串到剪贴板
public
static
void
fzMessage
(
Context
context
,
String
message
)
{
ClipboardManager
cmb
=
(
ClipboardManager
)
context
.
getSystemService
(
Context
.
CLIPBOARD_SERVICE
);
cmb
.
setText
(
message
);
//复制命令
}
public
static
void
startDuelService
(
Context
context
)
{
if
(
AppsSettings
.
get
().
isServiceDuelAssistant
())
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
O
)
{
DialogPlus
dialogPlus
=
PermissionUtil
.
isNotificationPermission
(
context
);
if
(
dialogPlus
==
null
)
context
.
startForegroundService
(
new
Intent
(
context
,
ServiceDuelAssistant
.
class
));
else
dialogPlus
.
show
();
}
else
{
context
.
startService
(
new
Intent
(
context
,
ServiceDuelAssistant
.
class
));
}
}
}
}
mobile/src/main/java/cn/garymb/ygomobile/ui/preference/fragments/SettingFragment.java
View file @
a12cab99
...
@@ -36,9 +36,8 @@ import cn.garymb.ygomobile.Constants;
...
@@ -36,9 +36,8 @@ import cn.garymb.ygomobile.Constants;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.activities.LogoActivity
;
import
cn.garymb.ygomobile.ui.activities.LogoActivity
;
import
cn.garymb.ygomobile.ui.home.HomeActivity
;
import
cn.garymb.ygomobile.ui.home.HomeActivity
;
import
cn.garymb.ygomobile.ui.home.MainActivity
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.
ui.plus.ServiceDuelAssistant
;
import
cn.garymb.ygomobile.
ourygo.service.DuelAssistantService
;
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
;
...
@@ -48,7 +47,6 @@ import cn.garymb.ygomobile.utils.PermissionUtil;
...
@@ -48,7 +47,6 @@ import cn.garymb.ygomobile.utils.PermissionUtil;
import
ocgcore.ConfigManager
;
import
ocgcore.ConfigManager
;
import
ocgcore.DataManager
;
import
ocgcore.DataManager
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
ACTION_RELOAD
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
CORE_SKIN_AVATAR_SIZE
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
CORE_SKIN_AVATAR_SIZE
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
CORE_SKIN_BG_SIZE
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
CORE_SKIN_BG_SIZE
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
CORE_SKIN_CARD_COVER_SIZE
;
import
static
cn
.
garymb
.
ygomobile
.
Constants
.
CORE_SKIN_CARD_COVER_SIZE
;
...
@@ -195,9 +193,9 @@ public class SettingFragment extends PreferenceFragmentPlus {
...
@@ -195,9 +193,9 @@ public class SettingFragment extends PreferenceFragmentPlus {
if
(
preference
.
getKey
().
equals
(
PREF_START_SERVICEDUELASSISTANT
))
{
if
(
preference
.
getKey
().
equals
(
PREF_START_SERVICEDUELASSISTANT
))
{
if
(
checkBoxPreference
.
isChecked
())
{
if
(
checkBoxPreference
.
isChecked
())
{
PermissionUtil
.
isServicePermission
(
getActivity
(),
true
);
PermissionUtil
.
isServicePermission
(
getActivity
(),
true
);
getActivity
().
startService
(
new
Intent
(
getActivity
(),
ServiceDuelAssistant
.
class
));
getActivity
().
startService
(
new
Intent
(
getActivity
(),
DuelAssistantService
.
class
));
}
else
{
}
else
{
getActivity
().
stopService
(
new
Intent
(
getActivity
(),
ServiceDuelAssistant
.
class
));
getActivity
().
stopService
(
new
Intent
(
getActivity
(),
DuelAssistantService
.
class
));
}
}
}
}
//如果是音效开关
//如果是音效开关
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/widget/WebViewPlus.java
View file @
a12cab99
...
@@ -3,7 +3,7 @@ package cn.garymb.ygomobile.ui.widget;
...
@@ -3,7 +3,7 @@ package cn.garymb.ygomobile.ui.widget;
import
android.content.Context
;
import
android.content.Context
;
import
android.util.AttributeSet
;
import
android.util.AttributeSet
;
import
cn.garymb.ygomobile.
ui.
mycard.X5WebView
;
import
cn.garymb.ygomobile.mycard.X5WebView
;
public
class
WebViewPlus
extends
X5WebView
{
public
class
WebViewPlus
extends
X5WebView
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/utils/DeckUtil.java
View file @
a12cab99
package
cn.garymb.ygomobile.utils
;
package
cn.garymb.ygomobile.utils
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Build
;
import
android.widget.Toast
;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -16,9 +19,13 @@ import java.util.zip.ZipFile;
...
@@ -16,9 +19,13 @@ 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.bean.Deck
;
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.lite.R
;
import
cn.garymb.ygomobile.ourygo.service.DuelAssistantService
;
import
cn.garymb.ygomobile.ui.cards.DeckManagerActivity
;
import
cn.garymb.ygomobile.ui.cards.deck.DeckUtils
;
public
class
DeckUtil
{
public
class
DeckUtil
{
...
@@ -122,4 +129,28 @@ public class DeckUtil {
...
@@ -122,4 +129,28 @@ public class DeckUtil {
}
}
};
};
public
static
void
saveDeck
(
Context
context
,
String
deckMessage
,
boolean
isUrl
){
if
(
isUrl
)
{
Deck
deckInfo
=
new
Deck
(
YGOUtil
.
s
(
R
.
string
.
rename_deck
)
+
System
.
currentTimeMillis
(),
Uri
.
parse
(
deckMessage
));
File
file
=
deckInfo
.
saveTemp
(
AppsSettings
.
get
().
getDeckDir
());
Intent
startdeck
=
new
Intent
(
context
,
DeckManagerActivity
.
getDeckManager
());
startdeck
.
putExtra
(
Intent
.
EXTRA_TEXT
,
file
.
getAbsolutePath
());
startdeck
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
context
.
startActivity
(
startdeck
);
}
else
{
//如果是卡组文本
try
{
//以当前时间戳作为卡组名保存卡组
File
file
=
DeckUtils
.
save
(
YGOUtil
.
s
(
R
.
string
.
rename_deck
)
+
System
.
currentTimeMillis
(),
deckMessage
);
Intent
startdeck
=
new
Intent
(
context
,
DeckManagerActivity
.
getDeckManager
());
startdeck
.
putExtra
(
Intent
.
EXTRA_TEXT
,
file
.
getAbsolutePath
());
startdeck
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
context
.
startActivity
(
startdeck
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
Toast
.
makeText
(
context
,
YGOUtil
.
s
(
R
.
string
.
save_failed_bcos
)
+
e
,
Toast
.
LENGTH_SHORT
).
show
();
}
}
}
}
}
mobile/src/main/java/cn/garymb/ygomobile/utils/YGODialogUtil.java
View file @
a12cab99
...
@@ -32,7 +32,7 @@ import cn.garymb.ygomobile.bean.DeckType;
...
@@ -32,7 +32,7 @@ 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.lite.R
;
import
cn.garymb.ygomobile.ui.adapters.TextSelectAdapter
;
import
cn.garymb.ygomobile.ui.adapters.TextSelectAdapter
;
import
cn.garymb.ygomobile.
ui.
mycard.mcchat.util.ImageUtil
;
import
cn.garymb.ygomobile.mycard.mcchat.util.ImageUtil
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.utils.recyclerview.DeckTypeTouchHelperCallback
;
import
cn.garymb.ygomobile.utils.recyclerview.DeckTypeTouchHelperCallback
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/utils/YGOUtil.java
View file @
a12cab99
package
cn.garymb.ygomobile.utils
;
package
cn.garymb.ygomobile.utils
;
import
android.app.Activity
;
import
android.app.ActivityManager
;
import
android.app.Application
;
import
android.app.Service
;
import
android.content.ClipData
;
import
android.content.ClipboardManager
;
import
android.content.ComponentName
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.os.Build
;
import
android.view.inputmethod.InputMethodManager
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
androidx.core.content.ContextCompat
;
import
androidx.core.content.ContextCompat
;
import
java.util.List
;
import
cn.garymb.ygomobile.App
;
import
cn.garymb.ygomobile.App
;
import
cn.garymb.ygomobile.AppsSettings
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ourygo.service.DuelAssistantService
;
import
cn.garymb.ygomobile.ourygo.util.DuelAssistantManagement
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
libwindbot.windbot.game.Duel
;
public
class
YGOUtil
{
public
class
YGOUtil
{
...
@@ -20,4 +38,101 @@ public class YGOUtil {
...
@@ -20,4 +38,101 @@ public class YGOUtil {
public
static
String
s
(
int
stringId
){
public
static
String
s
(
int
stringId
){
return
App
.
get
().
getResources
().
getString
(
stringId
);
return
App
.
get
().
getResources
().
getString
(
stringId
);
}
}
//关闭输入法
public
static
void
closeKeyboard
(
Activity
activity
)
{
InputMethodManager
inputMethodManager
=
(
InputMethodManager
)
activity
.
getSystemService
(
Context
.
INPUT_METHOD_SERVICE
);
inputMethodManager
.
hideSoftInputFromWindow
((
activity
).
getCurrentFocus
().
getWindowToken
()
,
InputMethodManager
.
HIDE_NOT_ALWAYS
);
}
//复制字符串到剪贴板
public
static
void
copyMessage
(
Context
context
,
String
message
)
{
ClipboardManager
cmb
=
(
ClipboardManager
)
context
.
getSystemService
(
Context
.
CLIPBOARD_SERVICE
);
cmb
.
setText
(
message
);
//复制命令
}
public
static
String
getCopyMessage
(){
ClipboardManager
cm
=
(
ClipboardManager
)
App
.
get
().
getSystemService
(
Context
.
CLIPBOARD_SERVICE
);
ClipData
clipData
=
cm
.
getPrimaryClip
();
if
(
clipData
==
null
)
return
null
;
CharSequence
cs
=
clipData
.
getItemAt
(
0
).
getText
();
final
String
clipMessage
;
if
(
cs
!=
null
)
{
clipMessage
=
cs
.
toString
();
}
else
{
clipMessage
=
null
;
}
return
clipMessage
;
}
public
static
void
startDuelService
(
Context
context
)
{
if
(
AppsSettings
.
get
().
isServiceDuelAssistant
())
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
O
)
{
DialogPlus
dialogPlus
=
PermissionUtil
.
isNotificationPermission
(
context
);
if
(
dialogPlus
==
null
)
context
.
startForegroundService
(
new
Intent
(
context
,
DuelAssistantService
.
class
));
else
dialogPlus
.
show
();
}
else
{
context
.
startService
(
new
Intent
(
context
,
DuelAssistantService
.
class
));
}
}
DuelAssistantManagement
.
getInstance
().
setStart
(
true
);
}
public
static
boolean
isServiceExisted
(
Context
context
,
String
className
)
{
ActivityManager
activityManager
=
(
ActivityManager
)
context
.
getSystemService
(
Context
.
ACTIVITY_SERVICE
);
List
<
ActivityManager
.
RunningServiceInfo
>
serviceList
=
activityManager
.
getRunningServices
(
Integer
.
MAX_VALUE
);
if
(!(
serviceList
.
size
()
>
0
))
{
return
false
;
}
for
(
int
i
=
0
;
i
<
serviceList
.
size
();
i
++)
{
ActivityManager
.
RunningServiceInfo
serviceInfo
=
serviceList
.
get
(
i
);
ComponentName
serviceName
=
serviceInfo
.
service
;
if
(
serviceName
.
getClassName
().
equals
(
className
))
{
return
true
;
}
}
return
false
;
}
public
static
boolean
isContextExisted
(
Context
context
)
{
if
(
context
!=
null
)
{
if
(
context
instanceof
Activity
)
{
if
(!((
Activity
)
context
).
isFinishing
())
{
return
true
;
}
}
else
if
(
context
instanceof
Service
)
{
if
(
isServiceExisted
(
context
,
context
.
getClass
().
getName
()))
{
return
true
;
}
}
else
if
(
context
instanceof
Application
)
{
return
true
;
}
}
return
false
;
}
//决斗跳转
public
static
void
duelIntent
(
Context
context
,
String
ip
,
int
port
,
String
name
,
String
password
)
{
Intent
intent1
=
new
Intent
(
"ygomobile.intent.action.GAME"
);
intent1
.
putExtra
(
"host"
,
ip
);
intent1
.
putExtra
(
"port"
,
port
);
intent1
.
putExtra
(
"user"
,
name
);
intent1
.
putExtra
(
"room"
,
password
);
//intent1.setPackage("cn.garymb.ygomobile");
intent1
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
context
.
startActivity
(
intent1
);
}
}
}
mobile/src/main/res/layout/activity_online_mycard.xml
View file @
a12cab99
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
<cn.garymb.ygomobile.
ui.
mycard.MyCardWebView
<cn.garymb.ygomobile.mycard.MyCardWebView
android:id=
"@+id/webbrowser"
android:id=
"@+id/webbrowser"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"5px"
/>
android:layout_height=
"5px"
/>
</cn.garymb.ygomobile.
ui.
mycard.MyCardWebView>
</cn.garymb.ygomobile.mycard.MyCardWebView>
</RelativeLayout>
</RelativeLayout>
...
...
mobile/src/main/res/layout/item_chat.xml
View file @
a12cab99
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"#00000000"
>
android:background=
"#00000000"
>
<cn.garymb.ygomobile.
ui.
mycard.mcchat.view.YuanImage
<cn.garymb.ygomobile.mycard.mcchat.view.YuanImage
android:id=
"@+id/ic_avatar"
android:id=
"@+id/ic_avatar"
android:layout_width=
"35dp"
android:layout_width=
"35dp"
android:layout_height=
"35dp"
android:layout_height=
"35dp"
...
...
mobile/src/main/res/layout/item_chat_me.xml
View file @
a12cab99
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"#00000000"
>
android:background=
"#00000000"
>
<cn.garymb.ygomobile.
ui.
mycard.mcchat.view.YuanImage
<cn.garymb.ygomobile.mycard.mcchat.view.YuanImage
android:id=
"@+id/icm_avatar"
android:id=
"@+id/icm_avatar"
android:layout_width=
"35dp"
android:layout_width=
"35dp"
android:layout_height=
"35dp"
android:layout_height=
"35dp"
...
...
mobile/src/main/res/xml/shortcuts.xml
View file @
a12cab99
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<intent
<intent
android:action=
"android.intent.action.VIEW"
android:action=
"android.intent.action.VIEW"
android:targetClass=
"cn.garymb.ygomobile.
ui.
mycard.MyCardActivity"
android:targetClass=
"cn.garymb.ygomobile.mycard.MyCardActivity"
android:targetPackage=
"cn.garymb.ygomobile"
/>
android:targetPackage=
"cn.garymb.ygomobile"
/>
<categories
android:name=
"android.shortcut.conversation"
/>
<categories
android:name=
"android.shortcut.conversation"
/>
</shortcut>
</shortcut>
...
...
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