Update to BrailleBack 0.9.1 beta4.

git-svn-id: https://eyes-free.googlecode.com/svn/trunk/braille/client/src/com/googlecode/eyesfree/braille@803 584082c0-ab3a-11dd-9ddb-6f86aeb5eef6
diff --git a/display/Display.java b/display/Display.java
index 23e0f25..1beae02 100644
--- a/display/Display.java
+++ b/display/Display.java
@@ -61,6 +61,7 @@
     private static final int REBIND_DELAY_MILLIS = 500;
     private static final int MAX_REBIND_ATTEMPTS = 5;
     private int mNumFailedBinds = 0;
+    private volatile boolean mShutdown = false;
 
     /**
      * A callback interface to get informed about connection state changes.
@@ -94,7 +95,7 @@
      * Constructs an instance and connects to the braille display service.
      * The current thread must have an {@link android.os.Looper} associated
      * with it.  Callbacks from this object will all be executed on the
-     * current thread.  Connection state will be reported to {@code listener).
+     * current thread.  Connection state will be reported to {@code listener}.
      */
     public Display(Context context, OnConnectionStateChangeListener listener) {
         this(context, listener, null);
@@ -183,6 +184,7 @@
      * is no longer in use by this client.
      */
     public void shutdown() {
+        mShutdown = true;
         doUnbindService();
     }
 
@@ -328,6 +330,9 @@
 
         @Override
         public void handleMessage(Message msg) {
+            if (mShutdown) {
+                return;
+            }
             switch (msg.what) {
                 case MSG_REPORT_CONNECTION_STATE:
                     handleReportConnectionState(msg.arg1,