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
cea6a555
Commit
cea6a555
authored
Nov 23, 2021
by
feihuaduo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
使用BaseQuickAdapter
gradle版本更新至7.0.3 修复决斗助手房间检查无法识别多行文字的问题
parent
7559c10c
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
326 additions
and
184 deletions
+326
-184
build.gradle
build.gradle
+1
-1
mobile/build.gradle
mobile/build.gradle
+1
-1
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/BaseRecyclerAdapterPlus.java
...garymb/ygomobile/ui/adapters/BaseRecyclerAdapterPlus.java
+31
-30
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/CardListAdapter.java
...java/cn/garymb/ygomobile/ui/adapters/CardListAdapter.java
+180
-84
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/ServerListAdapter.java
...va/cn/garymb/ygomobile/ui/adapters/ServerListAdapter.java
+102
-59
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/TextSelectAdapter.java
...va/cn/garymb/ygomobile/ui/adapters/TextSelectAdapter.java
+5
-4
mobile/src/main/java/cn/garymb/ygomobile/ui/home/ServerListManager.java
...n/java/cn/garymb/ygomobile/ui/home/ServerListManager.java
+2
-2
mobile/src/main/java/cn/garymb/ygomobile/utils/YGODialogUtil.java
...rc/main/java/cn/garymb/ygomobile/utils/YGODialogUtil.java
+4
-2
mobile/src/main/java/com/ourygo/assistant/util/DuelAssistantManagement.java
...va/com/ourygo/assistant/util/DuelAssistantManagement.java
+0
-1
No files found.
build.gradle
View file @
cea6a555
...
...
@@ -9,7 +9,7 @@ buildscript {
google
()
}
dependencies
{
classpath
'com.android.tools.build:gradle:7.0.
2
'
classpath
'com.android.tools.build:gradle:7.0.
3
'
classpath
'com.android.tools.build:gradle-experimental:0.11.1'
//classpath 'me.tatarka:gradle-retrolambda:3.2.5'
}
...
...
mobile/build.gradle
View file @
cea6a555
...
...
@@ -117,7 +117,7 @@ dependencies {
//dialog库
implementation
(
name:
'dialogutils2-release'
,
ext:
'aar'
)
//recyclerview的adapter库
implementation
'com.github.CymChad:BaseRecyclerViewAdapterHelper:
2.9.30
'
implementation
'com.github.CymChad:BaseRecyclerViewAdapterHelper:
3.0.4
'
implementation
'androidx.appcompat:appcompat:1.2.0'
implementation
'com.google.android.material:material:1.3.0'
//图片选择
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/BaseRecyclerAdapterPlus.java
View file @
cea6a555
...
...
@@ -7,21 +7,24 @@ import android.view.ViewGroup;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.List
;
public
abstract
class
BaseRecyclerAdapterPlus
<
T
,
V
extends
RecyclerView
.
ViewHolder
>
extends
RecyclerView
.
Adapter
<
V
>
{
public
abstract
class
BaseRecyclerAdapterPlus
<
T
,
V
extends
BaseViewHolder
>
extends
BaseQuickAdapter
<
T
,
V
>
{
protected
Context
context
;
private
LayoutInflater
mLayoutInflater
;
protected
final
List
<
T
>
mItems
=
new
ArrayList
<
T
>();
//
protected final List<T> mItems = new ArrayList<T>();
public
BaseRecyclerAdapterPlus
(
Context
context
)
{
super
();
public
BaseRecyclerAdapterPlus
(
Context
context
,
int
layout
)
{
super
(
layout
,
new
ArrayList
<>()
);
this
.
context
=
context
;
mLayoutInflater
=
LayoutInflater
.
from
(
context
);
}
public
Context
getContext
()
{
public
Context
get
Adapter
Context
()
{
return
context
;
}
...
...
@@ -37,23 +40,21 @@ public abstract class BaseRecyclerAdapterPlus<T, V extends RecyclerView.ViewHold
}
}
if
(
pos
>=
0
)
{
mItems
.
add
(
pos
,
item
);
addData
(
pos
,
item
);
}
else
{
mItems
.
add
(
item
);
addData
(
item
);
}
return
true
;
}
return
true
;
}
public
T
remove
(
int
pos
)
{
return
mItems
.
remove
(
pos
);
}
public
void
removeItem
(
T
item
)
{
mItems
.
remove
(
item
);
remove
(
item
);
}
public
List
<
T
>
getItems
()
{
return
mItems
;
return
getData
()
;
}
protected
<
VW
extends
View
>
VW
inflate
(
int
resource
,
ViewGroup
root
)
{
...
...
@@ -65,7 +66,7 @@ public abstract class BaseRecyclerAdapterPlus<T, V extends RecyclerView.ViewHold
}
public
void
clear
()
{
mItems
.
clear
();
getData
()
.
clear
();
}
public
void
set
(
Collection
<
T
>
items
)
{
...
...
@@ -75,36 +76,36 @@ public abstract class BaseRecyclerAdapterPlus<T, V extends RecyclerView.ViewHold
public
void
addAll
(
Collection
<
T
>
items
)
{
if
(
items
!=
null
)
{
mItems
.
addAll
(
items
);
addData
(
items
);
}
}
public
int
findItem
(
T
item
)
{
return
mItems
.
indexOf
(
item
);
return
getItems
()
.
indexOf
(
item
);
}
public
boolean
exist
(
T
item
)
{
if
(
item
==
null
)
return
false
;
return
mItems
.
contains
(
item
);
return
getItems
()
.
contains
(
item
);
}
@Override
public
abstract
V
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
);
//
@Override
//
public abstract V onCreateViewHolder(ViewGroup parent, int viewType);
@Override
public
abstract
void
onBindViewHolder
(
V
holder
,
int
position
);
//
@Override
//
public abstract void onBindViewHolder(V holder, int position);
public
final
T
getItem
(
int
position
)
{
if
(
position
>=
0
&&
position
<
getItemCount
())
{
return
mItems
.
get
(
position
);
}
return
null
;
}
//
public final T getItem(int position) {
//
if (position >= 0 && position < getItemCount()) {
// return getItems()
.get(position);
//
}
//
return null;
//
}
@Override
public
int
getItemCount
()
{
return
mItems
.
size
();
}
//
@Override
//
public int getItemCount() {
//
return mItems.size();
//
}
public
final
T
getItemById
(
long
id
)
{
return
getItem
((
int
)
id
);
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/CardListAdapter.java
View file @
cea6a555
...
...
@@ -9,6 +9,9 @@ import android.widget.TextView;
import
androidx.annotation.NonNull
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.listener.OnItemChildClickListener
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.tubb.smrv.SwipeHorizontalMenuLayout
;
import
org.greenrobot.eventbus.EventBus
;
...
...
@@ -27,7 +30,7 @@ import ocgcore.data.LimitList;
import
ocgcore.enums.CardType
;
import
ocgcore.enums.LimitType
;
public
class
CardListAdapter
extends
BaseRecyclerAdapterPlus
<
Card
,
ViewHolder
>
implements
CardListProvider
{
public
class
CardListAdapter
extends
BaseRecyclerAdapterPlus
<
Card
,
Base
ViewHolder
>
implements
CardListProvider
{
private
StringManager
mStringManager
;
private
ImageTop
mImageTop
;
private
LimitList
mLimitList
;
...
...
@@ -36,9 +39,10 @@ public class CardListAdapter extends BaseRecyclerAdapterPlus<Card, ViewHolder> i
private
boolean
mEnableSwipe
=
false
;
public
CardListAdapter
(
Context
context
,
ImageLoader
imageLoader
)
{
super
(
context
);
super
(
context
,
R
.
layout
.
item_search_card_swipe
);
this
.
imageLoader
=
imageLoader
;
mStringManager
=
DataManager
.
get
().
getStringManager
();
}
@Override
...
...
@@ -99,58 +103,179 @@ public class CardListAdapter extends BaseRecyclerAdapterPlus<Card, ViewHolder> i
}
}
@NonNull
@Override
public
ViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
View
view
=
inflate
(
R
.
layout
.
item_search_card_swipe
,
parent
,
false
);
if
(
mItemBg
)
{
view
.
setBackgroundResource
(
R
.
drawable
.
blue
);
// @NonNull
// @Override
// public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// View view = inflate(R.layout.item_search_card_swipe, parent, false);
// if (mItemBg) {
// view.setBackgroundResource(R.drawable.blue);
// }
// ViewHolder viewHolder = new ViewHolder(view);
// viewHolder.mMenuLayout.setSwipeEnable(mEnableSwipe);
// return viewHolder;
// }
// @Override
// public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
// Card item = getCard(position);
// if(item == null){
// return;
// }
// imageLoader.bindImage(holder.cardImage, item, ImageLoader.Type.small);
// holder.cardName.setText(item.Name);
// if (item.isType(CardType.Monster)) {
// holder.layout_atk.setVisibility(View.VISIBLE);
// holder.layout_def.setVisibility(View.VISIBLE);
// holder.layout_star_attr_race_scale.setVisibility(View.VISIBLE);
//// holder.view_bar.setVisibility(View.VISIBLE);
// String star = "★" + item.getStar();
// holder.cardLevel.setText(star);
// holder.cardattr.setText(mStringManager.getAttributeString(item.Attribute));
// holder.cardrace.setText(mStringManager.getRaceString(item.Race));
// holder.cardAtk.setText((item.Attack < 0 ? "?" : String.valueOf(item.Attack)));
// if (item.isType(CardType.Xyz)) {
// holder.cardLevel.setTextColor(getColor(R.color.star_rank));
// } else {
// holder.cardLevel.setTextColor(getColor(R.color.star));
// }
// if (item.isType(CardType.Pendulum)) {
// holder.layout_p_scale.setVisibility(View.VISIBLE);
// holder.cardScale.setText(String.valueOf(item.LeftScale));
// } else {
// holder.layout_p_scale.setVisibility(View.GONE);
// }
// if (item.isType(CardType.Link)) {
// holder.cardLevel.setVisibility(View.GONE);
// holder.linkArrow.setVisibility(View.VISIBLE);
// holder.cardDef.setText(item.getStar() < 0 ? "?" : "LINK-" + String.valueOf(item.getStar()));
// holder.TextDef.setText("");
// BaseActivity.showLinkArrows(item, holder.linkArrow);
// } else {
// holder.cardLevel.setVisibility(View.VISIBLE);
// holder.linkArrow.setVisibility(View.GONE);
// holder.cardDef.setText((item.Defense < 0 ? "?" : String.valueOf(item.Defense)));
// holder.TextDef.setText("DEF/");
// }
//
//
// } else {
//// if (!showCode) {
//// holder.view_bar.setVisibility(View.INVISIBLE);
//// }
// holder.layout_star_attr_race_scale.setVisibility(View.INVISIBLE);
// holder.linkArrow.setVisibility(View.GONE);
// holder.layout_atk.setVisibility(View.GONE);
// holder.layout_def.setVisibility(View.GONE);
// }
// if (mImageTop == null) {
// mImageTop = new ImageTop(context);
// }
// if (mLimitList != null) {
// holder.rightImage.setVisibility(View.VISIBLE);
// if (mLimitList.check(item, LimitType.Forbidden)) {
// holder.rightImage.setImageBitmap(mImageTop.forbidden);
// } else if (mLimitList.check(item, LimitType.Limit)) {
// holder.rightImage.setImageBitmap(mImageTop.limit);
// } else if (mLimitList.check(item, LimitType.SemiLimit)) {
// holder.rightImage.setImageBitmap(mImageTop.semiLimit);
// } else {
// holder.rightImage.setVisibility(View.GONE);
// }
// } else {
// holder.rightImage.setVisibility(View.GONE);
// }
// //卡片类型
// holder.cardType.setText(CardUtils.getAllTypeString(item, mStringManager));
// if (holder.codeView != null) {
// holder.codeView.setText(String.format("%08d", item.getCode()));
// }
// bindMenu(holder, position);
// }
private
int
getColor
(
int
id
)
{
return
context
.
getResources
().
getColor
(
id
);
}
ViewHolder
viewHolder
=
new
ViewHolder
(
view
);
viewHolder
.
mMenuLayout
.
setSwipeEnable
(
mEnableSwipe
);
return
viewHolder
;
public
void
setItemBg
(
boolean
itemBg
)
{
this
.
mItemBg
=
itemBg
;
}
@Override
public
void
onBindViewHolder
(
@NonNull
ViewHolder
holder
,
int
position
)
{
Card
item
=
getCard
(
position
);
if
(
item
==
null
){
return
;
public
void
setLimitList
(
LimitList
limitList
)
{
mLimitList
=
limitList
;
}
public
void
bindMenu
(
com
.
chad
.
library
.
adapter
.
base
.
viewholder
.
BaseViewHolder
holder
,
int
position
)
{
// setOnItemChildClickListener((adapter, view, position1) -> {
// switch (view.getId()){
// case R.id.btn_add_main:
//
// mShowMenuView = holder.itemView;
// EventBus.getDefault().post(new CardInfoEvent(position1, true));
// break;
// case R.id.btn_add_side:
// mShowMenuView = holder.itemView;
// EventBus.getDefault().post(new CardInfoEvent(position1, false));
// break;
// }
// });
// if (holder.btnMain != null) {
holder
.
getView
(
R
.
id
.
btn_add_main
).
setOnClickListener
((
v
)
->
{
mShowMenuView
=
holder
.
itemView
;
EventBus
.
getDefault
().
post
(
new
CardInfoEvent
(
position
,
true
));
// holder.mMenuLayout.smoothCloseMenu();
});
// }
// if (holder.btnSide != null) {
holder
.
getView
(
R
.
id
.
btn_add_side
).
setOnClickListener
((
v
)
->
{
mShowMenuView
=
holder
.
itemView
;
EventBus
.
getDefault
().
post
(
new
CardInfoEvent
(
position
,
false
));
// holder.mMenuLayout.smoothCloseMenu();
});
// }
}
imageLoader
.
bindImage
(
holder
.
cardImage
,
item
,
ImageLoader
.
Type
.
small
);
holder
.
cardName
.
setText
(
item
.
Name
);
private
View
mShowMenuView
;
@Override
protected
void
convert
(
com
.
chad
.
library
.
adapter
.
base
.
viewholder
.
BaseViewHolder
holder
,
Card
item
)
{
int
position
=
holder
.
getAdapterPosition
()-
getHeaderLayoutCount
();
imageLoader
.
bindImage
(
holder
.
getView
(
R
.
id
.
card_image
),
item
,
ImageLoader
.
Type
.
small
);
holder
.
setText
(
R
.
id
.
card_name
,
item
.
Name
);
if
(
item
.
isType
(
CardType
.
Monster
))
{
holder
.
layout_atk
.
setVisibility
(
View
.
VISIBLE
);
holder
.
layout_def
.
setVisibility
(
View
.
VISIBLE
);
holder
.
layout_star_attr_race_scale
.
setVisibility
(
View
.
VISIBLE
);
holder
.
setGone
(
R
.
id
.
layout_atk
,
false
);
holder
.
setGone
(
R
.
id
.
layout_def
,
false
);
holder
.
setGone
(
R
.
id
.
star_attr_race_scale
,
false
);
// holder.view_bar.setVisibility(View.VISIBLE);
String
star
=
"★"
+
item
.
getStar
();
holder
.
cardLevel
.
setText
(
star
);
holder
.
cardattr
.
setText
(
mStringManager
.
getAttributeString
(
item
.
Attribute
));
holder
.
cardrace
.
setText
(
mStringManager
.
getRaceString
(
item
.
Race
));
holder
.
cardAtk
.
setText
(
(
item
.
Attack
<
0
?
"?"
:
String
.
valueOf
(
item
.
Attack
)));
holder
.
setText
(
R
.
id
.
card_level
,
star
);
holder
.
setText
(
R
.
id
.
card_attr
,
mStringManager
.
getAttributeString
(
item
.
Attribute
));
holder
.
setText
(
R
.
id
.
card_race
,
mStringManager
.
getRaceString
(
item
.
Race
));
holder
.
setText
(
R
.
id
.
card_atk
,
(
item
.
Attack
<
0
?
"?"
:
String
.
valueOf
(
item
.
Attack
)));
if
(
item
.
isType
(
CardType
.
Xyz
))
{
holder
.
cardLevel
.
setTextColor
(
getColor
(
R
.
color
.
star_rank
));
holder
.
setTextColor
(
R
.
id
.
card_level
,
getColor
(
R
.
color
.
star_rank
));
}
else
{
holder
.
cardLevel
.
setTextColor
(
getColor
(
R
.
color
.
star
));
holder
.
setTextColor
(
R
.
id
.
card_level
,
getColor
(
R
.
color
.
star
));
}
if
(
item
.
isType
(
CardType
.
Pendulum
))
{
holder
.
layout_p_scale
.
setVisibility
(
View
.
VISIBLE
);
holder
.
cardScale
.
setText
(
String
.
valueOf
(
item
.
LeftScale
));
holder
.
setGone
(
R
.
id
.
p_scale
,
false
);
holder
.
setText
(
R
.
id
.
card_scale
,
String
.
valueOf
(
item
.
LeftScale
));
}
else
{
holder
.
layout_p_scale
.
setVisibility
(
View
.
GONE
);
holder
.
setGone
(
R
.
id
.
p_scale
,
true
);
}
if
(
item
.
isType
(
CardType
.
Link
))
{
holder
.
cardLevel
.
setVisibility
(
View
.
GONE
);
holder
.
linkArrow
.
setVisibility
(
View
.
VISIBLE
);
holder
.
cardDef
.
setText
(
item
.
getStar
()
<
0
?
"?"
:
"LINK-"
+
String
.
valueOf
(
item
.
getStar
()));
holder
.
TextDef
.
setText
(
""
);
BaseActivity
.
showLinkArrows
(
item
,
holder
.
linkArrow
);
holder
.
setGone
(
R
.
id
.
card_level
,
true
);
holder
.
setGone
(
R
.
id
.
search_link_arrows
,
false
);
holder
.
setText
(
R
.
id
.
card_def
,
item
.
getStar
()
<
0
?
"?"
:
"LINK-"
+
String
.
valueOf
(
item
.
getStar
()));
holder
.
setText
(
R
.
id
.
card_def
,
""
);
BaseActivity
.
showLinkArrows
(
item
,
holder
.
getView
(
R
.
id
.
search_link_arrows
)
);
}
else
{
holder
.
cardLevel
.
setVisibility
(
View
.
VISIBLE
);
holder
.
linkArrow
.
setVisibility
(
View
.
GONE
);
holder
.
cardDef
.
setText
(
(
item
.
Defense
<
0
?
"?"
:
String
.
valueOf
(
item
.
Defense
)));
holder
.
TextDef
.
setText
(
"DEF/"
);
holder
.
setGone
(
R
.
id
.
card_level
,
false
);
holder
.
setGone
(
R
.
id
.
search_link_arrows
,
true
);
holder
.
setText
(
R
.
id
.
card_def
,
(
item
.
Defense
<
0
?
"?"
:
String
.
valueOf
(
item
.
Defense
)));
holder
.
setText
(
R
.
id
.
TextDef
,
"DEF/"
);
}
...
...
@@ -158,67 +283,38 @@ public class CardListAdapter extends BaseRecyclerAdapterPlus<Card, ViewHolder> i
// if (!showCode) {
// holder.view_bar.setVisibility(View.INVISIBLE);
// }
holder
.
layout_star_attr_race_scale
.
setVisibility
(
View
.
INVISIBLE
);
holder
.
linkArrow
.
setVisibility
(
View
.
GONE
);
holder
.
layout_atk
.
setVisibility
(
View
.
GONE
);
holder
.
layout_def
.
setVisibility
(
View
.
GONE
);
holder
.
setVisible
(
R
.
id
.
star_attr_race_scale
,
false
);
holder
.
setGone
(
R
.
id
.
search_link_arrows
,
true
);
holder
.
setGone
(
R
.
id
.
layout_atk
,
true
);
holder
.
setGone
(
R
.
id
.
layout_def
,
true
);
}
if
(
mImageTop
==
null
)
{
mImageTop
=
new
ImageTop
(
context
);
}
if
(
mLimitList
!=
null
)
{
holder
.
rightImage
.
setVisibility
(
View
.
VISIBLE
);
holder
.
setGone
(
R
.
id
.
right_top
,
false
);
if
(
mLimitList
.
check
(
item
,
LimitType
.
Forbidden
))
{
holder
.
rightImage
.
setImageBitmap
(
mImageTop
.
forbidden
);
holder
.
setImageBitmap
(
R
.
id
.
right_top
,
mImageTop
.
forbidden
);
}
else
if
(
mLimitList
.
check
(
item
,
LimitType
.
Limit
))
{
holder
.
rightImage
.
setImageBitmap
(
mImageTop
.
limit
);
holder
.
setImageBitmap
(
R
.
id
.
right_top
,
mImageTop
.
limit
);
}
else
if
(
mLimitList
.
check
(
item
,
LimitType
.
SemiLimit
))
{
holder
.
rightImage
.
setImageBitmap
(
mImageTop
.
semiLimit
);
holder
.
setImageBitmap
(
R
.
id
.
right_top
,
mImageTop
.
semiLimit
);
}
else
{
holder
.
rightImage
.
setVisibility
(
View
.
GONE
);
holder
.
setGone
(
R
.
id
.
right_top
,
true
);
}
}
else
{
holder
.
rightImage
.
setVisibility
(
View
.
GONE
);
holder
.
setGone
(
R
.
id
.
right_top
,
true
);
}
//卡片类型
holder
.
cardType
.
setText
(
CardUtils
.
getAllTypeString
(
item
,
mStringManager
));
if
(
holder
.
codeView
!=
null
)
{
holder
.
codeView
.
setText
(
String
.
format
(
"%08d"
,
item
.
getCode
()));
holder
.
setText
(
R
.
id
.
card_type
,
CardUtils
.
getAllTypeString
(
item
,
mStringManager
));
if
(
holder
.
getView
(
R
.
id
.
card_code
)
!=
null
)
{
holder
.
setText
(
R
.
id
.
card_code
,
String
.
format
(
"%08d"
,
item
.
getCode
()));
}
bindMenu
(
holder
,
position
);
}
private
int
getColor
(
int
id
)
{
return
context
.
getResources
().
getColor
(
id
);
}
public
void
setItemBg
(
boolean
itemBg
)
{
this
.
mItemBg
=
itemBg
;
}
public
void
setLimitList
(
LimitList
limitList
)
{
mLimitList
=
limitList
;
}
public
void
bindMenu
(
ViewHolder
holder
,
int
position
)
{
if
(
holder
.
btnMain
!=
null
)
{
holder
.
btnMain
.
setOnClickListener
((
v
)
->
{
mShowMenuView
=
holder
.
itemView
;
EventBus
.
getDefault
().
post
(
new
CardInfoEvent
(
position
,
true
));
// holder.mMenuLayout.smoothCloseMenu();
});
}
if
(
holder
.
btnSide
!=
null
)
{
holder
.
btnSide
.
setOnClickListener
((
v
)
->
{
mShowMenuView
=
holder
.
itemView
;
EventBus
.
getDefault
().
post
(
new
CardInfoEvent
(
position
,
false
));
// holder.mMenuLayout.smoothCloseMenu();
});
if
(
mItemBg
)
{
holder
.
setBackgroundResource
(
R
.
id
.
swipe_layout
,
R
.
drawable
.
blue
);
}
}
private
View
mShowMenuView
;
}
class
ViewHolder
extends
BaseRecyclerAdapterPlus
.
BaseViewHolder
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/ServerListAdapter.java
View file @
cea6a555
...
...
@@ -5,7 +5,15 @@ import android.content.Intent;
import
android.net.Uri
;
import
android.os.Build
;
import
android.provider.Settings
;
import
android.view.ViewGroup
;
import
android.util.Log
;
import
android.view.View
;
import
androidx.annotation.NonNull
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.listener.OnItemChildClickListener
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.tubb.smrv.SwipeHorizontalMenuLayout
;
import
org.greenrobot.eventbus.EventBus
;
...
...
@@ -15,27 +23,79 @@ import cn.garymb.ygomobile.lite.R;
import
cn.garymb.ygomobile.ui.home.ServerInfoViewHolder
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
public
class
ServerListAdapter
extends
BaseRecyclerAdapterPlus
<
ServerInfo
,
ServerInfo
ViewHolder
>
{
public
class
ServerListAdapter
extends
BaseRecyclerAdapterPlus
<
ServerInfo
,
Base
ViewHolder
>
{
public
ServerListAdapter
(
Context
context
)
{
super
(
context
);
super
(
context
,
R
.
layout
.
item_server_info_swipe
);
bindMenu
();
}
@Override
public
ServerInfoViewHolder
onCreateViewHolder
(
ViewGroup
parent
,
int
viewType
)
{
return
new
ServerInfoViewHolder
(
inflate
(
R
.
layout
.
item_server_info_swipe
,
parent
,
false
));
// @Override
// public ServerInfoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// return new ServerInfoViewHolder(inflate(R.layout.item_server_info_swipe, parent, false));
// }
// @Override
// public void onBindViewHolder(ServerInfoViewHolder holder, int position) {
// ServerInfo item = getItem(position);
// holder.serverName.setText(item.getName());
// holder.serverIp.setText(item.getServerAddr());
// holder.userName.setText(item.getPlayerName());
// holder.serverPort.setText(String.valueOf(item.getPort()));
// holder.iv_fond.setOnClickListener((v) -> {
// DialogPlus builder = new DialogPlus(getContext());
// builder.setTitle(R.string.OpenTIP);
// if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
// builder.setMessage(context.getString(R.string.join_helper_tip1) + context.getString(R.string.join_helper_tip2));
// builder.setLeftButtonText(R.string.Open_Alert_Window);
// builder.setLeftButtonListener((dlg, s) -> {
// getContext().startActivity(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + context.getPackageName())));
// dlg.dismiss();
// });
// } else {
// builder.setMessage(R.string.join_helper_tip1);
// }
// builder.show();
// });
// if (position == 0) {
// holder.iv_fond.setBackgroundResource(R.drawable.cube);
// } else {
// holder.iv_fond.setBackgroundResource(R.drawable.cube2);
// }
// bindMenu(holder, position);
// }
public
void
bindMenu
()
{
addChildClickViewIds
(
R
.
id
.
smContentView
,
R
.
id
.
btn_edit_delete
,
R
.
id
.
btn_delete
,
R
.
id
.
iv_fond
);
setOnItemChildClickListener
((
adapter
,
view
,
position
)
->
{
switch
(
view
.
getId
()){
case
R
.
id
.
smContentView
:
ServerInfoEvent
event
=
new
ServerInfoEvent
(
position
,
false
);
event
.
join
=
true
;
EventBus
.
getDefault
().
post
(
event
);
SwipeHorizontalMenuLayout
menuLayout
=
(
SwipeHorizontalMenuLayout
)
adapter
.
getViewByPosition
(
position
,
R
.
id
.
swipe_layout
);
if
(
menuLayout
.
isMenuOpen
())
{
menuLayout
.
smoothCloseMenu
();
}
break
;
case
R
.
id
.
btn_edit_delete
:
EventBus
.
getDefault
().
post
(
new
ServerInfoEvent
(
position
,
false
));
SwipeHorizontalMenuLayout
menuLayout1
=
(
SwipeHorizontalMenuLayout
)
adapter
.
getViewByPosition
(
position
,
R
.
id
.
swipe_layout
);
if
(
menuLayout1
.
isMenuOpen
())
{
menuLayout1
.
smoothCloseMenu
();
}
break
;
case
R
.
id
.
btn_delete
:
EventBus
.
getDefault
().
post
(
new
ServerInfoEvent
(
position
,
true
));
SwipeHorizontalMenuLayout
menuLayout2
=
(
SwipeHorizontalMenuLayout
)
adapter
.
getViewByPosition
(
position
,
R
.
id
.
swipe_layout
);
@Override
public
void
onBindViewHolder
(
ServerInfoViewHolder
holder
,
int
position
)
{
ServerInfo
item
=
getItem
(
position
);
holder
.
serverName
.
setText
(
item
.
getName
());
holder
.
serverIp
.
setText
(
item
.
getServerAddr
());
holder
.
userName
.
setText
(
item
.
getPlayerName
());
holder
.
serverPort
.
setText
(
String
.
valueOf
(
item
.
getPort
()));
holder
.
iv_fond
.
setOnClickListener
((
v
)
->
{
if
(
menuLayout2
.
isMenuOpen
())
{
menuLayout2
.
smoothCloseMenu
();
}
break
;
case
R
.
id
.
iv_fond
:
DialogPlus
builder
=
new
DialogPlus
(
getContext
());
builder
.
setTitle
(
R
.
string
.
OpenTIP
);
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
Q
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
Q
)
{
builder
.
setMessage
(
context
.
getString
(
R
.
string
.
join_helper_tip1
)
+
context
.
getString
(
R
.
string
.
join_helper_tip2
));
builder
.
setLeftButtonText
(
R
.
string
.
Open_Alert_Window
);
builder
.
setLeftButtonListener
((
dlg
,
s
)
->
{
...
...
@@ -46,41 +106,24 @@ public class ServerListAdapter extends BaseRecyclerAdapterPlus<ServerInfo, Serve
builder
.
setMessage
(
R
.
string
.
join_helper_tip1
);
}
builder
.
show
();
});
if
(
position
==
0
)
{
holder
.
iv_fond
.
setBackgroundResource
(
R
.
drawable
.
cube
);
}
else
{
holder
.
iv_fond
.
setBackgroundResource
(
R
.
drawable
.
cube2
);
}
bindMenu
(
holder
,
position
);
}
public
void
bindMenu
(
ServerInfoViewHolder
holder
,
int
position
)
{
if
(
holder
.
contentView
!=
null
)
{
holder
.
contentView
.
setOnClickListener
((
v
)
->
{
ServerInfoEvent
event
=
new
ServerInfoEvent
(
position
,
false
);
event
.
join
=
true
;
EventBus
.
getDefault
().
post
(
event
);
if
(
holder
.
mMenuLayout
.
isMenuOpen
())
{
holder
.
mMenuLayout
.
smoothCloseMenu
();
}
});
}
if
(
holder
.
btnEdit
!=
null
)
{
holder
.
btnEdit
.
setOnClickListener
((
v
)
->
{
EventBus
.
getDefault
().
post
(
new
ServerInfoEvent
(
position
,
false
));
if
(
holder
.
mMenuLayout
.
isMenuOpen
())
{
holder
.
mMenuLayout
.
smoothCloseMenu
();
break
;
}
});
}
if
(
holder
.
btnDelete
!=
null
)
{
holder
.
btnDelete
.
setOnClickListener
((
v
)
->
{
EventBus
.
getDefault
().
post
(
new
ServerInfoEvent
(
position
,
true
));
if
(
holder
.
mMenuLayout
.
isMenuOpen
())
{
holder
.
mMenuLayout
.
smoothCloseMenu
();
}
});
@Override
protected
void
convert
(
@NonNull
com
.
chad
.
library
.
adapter
.
base
.
viewholder
.
BaseViewHolder
baseViewHolder
,
ServerInfo
serverInfo
)
{
int
position
=
baseViewHolder
.
getAdapterPosition
()
-
getHeaderLayoutCount
();
baseViewHolder
.
setText
(
R
.
id
.
server_name
,
serverInfo
.
getName
());
baseViewHolder
.
setText
(
R
.
id
.
text_ip
,
serverInfo
.
getServerAddr
());
baseViewHolder
.
setText
(
R
.
id
.
text_player
,
serverInfo
.
getPlayerName
());
baseViewHolder
.
setText
(
R
.
id
.
text_port
,
String
.
valueOf
(
serverInfo
.
getPort
()));
if
(
position
==
0
)
{
baseViewHolder
.
setBackgroundResource
(
R
.
id
.
iv_fond
,
R
.
drawable
.
cube
);
}
else
{
baseViewHolder
.
setBackgroundResource
(
R
.
id
.
iv_fond
,
R
.
drawable
.
cube2
);
}
}
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/TextSelectAdapter.java
View file @
cea6a555
...
...
@@ -5,7 +5,8 @@ import android.graphics.Color;
import
android.view.View
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
com.chad.library.adapter.base.listener.OnItemClickListener
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -54,15 +55,15 @@ public class TextSelectAdapter<T extends TextSelect> extends BaseQuickAdapter<T,
if
(
selectList
.
contains
(
item
))
helper
.
setBackgroundColor
(
R
.
id
.
ll_layout
,
YGOUtil
.
c
(
R
.
color
.
colorMain
));
else
helper
.
setBackgroundRes
(
R
.
id
.
ll_layout
,
Color
.
TRANSPARENT
);
helper
.
setBackgroundRes
ource
(
R
.
id
.
ll_layout
,
Color
.
TRANSPARENT
);
}
else
if
(
isSelect
)
{
if
(
position
==
selectPosition
)
{
helper
.
setBackgroundColor
(
R
.
id
.
ll_layout
,
YGOUtil
.
c
(
R
.
color
.
colorMain
));
}
else
{
helper
.
setBackgroundRes
(
R
.
id
.
ll_layout
,
Color
.
TRANSPARENT
);
helper
.
setBackgroundRes
ource
(
R
.
id
.
ll_layout
,
Color
.
TRANSPARENT
);
}
}
else
{
helper
.
setBackgroundRes
(
R
.
id
.
ll_layout
,
Color
.
TRANSPARENT
);
helper
.
setBackgroundRes
ource
(
R
.
id
.
ll_layout
,
Color
.
TRANSPARENT
);
}
}
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/home/ServerListManager.java
View file @
cea6a555
...
...
@@ -176,8 +176,8 @@ public class ServerListManager {
mChanged
=
true
;
mAdapter
.
notifyItemMoved
(
left
,
right
);
Collections
.
swap
(
mAdapter
.
getItems
(),
left
,
right
);
mAdapter
.
bindMenu
((
ServerInfoViewHolder
)
viewHolder
,
right
);
mAdapter
.
bindMenu
((
ServerInfoViewHolder
)
target
,
left
);
//
mAdapter.bindMenu((ServerInfoViewHolder) viewHolder, right);
//
mAdapter.bindMenu((ServerInfoViewHolder) target, left);
return
true
;
}
return
true
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/utils/YGODialogUtil.java
View file @
cea6a555
...
...
@@ -15,11 +15,13 @@ import android.widget.ImageView;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.ItemTouchHelper
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.listener.OnItemLongClickListener
;
import
com.feihua.dialogutils.util.DialogUtils
;
import
java.io.File
;
...
...
@@ -155,9 +157,9 @@ public class YGODialogUtil {
}
}
});
deckAdp
.
setOnItemLongClickListener
(
new
BaseQuickAdapter
.
OnItemLongClickListener
()
{
deckAdp
.
setOnItemLongClickListener
(
new
OnItemLongClickListener
()
{
@Override
public
boolean
onItemLongClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
public
boolean
onItemLongClick
(
@NonNull
BaseQuickAdapter
adapter
,
@NonNull
View
view
,
int
position
)
{
if
(
deckAdp
.
isSelect
()
||
typeAdp
.
getSelectPosition
()
==
0
)
return
true
;
...
...
mobile/src/main/java/com/ourygo/assistant/util/DuelAssistantManagement.java
View file @
cea6a555
...
...
@@ -76,7 +76,6 @@ public class DuelAssistantManagement implements OnClipChangedListener {
return
true
;
}
}
return
true
;
}
//如果是卡组url
...
...
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