Commit 4bfb5b40 authored by fallenstardust's avatar fallenstardust

修改打开卡组码和卡组文件的方式

parent 81819b0c
...@@ -215,7 +215,7 @@ public class GameUriManager { ...@@ -215,7 +215,7 @@ public class GameUriManager {
Log.i(Constants.TAG, "open file:" + uri + "->" + file.getAbsolutePath()); Log.i(Constants.TAG, "open file:" + uri + "->" + file.getAbsolutePath());
if (isYdk) { if (isYdk) {
startSetting.putExtra("flag", 2); startSetting.putExtra("flag", 2);
DeckManagerFragment.start(activity, file.getAbsolutePath()); startSetting.putExtra(Intent.EXTRA_TEXT, file.getAbsolutePath());
} else if (isYpk) { } else if (isYpk) {
if (!AppsSettings.get().isReadExpansions()) { if (!AppsSettings.get().isReadExpansions()) {
startSetting.putExtra("flag", 4); startSetting.putExtra("flag", 4);
...@@ -255,7 +255,8 @@ public class GameUriManager { ...@@ -255,7 +255,8 @@ public class GameUriManager {
if (!deckInfo.isCompleteDeck()) { if (!deckInfo.isCompleteDeck()) {
YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片"); YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片");
} }
DeckManagerFragment.start(activity, file.getAbsolutePath()); startSetting.putExtra("flag", 2);
startSetting.putExtra(Intent.EXTRA_TEXT, 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) -> {
...@@ -293,7 +294,9 @@ public class GameUriManager { ...@@ -293,7 +294,9 @@ public class GameUriManager {
} }
} }
if (deck != null && deck.exists()) { if (deck != null && deck.exists()) {
DeckManagerFragment.start(activity, deck.getAbsolutePath()); Intent startSetting = new Intent(activity, MainActivity.class);
startSetting.putExtra("flag", 2);
startSetting.putExtra(Intent.EXTRA_TEXT, deck.getAbsolutePath());
} else { } else {
Log.w("kk", "no find " + name); Log.w("kk", "no find " + name);
activity.finish(); activity.finish();
......
...@@ -227,97 +227,9 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -227,97 +227,9 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
public static void start(Context context, String path) { public static void start(Context context, String path) {
Intent starter = new Intent(context, MainActivity.class); Intent starter = new Intent(context, MainActivity.class);
starter.putExtra(Intent.EXTRA_TEXT, path); starter.putExtra(Intent.EXTRA_TEXT, path);
if (!(context instanceof Activity)) {
starter.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
}
context.startActivity(starter); context.startActivity(starter);
} }
/*/https://www.jianshu.com/p/99649af3b191
public void showNewbieGuide(String scene) {
HighlightOptions options = new HighlightOptions.Builder()//绘制一个高亮虚线圈
.setOnHighlightDrewListener((canvas, rectF) -> {
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(20);
paint.setPathEffect(new DashPathEffect(new float[]{20, 20}, 0));
canvas.drawCircle(rectF.centerX(), rectF.centerY(), rectF.width() / 2 + 10, paint);
}).build();
HighlightOptions options2 = new HighlightOptions.Builder()//绘制一个高亮虚线矩形
.setOnHighlightDrewListener((canvas, rectF) -> {
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(20);
paint.setPathEffect(new DashPathEffect(new float[]{20, 20}, 0));
canvas.drawRect(rectF, paint);
}).build();
if (scene.equals("deckmain")) {
NewbieGuide.with(this)//with方法可以传入Activity或者Fragment,获取引导页的依附者
.setLabel("deckmainGuide")
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.deck_menu), HighLight.Shape.CIRCLE, options)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
//可只创建一个引导layout并把相关内容都放在其中并GONE,获得ID并初始化相应为显示
view.findViewById(R.id.view_abt_bmb).setVisibility(View.VISIBLE);
})
)
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.nav_search), HighLight.Shape.CIRCLE, options)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_about);
tv.setVisibility(View.VISIBLE);
tv.setText(R.string.guide_button_search);
})
)
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.nav_list), HighLight.Shape.CIRCLE, options)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_about);
tv.setVisibility(View.VISIBLE);
tv.setText(R.string.guide_button_search_result);
})
)
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.tv_deckmanger), HighLight.Shape.CIRCLE, options2)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_about);
tv.setVisibility(View.VISIBLE);
tv.setText(R.string.guide_view_deck_manager);
})
)
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(new RectF(screenWidth / 10.0f, screenWidth / 20.0f, screenWidth / 5.0f, screenWidth / 20.0f + screenWidth / 10.0f * 254.0f / 177.0f), HighLight.Shape.RECTANGLE, options2)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_abt_mid);
tv.setVisibility(View.VISIBLE);
tv.setText(R.string.guide_view_move_card);
})
)
//.alwaysShow(true)//总是显示,调试时可以打开
.show();
}
}*/
protected void setListeners() { protected void setListeners() {
mCardListAdapter.setOnItemClickListener((adapter, view, position) -> { mCardListAdapter.setOnItemClickListener((adapter, view, position) -> {
onCardClick(view, mCardListAdapter.getItem(position), position); onCardClick(view, mCardListAdapter.getItem(position), position);
...@@ -512,8 +424,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -512,8 +424,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
} }
//region init //region init
private void init(@Nullable File ydk) { public void init(@Nullable File ydk) {
DialogPlus dlg = DialogPlus.show(getContext(), null, getString(R.string.loading)); DialogPlus dlg = DialogPlus.show(mContext, null, getString(R.string.loading));
VUiKit.defer().when(() -> { VUiKit.defer().when(() -> {
DataManager.get().load(true); DataManager.get().load(true);
//默认第一个卡表 //默认第一个卡表
...@@ -1302,7 +1214,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1302,7 +1214,6 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
private void initBoomMenuButton(BoomMenuButton menu) { private void initBoomMenuButton(BoomMenuButton menu) {
final SparseArray<Integer> mMenuIds = new SparseArray<>(); final SparseArray<Integer> mMenuIds = new SparseArray<>();
// addMenuButton(mMenuIds, menu, R.id.action_card_search, R.string.deck_list, R.drawable.listicon);
addMenuButton(mMenuIds, menu, R.id.action_share_deck, R.string.share_deck, R.drawable.shareicon); addMenuButton(mMenuIds, menu, R.id.action_share_deck, R.string.share_deck, R.drawable.shareicon);
addMenuButton(mMenuIds, menu, R.id.action_save, R.string.save_deck, R.drawable.save); addMenuButton(mMenuIds, menu, R.id.action_save, R.string.save_deck, R.drawable.save);
addMenuButton(mMenuIds, menu, R.id.action_clear_deck, R.string.clear_deck, R.drawable.clear_deck); addMenuButton(mMenuIds, menu, R.id.action_clear_deck, R.string.clear_deck, R.drawable.clear_deck);
...@@ -1437,4 +1348,89 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1437,4 +1348,89 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
@Override @Override
public void onDragEnd() { public void onDragEnd() {
} }
/*/https://www.jianshu.com/p/99649af3b191
public void showNewbieGuide(String scene) {
HighlightOptions options = new HighlightOptions.Builder()//绘制一个高亮虚线圈
.setOnHighlightDrewListener((canvas, rectF) -> {
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(20);
paint.setPathEffect(new DashPathEffect(new float[]{20, 20}, 0));
canvas.drawCircle(rectF.centerX(), rectF.centerY(), rectF.width() / 2 + 10, paint);
}).build();
HighlightOptions options2 = new HighlightOptions.Builder()//绘制一个高亮虚线矩形
.setOnHighlightDrewListener((canvas, rectF) -> {
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(20);
paint.setPathEffect(new DashPathEffect(new float[]{20, 20}, 0));
canvas.drawRect(rectF, paint);
}).build();
if (scene.equals("deckmain")) {
NewbieGuide.with(this)//with方法可以传入Activity或者Fragment,获取引导页的依附者
.setLabel("deckmainGuide")
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.deck_menu), HighLight.Shape.CIRCLE, options)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
//可只创建一个引导layout并把相关内容都放在其中并GONE,获得ID并初始化相应为显示
view.findViewById(R.id.view_abt_bmb).setVisibility(View.VISIBLE);
})
)
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.nav_search), HighLight.Shape.CIRCLE, options)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_about);
tv.setVisibility(View.VISIBLE);
tv.setText(R.string.guide_button_search);
})
)
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.nav_list), HighLight.Shape.CIRCLE, options)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_about);
tv.setVisibility(View.VISIBLE);
tv.setText(R.string.guide_button_search_result);
})
)
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.tv_deckmanger), HighLight.Shape.CIRCLE, options2)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_about);
tv.setVisibility(View.VISIBLE);
tv.setText(R.string.guide_view_deck_manager);
})
)
.addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000)
.addHighLightWithOptions(new RectF(screenWidth / 10.0f, screenWidth / 20.0f, screenWidth / 5.0f, screenWidth / 20.0f + screenWidth / 10.0f * 254.0f / 177.0f), HighLight.Shape.RECTANGLE, options2)
.setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_abt_mid);
tv.setVisibility(View.VISIBLE);
tv.setText(R.string.guide_view_move_card);
})
)
//.alwaysShow(true)//总是显示,调试时可以打开
.show();
}
}*/
} }
...@@ -99,6 +99,7 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista ...@@ -99,6 +99,7 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
@Override @Override
protected void onNewIntent(Intent intent) { protected void onNewIntent(Intent intent) {
super.onNewIntent(intent); super.onNewIntent(intent);
String strDeck = "";
int mFlag = intent.getIntExtra("flag", 0); int mFlag = intent.getIntExtra("flag", 0);
if (mFlag == 4) { //判断获取到的flag值 if (mFlag == 4) { //判断获取到的flag值
switchFragment(fragment_personal); switchFragment(fragment_personal);
...@@ -108,6 +109,10 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista ...@@ -108,6 +109,10 @@ public abstract class HomeActivity extends BaseActivity implements OnDuelAssista
switchFragment(fragment_deck_cards); switchFragment(fragment_deck_cards);
} else if (mFlag == 1) { } else if (mFlag == 1) {
switchFragment(fragment_search); switchFragment(fragment_search);
} else if (intent.hasExtra(Intent.EXTRA_TEXT)) {
strDeck = intent.getStringExtra(Intent.EXTRA_TEXT);
Toast.makeText(getActivity(), strDeck, Toast.LENGTH_LONG).show();
fragment_deck_cards.init(new File(strDeck));
} }
} }
......
...@@ -225,6 +225,7 @@ public class DuelAssistantService extends Service implements OnDuelAssistantList ...@@ -225,6 +225,7 @@ public class DuelAssistantService extends Service implements OnDuelAssistantList
bt_close.setOnClickListener(v -> disJoinDialog()); bt_close.setOnClickListener(v -> disJoinDialog());
bt_join.setOnClickListener(v -> { bt_join.setOnClickListener(v -> {
disJoinDialog(); disJoinDialog();
Intent startSetting = new Intent(getBaseContext(), MainActivity.class);
//如果是卡组url //如果是卡组url
if (isUrl) { if (isUrl) {
Deck deckInfo = new Deck(getString(R.string.rename_deck) + System.currentTimeMillis(), Uri.parse(deckMessage)); Deck deckInfo = new Deck(getString(R.string.rename_deck) + System.currentTimeMillis(), Uri.parse(deckMessage));
...@@ -232,13 +233,16 @@ public class DuelAssistantService extends Service implements OnDuelAssistantList ...@@ -232,13 +233,16 @@ public class DuelAssistantService extends Service implements OnDuelAssistantList
if (!deckInfo.isCompleteDeck()){ if (!deckInfo.isCompleteDeck()){
YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片"); YGOUtil.show("当前卡组缺少完整信息,将只显示已有卡片");
} }
DeckManagerFragment.start(DuelAssistantService.this, file.getAbsolutePath());
startSetting.putExtra("flag", 2);
startSetting.putExtra(Intent.EXTRA_TEXT, 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);
DeckManagerFragment.start(DuelAssistantService.this, file.getAbsolutePath()); startSetting.putExtra("flag", 2);
startSetting.putExtra(Intent.EXTRA_TEXT, 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();
......
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