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

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

Snap for 13318195 from d73b74bb to 25Q3-release

Change-Id: Ic1ec2a4d56d9433b215d61dcd49eb6c5915060fb
parents eb7b5c73 d73b74bb
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -25235,16 +25235,19 @@ package android.media {
    method @FlaggedApi("com.android.media.flags.enable_screen_off_scanning") public void cancelScanRequest(@NonNull android.media.MediaRouter2.ScanToken);
    method @Nullable public android.media.MediaRouter2.RoutingController getController(@NonNull String);
    method @NonNull public java.util.List<android.media.MediaRouter2.RoutingController> getControllers();
    method @FlaggedApi("com.android.media.flags.enable_suggested_device_api") @NonNull public java.util.Map<java.lang.String,java.util.List<android.media.SuggestedDeviceInfo>> getDeviceSuggestions();
    method @NonNull public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context);
    method @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control") @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MEDIA_CONTENT_CONTROL, android.Manifest.permission.MEDIA_ROUTING_CONTROL}) public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
    method @FlaggedApi("com.android.media.flags.enable_rlp_callbacks_in_media_router2") @Nullable public android.media.RouteListingPreference getRouteListingPreference();
    method @NonNull public java.util.List<android.media.MediaRoute2Info> getRoutes();
    method @NonNull public android.media.MediaRouter2.RoutingController getSystemController();
    method public void registerControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.ControllerCallback);
    method @FlaggedApi("com.android.media.flags.enable_suggested_device_api") public void registerDeviceSuggestionsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.DeviceSuggestionsCallback);
    method public void registerRouteCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.RouteCallback, @NonNull android.media.RouteDiscoveryPreference);
    method @FlaggedApi("com.android.media.flags.enable_rlp_callbacks_in_media_router2") public void registerRouteListingPreferenceUpdatedCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.media.RouteListingPreference>);
    method public void registerTransferCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.TransferCallback);
    method @FlaggedApi("com.android.media.flags.enable_screen_off_scanning") @NonNull public android.media.MediaRouter2.ScanToken requestScan(@NonNull android.media.MediaRouter2.ScanRequest);
    method @FlaggedApi("com.android.media.flags.enable_suggested_device_api") public void setDeviceSuggestions(@NonNull java.util.List<android.media.SuggestedDeviceInfo>);
    method public void setOnGetControllerHintsListener(@Nullable android.media.MediaRouter2.OnGetControllerHintsListener);
    method public void setRouteListingPreference(@Nullable android.media.RouteListingPreference);
    method @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control") @RequiresPermission(anyOf={android.Manifest.permission.MEDIA_CONTENT_CONTROL, android.Manifest.permission.MEDIA_ROUTING_CONTROL}) public void setRouteVolume(@NonNull android.media.MediaRoute2Info, int);
@@ -25252,6 +25255,7 @@ package android.media {
    method public void stop();
    method public void transferTo(@NonNull android.media.MediaRoute2Info);
    method public void unregisterControllerCallback(@NonNull android.media.MediaRouter2.ControllerCallback);
    method @FlaggedApi("com.android.media.flags.enable_suggested_device_api") public void unregisterDeviceSuggestionsCallback(@NonNull android.media.MediaRouter2.DeviceSuggestionsCallback);
    method public void unregisterRouteCallback(@NonNull android.media.MediaRouter2.RouteCallback);
    method @FlaggedApi("com.android.media.flags.enable_rlp_callbacks_in_media_router2") public void unregisterRouteListingPreferenceUpdatedCallback(@NonNull java.util.function.Consumer<android.media.RouteListingPreference>);
    method public void unregisterTransferCallback(@NonNull android.media.MediaRouter2.TransferCallback);
@@ -25262,6 +25266,11 @@ package android.media {
    method public void onControllerUpdated(@NonNull android.media.MediaRouter2.RoutingController);
  }
  @FlaggedApi("com.android.media.flags.enable_suggested_device_api") public static interface MediaRouter2.DeviceSuggestionsCallback {
    method public void onSuggestionRequested();
    method public void onSuggestionUpdated(@NonNull String, @NonNull java.util.List<android.media.SuggestedDeviceInfo>);
  }
  public static interface MediaRouter2.OnGetControllerHintsListener {
    method @Nullable public android.os.Bundle onGetControllerHints(@NonNull android.media.MediaRoute2Info);
  }
@@ -25807,6 +25816,22 @@ package android.media {
    method public int getTrackIndex();
  }
  @FlaggedApi("com.android.media.flags.enable_suggested_device_api") public final class SuggestedDeviceInfo implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public String getDeviceDisplayName();
    method @NonNull public android.os.Bundle getExtras();
    method @NonNull public String getRouteId();
    method public int getType();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.media.SuggestedDeviceInfo> CREATOR;
  }
  public static final class SuggestedDeviceInfo.Builder {
    ctor public SuggestedDeviceInfo.Builder(@NonNull String, @NonNull String, int);
    method @NonNull public android.media.SuggestedDeviceInfo build();
    method @NonNull public android.media.SuggestedDeviceInfo.Builder setExtras(@NonNull android.os.Bundle);
  }
  public final class SyncParams {
    ctor public SyncParams();
    method public android.media.SyncParams allowDefaults();
@@ -54931,6 +54956,7 @@ package android.view {
    method @Deprecated @FloatRange(from=1.0) public static float getAmbiguousGestureMultiplier();
    method public static long getDefaultActionModeHideDuration();
    method public static int getDoubleTapTimeout();
    method @FlaggedApi("android.companion.virtualdevice.flags.viewconfiguration_apis") public int getDoubleTapTimeoutMillis();
    method @Deprecated public static int getEdgeSlop();
    method @Deprecated public static int getFadingEdgeLength();
    method @Deprecated public static long getGlobalActionKeyTimeout();
@@ -54968,7 +54994,9 @@ package android.view {
    method @Deprecated public static int getScrollBarSize();
    method public static int getScrollDefaultDelay();
    method public static float getScrollFriction();
    method @FlaggedApi("android.companion.virtualdevice.flags.viewconfiguration_apis") public float getScrollFrictionAmount();
    method public static int getTapTimeout();
    method @FlaggedApi("android.companion.virtualdevice.flags.viewconfiguration_apis") public int getTapTimeoutMillis();
    method @Deprecated public static int getTouchSlop();
    method @Deprecated public static int getWindowTouchSlop();
    method public static long getZoomControlsTimeout();
+0 −5
Original line number Diff line number Diff line
@@ -318,11 +318,6 @@ import java.util.function.Consumer;
@RequiresFeature(PackageManager.FEATURE_DEVICE_ADMIN)
public class DevicePolicyManager {
    /** @hide */
    public static final String DEPRECATE_USERMANAGERINTERNAL_DEVICEPOLICY_FLAG =
            "deprecate_usermanagerinternal_devicepolicy";
    /** @hide */
    public static final boolean DEPRECATE_USERMANAGERINTERNAL_DEVICEPOLICY_DEFAULT = true;
    /** @hide */
    public static final String ADD_ISFINANCED_DEVICE_FLAG =
            "add-isfinanced-device";
+7 −2
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.annotation.DimenRes;
import android.companion.virtualdevice.flags.Flags;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.CanvasProperty;
@@ -73,6 +74,7 @@ final class KeyButtonRipple extends Drawable {
    private final Interpolator mInterpolator = new LogInterpolator();
    private boolean mSupportHardware;
    private final View mTargetView;
    private final int mTapTimeoutMillis;
    private final Handler mHandler = new Handler();

    private final HashSet<Animator> mRunningAnimations = new HashSet<>();
@@ -94,6 +96,9 @@ final class KeyButtonRipple extends Drawable {
        mMaxWidthResource = maxWidthResource;
        mMaxWidth = ctx.getResources().getDimensionPixelSize(maxWidthResource);
        mTargetView = targetView;
        mTapTimeoutMillis = Flags.viewconfigurationApis()
                ? ViewConfiguration.get(mTargetView.getContext()).getTapTimeoutMillis()
                : ViewConfiguration.getTapTimeout();
    }

    public void updateResources() {
@@ -308,7 +313,7 @@ final class KeyButtonRipple extends Drawable {
            if (mDelayTouchFeedback) {
                if (mRunningAnimations.isEmpty()) {
                    mHandler.removeCallbacksAndMessages(null);
                    mHandler.postDelayed(this::enterSoftware, ViewConfiguration.getTapTimeout());
                    mHandler.postDelayed(this::enterSoftware, mTapTimeoutMillis);
                } else if (mVisible) {
                    enterSoftware();
                }
@@ -353,7 +358,7 @@ final class KeyButtonRipple extends Drawable {
            if (mDelayTouchFeedback) {
                if (mRunningAnimations.isEmpty()) {
                    mHandler.removeCallbacksAndMessages(null);
                    mHandler.postDelayed(this::enterHardware, ViewConfiguration.getTapTimeout());
                    mHandler.postDelayed(this::enterHardware, mTapTimeoutMillis);
                } else if (mVisible) {
                    enterHardware();
                }
+6 −15
Original line number Diff line number Diff line
@@ -2563,10 +2563,6 @@ public final class MessageQueue {
            return mMessage.when;
        }

        boolean isRemovedFromStack() {
            return mRemovedFromStackValue;
        }

        boolean removeFromStack() {
            return sRemovedFromStack.compareAndSet(this, false, true);
        }
@@ -2919,16 +2915,10 @@ public final class MessageQueue {
        StateNode bottom = getStateNode(top);

        /*
         * If the top node is a state node, there are no reachable messages.
         * If it's anything other than Active, we can quit as we know that next() is not
         * consuming items.
         * If the top node is Active then we know that next() is currently consuming items.
         * In that case we should wait next() has drained the stack.
         * If the top node is a state node, there are no reachable messages. We should still
         * wait for next to complete draining the stack.
         */
        if (top == bottom) {
            if (bottom != sStackStateActive) {
                return false;
            }
            waitForDrainCompleted();
            return false;
        }
@@ -2957,7 +2947,7 @@ public final class MessageQueue {
                        }
                    }
                } else {
                    return true;
                    break;
                }
            }

@@ -2967,16 +2957,17 @@ public final class MessageQueue {
                if (DEBUG) {
                    Log.d(TAG_C, "stackHasMessages next() is walking the stack, we must re-sample");
                }
                waitForDrainCompleted();
                break;
            }
            if (!n.isMessageNode()) {
                /* We reached the end of the stack */
                return found;
                break;
            }
            p = (MessageNode) n;
        }

        waitForDrainCompleted();

        return found;
    }

+20 −12
Original line number Diff line number Diff line
@@ -27,9 +27,9 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.UiContext;
import android.app.Activity;
import android.companion.virtualdevice.flags.Flags;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@@ -239,7 +239,6 @@ public class GestureDetector {
        }
    }

    private static final String TAG = GestureDetector.class.getSimpleName();
    @UnsupportedAppUsage
    private int mTouchSlopSquare;
    private int mDoubleTapTouchSlopSquare;
@@ -248,12 +247,9 @@ public class GestureDetector {
    @UnsupportedAppUsage
    private int mMinimumFlingVelocity;
    private int mMaximumFlingVelocity;

    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
    private static final int LONGPRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout();
    private static final int TAP_TIMEOUT = ViewConfiguration.getTapTimeout();
    private static final int DOUBLE_TAP_TIMEOUT = ViewConfiguration.getDoubleTapTimeout();
    private static final int DOUBLE_TAP_MIN_TIME = ViewConfiguration.getDoubleTapMinTime();
    private int mTapTimeout;
    private int mDoubleTapTimeout;
    private int mDoubleTapMinTime;

    // constants for Message.what used by GestureHandler below
    private static final int SHOW_PRESS = 1;
@@ -303,7 +299,7 @@ public class GestureDetector {
    /**
     * Determines strategy for velocity calculation
     */
    private @VelocityTracker.VelocityTrackerStrategy int mVelocityTrackerStrategy;
    private final @VelocityTracker.VelocityTrackerStrategy int mVelocityTrackerStrategy;

    /**
     * Consistency verifier for debugging purposes.
@@ -502,6 +498,9 @@ public class GestureDetector {
            mMinimumFlingVelocity = ViewConfiguration.getMinimumFlingVelocity();
            mMaximumFlingVelocity = ViewConfiguration.getMaximumFlingVelocity();
            mAmbiguousGestureMultiplier = ViewConfiguration.getAmbiguousGestureMultiplier();
            mTapTimeout = ViewConfiguration.getTapTimeout();
            mDoubleTapTimeout = ViewConfiguration.getDoubleTapTimeout();
            mDoubleTapMinTime = ViewConfiguration.getDoubleTapMinTime();
        } else {
            StrictMode.assertConfigurationContext(context, "GestureDetector#init");
            final ViewConfiguration configuration = ViewConfiguration.get(context);
@@ -511,6 +510,15 @@ public class GestureDetector {
            mMinimumFlingVelocity = configuration.getScaledMinimumFlingVelocity();
            mMaximumFlingVelocity = configuration.getScaledMaximumFlingVelocity();
            mAmbiguousGestureMultiplier = configuration.getScaledAmbiguousGestureMultiplier();
            if (Flags.viewconfigurationApis()) {
                mTapTimeout = configuration.getTapTimeoutMillis();
                mDoubleTapTimeout = configuration.getDoubleTapTimeoutMillis();
                mDoubleTapMinTime = configuration.getDoubleTapMinTimeMillis();
            } else {
                mTapTimeout = ViewConfiguration.getTapTimeout();
                mDoubleTapTimeout = ViewConfiguration.getDoubleTapTimeout();
                mDoubleTapMinTime = ViewConfiguration.getDoubleTapMinTime();
            }
        }
        mTouchSlopSquare = touchSlop * touchSlop;
        mDoubleTapTouchSlopSquare = doubleTapTouchSlop * doubleTapTouchSlop;
@@ -654,7 +662,7 @@ public class GestureDetector {
                        handled |= mDoubleTapListener.onDoubleTapEvent(ev);
                    } else {
                        // This is a first tap
                        mHandler.sendEmptyMessageDelayed(TAP, DOUBLE_TAP_TIMEOUT);
                        mHandler.sendEmptyMessageDelayed(TAP, mDoubleTapTimeout);
                    }
                }

@@ -682,7 +690,7 @@ public class GestureDetector {
                                    + ViewConfiguration.getLongPressTimeout());
                }
                mHandler.sendEmptyMessageAtTime(SHOW_PRESS,
                        mCurrentDownEvent.getDownTime() + TAP_TIMEOUT);
                        mCurrentDownEvent.getDownTime() + mTapTimeout);
                handled |= mListener.onDown(ev);
                break;

@@ -907,7 +915,7 @@ public class GestureDetector {
        }

        final long deltaTime = secondDown.getEventTime() - firstUp.getEventTime();
        if (deltaTime > DOUBLE_TAP_TIMEOUT || deltaTime < DOUBLE_TAP_MIN_TIME) {
        if (deltaTime > mDoubleTapTimeout || deltaTime < mDoubleTapMinTime) {
            return false;
        }

Loading