Loading services/core/java/com/android/server/pm/CrossProfileAppsServiceImpl.java +11 −12 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import com.android.internal.util.ArrayUtils; import com.android.internal.util.FunctionalUtils.ThrowingRunnable; import com.android.internal.util.FunctionalUtils.ThrowingSupplier; import com.android.server.LocalServices; import com.android.server.pm.permission.PermissionManagerService; import com.android.server.wm.ActivityTaskManagerInternal; import java.util.ArrayList; Loading Loading @@ -479,9 +480,11 @@ public class CrossProfileAppsServiceImpl extends ICrossProfileApps.Stub { mInjector.getAppOpsManager() .setMode(OP_INTERACT_ACROSS_PROFILES, uid, packageName, newMode); } // Kill the UID before sending the broadcast to ensure that apps can be informed when // their app-op has been revoked. maybeKillUid(packageName, uid, hadPermission); sendCanInteractAcrossProfilesChangedBroadcast(packageName, uid, UserHandle.of(userId)); maybeLogSetInteractAcrossProfilesAppOp(packageName, newMode, userId, logMetrics, uid); maybeKillUid(packageName, uid, hadPermission); } /** Loading @@ -496,7 +499,7 @@ public class CrossProfileAppsServiceImpl extends ICrossProfileApps.Stub { if (hasInteractAcrossProfilesPermission(packageName, uid, PermissionChecker.PID_UNKNOWN)) { return; } mInjector.killUid(packageName, uid); mInjector.killUid(uid); } private void maybeLogSetInteractAcrossProfilesAppOp( Loading Loading @@ -823,15 +826,11 @@ public class CrossProfileAppsServiceImpl extends ICrossProfileApps.Stub { } @Override public void killUid(String packageName, int uid) { try { ActivityManager.getService().killApplication( packageName, public void killUid(int uid) { PermissionManagerService.killUid( UserHandle.getAppId(uid), UserHandle.getUserId(uid), PermissionManager.KILL_APP_REASON_PERMISSIONS_REVOKED); } catch (RemoteException ignored) { } } } Loading Loading @@ -873,7 +872,7 @@ public class CrossProfileAppsServiceImpl extends ICrossProfileApps.Stub { int checkComponentPermission(String permission, int uid, int owningUid, boolean exported); void killUid(String packageName, int uid); void killUid(int uid); } class LocalService extends CrossProfileAppsInternal { Loading services/robotests/src/com/android/server/pm/CrossProfileAppsServiceImplRoboTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -747,7 +747,7 @@ public class CrossProfileAppsServiceImplRoboTest { } @Override public void killUid(String packageName, int uid) { public void killUid(int uid) { mKilledUids.add(uid); } } Loading services/tests/servicestests/src/com/android/server/pm/CrossProfileAppsServiceImplTest.java +6 −10 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.content.pm.PermissionInfo; import android.content.pm.ResolveInfo; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.permission.PermissionManager; Loading @@ -42,6 +41,7 @@ import android.util.SparseArray; import com.android.internal.util.FunctionalUtils.ThrowingRunnable; import com.android.internal.util.FunctionalUtils.ThrowingSupplier; import com.android.server.LocalServices; import com.android.server.pm.permission.PermissionManagerService; import com.android.server.wm.ActivityTaskManagerInternal; import org.junit.Before; Loading Loading @@ -696,15 +696,11 @@ public class CrossProfileAppsServiceImplTest { } @Override public void killUid(String packageName, int uid) { try { ActivityManager.getService().killApplication( packageName, public void killUid(int uid) { PermissionManagerService.killUid( UserHandle.getAppId(uid), UserHandle.getUserId(uid), PermissionManager.KILL_APP_REASON_PERMISSIONS_REVOKED); } catch (RemoteException ignored) { } } } } Loading
services/core/java/com/android/server/pm/CrossProfileAppsServiceImpl.java +11 −12 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import com.android.internal.util.ArrayUtils; import com.android.internal.util.FunctionalUtils.ThrowingRunnable; import com.android.internal.util.FunctionalUtils.ThrowingSupplier; import com.android.server.LocalServices; import com.android.server.pm.permission.PermissionManagerService; import com.android.server.wm.ActivityTaskManagerInternal; import java.util.ArrayList; Loading Loading @@ -479,9 +480,11 @@ public class CrossProfileAppsServiceImpl extends ICrossProfileApps.Stub { mInjector.getAppOpsManager() .setMode(OP_INTERACT_ACROSS_PROFILES, uid, packageName, newMode); } // Kill the UID before sending the broadcast to ensure that apps can be informed when // their app-op has been revoked. maybeKillUid(packageName, uid, hadPermission); sendCanInteractAcrossProfilesChangedBroadcast(packageName, uid, UserHandle.of(userId)); maybeLogSetInteractAcrossProfilesAppOp(packageName, newMode, userId, logMetrics, uid); maybeKillUid(packageName, uid, hadPermission); } /** Loading @@ -496,7 +499,7 @@ public class CrossProfileAppsServiceImpl extends ICrossProfileApps.Stub { if (hasInteractAcrossProfilesPermission(packageName, uid, PermissionChecker.PID_UNKNOWN)) { return; } mInjector.killUid(packageName, uid); mInjector.killUid(uid); } private void maybeLogSetInteractAcrossProfilesAppOp( Loading Loading @@ -823,15 +826,11 @@ public class CrossProfileAppsServiceImpl extends ICrossProfileApps.Stub { } @Override public void killUid(String packageName, int uid) { try { ActivityManager.getService().killApplication( packageName, public void killUid(int uid) { PermissionManagerService.killUid( UserHandle.getAppId(uid), UserHandle.getUserId(uid), PermissionManager.KILL_APP_REASON_PERMISSIONS_REVOKED); } catch (RemoteException ignored) { } } } Loading Loading @@ -873,7 +872,7 @@ public class CrossProfileAppsServiceImpl extends ICrossProfileApps.Stub { int checkComponentPermission(String permission, int uid, int owningUid, boolean exported); void killUid(String packageName, int uid); void killUid(int uid); } class LocalService extends CrossProfileAppsInternal { Loading
services/robotests/src/com/android/server/pm/CrossProfileAppsServiceImplRoboTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -747,7 +747,7 @@ public class CrossProfileAppsServiceImplRoboTest { } @Override public void killUid(String packageName, int uid) { public void killUid(int uid) { mKilledUids.add(uid); } } Loading
services/tests/servicestests/src/com/android/server/pm/CrossProfileAppsServiceImplTest.java +6 −10 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.content.pm.PermissionInfo; import android.content.pm.ResolveInfo; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.permission.PermissionManager; Loading @@ -42,6 +41,7 @@ import android.util.SparseArray; import com.android.internal.util.FunctionalUtils.ThrowingRunnable; import com.android.internal.util.FunctionalUtils.ThrowingSupplier; import com.android.server.LocalServices; import com.android.server.pm.permission.PermissionManagerService; import com.android.server.wm.ActivityTaskManagerInternal; import org.junit.Before; Loading Loading @@ -696,15 +696,11 @@ public class CrossProfileAppsServiceImplTest { } @Override public void killUid(String packageName, int uid) { try { ActivityManager.getService().killApplication( packageName, public void killUid(int uid) { PermissionManagerService.killUid( UserHandle.getAppId(uid), UserHandle.getUserId(uid), PermissionManager.KILL_APP_REASON_PERMISSIONS_REVOKED); } catch (RemoteException ignored) { } } } }