Files
rr3-apk/decompiled-community/sources/androidx/core/view/VelocityTrackerCompat.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

137 lines
4.8 KiB
Java

package androidx.core.view;
import android.os.Build;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.ReplaceWith;
import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Collections;
import java.util.Map;
import java.util.WeakHashMap;
/* loaded from: classes.dex */
public final class VelocityTrackerCompat {
private static Map<VelocityTracker, VelocityTrackerFallback> sFallbackTrackers = Collections.synchronizedMap(new WeakHashMap());
@Retention(RetentionPolicy.SOURCE)
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public @interface VelocityTrackableMotionEventAxis {
}
@ReplaceWith(expression = "tracker.getXVelocity(pointerId)")
@Deprecated
public static float getXVelocity(VelocityTracker velocityTracker, int i) {
return velocityTracker.getXVelocity(i);
}
@ReplaceWith(expression = "tracker.getYVelocity(pointerId)")
@Deprecated
public static float getYVelocity(VelocityTracker velocityTracker, int i) {
return velocityTracker.getYVelocity(i);
}
public static boolean isAxisSupported(@NonNull VelocityTracker velocityTracker, int i) {
if (Build.VERSION.SDK_INT >= 34) {
return Api34Impl.isAxisSupported(velocityTracker, i);
}
return i == 26 || i == 0 || i == 1;
}
public static float getAxisVelocity(@NonNull VelocityTracker velocityTracker, int i) {
if (Build.VERSION.SDK_INT >= 34) {
return Api34Impl.getAxisVelocity(velocityTracker, i);
}
if (i == 0) {
return velocityTracker.getXVelocity();
}
if (i == 1) {
return velocityTracker.getYVelocity();
}
VelocityTrackerFallback fallbackTrackerOrNull = getFallbackTrackerOrNull(velocityTracker);
if (fallbackTrackerOrNull != null) {
return fallbackTrackerOrNull.getAxisVelocity(i);
}
return 0.0f;
}
public static float getAxisVelocity(@NonNull VelocityTracker velocityTracker, int i, int i2) {
if (Build.VERSION.SDK_INT >= 34) {
return Api34Impl.getAxisVelocity(velocityTracker, i, i2);
}
if (i == 0) {
return velocityTracker.getXVelocity(i2);
}
if (i == 1) {
return velocityTracker.getYVelocity(i2);
}
return 0.0f;
}
public static void clear(@NonNull VelocityTracker velocityTracker) {
velocityTracker.clear();
removeFallbackForTracker(velocityTracker);
}
public static void recycle(@NonNull VelocityTracker velocityTracker) {
velocityTracker.recycle();
removeFallbackForTracker(velocityTracker);
}
public static void computeCurrentVelocity(@NonNull VelocityTracker velocityTracker, int i, float f) {
velocityTracker.computeCurrentVelocity(i, f);
VelocityTrackerFallback fallbackTrackerOrNull = getFallbackTrackerOrNull(velocityTracker);
if (fallbackTrackerOrNull != null) {
fallbackTrackerOrNull.computeCurrentVelocity(i, f);
}
}
public static void computeCurrentVelocity(@NonNull VelocityTracker velocityTracker, int i) {
computeCurrentVelocity(velocityTracker, i, Float.MAX_VALUE);
}
public static void addMovement(@NonNull VelocityTracker velocityTracker, @NonNull MotionEvent motionEvent) {
velocityTracker.addMovement(motionEvent);
if (Build.VERSION.SDK_INT < 34 && motionEvent.getSource() == 4194304) {
if (!sFallbackTrackers.containsKey(velocityTracker)) {
sFallbackTrackers.put(velocityTracker, new VelocityTrackerFallback());
}
sFallbackTrackers.get(velocityTracker).addMovement(motionEvent);
}
}
private static void removeFallbackForTracker(VelocityTracker velocityTracker) {
sFallbackTrackers.remove(velocityTracker);
}
@Nullable
private static VelocityTrackerFallback getFallbackTrackerOrNull(VelocityTracker velocityTracker) {
return sFallbackTrackers.get(velocityTracker);
}
@RequiresApi(34)
public static class Api34Impl {
private Api34Impl() {
}
public static boolean isAxisSupported(VelocityTracker velocityTracker, int i) {
return velocityTracker.isAxisSupported(i);
}
public static float getAxisVelocity(VelocityTracker velocityTracker, int i, int i2) {
return velocityTracker.getAxisVelocity(i, i2);
}
public static float getAxisVelocity(VelocityTracker velocityTracker, int i) {
return velocityTracker.getAxisVelocity(i);
}
}
private VelocityTrackerCompat() {
}
}