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

Commit 20484c56 authored by Amith Yamasani's avatar Amith Yamasani Committed by Automerger Merge Worker
Browse files

Merge "Mark all published authorities for a provider as ready" into sc-dev am: d39b5f03

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15019800

Change-Id: I9ae4c131742ab146c1c633318552db3153519f12
parents 186667d1 d39b5f03
Loading
Loading
Loading
Loading
+9 −6
Original line number Diff line number Diff line
@@ -447,7 +447,7 @@ public final class ActivityThread extends ClientTransactionHandler

        @GuardedBy("mLock")
        ContentProviderHolder mHolder; // Temp holder to be used between notifier and waiter
        Object mLock; // The lock to be used to get notified when the provider is ready
        final Object mLock; // The lock to be used to get notified when the provider is ready

        public ProviderKey(String authority, int userId) {
            this.authority = authority;
@@ -1827,13 +1827,16 @@ public final class ActivityThread extends ClientTransactionHandler

        @Override
        public void notifyContentProviderPublishStatus(@NonNull ContentProviderHolder holder,
                @NonNull String auth, int userId, boolean published) {
                @NonNull String authorities, int userId, boolean published) {
            final String auths[] = authorities.split(";");
            for (String auth: auths) {
                final ProviderKey key = getGetProviderKey(auth, userId);
                synchronized (key.mLock) {
                    key.mHolder = holder;
                    key.mLock.notifyAll();
                }
            }
        }

        @Override
        public void instrumentWithoutRestart(ComponentName instrumentationName,
+1 −1
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@ oneway interface IApplicationThread {
    void performDirectAction(IBinder activityToken, String actionId,
            in Bundle arguments, in RemoteCallback cancellationCallback,
            in RemoteCallback resultCallback);
    void notifyContentProviderPublishStatus(in ContentProviderHolder holder, String auth,
    void notifyContentProviderPublishStatus(in ContentProviderHolder holder, String authorities,
            int userId, boolean published);
    void instrumentWithoutRestart(in ComponentName instrumentationName,
            in Bundle instrumentationArgs,