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
81819b0c
Commit
81819b0c
authored
Jul 11, 2022
by
fallenstardust
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
通过intent实现fragment切换
parent
5936892c
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
197 additions
and
13 deletions
+197
-13
mobile/src/main/java/cn/garymb/ygomobile/GameUriManager.java
mobile/src/main/java/cn/garymb/ygomobile/GameUriManager.java
+5
-1
mobile/src/main/java/cn/garymb/ygomobile/ui/activities/WebActivity.java
...n/java/cn/garymb/ygomobile/ui/activities/WebActivity.java
+5
-3
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/SettingsListAdapter.java
.../cn/garymb/ygomobile/ui/adapters/SettingsListAdapter.java
+133
-0
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
...ava/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
+3
-1
mobile/src/main/java/cn/garymb/ygomobile/ui/home/HomeActivity.java
...c/main/java/cn/garymb/ygomobile/ui/home/HomeActivity.java
+17
-2
mobile/src/main/java/cn/garymb/ygomobile/ui/home/HomeFragment.java
...c/main/java/cn/garymb/ygomobile/ui/home/HomeFragment.java
+3
-3
mobile/src/main/java/cn/garymb/ygomobile/ui/settings/PersonalFragment.java
...ava/cn/garymb/ygomobile/ui/settings/PersonalFragment.java
+31
-3
No files found.
mobile/src/main/java/cn/garymb/ygomobile/GameUriManager.java
View file @
81819b0c
...
...
@@ -30,7 +30,9 @@ import cn.garymb.ygodata.YGOGameOptions;
import
cn.garymb.ygomobile.bean.Deck
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.cards.DeckManagerFragment
;
import
cn.garymb.ygomobile.ui.home.HomeActivity
;
import
cn.garymb.ygomobile.ui.home.HomeFragment
;
import
cn.garymb.ygomobile.ui.home.MainActivity
;
import
cn.garymb.ygomobile.ui.settings.SettingsActivity
;
import
cn.garymb.ygomobile.utils.FileUtils
;
import
cn.garymb.ygomobile.utils.IOUtils
;
...
...
@@ -199,7 +201,7 @@ public class GameUriManager {
}
private
void
doUri
(
Uri
uri
)
{
Intent
startSetting
=
new
Intent
(
activity
,
Settings
Activity
.
class
);
Intent
startSetting
=
new
Intent
(
activity
,
Main
Activity
.
class
);
if
(
"file"
.
equals
(
uri
.
getScheme
())
||
"content"
.
equals
(
uri
.
getScheme
()))
{
File
file
=
toLocalFile
(
uri
);
if
(
file
==
null
||
!
file
.
exists
())
{
...
...
@@ -212,9 +214,11 @@ public class GameUriManager {
boolean
isLua
=
file
.
getName
().
toLowerCase
(
Locale
.
US
).
endsWith
(
".lua"
);
Log
.
i
(
Constants
.
TAG
,
"open file:"
+
uri
+
"->"
+
file
.
getAbsolutePath
());
if
(
isYdk
)
{
startSetting
.
putExtra
(
"flag"
,
2
);
DeckManagerFragment
.
start
(
activity
,
file
.
getAbsolutePath
());
}
else
if
(
isYpk
)
{
if
(!
AppsSettings
.
get
().
isReadExpansions
())
{
startSetting
.
putExtra
(
"flag"
,
4
);
activity
.
startActivity
(
startSetting
);
Toast
.
makeText
(
activity
,
R
.
string
.
ypk_go_setting
,
Toast
.
LENGTH_LONG
).
show
();
}
else
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/activities/WebActivity.java
View file @
81819b0c
...
...
@@ -33,10 +33,11 @@ import cn.garymb.ygomobile.bean.ServerInfo;
import
cn.garymb.ygomobile.bean.ServerList
;
import
cn.garymb.ygomobile.lite.BuildConfig
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.home.HomeActivity
;
import
cn.garymb.ygomobile.ui.home.HomeFragment
;
import
cn.garymb.ygomobile.ui.home.MainActivity
;
import
cn.garymb.ygomobile.ui.home.ServerListManager
;
import
cn.garymb.ygomobile.ui.mycard.MycardFragment
;
import
cn.garymb.ygomobile.ui.plus.VUiKit
;
import
cn.garymb.ygomobile.ui.settings.SettingsActivity
;
import
cn.garymb.ygomobile.ui.widget.WebViewPlus
;
import
cn.garymb.ygomobile.utils.DownloadUtil
;
import
cn.garymb.ygomobile.utils.FileUtils
;
...
...
@@ -74,7 +75,8 @@ public class WebActivity extends BaseActivity {
break
;
case
UnzipUtils
.
ZIP_UNZIP_OK
:
if
(!
AppsSettings
.
get
().
isReadExpansions
())
{
Intent
startSetting
=
new
Intent
(
getContext
(),
MycardFragment
.
class
);
Intent
startSetting
=
new
Intent
(
getContext
(),
MainActivity
.
class
);
startSetting
.
putExtra
(
"flag"
,
4
);
startActivity
(
startSetting
);
Toast
.
makeText
(
getContext
(),
R
.
string
.
ypk_go_setting
,
Toast
.
LENGTH_LONG
).
show
();
}
else
{
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/adapters/SettingsListAdapter.java
0 → 100644
View file @
81819b0c
package
cn.garymb.ygomobile.ui.adapters
;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.view.View
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.listener.OnItemClickListener
;
import
java.util.ArrayList
;
import
java.util.List
;
import
cn.garymb.ygomobile.bean.Deck
;
import
cn.garymb.ygomobile.bean.DeckInfo
;
import
cn.garymb.ygomobile.bean.TextSelect
;
import
cn.garymb.ygomobile.bean.events.DeckFile
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.loader.CardLoader
;
import
cn.garymb.ygomobile.loader.DeckLoader
;
import
cn.garymb.ygomobile.loader.ImageLoader
;
import
cn.garymb.ygomobile.utils.YGOUtil
;
import
ocgcore.DataManager
;
import
ocgcore.data.LimitList
;
public
class
SettingsListAdapter
<
T
extends
TextSelect
>
extends
BaseQuickAdapter
<
T
,
DeckViewHolder
>
{
private
Context
mContext
;
private
OnItemSelectListener
onItemSelectListener
;
private
int
selectPosition
;
private
boolean
isSelect
;
private
boolean
isManySelect
;
private
List
<
T
>
selectList
;
public
SettingsListAdapter
(
Context
context
,
List
<
T
>
data
,
int
select
)
{
super
(
R
.
layout
.
item_deck_list_swipe
,
data
);
this
.
selectPosition
=
select
;
if
(
select
>=
0
)
isSelect
=
true
;
else
isSelect
=
false
;
isManySelect
=
false
;
selectList
=
new
ArrayList
<>();
setOnItemClickListener
(
new
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
adapter
,
View
view
,
int
position
)
{
if
(
isSelect
&&
position
==
selectPosition
)
return
;
selectPosition
=
position
;
notifyDataSetChanged
();
if
(
onItemSelectListener
!=
null
)
onItemSelectListener
.
onItemSelect
(
position
,
data
.
get
(
position
).
getObject
());
}
});
//初始化
mContext
=
context
;
}
@SuppressLint
(
"ResourceType"
)
@Override
protected
void
convert
(
DeckViewHolder
holder
,
T
item
)
{
int
position
=
holder
.
getAdapterPosition
();
//多选
if
(
isManySelect
)
{
if
(
selectList
.
contains
(
item
))
holder
.
item_deck_list
.
setBackgroundColor
(
YGOUtil
.
c
(
R
.
color
.
colorMain
));
else
holder
.
item_deck_list
.
setBackgroundResource
(
Color
.
TRANSPARENT
);
}
else
if
(
isSelect
)
{
if
(
position
==
selectPosition
)
{
holder
.
item_deck_list
.
setBackgroundColor
(
YGOUtil
.
c
(
R
.
color
.
colorMain
));
}
else
{
holder
.
item_deck_list
.
setBackgroundResource
(
Color
.
TRANSPARENT
);
}
}
else
{
holder
.
item_deck_list
.
setBackgroundResource
(
Color
.
TRANSPARENT
);
}
}
public
void
setSelectPosition
(
int
selectPosition
)
{
this
.
selectPosition
=
selectPosition
;
}
public
boolean
isSelect
()
{
return
isSelect
;
}
public
boolean
isManySelect
()
{
return
isManySelect
;
}
public
void
addManySelect
(
T
t
)
{
if
(
selectList
.
contains
(
t
))
selectList
.
remove
(
t
);
else
selectList
.
add
(
t
);
}
public
void
setManySelect
(
boolean
manySelect
)
{
isManySelect
=
manySelect
;
if
(!
isManySelect
)
{
selectList
.
clear
();
notifyDataSetChanged
();
}
}
public
List
<
T
>
getSelectList
()
{
return
selectList
;
}
public
int
getSelectPosition
()
{
return
selectPosition
;
}
public
void
setOnItemSelectListener
(
OnItemSelectListener
onItemSelectListener
)
{
this
.
onItemSelectListener
=
onItemSelectListener
;
}
public
interface
OnItemSelectListener
<
T
>
{
void
onItemSelect
(
int
position
,
T
item
);
}
}
class
SettingsViewHolder
extends
com
.
chad
.
library
.
adapter
.
base
.
viewholder
.
BaseViewHolder
{
public
SettingsViewHolder
(
View
view
)
{
super
(
view
);
view
.
setTag
(
view
.
getId
(),
this
);
}
}
\ No newline at end of file
mobile/src/main/java/cn/garymb/ygomobile/ui/cards/DeckManagerFragment.java
View file @
81819b0c
...
...
@@ -85,6 +85,8 @@ import cn.garymb.ygomobile.ui.cards.deck.DeckItem;
import
cn.garymb.ygomobile.ui.cards.deck.DeckItemTouchHelper
;
import
cn.garymb.ygomobile.ui.cards.deck.DeckItemType
;
import
cn.garymb.ygomobile.ui.cards.deck.DeckLayoutManager
;
import
cn.garymb.ygomobile.ui.home.HomeActivity
;
import
cn.garymb.ygomobile.ui.home.MainActivity
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil
;
import
cn.garymb.ygomobile.ui.plus.AOnGestureListener
;
import
cn.garymb.ygomobile.ui.plus.DefaultOnBoomListener
;
...
...
@@ -223,7 +225,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}
public
static
void
start
(
Context
context
,
String
path
)
{
Intent
starter
=
new
Intent
(
context
,
DeckManagerFragment
.
class
);
Intent
starter
=
new
Intent
(
context
,
MainActivity
.
class
);
starter
.
putExtra
(
Intent
.
EXTRA_TEXT
,
path
);
if
(!(
context
instanceof
Activity
))
{
starter
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/home/HomeActivity.java
View file @
81819b0c
...
...
@@ -35,7 +35,6 @@ import cn.garymb.ygomobile.ui.cards.deck.DeckUtils;
import
cn.garymb.ygomobile.ui.mycard.MycardFragment
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.ui.settings.PersonalFragment
;
import
cn.garymb.ygomobile.ui.settings.fragments.SettingFragment
;
import
cn.garymb.ygomobile.utils.FileLogUtil
;
import
cn.garymb.ygomobile.utils.ScreenUtil
;
import
cn.garymb.ygomobile.utils.YGOUtil
;
...
...
@@ -94,6 +93,22 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
checkNotch
();
//showNewbieGuide("homePage");
initBottomNavigationBar
();
onNewIntent
(
getIntent
());
}
@Override
protected
void
onNewIntent
(
Intent
intent
)
{
super
.
onNewIntent
(
intent
);
int
mFlag
=
intent
.
getIntExtra
(
"flag"
,
0
);
if
(
mFlag
==
4
)
{
//判断获取到的flag值
switchFragment
(
fragment_personal
);
}
else
if
(
mFlag
==
3
)
{
switchFragment
(
fragment_mycard
);
}
else
if
(
mFlag
==
2
)
{
switchFragment
(
fragment_deck_cards
);
}
else
if
(
mFlag
==
1
)
{
switchFragment
(
fragment_search
);
}
}
private
void
initBottomNavigationBar
()
{
...
...
@@ -155,7 +170,7 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
getSupportActionBar
().
hide
();
}
p
rivate
void
switchFragment
(
Fragment
fragment
)
{
p
ublic
void
switchFragment
(
Fragment
fragment
)
{
if
(
mFragment
.
isHidden
())
getSupportFragmentManager
().
beginTransaction
().
show
(
mFragment
).
commit
();
//判断当前显示的Fragment是不是切换的Fragment
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/home/HomeFragment.java
View file @
81819b0c
...
...
@@ -193,16 +193,16 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener {
public
void
initBanner
(
View
view
,
Bundle
saveBundle
)
{
xb_banner
=
view
.
findViewById
(
R
.
id
.
xb_banner
);
cv_banner
=
view
.
findViewById
(
R
.
id
.
cv_banner
);
tv_banner_loading
=
view
.
findViewById
(
R
.
id
.
tv_banner_loading
);
tv_banner_loading
.
setOnClickListener
(
this
);
cv_banner
.
post
(()
->
{
ViewGroup
.
LayoutParams
layoutParams
=
cv_banner
.
getLayoutParams
();
layoutParams
.
width
=
cv_banner
.
getWidth
();
layoutParams
.
height
=
layoutParams
.
width
/
3
;
cv_banner
.
setLayoutParams
(
layoutParams
);
});
tv_banner_loading
=
view
.
findViewById
(
R
.
id
.
tv_banner_loading
);
tv_banner_loading
.
setOnClickListener
(
this
);
xb_banner
.
setOnItemClickListener
((
banner
,
model
,
v
,
position
)
->
WebActivity
.
open
(
getContext
(),
"新闻"
,
mcNewsList
.
get
(
position
).
getNews_url
())
WebActivity
.
open
(
getContext
(),
getString
(
R
.
string
.
McNews
)
,
mcNewsList
.
get
(
position
).
getNews_url
())
);
xb_banner
.
loadImage
((
banner
,
model
,
v
,
position
)
->
{
TextView
tv_time
,
tv_title
,
tv_type
;
...
...
mobile/src/main/java/cn/garymb/ygomobile/ui/settings/PersonalFragment.java
View file @
81819b0c
package
cn.garymb.ygomobile.ui.settings
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -16,15 +18,25 @@ import androidx.recyclerview.widget.RecyclerView;
import
cn.garymb.ygomobile.base.BaseFragemnt
;
import
cn.garymb.ygomobile.lite.R
;
import
cn.garymb.ygomobile.ui.adapters.SettingsListAdapter
;
import
cn.garymb.ygomobile.ui.home.HomeActivity
;
import
cn.garymb.ygomobile.ui.mycard.MycardFragment
;
import
cn.garymb.ygomobile.ui.mycard.base.OnMcUserListener
;
import
cn.garymb.ygomobile.ui.mycard.bean.McUser
;
import
cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil
;
import
cn.garymb.ygomobile.ui.plus.DialogPlus
;
import
cn.garymb.ygomobile.utils.McUserManagement
;
public
class
PersonalFragment
extends
BaseFragemnt
implements
View
.
OnClick
Listener
{
public
class
PersonalFragment
extends
BaseFragemnt
implements
OnMcUser
Listener
{
private
RelativeLayout
rl_user
;
private
TextView
tv_name
;
private
ImageView
iv_avatar
;
private
McUserManagement
userManagement
;
private
RecyclerView
rv_list
;
private
SettingsListAdapter
settingsAdapter
;
private
MycardFragment
fragment_mycard
;
private
PersonalFragment
fragment_personal
;
//private SettingRecyclerViewAdapter settingAdpter;
@Nullable
...
...
@@ -42,6 +54,8 @@ public class PersonalFragment extends BaseFragemnt implements View.OnClickListen
}
public
void
initView
(
View
layoutView
)
{
fragment_mycard
=
new
MycardFragment
();
fragment_personal
=
new
PersonalFragment
();
//登录萌卡
rl_user
=
layoutView
.
findViewById
(
R
.
id
.
rl_user
);
tv_name
=
layoutView
.
findViewById
(
R
.
id
.
tv_name
);
...
...
@@ -62,7 +76,7 @@ public class PersonalFragment extends BaseFragemnt implements View.OnClickListen
dialog
.
dismiss
();
});
}
else
{
//((HomeActivity) getActivity()).selectMycard
();
getParentFragmentManager
().
beginTransaction
().
hide
(
fragment_personal
).
show
(
fragment_mycard
).
commit
();
}
});
//设置列表
...
...
@@ -72,8 +86,22 @@ public class PersonalFragment extends BaseFragemnt implements View.OnClickListen
}
@Override
public
void
onClick
(
View
view
)
{
public
void
onLogin
(
McUser
user
,
String
exception
)
{
if
(
TextUtils
.
isEmpty
(
exception
))
{
tv_name
.
setText
(
user
.
getUsername
());
ImageUtil
.
setImage
(
getActivity
(),
user
.
getAvatar_url
(),
iv_avatar
);
}
}
@Override
public
void
onLogout
()
{
tv_name
.
setText
(
R
.
string
.
login_mycard
);
iv_avatar
.
setImageResource
(
R
.
drawable
.
avatar
);
}
@Override
public
boolean
isListenerEffective
()
{
return
false
;
}
/**
...
...
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