am 86d77815: Merge "Check the return value of bindService, and notify media browser client onConnectionFailed if it returns false." into lmp-dev
* commit '86d778155f077d5af10f43d0eb7b04584559e793':
Check the return value of bindService, and notify media browser client onConnectionFailed if it returns false.
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 @@
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) {