Commit 98f2faa0 authored by fallenstardust's avatar fallenstardust

由各fragment监听各自返回键

卡组fragment恢复引导设置,退出确认
parent 8a3c1fad
...@@ -172,5 +172,5 @@ public abstract class BaseFragemnt extends Fragment { ...@@ -172,5 +172,5 @@ public abstract class BaseFragemnt extends Fragment {
public abstract void onBackHome(); public abstract void onBackHome();
public abstract void onBackPressed(); public abstract boolean onBackPressed();
} }
...@@ -46,6 +46,7 @@ import ocgcore.data.LimitList; ...@@ -46,6 +46,7 @@ import ocgcore.data.LimitList;
public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallBack, CardSearcher.CallBack { public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallBack, CardSearcher.CallBack {
public static final String SEARCH_MESSAGE = "searchMessage"; public static final String SEARCH_MESSAGE = "searchMessage";
long exitLasttime = 0;
protected DrawerLayout mDrawerlayout; protected DrawerLayout mDrawerlayout;
protected CardSearcher mCardSelector; protected CardSearcher mCardSelector;
protected CardListAdapter mCardListAdapter; protected CardListAdapter mCardListAdapter;
...@@ -74,7 +75,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB ...@@ -74,7 +75,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
return layoutView; return layoutView;
} }
public void initView(View layoutView){ public void initView(View layoutView) {
duelAssistantManagement = DuelAssistantManagement.getInstance(); duelAssistantManagement = DuelAssistantManagement.getInstance();
intentSearchMessage = getActivity().getIntent().getStringExtra(CardSearchFragment.SEARCH_MESSAGE); intentSearchMessage = getActivity().getIntent().getStringExtra(CardSearchFragment.SEARCH_MESSAGE);
mResult_count = layoutView.findViewById(R.id.search_result_count); mResult_count = layoutView.findViewById(R.id.search_result_count);
...@@ -98,7 +99,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB ...@@ -98,7 +99,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
if (mLimitManager.getCount() > 0) { if (mLimitManager.getCount() > 0) {
mCardLoader.setLimitList(mLimitManager.getTopLimit()); mCardLoader.setLimitList(mLimitManager.getTopLimit());
} }
}).fail((e)->{ }).fail((e) -> {
Toast.makeText(getContext(), R.string.tip_load_cdb_error, Toast.LENGTH_SHORT).show(); Toast.makeText(getContext(), R.string.tip_load_cdb_error, Toast.LENGTH_SHORT).show();
Log.e(IrrlichtBridge.TAG, "load cdb", e); Log.e(IrrlichtBridge.TAG, "load cdb", e);
}).done((rs) -> { }).done((rs) -> {
...@@ -246,14 +247,20 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB ...@@ -246,14 +247,20 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
} }
@Override @Override
public void onBackPressed() { public boolean onBackPressed() {
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);
} else { } else {
onBack(); //与home相同双击返回
//super.onBackPressed(); if (System.currentTimeMillis() - exitLasttime <= 3000) {
return false;
} else {
exitLasttime = System.currentTimeMillis();
Toast.makeText(getContext(), R.string.back_tip, Toast.LENGTH_SHORT).show();
} }
} }
return true;
}
protected void onCardClick(int pos, CardListProvider clt) { protected void onCardClick(int pos, CardListProvider clt) {
if (isShowDrawer()) return; if (isShowDrawer()) return;
...@@ -273,7 +280,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB ...@@ -273,7 +280,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
if (mCardDetail == null) { if (mCardDetail == null) {
mCardDetail = new CardDetail((BaseActivity) getActivity(), mImageLoader, mStringManager); mCardDetail = new CardDetail((BaseActivity) getActivity(), mImageLoader, mStringManager);
mCardDetail.setCallBack((card, favorite) -> { mCardDetail.setCallBack((card, favorite) -> {
if(mCardSelector.isShowFavorite()) { if (mCardSelector.isShowFavorite()) {
mCardSelector.showFavorites(false); mCardSelector.showFavorites(false);
} }
}); });
......
...@@ -11,6 +11,9 @@ import android.content.DialogInterface; ...@@ -11,6 +11,9 @@ 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;
...@@ -44,6 +47,10 @@ import androidx.recyclerview.widget.ItemTouchHelperPlus; ...@@ -44,6 +47,10 @@ 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.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;
...@@ -57,7 +64,6 @@ import org.greenrobot.eventbus.ThreadMode; ...@@ -57,7 +64,6 @@ import org.greenrobot.eventbus.ThreadMode;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
...@@ -83,6 +89,7 @@ import cn.garymb.ygomobile.ui.cards.deck.DeckItem; ...@@ -83,6 +89,7 @@ import cn.garymb.ygomobile.ui.cards.deck.DeckItem;
import cn.garymb.ygomobile.ui.cards.deck.DeckItemTouchHelper; import cn.garymb.ygomobile.ui.cards.deck.DeckItemTouchHelper;
import cn.garymb.ygomobile.ui.cards.deck.DeckItemType; import cn.garymb.ygomobile.ui.cards.deck.DeckItemType;
import cn.garymb.ygomobile.ui.cards.deck.DeckLayoutManager; import cn.garymb.ygomobile.ui.cards.deck.DeckLayoutManager;
import cn.garymb.ygomobile.ui.home.HomeActivity;
import cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil; import cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil;
import cn.garymb.ygomobile.ui.plus.AOnGestureListener; import cn.garymb.ygomobile.ui.plus.AOnGestureListener;
import cn.garymb.ygomobile.ui.plus.DefaultOnBoomListener; import cn.garymb.ygomobile.ui.plus.DefaultOnBoomListener;
...@@ -117,9 +124,10 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -117,9 +124,10 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
//region ui onCreate/onDestroy //region ui onCreate/onDestroy
private RecyclerView mRecyclerView; private RecyclerView mRecyclerView;
private DeckAdapater mDeckAdapater; public DeckAdapater mDeckAdapater;
private final AppsSettings mSettings = AppsSettings.get(); private final AppsSettings mSettings = AppsSettings.get();
private BaseActivity mContext; private BaseActivity mContext;
long exitLasttime = 0;
private File mPreLoadFile; private File mPreLoadFile;
private DeckItemTouchHelper mDeckItemTouchHelper; private DeckItemTouchHelper mDeckItemTouchHelper;
...@@ -129,13 +137,13 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -129,13 +137,13 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
private CardDetail mCardDetail; private CardDetail mCardDetail;
private DialogPlus mDialog; private DialogPlus mDialog;
private DialogPlus builderShareLoading; private DialogPlus builderShareLoading;
private boolean isExit = false;
private View layoutView;
@Nullable @Nullable
@Override @Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState); super.onCreateView(inflater, container, savedInstanceState);
View layoutView;
layoutView = inflater.inflate(R.layout.fragment_deck_cards, container, false); layoutView = inflater.inflate(R.layout.fragment_deck_cards, container, false);
AnimationShake2(layoutView); AnimationShake2(layoutView);
initView(layoutView); initView(layoutView);
...@@ -144,6 +152,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -144,6 +152,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
if (!EventBus.getDefault().isRegistered(this)) {//加上判断 if (!EventBus.getDefault().isRegistered(this)) {//加上判断
EventBus.getDefault().register(this); EventBus.getDefault().register(this);
} }
showNewbieGuide("deckmain");
return layoutView; return layoutView;
} }
...@@ -251,48 +260,24 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -251,48 +260,24 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
} }
@Override @Override
public void onFirstUserVisible() {} public void onFirstUserVisible() {
}
@Override @Override
public void onUserVisible() {} public void onUserVisible() {
}
@Override @Override
public void onFirstUserInvisible() {} public void onFirstUserInvisible() {
}
@Override @Override
public void onUserInvisible() { public void onUserInvisible() {
/*
if (mDeckAdapater.isChanged()) {
File ydk = mDeckAdapater.getYdkFile();
if (ydk != null && ydk.exists()) {
DialogPlus builder = new DialogPlus(getContext());
builder.setTitle(R.string.question);
builder.setMessage(R.string.quit_deck_tip);
builder.setMessageGravity(Gravity.CENTER_HORIZONTAL);
builder.setRightButtonText(getString(R.string.save_quit));
builder.setLeftButtonText(getString(R.string.quit));
builder.setRightButtonListener((dlg, s) -> {
doMenu(R.id.action_save);
dlg.dismiss();
isExit = true;
});
builder.setLeftButtonListener((dlg, s) -> {
dlg.dismiss();
isExit = true;
});
builder.show();
}
} else {
//super.onBackHome();
}
if (mDrawerLayout.isDrawerOpen(Constants.CARD_SEARCH_GRAVITY)) {
mDrawerLayout.closeDrawer(Constants.CARD_SEARCH_GRAVITY);
return;
} }
if (mDrawerLayout.isDrawerOpen(Gravity.LEFT)) {
mDrawerLayout.closeDrawer(Gravity.LEFT); @Override
return; public void onBackHome() {
}*/
} }
@Override @Override
...@@ -642,69 +627,43 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -642,69 +627,43 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
return false; return false;
} }
@Override public void askBeforeQuit() {
public void onBackHome() {
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(getContext()); 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.setRightButtonText(getString(R.string.save_quit)); builder.setLeftButtonListener((dlg, s) -> {
builder.setLeftButtonText(getString(R.string.quit)); getActivity().finish();
builder.setRightButtonListener((dlg, s) -> {
doMenu(R.id.action_save);
dlg.dismiss(); dlg.dismiss();
isExit = true;
}); });
builder.setLeftButtonListener((dlg, s) -> { builder.setRightButtonListener((dlg, s) -> {
dlg.dismiss(); dlg.dismiss();
isExit = true;
}); });
builder.show(); builder.show();
} }
} else {
//super.onBackHome();
}
if (mDrawerLayout.isDrawerOpen(Constants.CARD_SEARCH_GRAVITY)) {
mDrawerLayout.closeDrawer(Constants.CARD_SEARCH_GRAVITY);
return;
}
if (mDrawerLayout.isDrawerOpen(Gravity.LEFT)) {
mDrawerLayout.closeDrawer(Gravity.LEFT);
return;
}
} }
@Override @Override
public void onBackPressed() { public boolean onBackPressed() {
if (mDrawerLayout.isDrawerOpen(Constants.CARD_RESULT_GRAVITY)) { if (mDrawerLayout.isDrawerOpen(Constants.CARD_RESULT_GRAVITY)) {
mDrawerLayout.closeDrawer(Constants.CARD_RESULT_GRAVITY); mDrawerLayout.closeDrawer(Constants.CARD_RESULT_GRAVITY);
} else if (mDrawerLayout.isDrawerOpen(Constants.CARD_SEARCH_GRAVITY)) { } else if (mDrawerLayout.isDrawerOpen(Constants.CARD_SEARCH_GRAVITY)) {
mDrawerLayout.closeDrawer(Constants.CARD_SEARCH_GRAVITY); mDrawerLayout.closeDrawer(Constants.CARD_SEARCH_GRAVITY);
} else if (!isExit) { } else if (mDeckAdapater.isChanged()) {
if (mDeckAdapater.isChanged()) { askBeforeQuit();
File ydk = mDeckAdapater.getYdkFile();
if (ydk != null && ydk.exists()) {
DialogPlus builder = new DialogPlus(getContext());
builder.setTitle(R.string.question);
builder.setMessage(R.string.quit_deck_tip);
builder.setMessageGravity(Gravity.CENTER_HORIZONTAL);
builder.setLeftButtonListener((dlg, s) -> {
dlg.dismiss();
isExit = true;
//finish();
});
builder.show();
}
} else { } else {
//super.onBackPressed(); //与home相同双击返回
} if (System.currentTimeMillis() - exitLasttime <= 3000) {
return false;
} else { } else {
//super.onBackPressed(); exitLasttime = System.currentTimeMillis();
Toast.makeText(getContext(), R.string.back_tip, Toast.LENGTH_SHORT).show();
} }
} }
return true;
}
private boolean checkLimit(Card cardInfo) { private boolean checkLimit(Card cardInfo) {
SparseArray<Integer> mCount = mDeckAdapater.getCardCount(); SparseArray<Integer> mCount = mDeckAdapater.getCardCount();
...@@ -1288,7 +1247,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1288,7 +1247,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
public void onDragEnd() { public void onDragEnd() {
} }
/*/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) -> {
...@@ -1314,7 +1273,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1314,7 +1273,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
.addGuidePage( .addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true) GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000) .setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.deck_menu), HighLight.Shape.CIRCLE, options) .addHighLightWithOptions(layoutView.findViewById(R.id.deck_menu), HighLight.Shape.CIRCLE, options)
.setLayoutRes(R.layout.view_guide_home) .setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> { .setOnLayoutInflatedListener((view, controller) -> {
//可只创建一个引导layout并把相关内容都放在其中并GONE,获得ID并初始化相应为显示 //可只创建一个引导layout并把相关内容都放在其中并GONE,获得ID并初始化相应为显示
...@@ -1325,7 +1284,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1325,7 +1284,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
.addGuidePage( .addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true) GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000) .setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.nav_search), HighLight.Shape.CIRCLE, options) .addHighLightWithOptions(layoutView.findViewById(R.id.nav_search), HighLight.Shape.CIRCLE, options)
.setLayoutRes(R.layout.view_guide_home) .setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> { .setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_about); TextView tv = view.findViewById(R.id.text_about);
...@@ -1336,7 +1295,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1336,7 +1295,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
.addGuidePage( .addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true) GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000) .setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.nav_list), HighLight.Shape.CIRCLE, options) .addHighLightWithOptions(layoutView.findViewById(R.id.nav_list), HighLight.Shape.CIRCLE, options)
.setLayoutRes(R.layout.view_guide_home) .setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> { .setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_about); TextView tv = view.findViewById(R.id.text_about);
...@@ -1347,7 +1306,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1347,7 +1306,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
.addGuidePage( .addGuidePage(
GuidePage.newInstance().setEverywhereCancelable(true) GuidePage.newInstance().setEverywhereCancelable(true)
.setBackgroundColor(0xbc000000) .setBackgroundColor(0xbc000000)
.addHighLightWithOptions(findViewById(R.id.tv_deckmanger), HighLight.Shape.CIRCLE, options2) .addHighLightWithOptions(layoutView.findViewById(R.id.tv_deckmanger), HighLight.Shape.CIRCLE, options2)
.setLayoutRes(R.layout.view_guide_home) .setLayoutRes(R.layout.view_guide_home)
.setOnLayoutInflatedListener((view, controller) -> { .setOnLayoutInflatedListener((view, controller) -> {
TextView tv = view.findViewById(R.id.text_about); TextView tv = view.findViewById(R.id.text_about);
...@@ -1367,9 +1326,9 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1367,9 +1326,9 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
tv.setText(R.string.guide_view_move_card); tv.setText(R.string.guide_view_move_card);
}) })
) )
//.alwaysShow(true)//总是显示,调试时可以打开 .alwaysShow(true)//总是显示,调试时可以打开
.show(); .show();
} }
}*/ }
} }
...@@ -264,15 +264,22 @@ public abstract class HomeActivity extends BaseActivity implements BottomNavigat ...@@ -264,15 +264,22 @@ public abstract class HomeActivity extends BaseActivity implements BottomNavigat
@Override @Override
public void onBackPressed() { public void onBackPressed() {
if (fragment_mycard.isVisible() && fragment_mycard.onBackPressed())
return;
if (fragment_search.isVisible() && fragment_search.onBackPressed())
return;
if (fragment_deck_cards.isVisible() && fragment_deck_cards.onBackPressed())
return;
if (System.currentTimeMillis() - exitLasttime <= 3000) { if (System.currentTimeMillis() - exitLasttime <= 3000) {
super.onBackPressed(); super.onBackPressed();
} else { } else {
showToast(R.string.back_tip, Toast.LENGTH_SHORT);
exitLasttime = System.currentTimeMillis(); exitLasttime = System.currentTimeMillis();
if (fragment_home.isVisible() || fragment_settings.isVisible())
Toast.makeText(getContext(), R.string.back_tip, Toast.LENGTH_SHORT).show();
} }
} }
protected abstract void checkResourceDownload(ResCheckTask.ResCheckListener listener); protected abstract void checkResourceDownload(ResCheckTask.ResCheckListener listener);
protected abstract void openGame(); protected abstract void openGame();
......
...@@ -192,7 +192,7 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene ...@@ -192,7 +192,7 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
//轮播图 //轮播图
public void initBanner(View view, Bundle saveBundle) { public void initBanner(View view, Bundle saveBundle) {
Log.i("3.10.0看看", saveBundle+""); Log.i("3.10.0看看", saveBundle + "");
xb_banner = view.findViewById(R.id.xb_banner); xb_banner = view.findViewById(R.id.xb_banner);
cv_banner = view.findViewById(R.id.cv_banner); cv_banner = view.findViewById(R.id.cv_banner);
cv_banner.post(() -> { cv_banner.post(() -> {
...@@ -622,8 +622,8 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene ...@@ -622,8 +622,8 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
} }
@Override @Override
public void onBackPressed() { public boolean onBackPressed() {
return false;
} }
/** /**
......
...@@ -23,6 +23,7 @@ import android.widget.ImageView; ...@@ -23,6 +23,7 @@ import android.widget.ImageView;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
...@@ -56,6 +57,7 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -56,6 +57,7 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
private static final int TYPE_MC_LOGIN = 0; private static final int TYPE_MC_LOGIN = 0;
private static final int TYPE_MC_LOGIN_FAILED = 1; private static final int TYPE_MC_LOGIN_FAILED = 1;
private HomeActivity homeActivity; private HomeActivity homeActivity;
long exitLasttime = 0;
//头像昵称账号 //头像昵称账号
private ImageView mHeadView; private ImageView mHeadView;
private TextView mNameView, mStatusView; private TextView mNameView, mStatusView;
...@@ -287,14 +289,24 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -287,14 +289,24 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
} }
@Override @Override
public void onBackPressed() { public boolean onBackPressed() {
if (mWebViewPlus.getUrl().equals(mMyCard.getMcMainUrl())) { if (homeActivity.fragment_mycard_chatting_room.isVisible()) {
return; getChildFragmentManager().beginTransaction().hide(homeActivity.fragment_mycard_chatting_room).commit();
mWebViewPlus.setVisibility(View.VISIBLE);
rl_chat.setVisibility(View.VISIBLE);
} else if (mWebViewPlus.getUrl().equals(mMyCard.getMcMainUrl())) {
//与home相同双击返回
if (System.currentTimeMillis() - exitLasttime <= 3000) {
return false;
} else {
exitLasttime = System.currentTimeMillis();
Toast.makeText(getContext(), R.string.back_tip, Toast.LENGTH_SHORT).show();
}
} }
if (mWebViewPlus.canGoBack()) { if (mWebViewPlus.canGoBack() && !homeActivity.fragment_mycard_chatting_room.isVisible()) {
mWebViewPlus.goBack(); mWebViewPlus.goBack();
} else {
} }
return true;
} }
/** /**
...@@ -397,7 +409,7 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener ...@@ -397,7 +409,7 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
@Override @Override
public void onChatUserNull() { public void onChatUserNull() {
pb_chat_loading.setVisibility(View.GONE); pb_chat_loading.setVisibility(View.GONE);
HandlerUtil.sendMessage(handler, TYPE_MC_LOGIN_FAILED,"exception"); HandlerUtil.sendMessage(handler, TYPE_MC_LOGIN_FAILED, "exception");
tv_message.setText(R.string.logining_failed); tv_message.setText(R.string.logining_failed);
} }
......
...@@ -159,7 +159,7 @@ public class MycardChatFragment extends BaseFragemnt implements ChatListener { ...@@ -159,7 +159,7 @@ public class MycardChatFragment extends BaseFragemnt implements ChatListener {
} }
@Override @Override
public void onBackPressed() { public boolean onBackPressed() {
return true;
} }
} }
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
android:id="@+id/text_about" android:id="@+id/text_about"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:layout_gravity="center"
android:layout_margin="20dp" android:layout_margin="20dp"
android:paddingBottom="70dp" android:paddingBottom="70dp"
android:shadowColor="#000000" android:shadowColor="#000000"
......
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
<string name="donation">支持我们</string> <string name="donation">支持我们</string>
<string name="refresh">刷新</string> <string name="refresh">刷新</string>
<string name="select_deck">点击选择卡组</string> <string name="select_deck">点击选择卡组</string>
<string name="quit_deck_tip">退出卡组编辑?</string> <string name="quit_deck_tip">卡组未保存,是否退出本应用?</string>
<string name="deck_delete_text">拖到这里删除</string> <string name="deck_delete_text">拖到这里删除</string>
<string name="question_keep_cur_deck">保留当前卡牌?</string> <string name="question_keep_cur_deck">保留当前卡牌?</string>
<string name="check_choose_file" formatted="false">确定选择这个 %s ?</string> <string name="check_choose_file" formatted="false">确定选择这个 %s ?</string>
......
...@@ -169,10 +169,10 @@ ...@@ -169,10 +169,10 @@
<string name="all">All</string> <string name="all">All</string>
<string name="refresh">Refresh</string> <string name="refresh">Refresh</string>
<string name="select_deck">Click here to select Deck</string> <string name="select_deck">Click here to select Deck</string>
<string name="quit_deck_tip">Quit deck editor?</string> <string name="quit_deck_tip">Deck has not been saved yet, quit App?</string>
<string name="deck_delete_text">Drag here to delete</string> <string name="deck_delete_text">Drag here to delete</string>
<string name="question_keep_cur_deck">keep current cards?</string> <string name="question_keep_cur_deck">keep current cards?</string>
<string name="check_choose_file" formatted="false">Determine the choose %s </string> <string name="check_choose_file" formatted="false">Determine the choose %s \?</string>
<string name="settings_deck_delete_dialog">Delete Card use dialog</string> <string name="settings_deck_delete_dialog">Delete Card use dialog</string>
<string name="settings_deck_delete_dialog_desc">show delete card dialog in deck editor</string> <string name="settings_deck_delete_dialog_desc">show delete card dialog in deck editor</string>
<string name="delete_card" formatted="false">Delete %s ?</string> <string name="delete_card" formatted="false">Delete %s ?</string>
......
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