From 861f11c6d2da45df73af6b85b2c51c907ea9b318 Mon Sep 17 00:00:00 2001
From: Camil Staps
Date: Wed, 22 Apr 2015 12:48:22 +0200
Subject: Added car sound on drive

---
 .../main/java/com/camilstaps/rushhour/Board.java   |  7 +++++++
 app/src/main/java/com/camilstaps/rushhour/Car.java |  2 --
 .../com/camilstaps/rushhour/DriveListener.java     |  8 ++++++++
 .../camilstaps/rushhour/FullscreenActivity.java    | 22 +++++++++++++++++++++-
 4 files changed, 36 insertions(+), 3 deletions(-)
 create mode 100644 app/src/main/java/com/camilstaps/rushhour/DriveListener.java

(limited to 'app/src/main/java/com/camilstaps')

diff --git a/app/src/main/java/com/camilstaps/rushhour/Board.java b/app/src/main/java/com/camilstaps/rushhour/Board.java
index f59cc59..e99c438 100644
--- a/app/src/main/java/com/camilstaps/rushhour/Board.java
+++ b/app/src/main/java/com/camilstaps/rushhour/Board.java
@@ -17,6 +17,8 @@ public class Board {
 
     public static final int DIMENSION = 6;
 
+    private DriveListener driveListener;
+
     private MoveListener moveListener = new MoveListener() {
         @Override
         public void onMove(Car car, int offset) {
@@ -29,6 +31,7 @@ public class Board {
                 }
             }
             car.move(offset);
+            driveListener.onDrive();
         }
     };
 
@@ -55,4 +58,8 @@ public class Board {
         }
     }
 
+    public void setDriveListener(DriveListener dl) {
+        driveListener = dl;
+    }
+
 }
diff --git a/app/src/main/java/com/camilstaps/rushhour/Car.java b/app/src/main/java/com/camilstaps/rushhour/Car.java
index 4b0d99b..aa654f8 100644
--- a/app/src/main/java/com/camilstaps/rushhour/Car.java
+++ b/app/src/main/java/com/camilstaps/rushhour/Car.java
@@ -64,8 +64,6 @@ public class Car {
 
     public ImageView getImageView(Context context, float widthPerCell) {
 
-        Log.d("Car", Float.toString(widthPerCell));
-
         this.widthPerCell = widthPerCell - MARGIN;
         calculatedWidth = (int) ((endCoordinate.getX() - startCoordinate.getX() + 1) * (this.widthPerCell + MARGIN) - MARGIN);
         calculatedHeight = (int) ((endCoordinate.getY() - startCoordinate.getY() + 1) * (this.widthPerCell + MARGIN) - MARGIN);
diff --git a/app/src/main/java/com/camilstaps/rushhour/DriveListener.java b/app/src/main/java/com/camilstaps/rushhour/DriveListener.java
new file mode 100644
index 0000000..f3a83e7
--- /dev/null
+++ b/app/src/main/java/com/camilstaps/rushhour/DriveListener.java
@@ -0,0 +1,8 @@
+package com.camilstaps.rushhour;
+
+/**
+ * Created by camilstaps on 22-4-15.
+ */
+public abstract class DriveListener {
+    public abstract void onDrive();
+}
diff --git a/app/src/main/java/com/camilstaps/rushhour/FullscreenActivity.java b/app/src/main/java/com/camilstaps/rushhour/FullscreenActivity.java
index 614176a..620f2b2 100644
--- a/app/src/main/java/com/camilstaps/rushhour/FullscreenActivity.java
+++ b/app/src/main/java/com/camilstaps/rushhour/FullscreenActivity.java
@@ -2,6 +2,8 @@ package com.camilstaps.rushhour;
 
 import android.app.Activity;
 import android.graphics.Color;
+import android.media.AudioManager;
+import android.media.SoundPool;
 import android.os.Bundle;
 import android.util.Log;
 import android.view.ViewTreeObserver;
@@ -19,6 +21,10 @@ import com.camilstaps.rushhour.util.SystemUiHider;
  */
 public class FullscreenActivity extends Activity {
 
+    private SoundPool soundPool;
+    private boolean soundBackgroundLoaded = false;
+    private int soundBackgroundId;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -51,6 +57,20 @@ public class FullscreenActivity extends Activity {
             }
         });
 
-        //board.addToLayout(this, boardLayout);
+        soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 0);
+        soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
+            @Override
+            public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
+                soundBackgroundLoaded = true;
+            }
+        });
+        soundBackgroundId = soundPool.load(this, R.raw.car_drive, 1);
+
+        board.setDriveListener(new DriveListener() {
+            @Override
+            public void onDrive() {
+                soundPool.play(soundBackgroundId, 1, 1, 1, 0, 1f);
+            }
+        });
     }
 }
-- 
cgit v1.2.3