Merge "A2dpSink: Exception handling in below cases." into q-keystone-qcom-dev
diff --git a/src/com/android/bluetooth/opp/BluetoothOppService.java b/src/com/android/bluetooth/opp/BluetoothOppService.java
old mode 100644
new mode 100755
index 1324619..77af4a7
--- a/src/com/android/bluetooth/opp/BluetoothOppService.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppService.java
@@ -204,6 +204,7 @@
             @Override
             public void run() {
                 trimDatabase(contentResolver);
+                mHandler.sendMessage(mHandler.obtainMessage(MSG_START_UPDATE_THREAD));
             }
         }.start();
 
@@ -232,12 +233,6 @@
         if (D) {
             Log.v(TAG, "start()");
         }
-        mObserver = new BluetoothShareContentObserver();
-        getContentResolver().registerContentObserver(BluetoothShare.CONTENT_URI, true, mObserver);
-        mNotifier = new BluetoothOppNotification(this);
-        mNotifier.mNotificationMgr.cancelAll();
-        mNotifier.updateNotification();
-        updateFromProvider();
         setBluetoothOppService(this);
         return true;
     }
@@ -318,6 +313,8 @@
 
     private static final int STOP_LISTENER = 200;
 
+    private static final int MSG_START_UPDATE_THREAD = 300;
+
     private Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -468,6 +465,17 @@
                         }
                     }
                     break;
+                case MSG_START_UPDATE_THREAD:
+                    mObserver = new BluetoothShareContentObserver();
+                    getContentResolver().registerContentObserver(BluetoothShare.CONTENT_URI,
+                            true, mObserver);
+
+                    mNotifier = new BluetoothOppNotification(BluetoothOppService.this);
+                    mNotifier.mNotificationMgr.cancelAll();
+                    mNotifier.updateNotification();
+
+                    updateFromProvider();
+                    break;
             }
         }
     };