Commit e25567a7 authored by fallenstardust's avatar fallenstardust

将deckmanagerActivity转移为deckmanagerFragment

parent 0db6c643
...@@ -29,7 +29,7 @@ import java.util.Locale; ...@@ -29,7 +29,7 @@ import java.util.Locale;
import cn.garymb.ygodata.YGOGameOptions; import cn.garymb.ygodata.YGOGameOptions;
import cn.garymb.ygomobile.bean.Deck; import cn.garymb.ygomobile.bean.Deck;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.cards.DeckManagerActivity; import cn.garymb.ygomobile.ui.cards.DeckManagerFragment;
import cn.garymb.ygomobile.ui.home.HomeFragment; import cn.garymb.ygomobile.ui.home.HomeFragment;
import cn.garymb.ygomobile.ui.preference.SettingsActivity; import cn.garymb.ygomobile.ui.preference.SettingsActivity;
import cn.garymb.ygomobile.utils.FileUtils; import cn.garymb.ygomobile.utils.FileUtils;
...@@ -212,7 +212,7 @@ public class GameUriManager { ...@@ -212,7 +212,7 @@ public class GameUriManager {
boolean isLua = file.getName().toLowerCase(Locale.US).endsWith(".lua"); boolean isLua = file.getName().toLowerCase(Locale.US).endsWith(".lua");
Log.i(Constants.TAG, "open file:" + uri + "->" + file.getAbsolutePath()); Log.i(Constants.TAG, "open file:" + uri + "->" + file.getAbsolutePath());
if (isYdk) { if (isYdk) {
DeckManagerActivity.start(activity, file.getAbsolutePath()); DeckManagerFragment.start(activity, file.getAbsolutePath());
} else if (isYpk) { } else if (isYpk) {
if (!AppsSettings.get().isReadExpansions()) { if (!AppsSettings.get().isReadExpansions()) {
activity.startActivity(startSetting); activity.startActivity(startSetting);
...@@ -251,7 +251,7 @@ public class GameUriManager { ...@@ -251,7 +251,7 @@ public class GameUriManager {
if (!deckInfo.isCompleteDeck()) { if (!deckInfo.isCompleteDeck()) {
YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片"); YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片");
} }
DeckManagerActivity.start(activity, file.getAbsolutePath()); DeckManagerFragment.start(activity, file.getAbsolutePath());
} }
} else if (Constants.URI_ROOM.equals(host)) { } else if (Constants.URI_ROOM.equals(host)) {
YGODAUtil.deRoomListener(uri, (host1, port, password, exception) -> { YGODAUtil.deRoomListener(uri, (host1, port, password, exception) -> {
...@@ -289,7 +289,7 @@ public class GameUriManager { ...@@ -289,7 +289,7 @@ public class GameUriManager {
} }
} }
if (deck != null && deck.exists()) { if (deck != null && deck.exists()) {
DeckManagerActivity.start(activity, deck.getAbsolutePath()); DeckManagerFragment.start(activity, deck.getAbsolutePath());
} else { } else {
Log.w("kk", "no find " + name); Log.w("kk", "no find " + name);
activity.finish(); activity.finish();
......
...@@ -248,7 +248,7 @@ public class BaseActivity extends AppCompatActivity { ...@@ -248,7 +248,7 @@ public class BaseActivity extends AppCompatActivity {
* *
* @return 是否满足权限申请条件 * @return 是否满足权限申请条件
*/ */
protected boolean startPermissionsActivity() { public boolean startPermissionsActivity() {
return startPermissionsActivity(getPermissions()); return startPermissionsActivity(getPermissions());
} }
...@@ -258,7 +258,7 @@ public class BaseActivity extends AppCompatActivity { ...@@ -258,7 +258,7 @@ public class BaseActivity extends AppCompatActivity {
* @param permissions 要申请的权限列表 * @param permissions 要申请的权限列表
* @return 是否满足权限申请条件 * @return 是否满足权限申请条件
*/ */
protected boolean startPermissionsActivity(String[] permissions) { public boolean startPermissionsActivity(String[] permissions) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
return false; return false;
if (permissions == null || permissions.length == 0) if (permissions == null || permissions.length == 0)
......
package cn.garymb.ygomobile.ui.cards; package cn.garymb.ygomobile.ui.cards;
import static android.content.Context.CLIPBOARD_SERVICE;
import static cn.garymb.ygomobile.Constants.ORI_DECK; import static cn.garymb.ygomobile.Constants.ORI_DECK;
import static cn.garymb.ygomobile.Constants.YDK_FILE_EX; import static cn.garymb.ygomobile.Constants.YDK_FILE_EX;
import static cn.garymb.ygomobile.core.IrrlichtBridge.ACTION_SHARE_FILE; import static cn.garymb.ygomobile.core.IrrlichtBridge.ACTION_SHARE_FILE;
...@@ -12,9 +13,6 @@ import android.content.DialogInterface; ...@@ -12,9 +13,6 @@ import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.DashPathEffect;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
...@@ -23,9 +21,11 @@ import android.text.TextUtils; ...@@ -23,9 +21,11 @@ import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.util.SparseArray; import android.util.SparseArray;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation; import android.view.animation.Animation;
import android.view.animation.AnimationUtils; import android.view.animation.AnimationUtils;
import android.widget.AdapterView; import android.widget.AdapterView;
...@@ -46,13 +46,6 @@ import androidx.recyclerview.widget.ItemTouchHelperPlus; ...@@ -46,13 +46,6 @@ import androidx.recyclerview.widget.ItemTouchHelperPlus;
import androidx.recyclerview.widget.OnItemDragListener; import androidx.recyclerview.widget.OnItemDragListener;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.app.hubert.guide.NewbieGuide;
import com.app.hubert.guide.model.GuidePage;
import com.app.hubert.guide.model.HighLight;
import com.app.hubert.guide.model.HighlightOptions;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.chad.library.adapter.base.listener.OnItemLongClickListener;
import com.feihua.dialogutils.util.DialogUtils; import com.feihua.dialogutils.util.DialogUtils;
import com.nightonke.boommenu.BoomButtons.BoomButton; import com.nightonke.boommenu.BoomButtons.BoomButton;
import com.nightonke.boommenu.BoomButtons.TextOutsideCircleButton; import com.nightonke.boommenu.BoomButtons.TextOutsideCircleButton;
...@@ -72,6 +65,7 @@ import java.util.Locale; ...@@ -72,6 +65,7 @@ import java.util.Locale;
import cn.garymb.ygomobile.AppsSettings; import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.Constants; import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.base.BaseFragemnt;
import cn.garymb.ygomobile.bean.Deck; import cn.garymb.ygomobile.bean.Deck;
import cn.garymb.ygomobile.bean.DeckInfo; import cn.garymb.ygomobile.bean.DeckInfo;
import cn.garymb.ygomobile.bean.DeckType; import cn.garymb.ygomobile.bean.DeckType;
...@@ -82,6 +76,7 @@ import cn.garymb.ygomobile.lite.R; ...@@ -82,6 +76,7 @@ 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.ui.activities.BaseActivity; import cn.garymb.ygomobile.ui.activities.BaseActivity;
import cn.garymb.ygomobile.ui.activities.PermissionsActivity;
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.adapters.SimpleSpinnerAdapter; import cn.garymb.ygomobile.ui.adapters.SimpleSpinnerAdapter;
...@@ -111,15 +106,16 @@ import ocgcore.data.Card; ...@@ -111,15 +106,16 @@ import ocgcore.data.Card;
import ocgcore.data.LimitList; import ocgcore.data.LimitList;
import ocgcore.enums.LimitType; import ocgcore.enums.LimitType;
public class DeckManagerActivity extends BaseActivity implements RecyclerViewItemListener.OnItemListener, OnItemDragListener, YGODialogUtil.OnDeckMenuListener, CardLoader.CallBack, CardSearcher.CallBack { public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewItemListener.OnItemListener, OnItemDragListener, YGODialogUtil.OnDeckMenuListener, CardLoader.CallBack, CardSearcher.CallBack {
public static void start(Context context, String path) { public static void start(Context context, String path) {
Intent starter = new Intent(context, DeckManagerActivity.class); Intent starter = new Intent(context, DeckManagerFragment.class);
starter.putExtra(Intent.EXTRA_TEXT, path); starter.putExtra(Intent.EXTRA_TEXT, path);
if(!(context instanceof Activity)) { if (!(context instanceof Activity)) {
starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
} }
context.startActivity(starter); context.startActivity(starter);
} }
protected DrawerLayout mDrawerLayout; protected DrawerLayout mDrawerLayout;
protected RecyclerView mListView; protected RecyclerView mListView;
protected CardSearcher mCardSelector; protected CardSearcher mCardSelector;
...@@ -147,39 +143,40 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -147,39 +143,40 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
private DialogPlus builderShareLoading; private DialogPlus builderShareLoading;
private boolean isExit = false; private boolean isExit = false;
@Nullable
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreateView(inflater, container, savedInstanceState);
setContentView(R.layout.activity_deck_cards); View layoutView;
AnimationShake2(); layoutView = inflater.inflate(R.layout.activity_deck_cards, container, false);
AnimationShake2(layoutView);
mImageLoader = new ImageLoader(true); mImageLoader = new ImageLoader(true);
mDrawerLayout = $(R.id.drawer_layout); mDrawerLayout = layoutView.findViewById(R.id.drawer_layout);
screenWidth = getResources().getDisplayMetrics().widthPixels; screenWidth = getResources().getDisplayMetrics().widthPixels;
mListView = $(R.id.list_cards); mListView = layoutView.findViewById(R.id.list_cards);
mCardListAdapter = new CardListAdapter(this, mImageLoader); mCardListAdapter = new CardListAdapter(getContext(), mImageLoader);
mCardListAdapter.setEnableSwipe(true); mCardListAdapter.setEnableSwipe(true);
mListView.setLayoutManager(new FastScrollLinearLayoutManager(this)); mListView.setLayoutManager(new FastScrollLinearLayoutManager(getContext()));
mListView.setAdapter(mCardListAdapter); mListView.setAdapter(mCardListAdapter);
setListeners(); setListeners();
mCardLoader = new CardLoader(this); mCardLoader = new CardLoader(getContext());
mCardLoader.setCallBack(this); mCardLoader.setCallBack(this);
mCardSelector = new CardSearcher($(R.id.nav_view_list), mCardLoader); mCardSelector = new CardSearcher(layoutView.findViewById(R.id.nav_view_list), mCardLoader);
mCardSelector.setCallBack(this); mCardSelector.setCallBack(this);
showNewbieGuide("deckmain");
tv_deck = $(R.id.tv_deck); tv_deck = layoutView.findViewById(R.id.tv_deck);
tv_result_count = $(R.id.result_count); tv_result_count = layoutView.findViewById(R.id.result_count);
mDeckSpinner = $(R.id.toolbar_list); mDeckSpinner = layoutView.findViewById(R.id.toolbar_list);
mDeckSpinner.setPopupBackgroundResource(R.color.colorNavy); mDeckSpinner.setPopupBackgroundResource(R.color.colorNavy);
mLimitSpinner = $(R.id.sp_limit_list); mLimitSpinner = layoutView.findViewById(R.id.sp_limit_list);
mLimitSpinner.setPopupBackgroundResource(R.color.colorNavy); mLimitSpinner.setPopupBackgroundResource(R.color.colorNavy);
mRecyclerView = $(R.id.grid_cards); mRecyclerView = layoutView.findViewById(R.id.grid_cards);
mRecyclerView.setPadding(mRecyclerView.getPaddingLeft(), 0, mRecyclerView.getPaddingRight(), mRecyclerView.getPaddingBottom()); mRecyclerView.setPadding(mRecyclerView.getPaddingLeft(), 0, mRecyclerView.getPaddingRight(), mRecyclerView.getPaddingBottom());
mRecyclerView.setAdapter((mDeckAdapater = new DeckAdapater(this, mRecyclerView, getImageLoader()))); mRecyclerView.setAdapter((mDeckAdapater = new DeckAdapater(getContext(), mRecyclerView, getImageLoader())));
mRecyclerView.setLayoutManager(new DeckLayoutManager(this, Constants.DECK_WIDTH_COUNT)); mRecyclerView.setLayoutManager(new DeckLayoutManager(getContext(), Constants.DECK_WIDTH_COUNT));
mDeckItemTouchHelper = new DeckItemTouchHelper(mDeckAdapater); mDeckItemTouchHelper = new DeckItemTouchHelper(mDeckAdapater);
ItemTouchHelperPlus touchHelper = new ItemTouchHelperPlus(this, mDeckItemTouchHelper); ItemTouchHelperPlus touchHelper = new ItemTouchHelperPlus(getContext(), mDeckItemTouchHelper);
touchHelper.setItemDragListener(this); touchHelper.setItemDragListener(this);
touchHelper.setEnableClickDrag(Constants.DECK_SINGLE_PRESS_DRAG); touchHelper.setEnableClickDrag(Constants.DECK_SINGLE_PRESS_DRAG);
touchHelper.attachToRecyclerView(mRecyclerView); touchHelper.attachToRecyclerView(mRecyclerView);
...@@ -197,11 +194,11 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -197,11 +194,11 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
public void onNothingSelected(AdapterView<?> adapterView) { public void onNothingSelected(AdapterView<?> adapterView) {
} }
}); });
String preLoadFile = getIntent().getStringExtra(Intent.EXTRA_TEXT); String preLoadFile = getActivity().getIntent().getStringExtra(Intent.EXTRA_TEXT);
initBoomMenuButton($(R.id.bmb)); initBoomMenuButton(layoutView.findViewById(R.id.bmb));
$(R.id.btn_nav_search).setOnClickListener((v) -> doMenu(R.id.action_search)); layoutView.findViewById(R.id.btn_nav_search).setOnClickListener((v) -> doMenu(R.id.action_search));
$(R.id.btn_nav_list).setOnClickListener((v) -> doMenu(R.id.action_card_list)); layoutView.findViewById(R.id.btn_nav_list).setOnClickListener((v) -> doMenu(R.id.action_card_list));
// //
final File _file; final File _file;
//打开指定卡组 //打开指定卡组
...@@ -211,7 +208,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -211,7 +208,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} else { } else {
mPreLoadFile = null; mPreLoadFile = null;
String path = mSettings.getLastDeckPath(); String path = mSettings.getLastDeckPath();
if(TextUtils.isEmpty(path)){ if (TextUtils.isEmpty(path)) {
_file = null; _file = null;
} else { } else {
//最后卡组 //最后卡组
...@@ -219,11 +216,15 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -219,11 +216,15 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} }
} }
init(_file); init(_file);
EventBus.getDefault().register(this); //event
if (!EventBus.getDefault().isRegistered(this)) {//加上判断
EventBus.getDefault().register(this);
}
tv_deck.setOnClickListener(v -> YGODialogUtil.dialogDeckSelect(getActivity(), AppsSettings.get().getLastDeckPath(), this)); tv_deck.setOnClickListener(v -> YGODialogUtil.dialogDeckSelect(getActivity(), AppsSettings.get().getLastDeckPath(), this));
return layoutView;
} }
//https://www.jianshu.com/p/99649af3b191 /*/https://www.jianshu.com/p/99649af3b191
public void showNewbieGuide(String scene) { public void showNewbieGuide(String scene) {
HighlightOptions options = new HighlightOptions.Builder()//绘制一个高亮虚线圈 HighlightOptions options = new HighlightOptions.Builder()//绘制一个高亮虚线圈
.setOnHighlightDrewListener((canvas, rectF) -> { .setOnHighlightDrewListener((canvas, rectF) -> {
...@@ -306,7 +307,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -306,7 +307,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
.show(); .show();
} }
} }*/
protected void setListeners() { protected void setListeners() {
mCardListAdapter.setOnItemClickListener((adapter, view, position) -> { mCardListAdapter.setOnItemClickListener((adapter, view, position) -> {
...@@ -339,26 +340,43 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -339,26 +340,43 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} }
@Override @Override
protected void onResume() { public void onResume() {
// mImageLoader.resume();
super.onResume(); super.onResume();
} }
@Override @Override
protected void onPause() { public void onPause() {
//仅退出的时候才关闭zip
// mImageLoader.pause();
super.onPause(); super.onPause();
} }
@Override @Override
protected void onStop() { public void onFirstUserVisible() {
}
@Override
public void onUserVisible() {
}
@Override
public void onFirstUserInvisible() {
}
@Override
public void onUserInvisible() {
}
@Override
public void onStop() {
super.onStop(); super.onStop();
CardFavorites.get().save(); CardFavorites.get().save();
} }
@Override @Override
protected void onDestroy() { public void onDestroy() {
mImageLoader.close(); mImageLoader.close();
super.onDestroy(); super.onDestroy();
} }
...@@ -378,7 +396,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -378,7 +396,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
if (deckItem == null || deckItem.getCardInfo() == null) { if (deckItem == null || deckItem.getCardInfo() == null) {
return; return;
} }
DialogPlus dialogPlus = new DialogPlus(this); DialogPlus dialogPlus = new DialogPlus(getContext());
dialogPlus.setTitle(R.string.question); dialogPlus.setTitle(R.string.question);
dialogPlus.setMessage(getString(R.string.delete_card, deckItem.getCardInfo().Name)); dialogPlus.setMessage(getString(R.string.delete_card, deckItem.getCardInfo().Name));
dialogPlus.setMessageGravity(Gravity.CENTER_HORIZONTAL); dialogPlus.setMessageGravity(Gravity.CENTER_HORIZONTAL);
...@@ -398,9 +416,9 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -398,9 +416,9 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} }
//endregion //endregion
public void AnimationShake2() { public void AnimationShake2(View view) {
Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);//加载动画资源文件 Animation shake = AnimationUtils.loadAnimation(getContext(), R.anim.shake);//加载动画资源文件
findViewById(R.id.cube2).startAnimation(shake); //给组件播放动画效果 view.findViewById(R.id.cube2).startAnimation(shake); //给组件播放动画效果
} }
protected void hideDrawers() { protected void hideDrawers() {
...@@ -429,7 +447,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -429,7 +447,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} }
if (autoClose && mDrawerLayout.isDrawerOpen(Constants.CARD_RESULT_GRAVITY)) { if (autoClose && mDrawerLayout.isDrawerOpen(Constants.CARD_RESULT_GRAVITY)) {
mDrawerLayout.closeDrawer(Constants.CARD_RESULT_GRAVITY); mDrawerLayout.closeDrawer(Constants.CARD_RESULT_GRAVITY);
showNewbieGuide("searchResult"); //showNewbieGuide("searchResult");
} else if (isLoad) { } else if (isLoad) {
mDrawerLayout.openDrawer(Constants.CARD_RESULT_GRAVITY); mDrawerLayout.openDrawer(Constants.CARD_RESULT_GRAVITY);
} }
...@@ -441,7 +459,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -441,7 +459,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
setCurDeck(new DeckInfo()); setCurDeck(new DeckInfo());
return; return;
} }
DialogPlus dlg = DialogPlus.show(this, null, getString(R.string.loading)); DialogPlus dlg = DialogPlus.show(getContext(), null, getString(R.string.loading));
VUiKit.defer().when(() -> { VUiKit.defer().when(() -> {
if (mCardLoader.isOpen() && file.exists()) { if (mCardLoader.isOpen() && file.exists()) {
return mDeckAdapater.read(mCardLoader, file, mCardLoader.getLimitList()); return mDeckAdapater.read(mCardLoader, file, mCardLoader.getLimitList());
...@@ -456,7 +474,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -456,7 +474,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
//region init //region init
private void init(@Nullable File ydk) { private void init(@Nullable File ydk) {
DialogPlus dlg = DialogPlus.show(this, null, getString(R.string.loading)); DialogPlus dlg = DialogPlus.show(getContext(), null, getString(R.string.loading));
VUiKit.defer().when(() -> { VUiKit.defer().when(() -> {
DataManager.get().load(true); DataManager.get().load(true);
//默认第一个卡表 //默认第一个卡表
...@@ -504,15 +522,8 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -504,15 +522,8 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
File file = deckInfo.source; File file = deckInfo.source;
if (file != null && file.exists()) { if (file != null && file.exists()) {
String name = IOUtils.tirmName(file.getName(), Constants.YDK_FILE_EX); String name = IOUtils.tirmName(file.getName(), Constants.YDK_FILE_EX);
setActionBarSubTitle(name);
// if (inDeckDir(file)) {
//记住最后打开的卡组
mSettings.setLastDeckPath(file.getAbsolutePath()); mSettings.setLastDeckPath(file.getAbsolutePath());
tv_deck.setText(name); tv_deck.setText(name);
// }
} else {
setActionBarSubTitle(getString(R.string.noname));
} }
mDeckAdapater.setDeck(deckInfo); mDeckAdapater.setDeck(deckInfo);
mDeckAdapater.notifyDataSetChanged(); mDeckAdapater.notifyDataSetChanged();
...@@ -614,7 +625,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -614,7 +625,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
if (cardInfo != null) { if (cardInfo != null) {
if (isShowCard()) return; if (isShowCard()) return;
if (mCardDetail == null) { if (mCardDetail == null) {
mCardDetail = new CardDetail(this, getImageLoader(), mStringManager); mCardDetail = new CardDetail((BaseActivity) getActivity(), getImageLoader(), mStringManager);
mCardDetail.setOnCardClickListener(new CardDetail.OnCardClickListener() { mCardDetail.setOnCardClickListener(new CardDetail.OnCardClickListener() {
@Override @Override
public void onOpenUrl(Card cardInfo) { public void onOpenUrl(Card cardInfo) {
...@@ -650,7 +661,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -650,7 +661,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} }
mCardDetail.showAdd(); mCardDetail.showAdd();
if (mDialog == null) { if (mDialog == null) {
mDialog = new DialogPlus(this); mDialog = new DialogPlus(getContext());
mDialog.setView(mCardDetail.getView()); mDialog.setView(mCardDetail.getView());
mDialog.hideButton(); mDialog.hideButton();
mDialog.hideTitleBar(); mDialog.hideTitleBar();
...@@ -679,9 +690,9 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -679,9 +690,9 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
if (checkLimit(cardInfo)) { if (checkLimit(cardInfo)) {
boolean rs = mDeckAdapater.AddCard(cardInfo, DeckItemType.SideCard); boolean rs = mDeckAdapater.AddCard(cardInfo, DeckItemType.SideCard);
if (rs) { if (rs) {
showToast(R.string.add_card_tip_ok, Toast.LENGTH_SHORT); Toast.makeText(getContext(), R.string.add_card_tip_ok, Toast.LENGTH_SHORT).show();
} else { } else {
showToast(R.string.add_card_tip_fail, Toast.LENGTH_SHORT); Toast.makeText(getContext(), R.string.add_card_tip_fail, Toast.LENGTH_SHORT).show();
} }
return rs; return rs;
} }
...@@ -697,9 +708,9 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -697,9 +708,9 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
rs = mDeckAdapater.AddCard(cardInfo, DeckItemType.MainCard); rs = mDeckAdapater.AddCard(cardInfo, DeckItemType.MainCard);
} }
if (rs) { if (rs) {
showToast(R.string.add_card_tip_ok, Toast.LENGTH_SHORT); Toast.makeText(getContext(), R.string.add_card_tip_ok, Toast.LENGTH_SHORT).show();
} else { } else {
showToast(R.string.add_card_tip_fail, Toast.LENGTH_SHORT); Toast.makeText(getContext(), R.string.add_card_tip_fail, Toast.LENGTH_SHORT).show();
} }
return rs; return rs;
} }
...@@ -707,11 +718,11 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -707,11 +718,11 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} }
@Override @Override
protected void onBackHome() { public void onBackHome() {
if (mDeckAdapater.isChanged()) { if (mDeckAdapater.isChanged()) {
File ydk = mDeckAdapater.getYdkFile(); File ydk = mDeckAdapater.getYdkFile();
if (ydk != null && ydk.exists()) { if (ydk != null && ydk.exists()) {
DialogPlus builder = new DialogPlus(this); DialogPlus builder = new DialogPlus(getContext());
builder.setTitle(R.string.question); builder.setTitle(R.string.question);
builder.setMessage(R.string.quit_deck_tip); builder.setMessage(R.string.quit_deck_tip);
builder.setMessageGravity(Gravity.CENTER_HORIZONTAL); builder.setMessageGravity(Gravity.CENTER_HORIZONTAL);
...@@ -721,17 +732,17 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -721,17 +732,17 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
doMenu(R.id.action_save); doMenu(R.id.action_save);
dlg.dismiss(); dlg.dismiss();
isExit = true; isExit = true;
finish(); //finish();
}); });
builder.setLeftButtonListener((dlg, s) -> { builder.setLeftButtonListener((dlg, s) -> {
dlg.dismiss(); dlg.dismiss();
isExit = true; isExit = true;
finish(); //finish();
}); });
builder.show(); builder.show();
} }
} else { } else {
super.onBackHome(); //super.onBackHome();
} }
if (mDrawerLayout.isDrawerOpen(Constants.CARD_SEARCH_GRAVITY)) { if (mDrawerLayout.isDrawerOpen(Constants.CARD_SEARCH_GRAVITY)) {
mDrawerLayout.closeDrawer(Constants.CARD_SEARCH_GRAVITY); mDrawerLayout.closeDrawer(Constants.CARD_SEARCH_GRAVITY);
...@@ -741,7 +752,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -741,7 +752,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
mDrawerLayout.closeDrawer(Gravity.LEFT); mDrawerLayout.closeDrawer(Gravity.LEFT);
return; return;
} }
finish(); //finish();
} }
@Override @Override
...@@ -754,22 +765,22 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -754,22 +765,22 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
if (mDeckAdapater.isChanged()) { if (mDeckAdapater.isChanged()) {
File ydk = mDeckAdapater.getYdkFile(); File ydk = mDeckAdapater.getYdkFile();
if (ydk != null && ydk.exists()) { if (ydk != null && ydk.exists()) {
DialogPlus builder = new DialogPlus(this); DialogPlus builder = new DialogPlus(getContext());
builder.setTitle(R.string.question); builder.setTitle(R.string.question);
builder.setMessage(R.string.quit_deck_tip); builder.setMessage(R.string.quit_deck_tip);
builder.setMessageGravity(Gravity.CENTER_HORIZONTAL); builder.setMessageGravity(Gravity.CENTER_HORIZONTAL);
builder.setLeftButtonListener((dlg, s) -> { builder.setLeftButtonListener((dlg, s) -> {
dlg.dismiss(); dlg.dismiss();
isExit = true; isExit = true;
finish(); //finish();
}); });
builder.show(); builder.show();
} }
} else { } else {
super.onBackPressed(); //super.onBackPressed();
} }
} else { } else {
super.onBackPressed(); //super.onBackPressed();
} }
} }
...@@ -782,22 +793,22 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -782,22 +793,22 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
return count != null && count <= 3; return count != null && count <= 3;
} }
if (limitList.check(cardInfo, LimitType.Forbidden)) { if (limitList.check(cardInfo, LimitType.Forbidden)) {
showToast(getString(R.string.tip_card_max, 0), Toast.LENGTH_SHORT); Toast.makeText(getContext(), getString(R.string.tip_card_max, 0), Toast.LENGTH_SHORT).show();
return false; return false;
} }
if (count != null) { if (count != null) {
if (limitList.check(cardInfo, LimitType.Limit)) { if (limitList.check(cardInfo, LimitType.Limit)) {
if (count >= 1) { if (count >= 1) {
showToast(getString(R.string.tip_card_max, 1), Toast.LENGTH_SHORT); Toast.makeText(getContext(), getString(R.string.tip_card_max, 1), Toast.LENGTH_SHORT).show();
return false; return false;
} }
} else if (limitList.check(cardInfo, LimitType.SemiLimit)) { } else if (limitList.check(cardInfo, LimitType.SemiLimit)) {
if (count >= 2) { if (count >= 2) {
showToast(getString(R.string.tip_card_max, 2), Toast.LENGTH_SHORT); Toast.makeText(getContext(), getString(R.string.tip_card_max, 2), Toast.LENGTH_SHORT).show();
return false; return false;
} }
} else if (count >= Constants.CARD_MAX_COUNT) { } else if (count >= Constants.CARD_MAX_COUNT) {
showToast(getString(R.string.tip_card_max, 3), Toast.LENGTH_SHORT); Toast.makeText(getContext(), getString(R.string.tip_card_max, 3), Toast.LENGTH_SHORT).show();
return false; return false;
} }
} }
...@@ -814,10 +825,10 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -814,10 +825,10 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} }
public boolean doMenu(int menuId) { public boolean doMenu(int menuId) {
DialogPlus builder = new DialogPlus(this); DialogPlus builder = new DialogPlus(getContext());
switch (menuId) { switch (menuId) {
case R.id.action_deck_backup_n_restore: case R.id.action_deck_backup_n_restore:
startPermissionsActivity(); //startPermissionsActivity();
builder.setTitle(R.string.question); builder.setTitle(R.string.question);
builder.setMessage(R.string.deck_explain); builder.setMessage(R.string.deck_explain);
builder.setMessageGravity(Gravity.CENTER_HORIZONTAL); builder.setMessageGravity(Gravity.CENTER_HORIZONTAL);
...@@ -845,7 +856,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -845,7 +856,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
break; break;
case R.id.action_share_deck: case R.id.action_share_deck:
if (mDeckAdapater.getYdkFile() == null) { if (mDeckAdapater.getYdkFile() == null) {
Toast.makeText(this, R.string.unable_to_edit_empty_deck, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), R.string.unable_to_edit_empty_deck, Toast.LENGTH_SHORT).show();
return true; return true;
} }
shareDeck(); shareDeck();
...@@ -859,7 +870,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -859,7 +870,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
inputDeckName(null, null, true); inputDeckName(null, null, true);
} else { } else {
if (TextUtils.equals(mDeckAdapater.getYdkFile().getParent(), mSettings.getAiDeckDir())) { if (TextUtils.equals(mDeckAdapater.getYdkFile().getParent(), mSettings.getAiDeckDir())) {
Toast.makeText(this, R.string.donot_editor_bot_Deck, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), R.string.donot_editor_bot_Deck, Toast.LENGTH_SHORT).show();
} else { } else {
save(mDeckAdapater.getYdkFile()); save(mDeckAdapater.getYdkFile());
} }
...@@ -868,11 +879,11 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -868,11 +879,11 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
break; break;
case R.id.action_rename: case R.id.action_rename:
if (mDeckAdapater.getYdkFile() == null) { if (mDeckAdapater.getYdkFile() == null) {
Toast.makeText(this, R.string.unable_to_edit_empty_deck, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), R.string.unable_to_edit_empty_deck, Toast.LENGTH_SHORT).show();
return true; return true;
} }
if (TextUtils.equals(mDeckAdapater.getYdkFile().getParent(), mSettings.getAiDeckDir())) { if (TextUtils.equals(mDeckAdapater.getYdkFile().getParent(), mSettings.getAiDeckDir())) {
Toast.makeText(this, R.string.donot_editor_bot_Deck, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), R.string.donot_editor_bot_Deck, Toast.LENGTH_SHORT).show();
} else { } else {
inputDeckName(mDeckAdapater.getYdkFile(), mDeckAdapater.getYdkFile().getParent(), false); inputDeckName(mDeckAdapater.getYdkFile(), mDeckAdapater.getYdkFile().getParent(), false);
} }
...@@ -895,11 +906,11 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -895,11 +906,11 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
break; break;
case R.id.action_delete_deck: { case R.id.action_delete_deck: {
if (mDeckAdapater.getYdkFile() == null) { if (mDeckAdapater.getYdkFile() == null) {
Toast.makeText(this, R.string.unable_to_edit_empty_deck, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), R.string.unable_to_edit_empty_deck, Toast.LENGTH_SHORT).show();
return true; return true;
} }
if (TextUtils.equals(mDeckAdapater.getYdkFile().getParent(), mSettings.getAiDeckDir())) { if (TextUtils.equals(mDeckAdapater.getYdkFile().getParent(), mSettings.getAiDeckDir())) {
Toast.makeText(this, R.string.donot_editor_bot_Deck, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), R.string.donot_editor_bot_Deck, Toast.LENGTH_SHORT).show();
} else { } else {
builder.setTitle(R.string.question); builder.setTitle(R.string.question);
builder.setMessage(R.string.question_delete_deck); builder.setMessage(R.string.question_delete_deck);
...@@ -933,7 +944,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -933,7 +944,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
private void createDeck(String savePath) { private void createDeck(String savePath) {
final File old = mDeckAdapater.getYdkFile(); final File old = mDeckAdapater.getYdkFile();
DialogPlus builder = new DialogPlus(this); DialogPlus builder = new DialogPlus(getContext());
builder.setTitle(R.string.question); builder.setTitle(R.string.question);
builder.setMessage(R.string.question_keep_cur_deck); builder.setMessage(R.string.question_keep_cur_deck);
builder.setMessageGravity(Gravity.CENTER_HORIZONTAL); builder.setMessageGravity(Gravity.CENTER_HORIZONTAL);
...@@ -961,7 +972,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -961,7 +972,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} }
private void shareDeck() { private void shareDeck() {
builderShareLoading = new DialogPlus(this); builderShareLoading = new DialogPlus(getContext());
builderShareLoading.showProgressBar(); builderShareLoading.showProgressBar();
builderShareLoading.hideTitleBar(); builderShareLoading.hideTitleBar();
builderShareLoading.setMessage(R.string.Pre_share); builderShareLoading.setMessage(R.string.Pre_share);
...@@ -1020,23 +1031,20 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -1020,23 +1031,20 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
String savePath = new File(AppsSettings.get().getDeckSharePath(), deckName + ".jpg").getAbsolutePath(); String savePath = new File(AppsSettings.get().getDeckSharePath(), deckName + ".jpg").getAbsolutePath();
BitmapUtil.saveBitmap(bitmap, savePath, 50); BitmapUtil.saveBitmap(bitmap, savePath, 50);
builderShareLoading.dismiss(); builderShareLoading.dismiss();
DialogUtils du = DialogUtils.getdx(this); DialogUtils du = DialogUtils.getdx(getContext());
View viewDialog = du.dialogBottomSheet(R.layout.dialog_deck_share,true); View viewDialog = du.dialogBottomSheet(R.layout.dialog_deck_share, true);
ImageView iv_image = viewDialog.findViewById(R.id.iv_image); ImageView iv_image = viewDialog.findViewById(R.id.iv_image);
Button bt_image_share = viewDialog.findViewById(R.id.bt_image_share); Button bt_image_share = viewDialog.findViewById(R.id.bt_image_share);
Button bt_code_share = viewDialog.findViewById(R.id.bt_code_share); Button bt_code_share = viewDialog.findViewById(R.id.bt_code_share);
TextView tv_code = viewDialog.findViewById(R.id.et_code); TextView tv_code = viewDialog.findViewById(R.id.et_code);
tv_code.setText(deck.toAppUri().toString()); tv_code.setText(deck.toAppUri().toString());
ImageUtil.show(this, savePath, iv_image,System.currentTimeMillis()+""); ImageUtil.show(getContext(), savePath, iv_image, System.currentTimeMillis() + "");
bt_code_share.setOnClickListener(v -> { bt_code_share.setOnClickListener(v -> {
du.dis(); du.dis();
// stopService(new Intent(this, DuelAssistantService.class)); YGOUtil.copyMessage(getContext(), tv_code.getText().toString().trim());
YGOUtil.copyMessage(this, tv_code.getText().toString().trim());
DuelAssistantManagement.getInstance().setLastMessage(tv_code.getText().toString().trim()); DuelAssistantManagement.getInstance().setLastMessage(tv_code.getText().toString().trim());
showToast(getString(R.string.deck_text_copyed)); Toast.makeText(getContext(), getString(R.string.deck_text_copyed), Toast.LENGTH_SHORT).show();
//复制完毕开启决斗助手
// YGOUtil.startDuelService(this);
}); });
...@@ -1053,7 +1061,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -1053,7 +1061,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
String cname = DeckUtil.getDeckTypeName(mDeckAdapater.getYdkFile().getAbsolutePath()); String cname = DeckUtil.getDeckTypeName(mDeckAdapater.getYdkFile().getAbsolutePath());
intent.putExtra(IrrlichtBridge.EXTRA_SHARE_FILE, cname + "/" + fname); intent.putExtra(IrrlichtBridge.EXTRA_SHARE_FILE, cname + "/" + fname);
} }
intent.setPackage(getPackageName()); intent.setPackage(getActivity().getPackageName());
try { try {
startActivity(intent); startActivity(intent);
} catch (Throwable e) { } catch (Throwable e) {
...@@ -1074,14 +1082,14 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -1074,14 +1082,14 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
private void shareUrl(String uri, String label) { private void shareUrl(String uri, String label) {
String url = getString(R.string.deck_share_head) + " " + uri; String url = getString(R.string.deck_share_head) + " " + uri;
ShareUtil.shareText(this, getString(R.string.share_deck), url, null); ShareUtil.shareText(getContext(), getString(R.string.share_deck), url, null);
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); ClipboardManager clipboardManager = (ClipboardManager) getContext().getSystemService(CLIPBOARD_SERVICE);
if (Build.VERSION.SDK_INT > 19) { if (Build.VERSION.SDK_INT > 19) {
clipboardManager.setPrimaryClip(ClipData.newPlainText(label, uri)); clipboardManager.setPrimaryClip(ClipData.newPlainText(label, uri));
} else { } else {
clipboardManager.setText(uri); clipboardManager.setText(uri);
} }
showToast(R.string.copy_to_clipbroad, Toast.LENGTH_SHORT); Toast.makeText(getContext(), R.string.copy_to_clipbroad, Toast.LENGTH_SHORT).show();
} }
private File getSelectDeck(Spinner spinner) { private File getSelectDeck(Spinner spinner) {
...@@ -1136,7 +1144,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -1136,7 +1144,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
items.add(new SimpleSpinnerItem(i++, filename).setTag(file)); items.add(new SimpleSpinnerItem(i++, filename).setTag(file));
} }
} }
SimpleSpinnerAdapter simpleSpinnerAdapter = new SimpleSpinnerAdapter(this); SimpleSpinnerAdapter simpleSpinnerAdapter = new SimpleSpinnerAdapter(getContext());
simpleSpinnerAdapter.set(items); simpleSpinnerAdapter.set(items);
simpleSpinnerAdapter.setColor(Color.WHITE); simpleSpinnerAdapter.setColor(Color.WHITE);
simpleSpinnerAdapter.setSingleLine(true); simpleSpinnerAdapter.setSingleLine(true);
...@@ -1146,25 +1154,6 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -1146,25 +1154,6 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
} }
} }
// private void initLimitListSpinners(Spinner spinner) {
// List<SimpleSpinnerItem> items = new ArrayList<>();
// List<Integer> ids = mLimitManager.getLists();
// int index = -1;
// int i = 0;
// for (Integer id : ids) {
// LimitList list = mLimitManager.getLimitFromIndex(id);
// if (list == mLimitList) {
// index = i;
// }
// items.add(new SimpleSpinnerItem(id, list.getName()));
// i++;
// }
// SimpleSpinnerAdapter adapter = new SimpleSpinnerAdapter(this);
// adapter.set(items);
// spinner.setAdapter(adapter);
// if (index >= 0) {
// spinner.setSelection(index);
// }
private void initLimitListSpinners(Spinner spinner, LimitList cur) { private void initLimitListSpinners(Spinner spinner, LimitList cur) {
List<SimpleSpinnerItem> items = new ArrayList<>(); List<SimpleSpinnerItem> items = new ArrayList<>();
List<String> limitLists = mLimitManager.getLimitNames(); List<String> limitLists = mLimitManager.getLimitNames();
...@@ -1179,7 +1168,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -1179,7 +1168,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
index = j; index = j;
} }
} }
SimpleSpinnerAdapter adapter = new SimpleSpinnerAdapter(this); SimpleSpinnerAdapter adapter = new SimpleSpinnerAdapter(getContext());
adapter.setColor(Color.WHITE); adapter.setColor(Color.WHITE);
adapter.set(items); adapter.set(items);
spinner.setAdapter(adapter); spinner.setAdapter(adapter);
...@@ -1205,20 +1194,20 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -1205,20 +1194,20 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
boolean nochanged = last != null && TextUtils.equals(last.getName(), limitList.getName()); boolean nochanged = last != null && TextUtils.equals(last.getName(), limitList.getName());
if (!nochanged) { if (!nochanged) {
mDeckAdapater.setLimitList(limitList); mDeckAdapater.setLimitList(limitList);
runOnUiThread(() -> { getActivity().runOnUiThread(() -> {
mDeckAdapater.notifyItemRangeChanged(DeckItem.MainStart, DeckItem.MainEnd); mDeckAdapater.notifyItemRangeChanged(DeckItem.MainStart, DeckItem.MainEnd);
mDeckAdapater.notifyItemRangeChanged(DeckItem.ExtraStart, DeckItem.ExtraEnd); mDeckAdapater.notifyItemRangeChanged(DeckItem.ExtraStart, DeckItem.ExtraEnd);
mDeckAdapater.notifyItemRangeChanged(DeckItem.SideStart, DeckItem.SideEnd); mDeckAdapater.notifyItemRangeChanged(DeckItem.SideStart, DeckItem.SideEnd);
}); });
} }
mCardListAdapter.setLimitList(limitList); mCardListAdapter.setLimitList(limitList);
runOnUiThread(() -> mCardListAdapter.notifyDataSetChanged()); getActivity().runOnUiThread(() -> mCardListAdapter.notifyDataSetChanged());
} }
private void inputDeckName(File oldYdk, String savePath, boolean keepOld) { private void inputDeckName(File oldYdk, String savePath, boolean keepOld) {
DialogPlus builder = new DialogPlus(this); DialogPlus builder = new DialogPlus(getContext());
builder.setTitle(R.string.intpu_name); builder.setTitle(R.string.intpu_name);
EditText editText = new EditText(this); EditText editText = new EditText(getContext());
editText.setGravity(Gravity.TOP | Gravity.LEFT); editText.setGravity(Gravity.TOP | Gravity.LEFT);
editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
editText.setSingleLine(); editText.setSingleLine();
...@@ -1240,7 +1229,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -1240,7 +1229,7 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
else else
ydk = new File(savePath, filename); ydk = new File(savePath, filename);
if (ydk.exists()) { if (ydk.exists()) {
showToast(R.string.file_exist, Toast.LENGTH_SHORT); Toast.makeText(getContext(), R.string.file_exist, Toast.LENGTH_SHORT).show();
return; return;
} }
if (!keepOld && oldYdk != null && oldYdk.exists()) { if (!keepOld && oldYdk != null && oldYdk.exists()) {
...@@ -1271,9 +1260,9 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte ...@@ -1271,9 +1260,9 @@ public class DeckManagerActivity extends BaseActivity implements RecyclerViewIte
private void save(File ydk) { private void save(File ydk) {
if (mDeckAdapater.save(ydk)) { if (mDeckAdapater.save(ydk)) {
showToast(R.string.save_tip_ok, Toast.LENGTH_SHORT); Toast.makeText(getContext(), R.string.save_tip_ok, Toast.LENGTH_SHORT).show();
} else { } else {
showToast(R.string.save_tip_fail, Toast.LENGTH_SHORT); Toast.makeText(getContext(), R.string.save_tip_fail, Toast.LENGTH_SHORT).show();
} }
} }
......
...@@ -32,7 +32,7 @@ import cn.garymb.ygomobile.lite.BuildConfig; ...@@ -32,7 +32,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.CardSearchFragment; import cn.garymb.ygomobile.ui.cards.CardSearchFragment;
import cn.garymb.ygomobile.ui.cards.DeckManagerActivity; import cn.garymb.ygomobile.ui.cards.DeckManagerFragment;
import cn.garymb.ygomobile.ui.cards.deck.DeckUtils; import cn.garymb.ygomobile.ui.cards.deck.DeckUtils;
import cn.garymb.ygomobile.ui.plus.DialogPlus; import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.utils.FileLogUtil; import cn.garymb.ygomobile.utils.FileLogUtil;
...@@ -91,7 +91,7 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista ...@@ -91,7 +91,7 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
// 配置navigation与底部菜单之间的联系 // 配置navigation与底部菜单之间的联系
// 底部菜单的样式里面的item里面的ID与navigation布局里面指定的ID必须相同,否则会出现绑定失败的情况 // 底部菜单的样式里面的item里面的ID与navigation布局里面指定的ID必须相同,否则会出现绑定失败的情况
appBarConfiguration = new AppBarConfiguration.Builder( appBarConfiguration = new AppBarConfiguration.Builder(
R.id.home_fragment, R.id.cardSearcher_fragment, R.id.mycard_fragment, R.id.setting_fragment).build(); R.id.home_fragment, R.id.cardSearcher_fragment, R.id.deckManager_fragment, R.id.mycard_fragment, R.id.setting_fragment).build();
// 建立fragment容器的控制器,这个容器就是页面的上的fragment容器 // 建立fragment容器的控制器,这个容器就是页面的上的fragment容器
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment); NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
// 启动 // 启动
...@@ -248,13 +248,13 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista ...@@ -248,13 +248,13 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
if (!deckInfo.isCompleteDeck()) { if (!deckInfo.isCompleteDeck()) {
YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片"); YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片");
} }
DeckManagerActivity.start(this, file.getAbsolutePath()); DeckManagerFragment.start(this, file.getAbsolutePath());
} else { } else {
//如果是卡组文本 //如果是卡组文本
try { try {
//以当前时间戳作为卡组名保存卡组 //以当前时间戳作为卡组名保存卡组
File file = DeckUtils.save(getString(R.string.rename_deck) + System.currentTimeMillis(), deckMessage); File file = DeckUtils.save(getString(R.string.rename_deck) + System.currentTimeMillis(), deckMessage);
DeckManagerActivity.start(this, file.getAbsolutePath()); DeckManagerFragment.start(this, file.getAbsolutePath());
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
Toast.makeText(this, getString(R.string.save_failed_bcos) + e, Toast.LENGTH_SHORT).show(); Toast.makeText(this, getString(R.string.save_failed_bcos) + e, Toast.LENGTH_SHORT).show();
......
...@@ -59,7 +59,8 @@ import cn.garymb.ygomobile.ui.activities.WebActivity; ...@@ -59,7 +59,8 @@ import cn.garymb.ygomobile.ui.activities.WebActivity;
import cn.garymb.ygomobile.ui.adapters.ServerListAdapter; 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.CardDetailRandom; import cn.garymb.ygomobile.ui.cards.CardDetailRandom;
import cn.garymb.ygomobile.ui.cards.DeckManagerActivity;
import cn.garymb.ygomobile.ui.cards.DeckManagerFragment;
import cn.garymb.ygomobile.ui.mycard.MyCardActivity; import cn.garymb.ygomobile.ui.mycard.MyCardActivity;
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;
...@@ -132,9 +133,6 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener { ...@@ -132,9 +133,6 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener {
mServerListManager.bind(mServerList); mServerListManager.bind(mServerList);
mServerListManager.syncLoadData(); mServerListManager.syncLoadData();
cv_deckmanager = view.findViewById(R.id.action_deck_manager); cv_deckmanager = view.findViewById(R.id.action_deck_manager);
cv_deckmanager.setOnClickListener((v) -> {
startActivity(new Intent(getActivity(), DeckManagerActivity.class));
});
cv_donation = view.findViewById(R.id.nav_webpage); cv_donation = view.findViewById(R.id.nav_webpage);
cv_game = view.findViewById(R.id.action_game); cv_game = view.findViewById(R.id.action_game);
cv_download_ex = view.findViewById(R.id.action_download_ex); cv_download_ex = view.findViewById(R.id.action_download_ex);
...@@ -532,7 +530,7 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener { ...@@ -532,7 +530,7 @@ public class HomeFragment extends BaseFragemnt implements View.OnClickListener {
//startActivity(new Intent(getContext(), CardSearchActivity.class)); //startActivity(new Intent(getContext(), CardSearchActivity.class));
break; break;
case R.id.action_deck_manager: case R.id.action_deck_manager:
startActivity(new Intent(getActivity(), DeckManagerActivity.class));
break; break;
case R.id.action_join_qq_group: case R.id.action_join_qq_group:
String key = "anEjPCDdhLgxtfLre-nT52G1Coye3LkK"; String key = "anEjPCDdhLgxtfLre-nT52G1Coye3LkK";
......
...@@ -28,7 +28,7 @@ import cn.garymb.ygodata.YGOGameOptions; ...@@ -28,7 +28,7 @@ import cn.garymb.ygodata.YGOGameOptions;
import cn.garymb.ygomobile.AppsSettings; import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.YGOStarter; import cn.garymb.ygomobile.YGOStarter;
import cn.garymb.ygomobile.bean.events.DeckFile; import cn.garymb.ygomobile.bean.events.DeckFile;
import cn.garymb.ygomobile.ui.cards.DeckManagerActivity; import cn.garymb.ygomobile.ui.cards.DeckManagerFragment;
import cn.garymb.ygomobile.ui.plus.DefWebViewClient; import cn.garymb.ygomobile.ui.plus.DefWebViewClient;
import cn.garymb.ygomobile.utils.DeckUtil; import cn.garymb.ygomobile.utils.DeckUtil;
...@@ -208,7 +208,7 @@ public class MyCard { ...@@ -208,7 +208,7 @@ public class MyCard {
@JavascriptInterface @JavascriptInterface
public void edit_deck() { public void edit_deck() {
activity.startActivity(new Intent(activity, DeckManagerActivity.class)); activity.startActivity(new Intent(activity, DeckManagerFragment.class));
} }
@JavascriptInterface @JavascriptInterface
......
...@@ -36,7 +36,8 @@ import cn.garymb.ygomobile.YGOStarter; ...@@ -36,7 +36,8 @@ import cn.garymb.ygomobile.YGOStarter;
import cn.garymb.ygomobile.lite.BuildConfig; import cn.garymb.ygomobile.lite.BuildConfig;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.activities.BaseActivity; import cn.garymb.ygomobile.ui.activities.BaseActivity;
import cn.garymb.ygomobile.ui.cards.DeckManagerActivity;
import cn.garymb.ygomobile.ui.cards.DeckManagerFragment;
import cn.garymb.ygomobile.ui.mycard.mcchat.SplashActivity; import cn.garymb.ygomobile.ui.mycard.mcchat.SplashActivity;
import cn.garymb.ygomobile.utils.ActivityUtils; import cn.garymb.ygomobile.utils.ActivityUtils;
import cn.garymb.ygomobile.utils.glide.GlideCompat; import cn.garymb.ygomobile.utils.glide.GlideCompat;
...@@ -305,7 +306,7 @@ public class MyCardActivity extends BaseActivity implements MyCard.MyCardListene ...@@ -305,7 +306,7 @@ public class MyCardActivity extends BaseActivity implements MyCard.MyCardListene
mWebViewPlus.loadUrl(mMyCard.getHomeUrl()); mWebViewPlus.loadUrl(mMyCard.getHomeUrl());
break; break;
case R.id.action_deck_manager: case R.id.action_deck_manager:
startActivity(new Intent(this, DeckManagerActivity.class)); startActivity(new Intent(this, DeckManagerFragment.class));
closeDrawer(); closeDrawer();
break; break;
case R.id.action_arena: case R.id.action_arena:
......
...@@ -45,7 +45,7 @@ import cn.garymb.ygomobile.bean.ServerList; ...@@ -45,7 +45,7 @@ import cn.garymb.ygomobile.bean.ServerList;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.adapters.ServerListAdapter; import cn.garymb.ygomobile.ui.adapters.ServerListAdapter;
import cn.garymb.ygomobile.ui.cards.CardSearchFragment; import cn.garymb.ygomobile.ui.cards.CardSearchFragment;
import cn.garymb.ygomobile.ui.cards.DeckManagerActivity; import cn.garymb.ygomobile.ui.cards.DeckManagerFragment;
import cn.garymb.ygomobile.ui.cards.deck.DeckUtils; import cn.garymb.ygomobile.ui.cards.deck.DeckUtils;
import cn.garymb.ygomobile.ui.home.MainActivity; import cn.garymb.ygomobile.ui.home.MainActivity;
import cn.garymb.ygomobile.ui.home.ServerListManager; import cn.garymb.ygomobile.ui.home.ServerListManager;
...@@ -232,13 +232,13 @@ public class DuelAssistantService extends Service implements OnDuelAssistantList ...@@ -232,13 +232,13 @@ public class DuelAssistantService extends Service implements OnDuelAssistantList
if (!deckInfo.isCompleteDeck()){ if (!deckInfo.isCompleteDeck()){
YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片"); YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片");
} }
DeckManagerActivity.start(DuelAssistantService.this, file.getAbsolutePath()); DeckManagerFragment.start(DuelAssistantService.this, file.getAbsolutePath());
} else { } else {
//如果是卡组文本 //如果是卡组文本
try { try {
//以当前时间戳作为卡组名保存卡组 //以当前时间戳作为卡组名保存卡组
File file = DeckUtils.save(getString(R.string.rename_deck) + System.currentTimeMillis(), deckMessage); File file = DeckUtils.save(getString(R.string.rename_deck) + System.currentTimeMillis(), deckMessage);
DeckManagerActivity.start(DuelAssistantService.this, file.getAbsolutePath()); DeckManagerFragment.start(DuelAssistantService.this, file.getAbsolutePath());
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
Toast.makeText(DuelAssistantService.this, getString(R.string.save_failed_bcos) + e, Toast.LENGTH_SHORT).show(); Toast.makeText(DuelAssistantService.this, getString(R.string.save_failed_bcos) + e, Toast.LENGTH_SHORT).show();
......
...@@ -11,6 +11,11 @@ ...@@ -11,6 +11,11 @@
android:icon="@drawable/search" android:icon="@drawable/search"
android:title="@string/search" android:title="@string/search"
app:showAsAction="always" /> app:showAsAction="always" />
<item
android:id="@+id/deckManager_fragment"
android:icon="@drawable/deck"
android:title="@string/deck_manager"
app:showAsAction="always" />
<item <item
android:id="@+id/mycard_fragment" android:id="@+id/mycard_fragment"
android:icon="@drawable/mycard" android:icon="@drawable/mycard"
......
...@@ -13,6 +13,10 @@ ...@@ -13,6 +13,10 @@
android:id="@+id/cardSearcher_fragment" android:id="@+id/cardSearcher_fragment"
android:name="cn.garymb.ygomobile.ui.cards.CardSearchFragment" android:name="cn.garymb.ygomobile.ui.cards.CardSearchFragment"
tools:layout="@layout/search_fragment"/> tools:layout="@layout/search_fragment"/>
<fragment
android:id="@+id/deckManager_fragment"
android:name="cn.garymb.ygomobile.ui.cards.DeckManagerFragment"
tools:layout="@layout/activity_deck_cards"/>
<fragment <fragment
android:id="@+id/mycard_fragment" android:id="@+id/mycard_fragment"
android:name="cn.garymb.ygomobile.ui.mycard.MycardFragment" android:name="cn.garymb.ygomobile.ui.mycard.MycardFragment"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment