.class public final Landroidx/core/view/ViewConfigurationCompat; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/core/view/ViewConfigurationCompat$Api26Impl;, Landroidx/core/view/ViewConfigurationCompat$Api28Impl;, Landroidx/core/view/ViewConfigurationCompat$Api34Impl; } .end annotation # static fields .field private static final NO_FLING_MAX_VELOCITY:I = -0x80000000 .field private static final NO_FLING_MIN_VELOCITY:I = 0x7fffffff .field private static final RESOURCE_ID_NOT_SUPPORTED:I = -0x1 .field private static final RESOURCE_ID_SUPPORTED_BUT_NOT_FOUND:I = 0x0 .field private static final TAG:Ljava/lang/String; = "ViewConfigCompat" .field private static sGetScaledScrollFactorMethod:Ljava/lang/reflect/Method; # direct methods .method static constructor ()V .locals 0 return-void .end method .method private constructor ()V .locals 0 .line 288 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static getCompatFlingVelocityThreshold(Landroid/content/res/Resources;ILandroidx/core/util/Supplier;I)I .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/content/res/Resources;", "I", "Landroidx/core/util/Supplier<", "Ljava/lang/Integer;", ">;I)I" } .end annotation const/4 v0, -0x1 if-eq p1, v0, :cond_2 if-eqz p1, :cond_1 .line 395 invoke-virtual {p0, p1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result p0 if-gez p0, :cond_0 goto :goto_0 :cond_0 move p3, p0 :cond_1 :goto_0 return p3 .line 389 :cond_2 invoke-interface {p2}, Landroidx/core/util/Supplier;->get()Ljava/lang/Object; move-result-object p0 check-cast p0, Ljava/lang/Integer; invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I move-result p0 return p0 .end method .method private static getLegacyScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F .locals 3 sget-object v0, Landroidx/core/view/ViewConfigurationCompat;->sGetScaledScrollFactorMethod:Ljava/lang/reflect/Method; if-eqz v0, :cond_0 const/4 v1, 0x0 :try_start_0 new-array v1, v1, [Ljava/lang/Object; .line 127 invoke-virtual {v0, p0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Ljava/lang/Integer; invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I move-result p0 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 int-to-float p0, p0 return p0 .line 133 :catch_0 :cond_0 new-instance p0, Landroid/util/TypedValue; invoke-direct {p0}, Landroid/util/TypedValue;->()V .line 134 invoke-virtual {p1}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme; move-result-object v0 const v1, 0x101004d const/4 v2, 0x1 invoke-virtual {v0, v1, p0, v2}, Landroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z move-result v0 if-eqz v0, :cond_1 .line 136 invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object p1 invoke-virtual {p1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object p1 invoke-virtual {p0, p1}, Landroid/util/TypedValue;->getDimension(Landroid/util/DisplayMetrics;)F move-result p0 return p0 :cond_1 const/4 p0, 0x0 return p0 .end method .method private static getPlatformResId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;)I .locals 1 const-string v0, "android" .line 362 invoke-virtual {p0, p1, p2, v0}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I move-result p0 return p0 .end method .method private static getPreApi34MaximumFlingVelocityResId(Landroid/content/res/Resources;II)I .locals 1 const/high16 v0, 0x400000 if-ne p1, v0, :cond_0 const/16 p1, 0x1a if-ne p2, p1, :cond_0 const-string p1, "config_viewMaxRotaryEncoderFlingVelocity" const-string p2, "dimen" .line 347 invoke-static {p0, p1, p2}, Landroidx/core/view/ViewConfigurationCompat;->getPlatformResId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;)I move-result p0 return p0 :cond_0 const/4 p0, -0x1 return p0 .end method .method private static getPreApi34MinimumFlingVelocityResId(Landroid/content/res/Resources;II)I .locals 1 const/high16 v0, 0x400000 if-ne p1, v0, :cond_0 const/16 p1, 0x1a if-ne p2, p1, :cond_0 const-string p1, "config_viewMinRotaryEncoderFlingVelocity" const-string p2, "dimen" .line 355 invoke-static {p0, p1, p2}, Landroidx/core/view/ViewConfigurationCompat;->getPlatformResId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;)I move-result p0 return p0 :cond_0 const/4 p0, -0x1 return p0 .end method .method public static getScaledHorizontalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F .locals 0 .param p0 # Landroid/view/ViewConfiguration; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 100 invoke-static {p0}, Landroidx/core/view/ViewConfigurationCompat$Api26Impl;->getScaledHorizontalScrollFactor(Landroid/view/ViewConfiguration;)F move-result p0 return p0 .end method .method public static getScaledHoverSlop(Landroid/view/ViewConfiguration;)I .locals 2 .param p0 # Landroid/view/ViewConfiguration; .annotation build Landroidx/annotation/NonNull; .end annotation .end param sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1c if-lt v0, v1, :cond_0 .line 148 invoke-static {p0}, Landroidx/core/view/ViewConfigurationCompat$Api28Impl;->getScaledHoverSlop(Landroid/view/ViewConfiguration;)I move-result p0 return p0 .line 150 :cond_0 invoke-virtual {p0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result p0 div-int/lit8 p0, p0, 0x2 return p0 .end method .method public static getScaledMaximumFlingVelocity(Landroid/content/Context;Landroid/view/ViewConfiguration;III)I .locals 2 .param p0 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p1 # Landroid/view/ViewConfiguration; .annotation build Landroidx/annotation/NonNull; .end annotation .end param sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x22 if-lt v0, v1, :cond_0 .line 273 invoke-static {p1, p2, p3, p4}, Landroidx/core/view/ViewConfigurationCompat$Api34Impl;->getScaledMaximumFlingVelocity(Landroid/view/ViewConfiguration;III)I move-result p0 return p0 .line 276 :cond_0 invoke-static {p2, p3, p4}, Landroidx/core/view/ViewConfigurationCompat;->isInputDeviceInfoValid(III)Z move-result p2 const/high16 v0, -0x80000000 if-nez p2, :cond_1 return v0 .line 280 :cond_1 invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object p0 .line 283 invoke-static {p0, p4, p3}, Landroidx/core/view/ViewConfigurationCompat;->getPreApi34MaximumFlingVelocityResId(Landroid/content/res/Resources;II)I move-result p2 .line 284 invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; new-instance p3, Landroidx/core/view/ViewConfigurationCompat$$ExternalSyntheticLambda1; invoke-direct {p3, p1}, Landroidx/core/view/ViewConfigurationCompat$$ExternalSyntheticLambda1;->(Landroid/view/ViewConfiguration;)V .line 281 invoke-static {p0, p2, p3, v0}, Landroidx/core/view/ViewConfigurationCompat;->getCompatFlingVelocityThreshold(Landroid/content/res/Resources;ILandroidx/core/util/Supplier;I)I move-result p0 return p0 .end method .method public static getScaledMinimumFlingVelocity(Landroid/content/Context;Landroid/view/ViewConfiguration;III)I .locals 2 .param p0 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p1 # Landroid/view/ViewConfiguration; .annotation build Landroidx/annotation/NonNull; .end annotation .end param sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x22 if-lt v0, v1, :cond_0 .line 240 invoke-static {p1, p2, p3, p4}, Landroidx/core/view/ViewConfigurationCompat$Api34Impl;->getScaledMinimumFlingVelocity(Landroid/view/ViewConfiguration;III)I move-result p0 return p0 .line 243 :cond_0 invoke-static {p2, p3, p4}, Landroidx/core/view/ViewConfigurationCompat;->isInputDeviceInfoValid(III)Z move-result p2 const v0, 0x7fffffff if-nez p2, :cond_1 return v0 .line 247 :cond_1 invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object p0 .line 250 invoke-static {p0, p4, p3}, Landroidx/core/view/ViewConfigurationCompat;->getPreApi34MinimumFlingVelocityResId(Landroid/content/res/Resources;II)I move-result p2 .line 251 invoke-static {p1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object; new-instance p3, Landroidx/core/view/ViewConfigurationCompat$$ExternalSyntheticLambda0; invoke-direct {p3, p1}, Landroidx/core/view/ViewConfigurationCompat$$ExternalSyntheticLambda0;->(Landroid/view/ViewConfiguration;)V .line 248 invoke-static {p0, p2, p3, v0}, Landroidx/core/view/ViewConfigurationCompat;->getCompatFlingVelocityThreshold(Landroid/content/res/Resources;ILandroidx/core/util/Supplier;I)I move-result p0 return p0 .end method .method public static getScaledPagingTouchSlop(Landroid/view/ViewConfiguration;)I .locals 0 .annotation runtime Landroidx/annotation/ReplaceWith; expression = "config.getScaledPagingTouchSlop()" .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation .line 74 invoke-virtual {p0}, Landroid/view/ViewConfiguration;->getScaledPagingTouchSlop()I move-result p0 return p0 .end method .method public static getScaledVerticalScrollFactor(Landroid/view/ViewConfiguration;Landroid/content/Context;)F .locals 0 .param p0 # Landroid/view/ViewConfiguration; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 117 invoke-static {p0}, Landroidx/core/view/ViewConfigurationCompat$Api26Impl;->getScaledVerticalScrollFactor(Landroid/view/ViewConfiguration;)F move-result p0 return p0 .end method .method public static hasPermanentMenuKey(Landroid/view/ViewConfiguration;)Z .locals 0 .annotation runtime Landroidx/annotation/ReplaceWith; expression = "config.hasPermanentMenuKey()" .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation .line 86 invoke-virtual {p0}, Landroid/view/ViewConfiguration;->hasPermanentMenuKey()Z move-result p0 return p0 .end method .method private static isInputDeviceInfoValid(III)Z .locals 0 .line 366 invoke-static {p0}, Landroid/view/InputDevice;->getDevice(I)Landroid/view/InputDevice; move-result-object p0 if-eqz p0, :cond_0 .line 367 invoke-virtual {p0, p1, p2}, Landroid/view/InputDevice;->getMotionRange(II)Landroid/view/InputDevice$MotionRange; move-result-object p0 if-eqz p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public static shouldShowMenuShortcutsWhenKeyboardPresent(Landroid/view/ViewConfiguration;Landroid/content/Context;)Z .locals 2 .param p0 # Landroid/view/ViewConfiguration; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1c if-lt v0, v1, :cond_0 .line 162 invoke-static {p0}, Landroidx/core/view/ViewConfigurationCompat$Api28Impl;->shouldShowMenuShortcutsWhenKeyboardPresent(Landroid/view/ViewConfiguration;)Z move-result p0 return p0 .line 164 :cond_0 invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object p0 const-string p1, "config_showMenuShortcutsWhenKeyboardPresent" const-string v0, "bool" .line 166 invoke-static {p0, p1, v0}, Landroidx/core/view/ViewConfigurationCompat;->getPlatformResId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;)I move-result p1 if-eqz p1, :cond_1 .line 167 invoke-virtual {p0, p1}, Landroid/content/res/Resources;->getBoolean(I)Z move-result p0 if-eqz p0, :cond_1 const/4 p0, 0x1 goto :goto_0 :cond_1 const/4 p0, 0x0 :goto_0 return p0 .end method