Merge "Mark all published authorities for a provider as ready" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d39b5f032c
@@ -447,7 +447,7 @@ public final class ActivityThread extends ClientTransactionHandler
|
|||||||
|
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
ContentProviderHolder mHolder; // Temp holder to be used between notifier and waiter
|
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) {
|
public ProviderKey(String authority, int userId) {
|
||||||
this.authority = authority;
|
this.authority = authority;
|
||||||
@@ -1827,13 +1827,16 @@ public final class ActivityThread extends ClientTransactionHandler
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notifyContentProviderPublishStatus(@NonNull ContentProviderHolder holder,
|
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);
|
final ProviderKey key = getGetProviderKey(auth, userId);
|
||||||
synchronized (key.mLock) {
|
synchronized (key.mLock) {
|
||||||
key.mHolder = holder;
|
key.mHolder = holder;
|
||||||
key.mLock.notifyAll();
|
key.mLock.notifyAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void instrumentWithoutRestart(ComponentName instrumentationName,
|
public void instrumentWithoutRestart(ComponentName instrumentationName,
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ oneway interface IApplicationThread {
|
|||||||
void performDirectAction(IBinder activityToken, String actionId,
|
void performDirectAction(IBinder activityToken, String actionId,
|
||||||
in Bundle arguments, in RemoteCallback cancellationCallback,
|
in Bundle arguments, in RemoteCallback cancellationCallback,
|
||||||
in RemoteCallback resultCallback);
|
in RemoteCallback resultCallback);
|
||||||
void notifyContentProviderPublishStatus(in ContentProviderHolder holder, String auth,
|
void notifyContentProviderPublishStatus(in ContentProviderHolder holder, String authorities,
|
||||||
int userId, boolean published);
|
int userId, boolean published);
|
||||||
void instrumentWithoutRestart(in ComponentName instrumentationName,
|
void instrumentWithoutRestart(in ComponentName instrumentationName,
|
||||||
in Bundle instrumentationArgs,
|
in Bundle instrumentationArgs,
|
||||||
|
|||||||
Reference in New Issue
Block a user