am 06439fd2: am cb80cb70: am 37548994: Merge "StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test."

* commit '06439fd29f9bbf7031f58f5b06aa6c022ac9897a':
  StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test.
This commit is contained in:
Jean-Baptiste Queru
2012-08-10 12:48:34 -07:00
committed by Android Git Automerger

View File

@@ -56,7 +56,7 @@ public class StorageManager
/* /*
* Our internal MountService binder reference * Our internal MountService binder reference
*/ */
private IMountService mMountService; final private IMountService mMountService;
/* /*
* The looper target for callbacks * The looper target for callbacks
@@ -304,8 +304,6 @@ public class StorageManager
return; return;
} }
mTgtLooper = tgtLooper; mTgtLooper = tgtLooper;
mBinderListener = new MountServiceBinderListener();
mMountService.registerListener(mBinderListener);
} }
@@ -322,6 +320,15 @@ public class StorageManager
} }
synchronized (mListeners) { synchronized (mListeners) {
if (mBinderListener == null ) {
try {
mBinderListener = new MountServiceBinderListener();
mMountService.registerListener(mBinderListener);
} catch (RemoteException rex) {
Log.e(TAG, "Register mBinderListener failed");
return;
}
}
mListeners.add(new ListenerDelegate(listener)); mListeners.add(new ListenerDelegate(listener));
} }
} }
@@ -347,7 +354,15 @@ public class StorageManager
break; break;
} }
} }
} if (mListeners.size() == 0 && mBinderListener != null) {
try {
mMountService.unregisterListener(mBinderListener);
} catch (RemoteException rex) {
Log.e(TAG, "Unregister mBinderListener failed");
return;
}
}
}
} }
/** /**