@Override public void restartBoard() { if (mHomeView == null) return; List<Integer> cardVals = new ArrayList<>(); cardVals.clear(); cardsList.clear(); for (int i = 0; i < pairs; i++) { cardVals.add(i); cardVals.add(i); } Collections.shuffle(cardVals); for (int val : cardVals) { CardModel c = new CardModel(); c.setId(val); cardsList.add(c); } c1 = null; c2 = null; bAllowClick = true; iUserScore = 0; mHomeView.updateScore(iUserScore); changeVisibilityCards(); flipBackAllCards(); }