From fbd8962b14b0a9b62c664710c826455c0fef79bc Mon Sep 17 00:00:00 2001
From: Matt Kohls <mattkohls13@gmail.com>
Date: Sun, 22 Dec 2019 01:41:48 -0500
Subject: Sound plays again and preemptive user sound dir fix

I was being too proactive about checking for a null condition, so the
AudioPlayerSendHandler wasn't able to grab the data correctly.

Also now check for the directory the user supplies for usersound
existing and that it is a directory before populating files from it.
---
 src/main/java/soundchan/AudioPlayerSendHandler.java |  9 +--------
 src/main/java/soundchan/LocalAudioManager.java      | 13 +++++++------
 2 files changed, 8 insertions(+), 14 deletions(-)

(limited to 'src/main/java/soundchan')

diff --git a/src/main/java/soundchan/AudioPlayerSendHandler.java b/src/main/java/soundchan/AudioPlayerSendHandler.java
index fdd9774..43b1c75 100644
--- a/src/main/java/soundchan/AudioPlayerSendHandler.java
+++ b/src/main/java/soundchan/AudioPlayerSendHandler.java
@@ -24,19 +24,12 @@ public class AudioPlayerSendHandler implements AudioSendHandler {
 
   @Override
   public boolean canProvide() {
-    if (lastFrame == null) {
-      lastFrame = audioPlayer.provide();
-    }
-
+    lastFrame = audioPlayer.provide();
     return lastFrame != null;
   }
 
   @Override
   public ByteBuffer provide20MsAudio() {
-    if (lastFrame == null) {
-      lastFrame = audioPlayer.provide();
-    }
-
     return ByteBuffer.wrap(lastFrame.getData());
   }
 
diff --git a/src/main/java/soundchan/LocalAudioManager.java b/src/main/java/soundchan/LocalAudioManager.java
index 4db7010..b34c8f4 100644
--- a/src/main/java/soundchan/LocalAudioManager.java
+++ b/src/main/java/soundchan/LocalAudioManager.java
@@ -112,14 +112,15 @@ public class LocalAudioManager {
      */
     private Map<String, String> PopulateFiles(){
         File folder = new File(filepath);
-        File[] listOfFiles = folder.listFiles();
-
         Map<String, String> fileDict = new HashMap<>();
+        if(folder.exists() && folder.isDirectory()) {
+            File[] listOfFiles = folder.listFiles();
 
-        for (File file : listOfFiles) {
-            if (file.isFile()) {
-                String filename = file.getName();
-                fileDict.put(filename.substring(0, filename.indexOf('.')), filename);
+            for (File file : listOfFiles) {
+                if (file.isFile()) {
+                    String filename = file.getName();
+                    fileDict.put(filename.substring(0, filename.indexOf('.')), filename);
+                }
             }
         }
         return fileDict;
-- 
cgit v1.2.3