Douglas William Thrift 13 years ago
parent
commit
965e9494b6

+ 23 - 3
src/net/douglasthrift/bigscreenbot/BigScreenBot.java

@@ -273,6 +273,8 @@ public class BigScreenBot extends Bot
                 switch (arguments.length)
                 {
                 case 0:
+                    sendMessage(channel, sender, "searching for devices to pair with...");
+
                     new Thread()
                     {
                         @Override
@@ -301,6 +303,8 @@ public class BigScreenBot extends Bot
 
                     break;
                 case 1:
+                    sendMessage(channel, sender, String.format("starting to pair with device (\"%1$s\")...", arguments[0]));
+
                     new Thread()
                     {
                         @Override
@@ -310,7 +314,7 @@ public class BigScreenBot extends Bot
                             {
                                 try
                                 {
-                                    remote.beginPairDevice(arguments[0]);
+                                    remote.startPairDevice(arguments[0]);
                                 }
                                 catch (GeneralSecurityException exception)
                                 {
@@ -322,6 +326,19 @@ public class BigScreenBot extends Bot
 
                     break;
                 default:
+                    sendMessage(channel, sender, String.format("finishing pairing with device (\"%1$s\")...", arguments[0]));
+
+                    new Thread()
+                    {
+                        @Override
+                        public void run()
+                        {
+                            synchronized (remote)
+                            {
+                                remote.finishPairDevice(arguments[0], arguments[1]);
+                            }
+                        }
+                    }.start();
                 }
             }
         });
@@ -513,8 +530,11 @@ public class BigScreenBot extends Bot
     {
         boolean admin = matchNickMasks(sender, login, hostname, admins);
 
-        if (!admin && (matchNickMasks(sender, login, hostname, bans.values()) || !isNickInChannels(sender)))
-            return;
+        synchronized (bans)
+        {
+            if (!admin && (matchNickMasks(sender, login, hostname, bans.values()) || !isNickInChannels(sender)))
+                return;
+        }
 
         message = Colors.removeFormattingAndColors(message);
 

+ 5 - 1
src/net/douglasthrift/bigscreenbot/Remote.java

@@ -78,7 +78,7 @@ public class Remote
         return devices;
     }
 
-    public void beginPairDevice(String device) throws NoSuchAlgorithmException, KeyManagementException
+    public void startPairDevice(String device) throws NoSuchAlgorithmException, KeyManagementException
     {
         ServiceInfo info = mdns.getServiceInfo(TYPE, device);
         InetAddress address = info.getInetAddresses()[0];
@@ -87,6 +87,10 @@ public class Remote
         SSLSocketFactory factory = DummySSLSocketFactory.fromKeyManagers(getKeyManagers());
     }
 
+    public void finishPairDevice(String device, String code)
+    {
+    }
+
     @Override
     protected void finalize() throws IOException
     {