Merge "Change registerContentObserverForAllUsers to registerContentObserverAsUser"

This commit is contained in:
Xiaoyu Jin
2021-12-06 13:51:46 +00:00
committed by Android (Google) Code Review
3 changed files with 13 additions and 6 deletions

View File

@@ -78,6 +78,10 @@ package android.content {
method @NonNull public static android.net.Uri createContentUriForUser(@NonNull android.net.Uri, @NonNull android.os.UserHandle);
}
public abstract class ContentResolver {
method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public final void registerContentObserverAsUser(@NonNull android.net.Uri, boolean, @NonNull android.database.ContentObserver, @NonNull android.os.UserHandle);
}
public abstract class Context {
method @NonNull public android.os.UserHandle getUser();
field public static final String PAC_PROXY_SERVICE = "pac_proxy";

View File

@@ -2452,7 +2452,6 @@ package android.content {
method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public final void registerContentObserverForAllUsers(@NonNull android.net.Uri, boolean, @NonNull android.database.ContentObserver);
}
public abstract class Context {

View File

@@ -2666,7 +2666,7 @@ public abstract class ContentResolver implements ContentInterface {
/**
* Same as {@link #registerContentObserver(Uri, boolean, ContentObserver)}, but the observer
* registered will get content change notifications from all users.
* registered will get content change notifications for the specified user.
* {@link ContentObserver#onChange(boolean, Collection, int, UserHandle)} should be
* overwritten to get the corresponding {@link UserHandle} for that notification.
*
@@ -2679,21 +2679,25 @@ public abstract class ContentResolver implements ContentInterface {
* whenever a change occurs to the URI's descendants in the path
* hierarchy.
* @param observer The object that receives callbacks when changes occur.
* @param userHandle The UserHandle of the user the content change notifications are
* for.
* @hide
* @see #unregisterContentObserver
*/
@RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL)
@SystemApi
public final void registerContentObserverForAllUsers(@NonNull Uri uri,
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
public final void registerContentObserverAsUser(@NonNull Uri uri,
boolean notifyForDescendants,
@NonNull ContentObserver observer) {
@NonNull ContentObserver observer,
@NonNull UserHandle userHandle) {
Objects.requireNonNull(uri, "uri");
Objects.requireNonNull(observer, "observer");
Objects.requireNonNull(userHandle, "userHandle");
registerContentObserver(
ContentProvider.getUriWithoutUserId(uri),
notifyForDescendants,
observer,
UserHandle.USER_ALL);
userHandle.getIdentifier());
}
/** @hide - designated user version */