Loading core/java/android/app/IActivityManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -823,6 +823,7 @@ interface IActivityManager { /** Blocks until all broadcast queues become idle. */ void waitForBroadcastIdle(); void waitForBroadcastBarrier(); /** Delays delivering broadcasts to the specified package. */ @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.DUMP)") Loading core/tests/coretests/src/android/content/AbstractCrossUserContentResolverTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,8 @@ import androidx.test.InstrumentationRegistry; import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; import com.android.compatibility.common.util.SystemUtil; import org.junit.After; import org.junit.Before; import org.junit.Test; Loading Loading @@ -96,6 +98,7 @@ abstract class AbstractCrossUserContentResolverTest { mContext.registerReceiverAsUser(receiver, UserHandle.of(mCrossUserId), new IntentFilter(Intent.ACTION_USER_UNLOCKED), null, null); ActivityManager.getService().startUserInBackground(mCrossUserId); SystemUtil.runShellCommand("am wait-for-broadcast-barrier"); try { if (!latch.await(TIMEOUT_USER_UNLOCK_SEC, TimeUnit.SECONDS)) { Loading services/core/java/com/android/server/am/ActivityManagerService.java +5 −0 Original line number Diff line number Diff line Loading @@ -18843,6 +18843,11 @@ public class ActivityManagerService extends IActivityManager.Stub } } @Override public void waitForBroadcastBarrier() { waitForBroadcastBarrier(/* printWriter= */ null, false); } public void waitForBroadcastBarrier(@Nullable PrintWriter pw, boolean flushBroadcastLoopers) { enforceCallingPermission(permission.DUMP, "waitForBroadcastBarrier()"); if (flushBroadcastLoopers) { Loading
core/java/android/app/IActivityManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -823,6 +823,7 @@ interface IActivityManager { /** Blocks until all broadcast queues become idle. */ void waitForBroadcastIdle(); void waitForBroadcastBarrier(); /** Delays delivering broadcasts to the specified package. */ @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.DUMP)") Loading
core/tests/coretests/src/android/content/AbstractCrossUserContentResolverTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,8 @@ import androidx.test.InstrumentationRegistry; import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; import com.android.compatibility.common.util.SystemUtil; import org.junit.After; import org.junit.Before; import org.junit.Test; Loading Loading @@ -96,6 +98,7 @@ abstract class AbstractCrossUserContentResolverTest { mContext.registerReceiverAsUser(receiver, UserHandle.of(mCrossUserId), new IntentFilter(Intent.ACTION_USER_UNLOCKED), null, null); ActivityManager.getService().startUserInBackground(mCrossUserId); SystemUtil.runShellCommand("am wait-for-broadcast-barrier"); try { if (!latch.await(TIMEOUT_USER_UNLOCK_SEC, TimeUnit.SECONDS)) { Loading
services/core/java/com/android/server/am/ActivityManagerService.java +5 −0 Original line number Diff line number Diff line Loading @@ -18843,6 +18843,11 @@ public class ActivityManagerService extends IActivityManager.Stub } } @Override public void waitForBroadcastBarrier() { waitForBroadcastBarrier(/* printWriter= */ null, false); } public void waitForBroadcastBarrier(@Nullable PrintWriter pw, boolean flushBroadcastLoopers) { enforceCallingPermission(permission.DUMP, "waitForBroadcastBarrier()"); if (flushBroadcastLoopers) {