Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb11dc74 authored by Sudheer Shanka's avatar Sudheer Shanka
Browse files

Ensure waitForIdle() waits until pending messages are handled.

Fixes: 151960323
Test: atest --test-mapping apex/blobstore
Change-Id: If5156ac22e0a5644bc6d931bed8521824095aa2b
parent db741985
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -1330,8 +1330,15 @@ public class BlobStoreManagerService extends SystemService {

            mContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP,
                    "Caller is not allowed to call this; caller=" + Binder.getCallingUid());
            // We post messages back and forth between mHandler thread and mBackgroundHandler
            // thread while committing a blob. We need to replicate the same pattern here to
            // ensure pending messages have been handled.
            mHandler.post(() -> {
                mBackgroundHandler.post(() -> {
                    mHandler.post(PooledLambda.obtainRunnable(remoteCallback::sendResult, null)
                            .recycleOnUse());
                });
            });
        }

        @Override