Loading core/api/system-current.txt +6 −6 Original line number Diff line number Diff line Loading @@ -3527,12 +3527,12 @@ package android.companion.virtual { method @NonNull public java.time.Duration getDoubleTapMinTimeDuration(); method @NonNull public java.time.Duration getDoubleTapTimeoutDuration(); method @NonNull public java.time.Duration getLongPressTimeoutDuration(); method @FloatRange(from=0) public float getMaximumFlingVelocityDpPerSecond(); method @FloatRange(from=0) public float getMinimumFlingVelocityDpPerSecond(); method @IntRange(from=0) public int getMaximumFlingVelocityPixelsPerSecond(); method @IntRange(from=0) public int getMinimumFlingVelocityPixelsPerSecond(); method @NonNull public java.time.Duration getMultiPressTimeoutDuration(); method @FloatRange(from=0) public float getScrollFriction(); method @NonNull public java.time.Duration getTapTimeoutDuration(); method @FloatRange(from=0) public float getTouchSlopDp(); method @IntRange(from=0) public int getTouchSlopPixels(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.ViewConfigurationParams> CREATOR; } Loading @@ -3543,12 +3543,12 @@ package android.companion.virtual { method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setDoubleTapMinTimeDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setDoubleTapTimeoutDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setLongPressTimeoutDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMaximumFlingVelocityDpPerSecond(@FloatRange(from=0) float); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMinimumFlingVelocityDpPerSecond(@FloatRange(from=0) float); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMaximumFlingVelocityPixelsPerSecond(@IntRange(from=0) int); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMinimumFlingVelocityPixelsPerSecond(@IntRange(from=0) int); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMultiPressTimeoutDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setScrollFriction(@FloatRange(from=0) float); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setTapTimeoutDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setTouchSlopDp(@FloatRange(from=0) float); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setTouchSlopPixels(@IntRange(from=0) int); } public final class VirtualDevice implements android.os.Parcelable { core/java/android/companion/virtual/ViewConfigurationParams.java +76 −77 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.companion.virtual; import android.annotation.FlaggedApi; import android.annotation.FloatRange; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.SystemApi; import android.companion.virtualdevice.flags.Flags; Loading @@ -44,9 +45,9 @@ public final class ViewConfigurationParams implements Parcelable { */ public static final int INVALID_VALUE = -1; private final float mTouchSlopDp; private final float mMinimumFlingVelocityDpPerSecond; private final float mMaximumFlingVelocityDpPerSecond; private final int mTouchSlopPixels; private final int mMinimumFlingVelocityPixelsPerSecond; private final int mMaximumFlingVelocityPixelsPerSecond; private final float mScrollFriction; private final int mTapTimeoutMillis; private final int mDoubleTapTimeoutMillis; Loading @@ -54,13 +55,13 @@ public final class ViewConfigurationParams implements Parcelable { private final int mLongPressTimeoutMillis; private final int mMultiPressTimeoutMillis; private ViewConfigurationParams(float touchSlopDp, float minimumFlingVelocityDpPerSecond, float maximumFlingVelocityDpPerSecond, float scrollFriction, int tapTimeoutMillis, int doubleTapTimeoutMillis, int doubleTapMinTimeMillis, int longPressTimeoutMillis, int multiPressTimeoutMillis) { mTouchSlopDp = touchSlopDp; mMinimumFlingVelocityDpPerSecond = minimumFlingVelocityDpPerSecond; mMaximumFlingVelocityDpPerSecond = maximumFlingVelocityDpPerSecond; private ViewConfigurationParams(int touchSlopPixels, int minimumFlingVelocityPixelsPerSecond, int maximumFlingVelocityPixelsPerSecond, float scrollFriction, int tapTimeoutMillis, int doubleTapTimeoutMillis, int doubleTapMinTimeMillis, int longPressTimeoutMillis, int multiPressTimeoutMillis) { mTouchSlopPixels = touchSlopPixels; mMinimumFlingVelocityPixelsPerSecond = minimumFlingVelocityPixelsPerSecond; mMaximumFlingVelocityPixelsPerSecond = maximumFlingVelocityPixelsPerSecond; mScrollFriction = scrollFriction; mTapTimeoutMillis = tapTimeoutMillis; mDoubleTapTimeoutMillis = doubleTapTimeoutMillis; Loading @@ -70,9 +71,9 @@ public final class ViewConfigurationParams implements Parcelable { } private ViewConfigurationParams(Parcel in) { mTouchSlopDp = in.readFloat(); mMinimumFlingVelocityDpPerSecond = in.readFloat(); mMaximumFlingVelocityDpPerSecond = in.readFloat(); mTouchSlopPixels = in.readInt(); mMinimumFlingVelocityPixelsPerSecond = in.readInt(); mMaximumFlingVelocityPixelsPerSecond = in.readInt(); mScrollFriction = in.readFloat(); mTapTimeoutMillis = in.readInt(); mDoubleTapTimeoutMillis = in.readInt(); Loading @@ -88,9 +89,9 @@ public final class ViewConfigurationParams implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeFloat(mTouchSlopDp); dest.writeFloat(mMinimumFlingVelocityDpPerSecond); dest.writeFloat(mMaximumFlingVelocityDpPerSecond); dest.writeInt(mTouchSlopPixels); dest.writeInt(mMinimumFlingVelocityPixelsPerSecond); dest.writeInt(mMaximumFlingVelocityPixelsPerSecond); dest.writeFloat(mScrollFriction); dest.writeInt(mTapTimeoutMillis); dest.writeInt(mDoubleTapTimeoutMillis); Loading @@ -103,11 +104,9 @@ public final class ViewConfigurationParams implements Parcelable { public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof ViewConfigurationParams that)) return false; return Float.compare(mTouchSlopDp, that.mTouchSlopDp) == 0 && Float.compare(mMinimumFlingVelocityDpPerSecond, that.mMinimumFlingVelocityDpPerSecond) == 0 && Float.compare(mMaximumFlingVelocityDpPerSecond, that.mMaximumFlingVelocityDpPerSecond) == 0 return mTouchSlopPixels == that.mTouchSlopPixels && mMinimumFlingVelocityPixelsPerSecond == that.mMinimumFlingVelocityPixelsPerSecond && mMaximumFlingVelocityPixelsPerSecond == that.mMaximumFlingVelocityPixelsPerSecond && Float.compare(mScrollFriction, that.mScrollFriction) == 0 && mTapTimeoutMillis == that.mTapTimeoutMillis && mDoubleTapTimeoutMillis == that.mDoubleTapTimeoutMillis Loading @@ -118,8 +117,8 @@ public final class ViewConfigurationParams implements Parcelable { @Override public int hashCode() { return Objects.hash(mTouchSlopDp, mMinimumFlingVelocityDpPerSecond, mMaximumFlingVelocityDpPerSecond, mScrollFriction, mTapTimeoutMillis, return Objects.hash(mTouchSlopPixels, mMinimumFlingVelocityPixelsPerSecond, mMaximumFlingVelocityPixelsPerSecond, mScrollFriction, mTapTimeoutMillis, mDoubleTapTimeoutMillis, mDoubleTapMinTimeMillis, mLongPressTimeoutMillis, mMultiPressTimeoutMillis); } Loading @@ -128,9 +127,9 @@ public final class ViewConfigurationParams implements Parcelable { @NonNull public String toString() { return "ViewConfigurationParams(" + "mTouchSlopDp=" + mTouchSlopDp + ", mMinimumFlingVelocityDpPerSecond=" + mMinimumFlingVelocityDpPerSecond + ", mMaximumFlingVelocityDpPerSecond=" + mMaximumFlingVelocityDpPerSecond + "mTouchSlopPixels=" + mTouchSlopPixels + ", mMinimumFlingVelocityPixelsPerSecond=" + mMinimumFlingVelocityPixelsPerSecond + ", mMaximumFlingVelocityPixelsPerSecond=" + mMaximumFlingVelocityPixelsPerSecond + ", mScrollFriction=" + mScrollFriction + ", mTapTimeoutMillis=" + mTapTimeoutMillis + ", mDoubleTapTimeoutMillis=" + mDoubleTapTimeoutMillis Loading @@ -141,33 +140,33 @@ public final class ViewConfigurationParams implements Parcelable { } /** * Returns the touch slop in density independent pixels (dp). * Returns the touch slop in pixels. * * @see ViewConfiguration#getScaledTouchSlop() */ @FloatRange(from = 0) public float getTouchSlopDp() { return mTouchSlopDp; @IntRange(from = 0) public int getTouchSlopPixels() { return mTouchSlopPixels; } /** * Returns the minimum fling velocity in density independent pixels (dp) per second. * Returns the minimum fling velocity in pixels per second. * * @see ViewConfiguration#getScaledMinimumFlingVelocity() */ @FloatRange(from = 0) public float getMinimumFlingVelocityDpPerSecond() { return mMinimumFlingVelocityDpPerSecond; @IntRange(from = 0) public int getMinimumFlingVelocityPixelsPerSecond() { return mMinimumFlingVelocityPixelsPerSecond; } /** * Returns the maximum fling velocity in density independent pixels (dp) per second. * Returns the maximum fling velocity in pixels per second. * * @see ViewConfiguration#getScaledMaximumFlingVelocity() */ @FloatRange(from = 0) public float getMaximumFlingVelocityDpPerSecond() { return mMaximumFlingVelocityDpPerSecond; @IntRange(from = 0) public int getMaximumFlingVelocityPixelsPerSecond() { return mMaximumFlingVelocityPixelsPerSecond; } /** Loading Loading @@ -244,9 +243,9 @@ public final class ViewConfigurationParams implements Parcelable { @FlaggedApi(Flags.FLAG_VIEWCONFIGURATION_APIS) public static final class Builder { private float mTouchSlopDp = INVALID_VALUE; private float mMinimumFlingVelocityDpPerSecond = INVALID_VALUE; private float mMaximumFlingVelocityDpPerSecond = INVALID_VALUE; private int mTouchSlopPixels = INVALID_VALUE; private int mMinimumFlingVelocityPixelsPerSecond = INVALID_VALUE; private int mMaximumFlingVelocityPixelsPerSecond = INVALID_VALUE; private float mScrollFriction = INVALID_VALUE; private int mTapTimeoutMillis = INVALID_VALUE; private int mDoubleTapTimeoutMillis = INVALID_VALUE; Loading @@ -255,57 +254,55 @@ public final class ViewConfigurationParams implements Parcelable { private int mMultiPressTimeoutMillis = INVALID_VALUE; /** * Sets the touch slop in density independent pixels (dp). When this is set, * {@link ViewConfiguration#getScaledTouchSlop()} would return this value multiplied by * the display density for any context associated with the virtual device. * Sets the touch slop in pixels. When this is set, * {@link ViewConfiguration#getScaledTouchSlop()} would return this value for any context * associated with the virtual device. * * @throws IllegalArgumentException if the value is negative. * @see ViewConfiguration#getScaledTouchSlop() */ @NonNull public Builder setTouchSlopDp(@FloatRange(from = 0) float touchSlopDp) { if (touchSlopDp < 0) { public Builder setTouchSlopPixels(@IntRange(from = 0) int touchSlopPixels) { if (touchSlopPixels < 0) { throw new IllegalArgumentException("Touch slop cannot be negative"); } mTouchSlopDp = touchSlopDp; mTouchSlopPixels = touchSlopPixels; return this; } /** * Sets the minimum fling velocity in density independent pixels (dp) per second. When * this is set, {@link ViewConfiguration#getScaledMinimumFlingVelocity()} would return this * value multiplied by the display density for any context associated with the virtual * device. * Sets the minimum fling velocity in pixels per second. When this is set, * {@link ViewConfiguration#getScaledMinimumFlingVelocity()} would return this value for * any context associated with the virtual device. * * @throws IllegalArgumentException if the value is negative. * @see ViewConfiguration#getScaledMinimumFlingVelocity() */ @NonNull public Builder setMinimumFlingVelocityDpPerSecond( @FloatRange(from = 0) float minimumFlingVelocityDpPerSecond) { if (minimumFlingVelocityDpPerSecond < 0) { throw new IllegalArgumentException("Minimum ling velocity cannot be negative"); public Builder setMinimumFlingVelocityPixelsPerSecond( @IntRange(from = 0) int minimumFlingVelocityPixelsPerSecond) { if (minimumFlingVelocityPixelsPerSecond < 0) { throw new IllegalArgumentException("Minimum fling velocity cannot be negative"); } mMinimumFlingVelocityDpPerSecond = minimumFlingVelocityDpPerSecond; mMinimumFlingVelocityPixelsPerSecond = minimumFlingVelocityPixelsPerSecond; return this; } /** * Sets the maximum fling velocity in density independent pixels (dp) per second. When * this is set, {@link ViewConfiguration#getScaledMaximumFlingVelocity()} would return this * value multiplied by the display density for any context associated with the virtual * device. * Sets the maximum fling velocity in pixels per second. When this is set, * {@link ViewConfiguration#getScaledMaximumFlingVelocity()} would return this value for * any context associated with the virtual device. * * @throws IllegalArgumentException if the value is negative. * @see ViewConfiguration#getScaledMaximumFlingVelocity() */ @NonNull public Builder setMaximumFlingVelocityDpPerSecond( @FloatRange(from = 0) float maximumFlingVelocityDpPerSecond) { if (maximumFlingVelocityDpPerSecond < 0) { public Builder setMaximumFlingVelocityPixelsPerSecond( @IntRange(from = 0) int maximumFlingVelocityPixelsPerSecond) { if (maximumFlingVelocityPixelsPerSecond < 0) { throw new IllegalArgumentException("Maximum fling velocity cannot be negative"); } mMaximumFlingVelocityDpPerSecond = maximumFlingVelocityDpPerSecond; mMaximumFlingVelocityPixelsPerSecond = maximumFlingVelocityPixelsPerSecond; return this; } Loading Loading @@ -439,9 +436,9 @@ public final class ViewConfigurationParams implements Parcelable { */ @NonNull public ViewConfigurationParams build() { if (mTouchSlopDp == INVALID_VALUE && mMinimumFlingVelocityDpPerSecond == INVALID_VALUE && mMaximumFlingVelocityDpPerSecond == INVALID_VALUE if (mTouchSlopPixels == INVALID_VALUE && mMinimumFlingVelocityPixelsPerSecond == INVALID_VALUE && mMaximumFlingVelocityPixelsPerSecond == INVALID_VALUE && mScrollFriction == INVALID_VALUE && mTapTimeoutMillis == INVALID_VALUE && mDoubleTapTimeoutMillis == INVALID_VALUE Loading @@ -450,14 +447,16 @@ public final class ViewConfigurationParams implements Parcelable { && mMultiPressTimeoutMillis == INVALID_VALUE) { throw new IllegalArgumentException("None of the parameters are set"); } if (mMinimumFlingVelocityDpPerSecond != INVALID_VALUE && mMaximumFlingVelocityDpPerSecond != INVALID_VALUE && mMinimumFlingVelocityDpPerSecond > mMaximumFlingVelocityDpPerSecond) { if (mMinimumFlingVelocityPixelsPerSecond != INVALID_VALUE && mMaximumFlingVelocityPixelsPerSecond != INVALID_VALUE && mMinimumFlingVelocityPixelsPerSecond > mMaximumFlingVelocityPixelsPerSecond) { throw new IllegalArgumentException( "Minimum fling velocity cannot be greater than the maximum fling velocity"); } return new ViewConfigurationParams(mTouchSlopDp, mMinimumFlingVelocityDpPerSecond, mMaximumFlingVelocityDpPerSecond, mScrollFriction, mTapTimeoutMillis, return new ViewConfigurationParams(mTouchSlopPixels, mMinimumFlingVelocityPixelsPerSecond, mMaximumFlingVelocityPixelsPerSecond, mScrollFriction, mTapTimeoutMillis, mDoubleTapTimeoutMillis, mDoubleTapMinTimeMillis, mLongPressTimeoutMillis, mMultiPressTimeoutMillis); } Loading services/companion/java/com/android/server/companion/virtual/ViewConfigurationController.java +9 −9 Original line number Diff line number Diff line Loading @@ -110,12 +110,12 @@ public class ViewConfigurationController { .build(); OverlayIdentifier overlayIdentifier = overlay.getIdentifier(); boolean change = false; change |= setResourceDpValue(overlay, TOUCH_SLOP_RESOURCE_NAME, viewConfigurationParams.getTouchSlopDp()); change |= setResourceDpValue(overlay, MIN_FLING_VELOCITY_RESOURCE_NAME, viewConfigurationParams.getMinimumFlingVelocityDpPerSecond()); change |= setResourceDpValue(overlay, MAX_FLING_VELOCITY_RESOURCE_NAME, viewConfigurationParams.getMaximumFlingVelocityDpPerSecond()); change |= setResourcePixelValue(overlay, TOUCH_SLOP_RESOURCE_NAME, viewConfigurationParams.getTouchSlopPixels()); change |= setResourcePixelValue(overlay, MIN_FLING_VELOCITY_RESOURCE_NAME, viewConfigurationParams.getMinimumFlingVelocityPixelsPerSecond()); change |= setResourcePixelValue(overlay, MAX_FLING_VELOCITY_RESOURCE_NAME, viewConfigurationParams.getMaximumFlingVelocityPixelsPerSecond()); change |= setResourceFloatValue(overlay, SCROLL_FRICTION_RESOURCE_NAME, viewConfigurationParams.getScrollFriction()); change |= setResourceIntValue(overlay, TAP_TIMEOUT_RESOURCE_NAME, Loading Loading @@ -169,8 +169,8 @@ public class ViewConfigurationController { }); } private static boolean setResourceDpValue(@NonNull FabricatedOverlay overlay, @NonNull String resourceName, float value) { private static boolean setResourcePixelValue(@NonNull FabricatedOverlay overlay, @NonNull String resourceName, int value) { if (isInvalid(value)) { return false; } Loading @@ -180,7 +180,7 @@ public class ViewConfigurationController { return false; } overlay.setResourceValue(resourceName, value, TypedValue.COMPLEX_UNIT_DIP, overlay.setResourceValue(resourceName, (float) value, TypedValue.COMPLEX_UNIT_PX, null /* configuration */); return true; } Loading services/tests/servicestests/src/com/android/server/companion/virtual/ViewConfigurationControllerTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -136,9 +136,9 @@ public class ViewConfigurationControllerTest { .setDoubleTapTimeoutDuration(Duration.ofMillis(10L)) .setDoubleTapMinTimeDuration(Duration.ofMillis(10L)) .setScrollFriction(10f) .setMinimumFlingVelocityDpPerSecond(10f) .setMaximumFlingVelocityDpPerSecond(10f) .setTouchSlopDp(10f) .setMinimumFlingVelocityPixelsPerSecond(10) .setMaximumFlingVelocityPixelsPerSecond(10) .setTouchSlopPixels(10) .build(); } Loading services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -1471,9 +1471,9 @@ public class VirtualDeviceManagerServiceTest { .setDoubleTapTimeoutDuration(Duration.ofMillis(10L)) .setDoubleTapMinTimeDuration(Duration.ofMillis(10L)) .setScrollFriction(10f) .setMinimumFlingVelocityDpPerSecond(10f) .setMaximumFlingVelocityDpPerSecond(10f) .setTouchSlopDp(10f) .setMinimumFlingVelocityPixelsPerSecond(10) .setMaximumFlingVelocityPixelsPerSecond(10) .setTouchSlopPixels(10) .build(); VirtualDeviceImpl virtualDevice = createVirtualDevice(VIRTUAL_DEVICE_ID_1, Loading Loading
core/api/system-current.txt +6 −6 Original line number Diff line number Diff line Loading @@ -3527,12 +3527,12 @@ package android.companion.virtual { method @NonNull public java.time.Duration getDoubleTapMinTimeDuration(); method @NonNull public java.time.Duration getDoubleTapTimeoutDuration(); method @NonNull public java.time.Duration getLongPressTimeoutDuration(); method @FloatRange(from=0) public float getMaximumFlingVelocityDpPerSecond(); method @FloatRange(from=0) public float getMinimumFlingVelocityDpPerSecond(); method @IntRange(from=0) public int getMaximumFlingVelocityPixelsPerSecond(); method @IntRange(from=0) public int getMinimumFlingVelocityPixelsPerSecond(); method @NonNull public java.time.Duration getMultiPressTimeoutDuration(); method @FloatRange(from=0) public float getScrollFriction(); method @NonNull public java.time.Duration getTapTimeoutDuration(); method @FloatRange(from=0) public float getTouchSlopDp(); method @IntRange(from=0) public int getTouchSlopPixels(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.ViewConfigurationParams> CREATOR; } Loading @@ -3543,12 +3543,12 @@ package android.companion.virtual { method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setDoubleTapMinTimeDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setDoubleTapTimeoutDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setLongPressTimeoutDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMaximumFlingVelocityDpPerSecond(@FloatRange(from=0) float); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMinimumFlingVelocityDpPerSecond(@FloatRange(from=0) float); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMaximumFlingVelocityPixelsPerSecond(@IntRange(from=0) int); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMinimumFlingVelocityPixelsPerSecond(@IntRange(from=0) int); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setMultiPressTimeoutDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setScrollFriction(@FloatRange(from=0) float); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setTapTimeoutDuration(@NonNull java.time.Duration); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setTouchSlopDp(@FloatRange(from=0) float); method @NonNull public android.companion.virtual.ViewConfigurationParams.Builder setTouchSlopPixels(@IntRange(from=0) int); } public final class VirtualDevice implements android.os.Parcelable {
core/java/android/companion/virtual/ViewConfigurationParams.java +76 −77 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.companion.virtual; import android.annotation.FlaggedApi; import android.annotation.FloatRange; import android.annotation.IntRange; import android.annotation.NonNull; import android.annotation.SystemApi; import android.companion.virtualdevice.flags.Flags; Loading @@ -44,9 +45,9 @@ public final class ViewConfigurationParams implements Parcelable { */ public static final int INVALID_VALUE = -1; private final float mTouchSlopDp; private final float mMinimumFlingVelocityDpPerSecond; private final float mMaximumFlingVelocityDpPerSecond; private final int mTouchSlopPixels; private final int mMinimumFlingVelocityPixelsPerSecond; private final int mMaximumFlingVelocityPixelsPerSecond; private final float mScrollFriction; private final int mTapTimeoutMillis; private final int mDoubleTapTimeoutMillis; Loading @@ -54,13 +55,13 @@ public final class ViewConfigurationParams implements Parcelable { private final int mLongPressTimeoutMillis; private final int mMultiPressTimeoutMillis; private ViewConfigurationParams(float touchSlopDp, float minimumFlingVelocityDpPerSecond, float maximumFlingVelocityDpPerSecond, float scrollFriction, int tapTimeoutMillis, int doubleTapTimeoutMillis, int doubleTapMinTimeMillis, int longPressTimeoutMillis, int multiPressTimeoutMillis) { mTouchSlopDp = touchSlopDp; mMinimumFlingVelocityDpPerSecond = minimumFlingVelocityDpPerSecond; mMaximumFlingVelocityDpPerSecond = maximumFlingVelocityDpPerSecond; private ViewConfigurationParams(int touchSlopPixels, int minimumFlingVelocityPixelsPerSecond, int maximumFlingVelocityPixelsPerSecond, float scrollFriction, int tapTimeoutMillis, int doubleTapTimeoutMillis, int doubleTapMinTimeMillis, int longPressTimeoutMillis, int multiPressTimeoutMillis) { mTouchSlopPixels = touchSlopPixels; mMinimumFlingVelocityPixelsPerSecond = minimumFlingVelocityPixelsPerSecond; mMaximumFlingVelocityPixelsPerSecond = maximumFlingVelocityPixelsPerSecond; mScrollFriction = scrollFriction; mTapTimeoutMillis = tapTimeoutMillis; mDoubleTapTimeoutMillis = doubleTapTimeoutMillis; Loading @@ -70,9 +71,9 @@ public final class ViewConfigurationParams implements Parcelable { } private ViewConfigurationParams(Parcel in) { mTouchSlopDp = in.readFloat(); mMinimumFlingVelocityDpPerSecond = in.readFloat(); mMaximumFlingVelocityDpPerSecond = in.readFloat(); mTouchSlopPixels = in.readInt(); mMinimumFlingVelocityPixelsPerSecond = in.readInt(); mMaximumFlingVelocityPixelsPerSecond = in.readInt(); mScrollFriction = in.readFloat(); mTapTimeoutMillis = in.readInt(); mDoubleTapTimeoutMillis = in.readInt(); Loading @@ -88,9 +89,9 @@ public final class ViewConfigurationParams implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeFloat(mTouchSlopDp); dest.writeFloat(mMinimumFlingVelocityDpPerSecond); dest.writeFloat(mMaximumFlingVelocityDpPerSecond); dest.writeInt(mTouchSlopPixels); dest.writeInt(mMinimumFlingVelocityPixelsPerSecond); dest.writeInt(mMaximumFlingVelocityPixelsPerSecond); dest.writeFloat(mScrollFriction); dest.writeInt(mTapTimeoutMillis); dest.writeInt(mDoubleTapTimeoutMillis); Loading @@ -103,11 +104,9 @@ public final class ViewConfigurationParams implements Parcelable { public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof ViewConfigurationParams that)) return false; return Float.compare(mTouchSlopDp, that.mTouchSlopDp) == 0 && Float.compare(mMinimumFlingVelocityDpPerSecond, that.mMinimumFlingVelocityDpPerSecond) == 0 && Float.compare(mMaximumFlingVelocityDpPerSecond, that.mMaximumFlingVelocityDpPerSecond) == 0 return mTouchSlopPixels == that.mTouchSlopPixels && mMinimumFlingVelocityPixelsPerSecond == that.mMinimumFlingVelocityPixelsPerSecond && mMaximumFlingVelocityPixelsPerSecond == that.mMaximumFlingVelocityPixelsPerSecond && Float.compare(mScrollFriction, that.mScrollFriction) == 0 && mTapTimeoutMillis == that.mTapTimeoutMillis && mDoubleTapTimeoutMillis == that.mDoubleTapTimeoutMillis Loading @@ -118,8 +117,8 @@ public final class ViewConfigurationParams implements Parcelable { @Override public int hashCode() { return Objects.hash(mTouchSlopDp, mMinimumFlingVelocityDpPerSecond, mMaximumFlingVelocityDpPerSecond, mScrollFriction, mTapTimeoutMillis, return Objects.hash(mTouchSlopPixels, mMinimumFlingVelocityPixelsPerSecond, mMaximumFlingVelocityPixelsPerSecond, mScrollFriction, mTapTimeoutMillis, mDoubleTapTimeoutMillis, mDoubleTapMinTimeMillis, mLongPressTimeoutMillis, mMultiPressTimeoutMillis); } Loading @@ -128,9 +127,9 @@ public final class ViewConfigurationParams implements Parcelable { @NonNull public String toString() { return "ViewConfigurationParams(" + "mTouchSlopDp=" + mTouchSlopDp + ", mMinimumFlingVelocityDpPerSecond=" + mMinimumFlingVelocityDpPerSecond + ", mMaximumFlingVelocityDpPerSecond=" + mMaximumFlingVelocityDpPerSecond + "mTouchSlopPixels=" + mTouchSlopPixels + ", mMinimumFlingVelocityPixelsPerSecond=" + mMinimumFlingVelocityPixelsPerSecond + ", mMaximumFlingVelocityPixelsPerSecond=" + mMaximumFlingVelocityPixelsPerSecond + ", mScrollFriction=" + mScrollFriction + ", mTapTimeoutMillis=" + mTapTimeoutMillis + ", mDoubleTapTimeoutMillis=" + mDoubleTapTimeoutMillis Loading @@ -141,33 +140,33 @@ public final class ViewConfigurationParams implements Parcelable { } /** * Returns the touch slop in density independent pixels (dp). * Returns the touch slop in pixels. * * @see ViewConfiguration#getScaledTouchSlop() */ @FloatRange(from = 0) public float getTouchSlopDp() { return mTouchSlopDp; @IntRange(from = 0) public int getTouchSlopPixels() { return mTouchSlopPixels; } /** * Returns the minimum fling velocity in density independent pixels (dp) per second. * Returns the minimum fling velocity in pixels per second. * * @see ViewConfiguration#getScaledMinimumFlingVelocity() */ @FloatRange(from = 0) public float getMinimumFlingVelocityDpPerSecond() { return mMinimumFlingVelocityDpPerSecond; @IntRange(from = 0) public int getMinimumFlingVelocityPixelsPerSecond() { return mMinimumFlingVelocityPixelsPerSecond; } /** * Returns the maximum fling velocity in density independent pixels (dp) per second. * Returns the maximum fling velocity in pixels per second. * * @see ViewConfiguration#getScaledMaximumFlingVelocity() */ @FloatRange(from = 0) public float getMaximumFlingVelocityDpPerSecond() { return mMaximumFlingVelocityDpPerSecond; @IntRange(from = 0) public int getMaximumFlingVelocityPixelsPerSecond() { return mMaximumFlingVelocityPixelsPerSecond; } /** Loading Loading @@ -244,9 +243,9 @@ public final class ViewConfigurationParams implements Parcelable { @FlaggedApi(Flags.FLAG_VIEWCONFIGURATION_APIS) public static final class Builder { private float mTouchSlopDp = INVALID_VALUE; private float mMinimumFlingVelocityDpPerSecond = INVALID_VALUE; private float mMaximumFlingVelocityDpPerSecond = INVALID_VALUE; private int mTouchSlopPixels = INVALID_VALUE; private int mMinimumFlingVelocityPixelsPerSecond = INVALID_VALUE; private int mMaximumFlingVelocityPixelsPerSecond = INVALID_VALUE; private float mScrollFriction = INVALID_VALUE; private int mTapTimeoutMillis = INVALID_VALUE; private int mDoubleTapTimeoutMillis = INVALID_VALUE; Loading @@ -255,57 +254,55 @@ public final class ViewConfigurationParams implements Parcelable { private int mMultiPressTimeoutMillis = INVALID_VALUE; /** * Sets the touch slop in density independent pixels (dp). When this is set, * {@link ViewConfiguration#getScaledTouchSlop()} would return this value multiplied by * the display density for any context associated with the virtual device. * Sets the touch slop in pixels. When this is set, * {@link ViewConfiguration#getScaledTouchSlop()} would return this value for any context * associated with the virtual device. * * @throws IllegalArgumentException if the value is negative. * @see ViewConfiguration#getScaledTouchSlop() */ @NonNull public Builder setTouchSlopDp(@FloatRange(from = 0) float touchSlopDp) { if (touchSlopDp < 0) { public Builder setTouchSlopPixels(@IntRange(from = 0) int touchSlopPixels) { if (touchSlopPixels < 0) { throw new IllegalArgumentException("Touch slop cannot be negative"); } mTouchSlopDp = touchSlopDp; mTouchSlopPixels = touchSlopPixels; return this; } /** * Sets the minimum fling velocity in density independent pixels (dp) per second. When * this is set, {@link ViewConfiguration#getScaledMinimumFlingVelocity()} would return this * value multiplied by the display density for any context associated with the virtual * device. * Sets the minimum fling velocity in pixels per second. When this is set, * {@link ViewConfiguration#getScaledMinimumFlingVelocity()} would return this value for * any context associated with the virtual device. * * @throws IllegalArgumentException if the value is negative. * @see ViewConfiguration#getScaledMinimumFlingVelocity() */ @NonNull public Builder setMinimumFlingVelocityDpPerSecond( @FloatRange(from = 0) float minimumFlingVelocityDpPerSecond) { if (minimumFlingVelocityDpPerSecond < 0) { throw new IllegalArgumentException("Minimum ling velocity cannot be negative"); public Builder setMinimumFlingVelocityPixelsPerSecond( @IntRange(from = 0) int minimumFlingVelocityPixelsPerSecond) { if (minimumFlingVelocityPixelsPerSecond < 0) { throw new IllegalArgumentException("Minimum fling velocity cannot be negative"); } mMinimumFlingVelocityDpPerSecond = minimumFlingVelocityDpPerSecond; mMinimumFlingVelocityPixelsPerSecond = minimumFlingVelocityPixelsPerSecond; return this; } /** * Sets the maximum fling velocity in density independent pixels (dp) per second. When * this is set, {@link ViewConfiguration#getScaledMaximumFlingVelocity()} would return this * value multiplied by the display density for any context associated with the virtual * device. * Sets the maximum fling velocity in pixels per second. When this is set, * {@link ViewConfiguration#getScaledMaximumFlingVelocity()} would return this value for * any context associated with the virtual device. * * @throws IllegalArgumentException if the value is negative. * @see ViewConfiguration#getScaledMaximumFlingVelocity() */ @NonNull public Builder setMaximumFlingVelocityDpPerSecond( @FloatRange(from = 0) float maximumFlingVelocityDpPerSecond) { if (maximumFlingVelocityDpPerSecond < 0) { public Builder setMaximumFlingVelocityPixelsPerSecond( @IntRange(from = 0) int maximumFlingVelocityPixelsPerSecond) { if (maximumFlingVelocityPixelsPerSecond < 0) { throw new IllegalArgumentException("Maximum fling velocity cannot be negative"); } mMaximumFlingVelocityDpPerSecond = maximumFlingVelocityDpPerSecond; mMaximumFlingVelocityPixelsPerSecond = maximumFlingVelocityPixelsPerSecond; return this; } Loading Loading @@ -439,9 +436,9 @@ public final class ViewConfigurationParams implements Parcelable { */ @NonNull public ViewConfigurationParams build() { if (mTouchSlopDp == INVALID_VALUE && mMinimumFlingVelocityDpPerSecond == INVALID_VALUE && mMaximumFlingVelocityDpPerSecond == INVALID_VALUE if (mTouchSlopPixels == INVALID_VALUE && mMinimumFlingVelocityPixelsPerSecond == INVALID_VALUE && mMaximumFlingVelocityPixelsPerSecond == INVALID_VALUE && mScrollFriction == INVALID_VALUE && mTapTimeoutMillis == INVALID_VALUE && mDoubleTapTimeoutMillis == INVALID_VALUE Loading @@ -450,14 +447,16 @@ public final class ViewConfigurationParams implements Parcelable { && mMultiPressTimeoutMillis == INVALID_VALUE) { throw new IllegalArgumentException("None of the parameters are set"); } if (mMinimumFlingVelocityDpPerSecond != INVALID_VALUE && mMaximumFlingVelocityDpPerSecond != INVALID_VALUE && mMinimumFlingVelocityDpPerSecond > mMaximumFlingVelocityDpPerSecond) { if (mMinimumFlingVelocityPixelsPerSecond != INVALID_VALUE && mMaximumFlingVelocityPixelsPerSecond != INVALID_VALUE && mMinimumFlingVelocityPixelsPerSecond > mMaximumFlingVelocityPixelsPerSecond) { throw new IllegalArgumentException( "Minimum fling velocity cannot be greater than the maximum fling velocity"); } return new ViewConfigurationParams(mTouchSlopDp, mMinimumFlingVelocityDpPerSecond, mMaximumFlingVelocityDpPerSecond, mScrollFriction, mTapTimeoutMillis, return new ViewConfigurationParams(mTouchSlopPixels, mMinimumFlingVelocityPixelsPerSecond, mMaximumFlingVelocityPixelsPerSecond, mScrollFriction, mTapTimeoutMillis, mDoubleTapTimeoutMillis, mDoubleTapMinTimeMillis, mLongPressTimeoutMillis, mMultiPressTimeoutMillis); } Loading
services/companion/java/com/android/server/companion/virtual/ViewConfigurationController.java +9 −9 Original line number Diff line number Diff line Loading @@ -110,12 +110,12 @@ public class ViewConfigurationController { .build(); OverlayIdentifier overlayIdentifier = overlay.getIdentifier(); boolean change = false; change |= setResourceDpValue(overlay, TOUCH_SLOP_RESOURCE_NAME, viewConfigurationParams.getTouchSlopDp()); change |= setResourceDpValue(overlay, MIN_FLING_VELOCITY_RESOURCE_NAME, viewConfigurationParams.getMinimumFlingVelocityDpPerSecond()); change |= setResourceDpValue(overlay, MAX_FLING_VELOCITY_RESOURCE_NAME, viewConfigurationParams.getMaximumFlingVelocityDpPerSecond()); change |= setResourcePixelValue(overlay, TOUCH_SLOP_RESOURCE_NAME, viewConfigurationParams.getTouchSlopPixels()); change |= setResourcePixelValue(overlay, MIN_FLING_VELOCITY_RESOURCE_NAME, viewConfigurationParams.getMinimumFlingVelocityPixelsPerSecond()); change |= setResourcePixelValue(overlay, MAX_FLING_VELOCITY_RESOURCE_NAME, viewConfigurationParams.getMaximumFlingVelocityPixelsPerSecond()); change |= setResourceFloatValue(overlay, SCROLL_FRICTION_RESOURCE_NAME, viewConfigurationParams.getScrollFriction()); change |= setResourceIntValue(overlay, TAP_TIMEOUT_RESOURCE_NAME, Loading Loading @@ -169,8 +169,8 @@ public class ViewConfigurationController { }); } private static boolean setResourceDpValue(@NonNull FabricatedOverlay overlay, @NonNull String resourceName, float value) { private static boolean setResourcePixelValue(@NonNull FabricatedOverlay overlay, @NonNull String resourceName, int value) { if (isInvalid(value)) { return false; } Loading @@ -180,7 +180,7 @@ public class ViewConfigurationController { return false; } overlay.setResourceValue(resourceName, value, TypedValue.COMPLEX_UNIT_DIP, overlay.setResourceValue(resourceName, (float) value, TypedValue.COMPLEX_UNIT_PX, null /* configuration */); return true; } Loading
services/tests/servicestests/src/com/android/server/companion/virtual/ViewConfigurationControllerTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -136,9 +136,9 @@ public class ViewConfigurationControllerTest { .setDoubleTapTimeoutDuration(Duration.ofMillis(10L)) .setDoubleTapMinTimeDuration(Duration.ofMillis(10L)) .setScrollFriction(10f) .setMinimumFlingVelocityDpPerSecond(10f) .setMaximumFlingVelocityDpPerSecond(10f) .setTouchSlopDp(10f) .setMinimumFlingVelocityPixelsPerSecond(10) .setMaximumFlingVelocityPixelsPerSecond(10) .setTouchSlopPixels(10) .build(); } Loading
services/tests/servicestests/src/com/android/server/companion/virtual/VirtualDeviceManagerServiceTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -1471,9 +1471,9 @@ public class VirtualDeviceManagerServiceTest { .setDoubleTapTimeoutDuration(Duration.ofMillis(10L)) .setDoubleTapMinTimeDuration(Duration.ofMillis(10L)) .setScrollFriction(10f) .setMinimumFlingVelocityDpPerSecond(10f) .setMaximumFlingVelocityDpPerSecond(10f) .setTouchSlopDp(10f) .setMinimumFlingVelocityPixelsPerSecond(10) .setMaximumFlingVelocityPixelsPerSecond(10) .setTouchSlopPixels(10) .build(); VirtualDeviceImpl virtualDevice = createVirtualDevice(VIRTUAL_DEVICE_ID_1, Loading