diff --git a/forge-gui-mobile/src/forge/screens/match/MatchController.java b/forge-gui-mobile/src/forge/screens/match/MatchController.java index 9c51f21bf82..9a8641f7898 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchController.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchController.java @@ -51,7 +51,6 @@ import forge.player.PlayerZoneUpdates; import forge.screens.match.views.VAssignCombatDamage; import forge.screens.match.views.VAssignGenericAmount; import forge.screens.match.views.VPhaseIndicator; -import forge.screens.match.views.VPhaseIndicator.PhaseLabel; import forge.screens.match.views.VPlayerPanel; import forge.screens.match.views.VPlayerPanel.InfoTab; import forge.screens.match.views.VPrompt; @@ -213,21 +212,8 @@ public class MatchController extends AbstractGuiGame { @Override public void updatePhase(boolean saveState) { - final PlayerView p = getGameView().getPlayerTurn(); final PhaseType ph = getGameView().getPhase(); - PhaseLabel lbl = null; - - if(ph!=null) { - lbl = p == null ? null : view.getPlayerPanel(p).getPhaseIndicator().getLabel(ph); - } else { - System.err.println("getGameView().getPhase() returned 'null'"); - } - - view.resetAllPhaseButtons(); - if (lbl != null) { - lbl.setActive(true); - } if(GuiBase.isNetworkplay()) checkStack(); diff --git a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java index e675e947f3d..a7bf4029898 100644 --- a/forge-gui-mobile/src/forge/screens/match/MatchScreen.java +++ b/forge-gui-mobile/src/forge/screens/match/MatchScreen.java @@ -1,11 +1,7 @@ package forge.screens.match; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.Map.Entry; -import java.util.Set; import forge.animation.ForgeAnimation; import forge.assets.FImage; @@ -358,6 +354,15 @@ public class MatchScreen extends FScreen { final GameView game = MatchController.instance.getGameView(); if (game == null) { return; } + if (game.getPlayerTurn() != null && game.getPhase() != null) { + //reset phase labels + resetAllPhaseButtons(); + //set phaselabel + final PhaseLabel phaseLabel = getPlayerPanel(game.getPlayerTurn()).getPhaseIndicator().getLabel(game.getPhase()); + if (phaseLabel != null) + phaseLabel.setActive(true); + } + if(gameMenu!=null) { if(gameMenu.getChildCount()>3){ if(viewWinLose == null) { @@ -395,9 +400,10 @@ public class MatchScreen extends FScreen { for (CardView card : playerPanel.getField().getRow1().getOrderedCards()) { if (pairedCards.contains(card)) { continue; } //prevent arrows going both ways - CardView paired = card.getPairedWith(); - if (paired != null) { - TargetingOverlay.drawArrow(g, card, paired); + if (card != null) { + if (card.getPairedWith() != null) { + TargetingOverlay.drawArrow(g, card, card.getPairedWith()); + } } } } diff --git a/forge-gui-mobile/src/forge/screens/match/views/VStack.java b/forge-gui-mobile/src/forge/screens/match/views/VStack.java index 295a9093635..c06f2aad178 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VStack.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VStack.java @@ -97,11 +97,12 @@ public class VStack extends FDropDown { public void checkEmptyStack() { //sort the bug in client when desynch happens final FCollectionView stack = MatchController.instance.getGameView().getStack(); - if(stack!=null) - if(isVisible() && stack.isEmpty()) { //visible stack but empty already - hide(); + if(stack!=null) { + if (isVisible() && stack.isEmpty()) { //visible stack but empty already getMenuTab().setText(Localizer.getInstance().getMessage("lblStack") + " (" + 0 + ")"); + MatchController.getView().getStack().hide(); } + } } @Override