From e0144dab5f7c369282ad242828925e2e699e7217 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 21 Feb 2018 22:34:40 -0500 Subject: [PATCH] Improve sound settings view. --- .../ViewControllers/OWSSoundSettingsViewController.m | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Signal/src/ViewControllers/OWSSoundSettingsViewController.m b/Signal/src/ViewControllers/OWSSoundSettingsViewController.m index 422966ae8..ec5dfe09c 100644 --- a/Signal/src/ViewControllers/OWSSoundSettingsViewController.m +++ b/Signal/src/ViewControllers/OWSSoundSettingsViewController.m @@ -3,6 +3,7 @@ // #import "OWSSoundSettingsViewController.h" +#import #import NS_ASSUME_NONNULL_BEGIN @@ -13,6 +14,8 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic) OWSSound currentSound; +@property (nonatomic) AVAudioPlayer *audioPlayer; + @end #pragma mark - @@ -111,7 +114,11 @@ NS_ASSUME_NONNULL_BEGIN - (void)soundWasSelected:(OWSSound)sound { - [OWSSounds playSound:sound]; + [self.audioPlayer stop]; + self.audioPlayer = [OWSSounds audioPlayerForSound:sound]; + // Suppress looping in this view. + self.audioPlayer.numberOfLoops = 0; + [self.audioPlayer play]; if (self.currentSound == sound) { return; @@ -126,6 +133,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)cancelWasPressed:(id)sender { // TODO: Add "discard changes?" alert. + [self.audioPlayer stop]; [self.navigationController popViewControllerAnimated:YES]; } @@ -148,6 +156,7 @@ NS_ASSUME_NONNULL_BEGIN break; } + [self.audioPlayer stop]; [self.navigationController popViewControllerAnimated:YES]; }