aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java
diff options
context:
space:
mode:
authorCamil Staps2015-04-29 12:37:33 +0200
committerCamil Staps2015-04-29 12:37:33 +0200
commit5b7baa1db3dbb93e49a730138c68a97e9ce5a85f (patch)
treef794d8c2171ba7619217fc7baedda7de402ee8f1 /app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java
parentIcon and main screen logo (diff)
EVERYTHING WORKS ======D
Diffstat (limited to 'app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java')
-rwxr-xr-xapp/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java43
1 files changed, 34 insertions, 9 deletions
diff --git a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java
index 0b77edd..03fe230 100755
--- a/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java
+++ b/app/src/main/java/com/camilstaps/rushhour/GamePlayActivity.java
@@ -5,6 +5,7 @@ import android.content.Intent;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
+import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.RelativeLayout;
@@ -15,6 +16,10 @@ public class GamePlayActivity extends Activity implements Board.SolveListener {
private SoundPool soundPool;
private int soundBackgroundId, soundCarDriveId, soundCantMoveId;
+ Board board;
+
+ boolean isFirstTime = true;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -22,21 +27,30 @@ public class GamePlayActivity extends Activity implements Board.SolveListener {
setContentView(R.layout.activity_fullscreen);
setupSoundPool();
+ setupBoard();
+ }
+ private void setupBoard() {
InputStream input = getResources().openRawResource(R.raw.level);
BoardLoader loader = new BoardLoader();
- final Board board = loader.loadBoard(input);
+ board = loader.loadBoard(input);
final RelativeLayout boardLayout = (RelativeLayout) findViewById(R.id.board);
- ViewTreeObserver vto = boardLayout.getViewTreeObserver();
- vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
- @Override
- public void onGlobalLayout() {
- boardLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
- board.addToLayout(getBaseContext(), boardLayout);
- }
- });
+ if (isFirstTime) {
+ ViewTreeObserver vto = boardLayout.getViewTreeObserver();
+ vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
+ @Override
+ public void onGlobalLayout() {
+ boardLayout.removeAllViews();
+ boardLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
+ board.addToLayout(getBaseContext(), boardLayout);
+ }
+ });
+ } else {
+ boardLayout.removeAllViews();
+ board.addToLayout(getBaseContext(), boardLayout);
+ }
/*
* Sounds on move and attempt to move
@@ -54,6 +68,8 @@ public class GamePlayActivity extends Activity implements Board.SolveListener {
});
board.setSolveListener(this);
+
+ isFirstTime = false;
}
@Override
@@ -88,4 +104,13 @@ public class GamePlayActivity extends Activity implements Board.SolveListener {
intent.putExtra("score", score);
startActivityForResult(intent, 0);
}
+
+ public void onClickHandler(View v) {
+ switch (v.getId()) {
+ case R.id.action_reset:
+ setupBoard();
+ break;
+ }
+ }
+
}