From 17cc2783f05d32f7adf2a0ec410e4e12e982d72a Mon Sep 17 00:00:00 2001 From: Peter Hertkorn <peter.hertkorn@reutlingen-university.de> Date: Sat, 10 Oct 2020 18:34:35 +0200 Subject: [PATCH] Add history for state --- src/soon/PowerOff.java | 5 +++-- src/soon/PowerOn.java | 2 ++ src/soon/Soon.java | 10 ++++++++++ src/soon/SoonTestDrive.java | 2 ++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/soon/PowerOff.java b/src/soon/PowerOff.java index 0bca943..2643e77 100644 --- a/src/soon/PowerOff.java +++ b/src/soon/PowerOff.java @@ -7,7 +7,8 @@ public class PowerOff extends Zustand { } public void powerButton() { - s.setZustand(s.getStopZustand()); + exit(); + s.setZustand(s.getPowerOnHistory()); System.out.println("Anschalten"); - } + s.getZustand().entry(); } } diff --git a/src/soon/PowerOn.java b/src/soon/PowerOn.java index 545bd85..de675f1 100644 --- a/src/soon/PowerOn.java +++ b/src/soon/PowerOn.java @@ -7,6 +7,8 @@ public abstract class PowerOn extends Zustand { } public void powerButton() { + exit(); + s.setPowerOnHistory(s.getZustand()); s.setZustand(s.getPowerOffZustand()); System.out.println("Ausschalten"); } diff --git a/src/soon/Soon.java b/src/soon/Soon.java index 201c7b6..bbfaada 100644 --- a/src/soon/Soon.java +++ b/src/soon/Soon.java @@ -4,6 +4,7 @@ public class Soon { Zustand stopZustand; Zustand playZustand; Zustand powerOffZustand; + Zustand powerOnHistory; Zustand zustand; @@ -12,6 +13,7 @@ public class Soon { playZustand = new PlayZustand(this); powerOffZustand = new PowerOff(this); zustand = powerOffZustand; + powerOnHistory = stopZustand; } public Zustand getPowerOffZustand() { @@ -69,6 +71,14 @@ public class Soon { public void volumeDown() { System.out.println("Leiser"); } + + public Zustand getPowerOnHistory() { + return powerOnHistory; + } + + public void setPowerOnHistory(Zustand z) { + powerOnHistory = z; + } public String toString() { StringBuffer result = new StringBuffer(); diff --git a/src/soon/SoonTestDrive.java b/src/soon/SoonTestDrive.java index 7e3fc47..991af0b 100644 --- a/src/soon/SoonTestDrive.java +++ b/src/soon/SoonTestDrive.java @@ -10,6 +10,8 @@ public class SoonTestDrive { player.powerButton(); player.playButton(); player.volumeUpButton(); + player.powerButton(); + player.powerButton(); player.volumeDownButton(); player.stopButton(); player.powerButton(); -- GitLab