diff options
Diffstat (limited to 'media')
| -rw-r--r-- | media/java/android/media/browse/MediaBrowser.java | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/media/java/android/media/browse/MediaBrowser.java b/media/java/android/media/browse/MediaBrowser.java index 1de8a8b..3e5919f 100644 --- a/media/java/android/media/browse/MediaBrowser.java +++ b/media/java/android/media/browse/MediaBrowser.java @@ -141,26 +141,31 @@ public final class MediaBrowser { final ServiceConnection thisConnection = mServiceConnection = new MediaServiceConnection(); + boolean bound = false; try { - mContext.bindService(intent, mServiceConnection, Context.BIND_AUTO_CREATE); + if (mContext.bindService(intent, mServiceConnection, Context.BIND_AUTO_CREATE)) { + bound = true; + } } catch (Exception ex) { Log.e(TAG, "Failed binding to service " + mServiceComponent); + } + if (!bound) { // Tell them that it didn't work. We are already on the main thread, // but we don't want to do callbacks inside of connect(). So post it, // and then check that we are on the same ServiceConnection. We know // we won't also get an onServiceConnected or onServiceDisconnected, // so we won't be doing double callbacks. mHandler.post(new Runnable() { - @Override - public void run() { - // Ensure that nobody else came in or tried to connect again. - if (thisConnection == mServiceConnection) { - forceCloseConnection(); - mCallback.onConnectionFailed(); - } + @Override + public void run() { + // Ensure that nobody else came in or tried to connect again. + if (thisConnection == mServiceConnection) { + forceCloseConnection(); + mCallback.onConnectionFailed(); } - }); + } + }); } if (DBG) { |
