Commit 98f2faa0 authored by fallenstardust's avatar fallenstardust

由各fragment监听各自返回键

卡组fragment恢复引导设置,退出确认
parent 8a3c1fad
......@@ -172,5 +172,5 @@ public abstract class BaseFragemnt extends Fragment {
public abstract void onBackHome();
public abstract void onBackPressed();
public abstract boolean onBackPressed();
}
......@@ -46,6 +46,7 @@ import ocgcore.data.LimitList;
public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallBack, CardSearcher.CallBack {
public static final String SEARCH_MESSAGE = "searchMessage";
long exitLasttime = 0;
protected DrawerLayout mDrawerlayout;
protected CardSearcher mCardSelector;
protected CardListAdapter mCardListAdapter;
......@@ -74,7 +75,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
return layoutView;
}
public void initView(View layoutView){
public void initView(View layoutView) {
duelAssistantManagement = DuelAssistantManagement.getInstance();
intentSearchMessage = getActivity().getIntent().getStringExtra(CardSearchFragment.SEARCH_MESSAGE);
mResult_count = layoutView.findViewById(R.id.search_result_count);
......@@ -98,7 +99,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
if (mLimitManager.getCount() > 0) {
mCardLoader.setLimitList(mLimitManager.getTopLimit());
}
}).fail((e)->{
}).fail((e) -> {
Toast.makeText(getContext(), R.string.tip_load_cdb_error, Toast.LENGTH_SHORT).show();
Log.e(IrrlichtBridge.TAG, "load cdb", e);
}).done((rs) -> {
......@@ -246,13 +247,19 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
}
@Override
public void onBackPressed() {
public boolean onBackPressed() {
if (mDrawerlayout.isDrawerOpen(Constants.CARD_SEARCH_GRAVITY)) {
mDrawerlayout.closeDrawer(Constants.CARD_SEARCH_GRAVITY);
} else {
onBack();
//super.onBackPressed();
//与home相同双击返回
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) {
......@@ -273,7 +280,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
if (mCardDetail == null) {
mCardDetail = new CardDetail((BaseActivity) getActivity(), mImageLoader, mStringManager);
mCardDetail.setCallBack((card, favorite) -> {
if(mCardSelector.isShowFavorite()) {
if (mCardSelector.isShowFavorite()) {
mCardSelector.showFavorites(false);
}
});
......
......@@ -264,15 +264,22 @@ public abstract class HomeActivity extends BaseActivity implements BottomNavigat
@Override
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) {
super.onBackPressed();
} else {
showToast(R.string.back_tip, Toast.LENGTH_SHORT);
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 openGame();
......
......@@ -192,7 +192,7 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
//轮播图
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);
cv_banner = view.findViewById(R.id.cv_banner);
cv_banner.post(() -> {
......@@ -622,8 +622,8 @@ public class HomeFragment extends BaseFragemnt implements OnDuelAssistantListene
}
@Override
public void onBackPressed() {
public boolean onBackPressed() {
return false;
}
/**
......
......@@ -23,6 +23,7 @@ import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
......@@ -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_FAILED = 1;
private HomeActivity homeActivity;
long exitLasttime = 0;
//头像昵称账号
private ImageView mHeadView;
private TextView mNameView, mStatusView;
......@@ -287,14 +289,24 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
}
@Override
public void onBackPressed() {
if (mWebViewPlus.getUrl().equals(mMyCard.getMcMainUrl())) {
return;
public boolean onBackPressed() {
if (homeActivity.fragment_mycard_chatting_room.isVisible()) {
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();
} else {
}
return true;
}
/**
......@@ -397,7 +409,7 @@ public class MycardFragment extends BaseFragemnt implements View.OnClickListener
@Override
public void onChatUserNull() {
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);
}
......
......@@ -159,7 +159,7 @@ public class MycardChatFragment extends BaseFragemnt implements ChatListener {
}
@Override
public void onBackPressed() {
public boolean onBackPressed() {
return true;
}
}
......@@ -179,7 +179,7 @@
android:id="@+id/text_about"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_gravity="center"
android:layout_margin="20dp"
android:paddingBottom="70dp"
android:shadowColor="#000000"
......
......@@ -170,7 +170,7 @@
<string name="donation">支持我们</string>
<string name="refresh">刷新</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="question_keep_cur_deck">保留当前卡牌?</string>
<string name="check_choose_file" formatted="false">确定选择这个 %s ?</string>
......
......@@ -169,10 +169,10 @@
<string name="all">All</string>
<string name="refresh">Refresh</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="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_desc">show delete card dialog in deck editor</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