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

Commit 7db4a5e6 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 13294094 from b67479ea to 25Q3-release

Change-Id: Ia84b66d4c99ad4114eaca1efc9e7d729050bd169
parents 0b87b377 b67479ea
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import android.annotation.MainThread;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SpecialUsers.CanBeCURRENT;
import android.annotation.StyleRes;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
@@ -6096,7 +6097,7 @@ public class Activity extends ContextThemeWrapper
    @SystemApi
    @RequiresPermission(anyOf = {INTERACT_ACROSS_USERS, INTERACT_ACROSS_USERS_FULL})
    public void startActivityForResultAsUser(@NonNull Intent intent, int requestCode,
            @NonNull UserHandle user) {
            @NonNull @CanBeCURRENT UserHandle user) {
        startActivityForResultAsUser(intent, requestCode, null, user);
    }

@@ -6135,7 +6136,7 @@ public class Activity extends ContextThemeWrapper
    @SystemApi
    @RequiresPermission(anyOf = {INTERACT_ACROSS_USERS, INTERACT_ACROSS_USERS_FULL})
    public void startActivityForResultAsUser(@NonNull Intent intent, int requestCode,
            @Nullable Bundle options, @NonNull UserHandle user) {
            @Nullable Bundle options, @NonNull @CanBeCURRENT UserHandle user) {
        startActivityForResultAsUser(intent, mEmbeddedID, requestCode, options, user);
    }

@@ -6175,7 +6176,7 @@ public class Activity extends ContextThemeWrapper
    @RequiresPermission(anyOf = {INTERACT_ACROSS_USERS, INTERACT_ACROSS_USERS_FULL})
    public void startActivityForResultAsUser(@NonNull Intent intent, @NonNull String resultWho,
            int requestCode,
            @Nullable Bundle options, @NonNull UserHandle user) {
            @Nullable Bundle options, @NonNull @CanBeCURRENT UserHandle user) {
        if (mParent != null) {
            throw new RuntimeException("Can't be called from a child");
        }
@@ -6205,7 +6206,7 @@ public class Activity extends ContextThemeWrapper
     * @hide Implement to provide correct calling token.
     */
    @Override
    public void startActivityAsUser(Intent intent, UserHandle user) {
    public void startActivityAsUser(Intent intent, @CanBeCURRENT UserHandle user) {
        startActivityAsUser(intent, null, user);
    }

@@ -6225,7 +6226,7 @@ public class Activity extends ContextThemeWrapper
     */
    @RequiresPermission(anyOf = {INTERACT_ACROSS_USERS, INTERACT_ACROSS_USERS_FULL})
    public void startActivityAsUser(@NonNull Intent intent,
            @Nullable Bundle options, @NonNull UserHandle user) {
            @Nullable Bundle options, @NonNull @CanBeCURRENT UserHandle user) {
        if (mParent != null) {
            throw new RuntimeException("Can't be called from a child");
        }
@@ -6818,7 +6819,7 @@ public class Activity extends ContextThemeWrapper

    private void startActivityAsUserFromFragment(@NonNull Fragment fragment,
            @RequiresPermission Intent intent, int requestCode, @Nullable Bundle options,
            UserHandle user) {
            @CanBeCURRENT UserHandle user) {
        startActivityForResultAsUser(intent, fragment.mWho, requestCode, options, user);
    }

+22 −12
Original line number Diff line number Diff line
@@ -31,6 +31,9 @@ import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SpecialUsers.CanBeALL;
import android.annotation.SpecialUsers.CanBeCURRENT;
import android.annotation.SpecialUsers.CannotBeSpecialUser;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.SystemService;
@@ -2345,7 +2348,8 @@ public class ActivityManager {

        /** @hide */
        @UnsupportedAppUsage
        public static Bitmap loadTaskDescriptionIcon(String iconFilename, int userId) {
        public static Bitmap loadTaskDescriptionIcon(String iconFilename,
                @CanBeCURRENT @UserIdInt int userId) {
            if (iconFilename != null) {
                try {
                    return getTaskService().getTaskDescriptionIcon(iconFilename,
@@ -4262,7 +4266,8 @@ public class ActivityManager {
     * @return Returns true if successful.
     * @hide
     */
    public boolean setProcessMemoryTrimLevel(String process, int userId, int level) {
    public boolean setProcessMemoryTrimLevel(
            String process, @CanBeALL @CanBeCURRENT @UserIdInt int userId, int level) {
        try {
            return getService().setProcessMemoryTrimLevel(process, userId,
                    level);
@@ -4950,7 +4955,8 @@ public class ActivityManager {
     * services, removing their alarms, etc.
     */
    @UnsupportedAppUsage
    public void forceStopPackageAsUser(String packageName, int userId) {
    public void forceStopPackageAsUser(String packageName,
            @CanBeALL @CanBeCURRENT @UserIdInt int userId) {
        try {
            getService().forceStopPackage(packageName, userId);
        } catch (RemoteException e) {
@@ -4975,7 +4981,8 @@ public class ActivityManager {
     * @hide
     */
    @RequiresPermission(Manifest.permission.FORCE_STOP_PACKAGES)
    public void forceStopPackageAsUserEvenWhenStopping(String packageName, @UserIdInt int userId) {
    public void forceStopPackageAsUserEvenWhenStopping(String packageName,
            @CanBeALL @CanBeCURRENT @UserIdInt int userId) {
        try {
            getService().forceStopPackageEvenWhenStopping(packageName, userId);
        } catch (RemoteException e) {
@@ -5460,7 +5467,7 @@ public class ActivityManager {
     */
    @Nullable
    @RequiresPermission(Manifest.permission.MANAGE_USERS)
    public String getSwitchingFromUserMessage(@UserIdInt int userId) {
    public String getSwitchingFromUserMessage(@CannotBeSpecialUser @UserIdInt int userId) {
        try {
            return getService().getSwitchingFromUserMessage(userId);
        } catch (RemoteException re) {
@@ -5475,7 +5482,7 @@ public class ActivityManager {
     */
    @Nullable
    @RequiresPermission(Manifest.permission.MANAGE_USERS)
    public String getSwitchingToUserMessage(@UserIdInt int userId) {
    public String getSwitchingToUserMessage(@CannotBeSpecialUser @UserIdInt int userId) {
        try {
            return getService().getSwitchingToUserMessage(userId);
        } catch (RemoteException re) {
@@ -5729,7 +5736,8 @@ public class ActivityManager {
    /**
     * @hide
     */
    public static void broadcastStickyIntent(Intent intent, int userId) {
    public static void broadcastStickyIntent(Intent intent,
            @CanBeALL @CanBeCURRENT @UserIdInt int userId) {
        broadcastStickyIntent(intent, AppOpsManager.OP_NONE, null, userId);
    }

@@ -5738,7 +5746,8 @@ public class ActivityManager {
     *
     * @hide
     */
    public static void broadcastStickyIntent(Intent intent, int appOp, int userId) {
    public static void broadcastStickyIntent(Intent intent, int appOp,
            @CanBeALL @CanBeCURRENT @UserIdInt  int userId) {
        broadcastStickyIntent(intent, appOp, null, userId);
    }

@@ -5747,7 +5756,8 @@ public class ActivityManager {
     *
     * @hide
     */
    public static void broadcastStickyIntent(Intent intent, int appOp, Bundle options, int userId) {
    public static void broadcastStickyIntent(Intent intent, int appOp, Bundle options,
            @CanBeALL @CanBeCURRENT @UserIdInt  int userId) {
        broadcastStickyIntent(intent, null, appOp, options, userId);
    }

@@ -5757,7 +5767,7 @@ public class ActivityManager {
     * @hide
     */
    public static void broadcastStickyIntent(Intent intent, String[] excludedPackages,
            int appOp, Bundle options, int userId) {
            int appOp, Bundle options, @CanBeALL @CanBeCURRENT @UserIdInt  int userId) {
        try {
            getService().broadcastIntentWithFeature(
                    null, null, intent, null, null, Activity.RESULT_OK, null, null,
@@ -6018,7 +6028,7 @@ public class ActivityManager {
            android.Manifest.permission.MANAGE_USERS,
            android.Manifest.permission.CREATE_USERS
    })
    public boolean isProfileForeground(@NonNull UserHandle userHandle) {
    public boolean isProfileForeground(@NonNull @CannotBeSpecialUser UserHandle userHandle) {
        UserManager userManager = mContext.getSystemService(UserManager.class);
        if (userManager != null) {
            for (UserInfo userInfo : userManager.getProfiles(getCurrentUser())) {
@@ -6316,7 +6326,7 @@ public class ActivityManager {
     * @hide
     */
    @RequiresPermission(Manifest.permission.SET_THEME_OVERLAY_CONTROLLER_READY)
    public void setThemeOverlayReady(@UserIdInt int userId) {
    public void setThemeOverlayReady(@CannotBeSpecialUser @UserIdInt int userId) {
        try {
            getService().setThemeOverlayReady(userId);
        } catch (RemoteException e) {
+3 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.annotation.Nullable;
import android.annotation.PermissionMethod;
import android.annotation.PermissionName;
import android.annotation.SpecialUsers.CanBeALL;
import android.annotation.SpecialUsers.CanBeCURRENT;
import android.annotation.UserIdInt;
import android.app.ActivityManager.ProcessCapability;
import android.app.ActivityManager.RestrictionLevel;
@@ -869,7 +870,7 @@ public abstract class ActivityManagerInternal {
    public abstract int broadcastIntent(Intent intent,
            IIntentReceiver resultTo,
            String[] requiredPermissions, boolean serialized,
            int userId, int[] appIdAllowList,
            @CanBeALL @CanBeCURRENT @UserIdInt int userId, int[] appIdAllowList,
            @Nullable BiFunction<Integer, Bundle, Bundle> filterExtrasForReceiver,
            @Nullable Bundle bOptions);

@@ -882,7 +883,7 @@ public abstract class ActivityManagerInternal {
    public abstract int broadcastIntentWithCallback(Intent intent,
            IIntentReceiver resultTo,
            String[] requiredPermissions,
            int userId, int[] appIdAllowList,
            @CanBeALL @CanBeCURRENT @UserIdInt int userId, int[] appIdAllowList,
            @Nullable BiFunction<Integer, Bundle, Bundle> filterExtrasForReceiver,
            @Nullable Bundle bOptions);

+2 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SpecialUsers.CanBeCURRENT;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
@@ -2206,7 +2207,7 @@ public class Instrumentation {
    @UnsupportedAppUsage
    public ActivityResult execStartActivity(
            Context who, IBinder contextThread, IBinder token, String resultWho,
            Intent intent, int requestCode, Bundle options, UserHandle user) {
            Intent intent, int requestCode, Bundle options, @CanBeCURRENT UserHandle user) {
        if (DEBUG_START_ACTIVITY) {
            Log.d(TAG, "startActivity: who=" + who + " user=" + user + " intent=" + intent
                    + " requestCode=" + requestCode + " resultWho=" + resultWho
+21 −5
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.companion.virtual;

import static android.media.AudioManager.AUDIO_SESSION_ID_GENERATE;

import android.Manifest;
import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
@@ -45,6 +46,9 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentSender;
import android.graphics.Point;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
import android.hardware.camera2.CameraMetadata;
import android.hardware.display.DisplayManager;
import android.hardware.display.DisplayManager.VirtualDisplayFlag;
import android.hardware.display.VirtualDisplay;
@@ -1073,17 +1077,29 @@ public final class VirtualDeviceManager {
        }

        /**
         * Creates a new virtual camera with the given {@link VirtualCameraConfig}. A virtual device
         * can create a virtual camera only if it has
         * {@link VirtualDeviceParams#DEVICE_POLICY_CUSTOM} as its
         * {@link VirtualDeviceParams#POLICY_TYPE_CAMERA}.
         * Creates a new virtual camera with the given {@link VirtualCameraConfig}.
         *
         * <p>A virtual device with {@link VirtualDeviceParams#DEVICE_POLICY_CUSTOM} for its
         * {@link VirtualDeviceParams#POLICY_TYPE_CAMERA} can create virtual cameras
         * with any {@link CameraCharacteristics#LENS_FACING}, though at most one of each
         * {@link CameraMetadata#LENS_FACING_FRONT} and {@link CameraMetadata#LENS_FACING_BACK}.
         * Multiple {@link CameraMetadata#LENS_FACING_EXTERNAL} virtual cameras are allowed.
         * The virtual cameras (including the external ones) are guarded by a separate
         * {@link Manifest.permission#CAMERA} permission relevant only to the virtual device.
         *
         * <p>A virtual device with {@link VirtualDeviceParams#DEVICE_POLICY_DEFAULT} for its
         * {@link VirtualDeviceParams#POLICY_TYPE_CAMERA} can create <b>only</b> virtual cameras
         * with {@link CameraMetadata#LENS_FACING_EXTERNAL}. The created virtual external cameras
         * are visible from {@link CameraManager} created with a default device context.
         * {@link Context#DEVICE_ID_DEFAULT}.
         * In this case the virtual external cameras are guarded by the default's device
         * {@link Manifest.permission#CAMERA} permission.
         *
         * @param config camera configuration.
         * @return newly created camera.
         * @throws UnsupportedOperationException if virtual camera isn't supported on this device.
         * @see VirtualDeviceParams#POLICY_TYPE_CAMERA
         */
        // TODO: b/406957588 - Update documentation after 25Q2 release
        @NonNull
        public VirtualCamera createVirtualCamera(@NonNull VirtualCameraConfig config) {
            return mVirtualDeviceInternal.createVirtualCamera(Objects.requireNonNull(config));
Loading