diff options
author | Yao Chen <yaochen@google.com> | 2014-09-26 15:55:51 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-26 15:55:52 +0000 |
commit | 08fccd0093433d8ad5f3b9ca945bee552bf75468 (patch) | |
tree | 0e6729c97ff6af643775e46cb6d9a93571e635bb /media | |
parent | 31a141af13a77ff095c1e1c61644ccd5e051dec2 (diff) | |
parent | 2354c5eb92016a72688b80c80fb6b94ce8ac4047 (diff) | |
download | frameworks_base-08fccd0093433d8ad5f3b9ca945bee552bf75468.zip frameworks_base-08fccd0093433d8ad5f3b9ca945bee552bf75468.tar.gz frameworks_base-08fccd0093433d8ad5f3b9ca945bee552bf75468.tar.bz2 |
Merge "Check the return value of bindService, and notify media browser client onConnectionFailed if it returns false." into lmp-dev
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) { |