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

Unverified Commit 12f2819d authored by Michael Bestas's avatar Michael Bestas
Browse files

Merge tag 'android-15.0.0_r5' into staging/lineage-22.0_merge-android-15.0.0_r5

Android 15.0.0 release 5

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZyvelgAKCRDorT+BmrEO
# eAhDAJ97JSy1lq4kngwh1MDnPEMMsvZlrACfRxVRxmi6m0/EYtdm4N6ijUKLZvg=
# =LGVB
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed Nov  6 23:24:38 2024 EET
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 2328 signatures in the past
#      3 years.  Encrypted 4 messages in the past 2 years.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Winson Chung (4) and others
# Via Android Build Coastguard Worker
* tag 'android-15.0.0_r5':
  Disable ASM_RESTRICTIONS flag
  Allows an app to cancel a device state request they made at any point if they're in the foreground.
  Don't send BOOT_COMPLETED to app in restricted backup mode
  Add notification for onInferenceServiceDisconnected
  Remove dumpmanager from KeyguardStatusView
  Fix regression in getting top running task to split with
  Fix issue where highlight was drawing without bottom inset on one side only
  Add mechanism for a task to be hidden as a part of starting a drag
  Fix issue with incorrect drag starter being used and handle removed tasks
  Restrict access to directories
  Disallow device admin package and protected packages to be reinstalled as instant.
  Set no data transfer on function switch timeout for accessory mode
  Remove authenticator data if it was disabled.

Change-Id: Ieef693282d968b757c2afa01f3f91fa9ee49fcd5
parents e92b8c8a cc8bb195
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -135,6 +135,14 @@ public class ClipDescription implements Parcelable {
    public static final String EXTRA_LOGGING_INSTANCE_ID =
            "android.intent.extra.LOGGING_INSTANCE_ID";

    /**
     * The id of the task containing the window that initiated the drag that should be hidden.
     * Only provided to internal drag handlers as a part of the DRAG_START event.
     * @hide
     */
    public static final String EXTRA_HIDE_DRAG_SOURCE_TASK_ID =
            "android.intent.extra.HIDE_DRAG_SOURCE_TASK_ID";

    /**
     * Indicates that a ClipData contains potentially sensitive information, such as a
     * password or credit card number.
+13 −1
Original line number Diff line number Diff line
@@ -9,3 +9,15 @@ flag {
    bug: "293636629"
    is_fixed_read_only: true
}

flag {
    name: "device_state_requester_cancel_state"
    is_exported: true
    namespace: "windowing_sdk"
    description: "Removes foreground requirement if process attempting to cancel a state request is the requester"
    bug: "354772125"
    is_fixed_read_only: true
    metadata {
      purpose: PURPOSE_BUGFIX
    }
}
+8 −0
Original line number Diff line number Diff line
@@ -5511,6 +5511,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
    @FlaggedApi(FLAG_DELEGATE_UNHANDLED_DRAGS)
    public static final int DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG = 1 << 13;
    /**
     * Flag indicating that this drag will result in the caller activity's task to be hidden for the
     * duration of the drag, this means that the source activity will not receive drag events for
     * the current drag gesture. Only the current voice interaction service may use this flag.
     * @hide
     */
    public static final int DRAG_FLAG_HIDE_CALLING_TASK_ON_DRAG_START = 1 << 14;
    /**
     * Vertical scroll factor cached by {@link #getVerticalScrollFactor}.
     */
+51 −2
Original line number Diff line number Diff line
@@ -123,6 +123,15 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
        default void dump(@NonNull PrintWriter pw, String prefix) {};
    }

    /**
     * Limited scope callback to notify when a task is removed from the system.  This signal is
     * not synchronized with anything (or any transition), and should not be used in cases where
     * that is necessary.
     */
    public interface TaskVanishedListener {
        default void onTaskVanished(RunningTaskInfo taskInfo) {}
    }

    /**
     * Callbacks for events on a task with a locus id.
     */
@@ -167,6 +176,9 @@ public class ShellTaskOrganizer extends TaskOrganizer implements

    private final ArraySet<FocusListener> mFocusListeners = new ArraySet<>();

    // Listeners that should be notified when a task is removed
    private final ArraySet<TaskVanishedListener> mTaskVanishedListeners = new ArraySet<>();

    private final Object mLock = new Object();
    private StartingWindowController mStartingWindow;

@@ -409,7 +421,7 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
    }

    /**
     * Removes listener.
     * Removes a locus id listener.
     */
    public void removeLocusIdListener(LocusIdListener listener) {
        synchronized (mLock) {
@@ -430,7 +442,7 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
    }

    /**
     * Removes listener.
     * Removes a focus listener.
     */
    public void removeFocusListener(FocusListener listener) {
        synchronized (mLock) {
@@ -438,6 +450,24 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
        }
    }

    /**
     * Adds a listener to be notified when a task vanishes.
     */
    public void addTaskVanishedListener(TaskVanishedListener listener) {
        synchronized (mLock) {
            mTaskVanishedListeners.add(listener);
        }
    }

    /**
     * Removes a task-vanished listener.
     */
    public void removeTaskVanishedListener(TaskVanishedListener listener) {
        synchronized (mLock) {
            mTaskVanishedListeners.remove(listener);
        }
    }

    /**
     * Returns a surface which can be used to attach overlays to the home root task
     */
@@ -614,6 +644,9 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
                t.apply();
                ProtoLog.v(WM_SHELL_TASK_ORG, "Removing overlay surface");
            }
            for (TaskVanishedListener l : mTaskVanishedListeners) {
                l.onTaskVanished(taskInfo);
            }

            if (!ENABLE_SHELL_TRANSITIONS && (appearedInfo.getLeash() != null)) {
                // Preemptively clean up the leash only if shell transitions are not enabled
@@ -647,6 +680,22 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
        }
    }

    /**
     * Shows/hides the given task surface.  Not for general use as changing the task visibility may
     * conflict with other Transitions.  This is currently ONLY used to temporarily hide a task
     * while a drag is in session.
     */
    public void setTaskSurfaceVisibility(int taskId, boolean visible) {
        synchronized (mLock) {
            final TaskAppearedInfo info = mTasks.get(taskId);
            if (info != null) {
                SurfaceControl.Transaction t = new SurfaceControl.Transaction();
                t.setVisibility(info.getLeash(), visible);
                t.apply();
            }
        }
    }

    private boolean updateTaskListenerIfNeeded(RunningTaskInfo taskInfo, SurfaceControl leash,
            TaskListener oldListener, TaskListener newListener) {
        if (oldListener == newListener) return false;
+3 −2
Original line number Diff line number Diff line
@@ -642,6 +642,7 @@ public abstract class WMShellModule {
            ShellInit shellInit,
            ShellController shellController,
            ShellCommandHandler shellCommandHandler,
            ShellTaskOrganizer shellTaskOrganizer,
            DisplayController displayController,
            UiEventLogger uiEventLogger,
            IconProvider iconProvider,
@@ -649,8 +650,8 @@ public abstract class WMShellModule {
            Transitions transitions,
            @ShellMainThread ShellExecutor mainExecutor) {
        return new DragAndDropController(context, shellInit, shellController, shellCommandHandler,
                displayController, uiEventLogger, iconProvider, globalDragListener, transitions,
                mainExecutor);
                shellTaskOrganizer, displayController, uiEventLogger, iconProvider,
                globalDragListener, transitions, mainExecutor);
    }

    //
Loading