From d84901d9f91dc4c6bb39dd98385d67e9fc670fb2 Mon Sep 17 00:00:00 2001
From: Peter Hertkorn <peter.hertkorn@reutlingen-university.de>
Date: Sat, 10 Oct 2020 18:29:58 +0200
Subject: [PATCH] Add volume buttons, entry, exit

---
 src/soon/PlayZustand.java   | 19 ++++++++++++++++++-
 src/soon/Soon.java          | 24 ++++++++++++++++++++++--
 src/soon/SoonTestDrive.java |  4 +++-
 src/soon/StopZustand.java   |  3 ++-
 src/soon/Zustand.java       |  5 ++++-
 5 files changed, 49 insertions(+), 6 deletions(-)

diff --git a/src/soon/PlayZustand.java b/src/soon/PlayZustand.java
index b44a8b2..2a74fd6 100644
--- a/src/soon/PlayZustand.java
+++ b/src/soon/PlayZustand.java
@@ -7,7 +7,24 @@ public class PlayZustand extends Zustand {
 	}
 	
 	public void stopButton() {
-		s.stopPlay();
+		exit();
 		s.setZustand(s.getStopZustand());
+		s.getZustand().entry();
+	}
+
+	public void volumeUpButton() {
+		s.volumeUp();
+	}
+
+	public void volumeDownButton() {
+		s.volumeDown();
+	}
+	
+	public void entry() {
+		s.startPlay();
+	}
+	
+	public void exit() {
+		s.stopPlay();
 	}
 }
diff --git a/src/soon/Soon.java b/src/soon/Soon.java
index b2a2004..5e1a693 100644
--- a/src/soon/Soon.java
+++ b/src/soon/Soon.java
@@ -39,12 +39,32 @@ public class Soon {
 	public void stopPlay() {
 		System.out.println("Musik aus");
 	}
+
+	public Zustand getZustand() {
+		return zustand;
+	}
+
+	public void volumeUpButton() {
+		zustand.volumeUpButton();
+	}
+	
+	public void volumeDownButton() {
+		zustand.volumeDownButton();
+	}
 	
+	public void volumeUp() {
+		System.out.println("Lauter");
+	}
+	
+	public void volumeDown() {
+		System.out.println("Leiser");
+	}
+
 	public String toString() {
 		StringBuffer result = new StringBuffer();
 		result.append("\nSoon MP3 Player");
-		result.append("\n---------------");
-		result.append("\nSoon available soon in MyCross-Platform Software Store\n");
+		result.append("\n---------------\n");
 		return result.toString();
 	}
+
 }
diff --git a/src/soon/SoonTestDrive.java b/src/soon/SoonTestDrive.java
index 8f377ed..23c3050 100644
--- a/src/soon/SoonTestDrive.java
+++ b/src/soon/SoonTestDrive.java
@@ -5,10 +5,12 @@ public class SoonTestDrive {
 	public static void main(String[] args) {
 
 		Soon player = new Soon();
-		
 		System.out.println(player);
+		
 		player.playButton();
+		player.volumeUpButton();
 		player.stopButton();
+		player.volumeDownButton();
 	}
 
 }
diff --git a/src/soon/StopZustand.java b/src/soon/StopZustand.java
index 3210093..9a9bc12 100644
--- a/src/soon/StopZustand.java
+++ b/src/soon/StopZustand.java
@@ -7,7 +7,8 @@ public class StopZustand extends Zustand {
 	}
 	
 	public void playButton() {
-		s.startPlay();
+		exit();
 		s.setZustand(s.getPlayZustand());
+		s.getZustand().entry();
 	}
 }
diff --git a/src/soon/Zustand.java b/src/soon/Zustand.java
index 5ff57b1..43a6b19 100644
--- a/src/soon/Zustand.java
+++ b/src/soon/Zustand.java
@@ -6,7 +6,10 @@ public abstract class Zustand {
 	public Zustand(Soon s) {
 		this.s = s;
 	}
-	
 	public void playButton() {};
 	public void stopButton() {};
+	public void volumeUpButton() {};
+	public void volumeDownButton() {};
+	public void entry() {};
+	public void exit() {};
 }
-- 
GitLab