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

Commit 04f7af70 authored by Makoto Onuki's avatar Makoto Onuki Committed by Android (Google) Code Review
Browse files

Merge "AMS.removeContentProviderExternal() should take a user-id"

parents 87a97a47 679760ae
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -470,7 +470,8 @@ public class Content {
                    onExecute(provider);
                } finally {
                    if (provider != null) {
                        activityManager.removeContentProviderExternal(providerName, token);
                        activityManager.removeContentProviderExternalAsUser(
                                providerName, token, mUserId);
                    }
                }
            } catch (Exception e) {
+2 −1
Original line number Diff line number Diff line
@@ -84,7 +84,8 @@ public class ShellUiAutomatorBridge extends UiAutomatorBridge {
                    cursor.close();
                }
                if (provider != null) {
                    activityManager.removeContentProviderExternal(providerName, token);
                    activityManager.removeContentProviderExternalAsUser(providerName, token,
                            UserHandle.USER_SYSTEM);
                }
            }
        } catch (RemoteException e) {
+2 −0
Original line number Diff line number Diff line
@@ -263,7 +263,9 @@ interface IActivityManager {
    void killAllBackgroundProcesses();
    ContentProviderHolder getContentProviderExternal(in String name, int userId,
            in IBinder token, String tag);
    /** @deprecated - Use {@link #removeContentProviderExternalAsUser} which takes a user ID. */
    void removeContentProviderExternal(in String name, in IBinder token);
    void removeContentProviderExternalAsUser(in String name, in IBinder token, int userId);
    // Get memory information about the calling process.
    void getMyMemoryState(out ActivityManager.RunningAppProcessInfo outInfo);
    boolean killProcessesBelowForeground(in String reason);
+8 −1
Original line number Diff line number Diff line
@@ -8406,10 +8406,17 @@ public class ActivityManagerService extends IActivityManager.Stub
        }
    }
    /** @deprecated - Use {@link #removeContentProviderExternalAsUser} which takes a user ID. */
    @Deprecated
    @Override
    public void removeContentProviderExternal(String name, IBinder token) {
        removeContentProviderExternalAsUser(name, token, UserHandle.getCallingUserId());
    }
    @Override
    public void removeContentProviderExternalAsUser(String name, IBinder token, int userId) {
        enforceCallingPermission(android.Manifest.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY,
            "Do not have permission in call removeContentProviderExternal()");
        int userId = UserHandle.getCallingUserId();
        long ident = Binder.clearCallingIdentity();
        try {
            removeContentProviderExternalUnchecked(name, token, userId);