.class public Landroidx/appcompat/widget/SwitchCompat; .super Landroid/widget/CompoundButton; .source "SourceFile" # interfaces .implements Landroidx/appcompat/widget/EmojiCompatConfigurationView; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/appcompat/widget/SwitchCompat$EmojiCompatInitCallback; } .end annotation # static fields .field private static final ACCESSIBILITY_EVENT_CLASS_NAME:Ljava/lang/String; = "android.widget.Switch" .field private static final CHECKED_STATE_SET:[I .field private static final MONOSPACE:I = 0x3 .field private static final SANS:I = 0x1 .field private static final SERIF:I = 0x2 .field private static final THUMB_ANIMATION_DURATION:I = 0xfa .field private static final THUMB_POS:Landroid/util/Property; .annotation system Ldalvik/annotation/Signature; value = { "Landroid/util/Property<", "Landroidx/appcompat/widget/SwitchCompat;", "Ljava/lang/Float;", ">;" } .end annotation .end field .field private static final TOUCH_MODE_DOWN:I = 0x1 .field private static final TOUCH_MODE_DRAGGING:I = 0x2 .field private static final TOUCH_MODE_IDLE:I # instance fields .field private mAppCompatEmojiTextHelper:Landroidx/appcompat/widget/AppCompatEmojiTextHelper; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private mEmojiCompatInitCallback:Landroidx/appcompat/widget/SwitchCompat$EmojiCompatInitCallback; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private mEnforceSwitchWidth:Z .field private mHasThumbTint:Z .field private mHasThumbTintMode:Z .field private mHasTrackTint:Z .field private mHasTrackTintMode:Z .field private mMinFlingVelocity:I .field private mOffLayout:Landroid/text/Layout; .field private mOnLayout:Landroid/text/Layout; .field mPositionAnimator:Landroid/animation/ObjectAnimator; .field private mShowText:Z .field private mSplitTrack:Z .field private mSwitchBottom:I .field private mSwitchHeight:I .field private mSwitchLeft:I .field private mSwitchMinWidth:I .field private mSwitchPadding:I .field private mSwitchRight:I .field private mSwitchTop:I .field private mSwitchTransformationMethod:Landroid/text/method/TransformationMethod; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private mSwitchWidth:I .field private final mTempRect:Landroid/graphics/Rect; .field private mTextColors:Landroid/content/res/ColorStateList; .field private final mTextHelper:Landroidx/appcompat/widget/AppCompatTextHelper; .field private mTextOff:Ljava/lang/CharSequence; .field private mTextOffTransformed:Ljava/lang/CharSequence; .field private mTextOn:Ljava/lang/CharSequence; .field private mTextOnTransformed:Ljava/lang/CharSequence; .field private final mTextPaint:Landroid/text/TextPaint; .field private mThumbDrawable:Landroid/graphics/drawable/Drawable; .field mThumbPosition:F .field private mThumbTextPadding:I .field private mThumbTintList:Landroid/content/res/ColorStateList; .field private mThumbTintMode:Landroid/graphics/PorterDuff$Mode; .field private mThumbWidth:I .field private mTouchMode:I .field private mTouchSlop:I .field private mTouchX:F .field private mTouchY:F .field private mTrackDrawable:Landroid/graphics/drawable/Drawable; .field private mTrackTintList:Landroid/content/res/ColorStateList; .field private mTrackTintMode:Landroid/graphics/PorterDuff$Mode; .field private mVelocityTracker:Landroid/view/VelocityTracker; # direct methods .method static constructor ()V .locals 3 .line 118 new-instance v0, Landroidx/appcompat/widget/SwitchCompat$1; const-class v1, Ljava/lang/Float; const-string v2, "thumbPos" invoke-direct {v0, v1, v2}, Landroidx/appcompat/widget/SwitchCompat$1;->(Ljava/lang/Class;Ljava/lang/String;)V sput-object v0, Landroidx/appcompat/widget/SwitchCompat;->THUMB_POS:Landroid/util/Property; const v0, 0x10100a0 filled-new-array {v0}, [I move-result-object v0 sput-object v0, Landroidx/appcompat/widget/SwitchCompat;->CHECKED_STATE_SET:[I return-void .end method .method public constructor (Landroid/content/Context;)V .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param const/4 v0, 0x0 .line 220 invoke-direct {p0, p1, v0}, Landroidx/appcompat/widget/SwitchCompat;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param sget v0, Landroidx/appcompat/R$attr;->switchStyle:I .line 231 invoke-direct {p0, p1, p2, v0}, Landroidx/appcompat/widget/SwitchCompat;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 11 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 245 invoke-direct {p0, p1, p2, p3}, Landroid/widget/CompoundButton;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V const/4 v0, 0x0 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintList:Landroid/content/res/ColorStateList; iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; const/4 v1, 0x0 iput-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z iput-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintList:Landroid/content/res/ColorStateList; iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; iput-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z iput-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z .line 157 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v2 iput-object v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mVelocityTracker:Landroid/view/VelocityTracker; const/4 v2, 0x1 iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mEnforceSwitchWidth:Z .line 207 new-instance v3, Landroid/graphics/Rect; invoke-direct {v3}, Landroid/graphics/Rect;->()V iput-object v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; .line 247 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v3 invoke-static {p0, v3}, Landroidx/appcompat/widget/ThemeUtils;->checkAppCompatTheme(Landroid/view/View;Landroid/content/Context;)V .line 249 new-instance v3, Landroid/text/TextPaint; invoke-direct {v3, v2}, Landroid/text/TextPaint;->(I)V iput-object v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; .line 251 invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources; move-result-object v4 .line 252 invoke-virtual {v4}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v4 iget v4, v4, Landroid/util/DisplayMetrics;->density:F iput v4, v3, Landroid/text/TextPaint;->density:F .line 254 sget-object v3, Landroidx/appcompat/R$styleable;->SwitchCompat:[I invoke-static {p1, p2, v3, p3, v1}, Landroidx/appcompat/widget/TintTypedArray;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[III)Landroidx/appcompat/widget/TintTypedArray; move-result-object v3 .line 256 sget-object v6, Landroidx/appcompat/R$styleable;->SwitchCompat:[I .line 258 invoke-virtual {v3}, Landroidx/appcompat/widget/TintTypedArray;->getWrappedTypeArray()Landroid/content/res/TypedArray; move-result-object v8 const/4 v10, 0x0 move-object v4, p0 move-object v5, p1 move-object v7, p2 move v9, p3 .line 256 invoke-static/range {v4 .. v10}, Landroidx/core/view/ViewCompat;->saveAttributeDataForStyleable(Landroid/view/View;Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V .line 260 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_android_thumb:I invoke-virtual {v3, v4}, Landroidx/appcompat/widget/TintTypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v4 iput-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v4, :cond_0 .line 262 invoke-virtual {v4, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 264 :cond_0 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_track:I invoke-virtual {v3, v4}, Landroidx/appcompat/widget/TintTypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v4 iput-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v4, :cond_1 .line 266 invoke-virtual {v4, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 268 :cond_1 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_android_textOn:I invoke-virtual {v3, v4}, Landroidx/appcompat/widget/TintTypedArray;->getText(I)Ljava/lang/CharSequence; move-result-object v4 invoke-direct {p0, v4}, Landroidx/appcompat/widget/SwitchCompat;->setTextOnInternal(Ljava/lang/CharSequence;)V .line 269 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_android_textOff:I invoke-virtual {v3, v4}, Landroidx/appcompat/widget/TintTypedArray;->getText(I)Ljava/lang/CharSequence; move-result-object v4 invoke-direct {p0, v4}, Landroidx/appcompat/widget/SwitchCompat;->setTextOffInternal(Ljava/lang/CharSequence;)V .line 270 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_showText:I invoke-virtual {v3, v4, v2}, Landroidx/appcompat/widget/TintTypedArray;->getBoolean(IZ)Z move-result v4 iput-boolean v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z .line 271 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_thumbTextPadding:I invoke-virtual {v3, v4, v1}, Landroidx/appcompat/widget/TintTypedArray;->getDimensionPixelSize(II)I move-result v4 iput v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTextPadding:I .line 273 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_switchMinWidth:I invoke-virtual {v3, v4, v1}, Landroidx/appcompat/widget/TintTypedArray;->getDimensionPixelSize(II)I move-result v4 iput v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchMinWidth:I .line 275 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_switchPadding:I invoke-virtual {v3, v4, v1}, Landroidx/appcompat/widget/TintTypedArray;->getDimensionPixelSize(II)I move-result v4 iput v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchPadding:I .line 277 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_splitTrack:I invoke-virtual {v3, v4, v1}, Landroidx/appcompat/widget/TintTypedArray;->getBoolean(IZ)Z move-result v4 iput-boolean v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSplitTrack:Z .line 279 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_thumbTint:I invoke-virtual {v3, v4}, Landroidx/appcompat/widget/TintTypedArray;->getColorStateList(I)Landroid/content/res/ColorStateList; move-result-object v4 if-eqz v4, :cond_2 iput-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintList:Landroid/content/res/ColorStateList; iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z .line 284 :cond_2 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_thumbTintMode:I const/4 v5, -0x1 .line 285 invoke-virtual {v3, v4, v5}, Landroidx/appcompat/widget/TintTypedArray;->getInt(II)I move-result v4 .line 284 invoke-static {v4, v0}, Landroidx/appcompat/widget/DrawableUtils;->parseTintMode(ILandroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuff$Mode; move-result-object v4 iget-object v6, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; if-eq v6, v4, :cond_3 iput-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z :cond_3 iget-boolean v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z if-nez v4, :cond_4 iget-boolean v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z if-eqz v4, :cond_5 .line 291 :cond_4 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyThumbTint()V .line 294 :cond_5 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_trackTint:I invoke-virtual {v3, v4}, Landroidx/appcompat/widget/TintTypedArray;->getColorStateList(I)Landroid/content/res/ColorStateList; move-result-object v4 if-eqz v4, :cond_6 iput-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintList:Landroid/content/res/ColorStateList; iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z .line 299 :cond_6 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_trackTintMode:I .line 300 invoke-virtual {v3, v4, v5}, Landroidx/appcompat/widget/TintTypedArray;->getInt(II)I move-result v4 .line 299 invoke-static {v4, v0}, Landroidx/appcompat/widget/DrawableUtils;->parseTintMode(ILandroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuff$Mode; move-result-object v0 iget-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; if-eq v4, v0, :cond_7 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z :cond_7 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z if-nez v0, :cond_8 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z if-eqz v0, :cond_9 .line 306 :cond_8 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyTrackTint()V .line 309 :cond_9 sget v0, Landroidx/appcompat/R$styleable;->SwitchCompat_switchTextAppearance:I invoke-virtual {v3, v0, v1}, Landroidx/appcompat/widget/TintTypedArray;->getResourceId(II)I move-result v0 if-eqz v0, :cond_a .line 312 invoke-virtual {p0, p1, v0}, Landroidx/appcompat/widget/SwitchCompat;->setSwitchTextAppearance(Landroid/content/Context;I)V .line 315 :cond_a new-instance v0, Landroidx/appcompat/widget/AppCompatTextHelper; invoke-direct {v0, p0}, Landroidx/appcompat/widget/AppCompatTextHelper;->(Landroid/widget/TextView;)V iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextHelper:Landroidx/appcompat/widget/AppCompatTextHelper; .line 316 invoke-virtual {v0, p2, p3}, Landroidx/appcompat/widget/AppCompatTextHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V .line 318 invoke-virtual {v3}, Landroidx/appcompat/widget/TintTypedArray;->recycle()V .line 320 invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object p1 .line 321 invoke-virtual {p1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v0 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchSlop:I .line 322 invoke-virtual {p1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I move-result p1 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mMinFlingVelocity:I .line 324 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper; move-result-object p1 .line 325 invoke-virtual {p1, p2, p3}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V .line 328 invoke-virtual {p0}, Landroid/view/View;->refreshDrawableState()V .line 329 invoke-virtual {p0}, Landroid/widget/CompoundButton;->isChecked()Z move-result p1 invoke-virtual {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setChecked(Z)V return-void .end method .method private animateThumbToCheckedState(Z)V .locals 4 if-eqz p1, :cond_0 const/high16 p1, 0x3f800000 # 1.0f goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 sget-object v0, Landroidx/appcompat/widget/SwitchCompat;->THUMB_POS:Landroid/util/Property; const/4 v1, 0x1 new-array v2, v1, [F const/4 v3, 0x0 aput p1, v2, v3 .line 1138 invoke-static {p0, v0, v2}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator; move-result-object p1 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; const-wide/16 v2, 0xfa .line 1139 invoke-virtual {p1, v2, v3}, Landroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator; iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; .line 1140 invoke-virtual {p1, v1}, Landroid/animation/ObjectAnimator;->setAutoCancel(Z)V iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; .line 1141 invoke-virtual {p1}, Landroid/animation/ObjectAnimator;->start()V return-void .end method .method private applyThumbTint()V .locals 2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_3 iget-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z if-nez v1, :cond_0 iget-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z if-eqz v1, :cond_3 .line 752 :cond_0 invoke-static {v0}, Landroidx/core/graphics/drawable/DrawableCompat;->wrap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object v0 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable; move-result-object v0 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; iget-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z if-eqz v1, :cond_1 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintList:Landroid/content/res/ColorStateList; .line 755 invoke-static {v0, v1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintList(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V :cond_1 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z if-eqz v0, :cond_2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; .line 759 invoke-static {v0, v1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintMode(Landroid/graphics/drawable/Drawable;Landroid/graphics/PorterDuff$Mode;)V :cond_2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; .line 764 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result v0 if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; .line 765 invoke-virtual {p0}, Landroid/view/View;->getDrawableState()[I move-result-object v1 invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setState([I)Z :cond_3 return-void .end method .method private applyTrackTint()V .locals 2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_3 iget-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z if-nez v1, :cond_0 iget-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z if-eqz v1, :cond_3 .line 623 :cond_0 invoke-static {v0}, Landroidx/core/graphics/drawable/DrawableCompat;->wrap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object v0 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable; move-result-object v0 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; iget-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z if-eqz v1, :cond_1 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintList:Landroid/content/res/ColorStateList; .line 626 invoke-static {v0, v1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintList(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V :cond_1 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z if-eqz v0, :cond_2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; .line 630 invoke-static {v0, v1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintMode(Landroid/graphics/drawable/Drawable;Landroid/graphics/PorterDuff$Mode;)V :cond_2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; .line 635 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result v0 if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; .line 636 invoke-virtual {p0}, Landroid/view/View;->getDrawableState()[I move-result-object v1 invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setState([I)Z :cond_3 return-void .end method .method private cancelPositionAnimator()V .locals 1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; if-eqz v0, :cond_0 .line 1146 invoke-virtual {v0}, Landroid/animation/Animator;->cancel()V :cond_0 return-void .end method .method private cancelSuperTouch(Landroid/view/MotionEvent;)V .locals 1 .line 1097 invoke-static {p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent; move-result-object p1 const/4 v0, 0x3 .line 1098 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->setAction(I)V .line 1099 invoke-super {p0, p1}, Landroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z .line 1100 invoke-virtual {p1}, Landroid/view/MotionEvent;->recycle()V return-void .end method .method private static constrain(FFF)F .locals 1 cmpg-float v0, p0, p1 if-gez v0, :cond_0 move p0, p1 goto :goto_0 :cond_0 cmpl-float p1, p0, p2 if-lez p1, :cond_1 move p0, p2 :cond_1 :goto_0 return p0 .end method .method private doTransformForOnOffText(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; .locals 2 .param p1 # Ljava/lang/CharSequence; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .annotation build Landroidx/annotation/Nullable; .end annotation .line 874 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper; move-result-object v0 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTransformationMethod:Landroid/text/method/TransformationMethod; invoke-virtual {v0, v1}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->wrapTransformationMethod(Landroid/text/method/TransformationMethod;)Landroid/text/method/TransformationMethod; move-result-object v0 if-eqz v0, :cond_0 .line 876 invoke-interface {v0, p1, p0}, Landroid/text/method/TransformationMethod;->getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence; move-result-object p1 :cond_0 return-object p1 .end method .method private getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mAppCompatEmojiTextHelper:Landroidx/appcompat/widget/AppCompatEmojiTextHelper; if-nez v0, :cond_0 .line 1611 new-instance v0, Landroidx/appcompat/widget/AppCompatEmojiTextHelper; invoke-direct {v0, p0}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->(Landroid/widget/TextView;)V iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mAppCompatEmojiTextHelper:Landroidx/appcompat/widget/AppCompatEmojiTextHelper; :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mAppCompatEmojiTextHelper:Landroidx/appcompat/widget/AppCompatEmojiTextHelper; return-object v0 .end method .method private getTargetCheckedState()Z .locals 2 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F const/high16 v1, 0x3f000000 # 0.5f cmpl-float v0, v0, v1 if-lez v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method private getThumbOffset()I .locals 2 .line 1418 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 const/high16 v0, 0x3f800000 # 1.0f iget v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F sub-float/2addr v0, v1 goto :goto_0 :cond_0 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F .line 1423 :goto_0 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getThumbScrollRange()I move-result v1 int-to-float v1, v1 mul-float/2addr v0, v1 const/high16 v1, 0x3f000000 # 0.5f add-float/2addr v0, v1 float-to-int v0, v0 return v0 .end method .method private getThumbScrollRange()I .locals 4 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_1 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; .line 1429 invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 1433 invoke-static {v0}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object v0 goto :goto_0 .line 1435 :cond_0 sget-object v0, Landroidx/appcompat/widget/DrawableUtils;->INSETS_NONE:Landroid/graphics/Rect; :goto_0 iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchWidth:I iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbWidth:I sub-int/2addr v2, v3 .line 1438 iget v3, v1, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v3 iget v1, v1, Landroid/graphics/Rect;->right:I sub-int/2addr v2, v1 iget v1, v0, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v1 iget v0, v0, Landroid/graphics/Rect;->right:I sub-int/2addr v2, v0 return v2 :cond_1 const/4 v0, 0x0 return v0 .end method .method private hitThumb(FF)Z .locals 7 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; const/4 v1, 0x0 if-nez v0, :cond_0 return v1 .line 1006 :cond_0 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getThumbOffset()I move-result v0 iget-object v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; iget-object v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; .line 1008 invoke-virtual {v2, v3}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTop:I iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchSlop:I sub-int/2addr v2, v3 iget v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchLeft:I add-int/2addr v4, v0 sub-int/2addr v4, v3 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbWidth:I add-int/2addr v0, v4 iget-object v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; .line 1011 iget v6, v5, Landroid/graphics/Rect;->left:I add-int/2addr v0, v6 iget v5, v5, Landroid/graphics/Rect;->right:I add-int/2addr v0, v5 add-int/2addr v0, v3 iget v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchBottom:I add-int/2addr v5, v3 int-to-float v3, v4 cmpl-float v3, p1, v3 if-lez v3, :cond_1 int-to-float v0, v0 cmpg-float p1, p1, v0 if-gez p1, :cond_1 int-to-float p1, v2 cmpl-float p1, p2, p1 if-lez p1, :cond_1 int-to-float p1, v5 cmpg-float p1, p2, p1 if-gez p1, :cond_1 const/4 v1, 0x1 :cond_1 return v1 .end method .method private makeLayout(Ljava/lang/CharSequence;)Landroid/text/Layout; .locals 9 .line 991 new-instance v8, Landroid/text/StaticLayout; iget-object v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; if-eqz p1, :cond_0 .line 993 invoke-static {p1, v2}, Landroid/text/Layout;->getDesiredWidth(Ljava/lang/CharSequence;Landroid/text/TextPaint;)F move-result v0 float-to-double v0, v0 invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D move-result-wide v0 double-to-int v0, v0 :goto_0 move v3, v0 goto :goto_1 :cond_0 const/4 v0, 0x0 goto :goto_0 :goto_1 sget-object v4, Landroid/text/Layout$Alignment;->ALIGN_NORMAL:Landroid/text/Layout$Alignment; const/high16 v5, 0x3f800000 # 1.0f const/4 v6, 0x0 const/4 v7, 0x1 move-object v0, v8 move-object v1, p1 invoke-direct/range {v0 .. v7}, Landroid/text/StaticLayout;->(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V return-object v8 .end method .method private setOffStateDescriptionOnRAndAbove()V .locals 2 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1e if-lt v0, v1, :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; if-nez v0, :cond_0 .line 1588 invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources; move-result-object v0 sget v1, Landroidx/appcompat/R$string;->abc_capital_off:I invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; move-result-object v0 .line 1586 :cond_0 invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->setStateDescription(Landroid/view/View;Ljava/lang/CharSequence;)V :cond_1 return-void .end method .method private setOnStateDescriptionOnRAndAbove()V .locals 2 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1e if-lt v0, v1, :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; if-nez v0, :cond_0 .line 1579 invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources; move-result-object v0 sget v1, Landroidx/appcompat/R$string;->abc_capital_on:I invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; move-result-object v0 .line 1577 :cond_0 invoke-static {p0, v0}, Landroidx/core/view/ViewCompat;->setStateDescription(Landroid/view/View;Ljava/lang/CharSequence;)V :cond_1 return-void .end method .method private setSwitchTypefaceByIndex(II)V .locals 1 const/4 v0, 0x1 if-eq p1, v0, :cond_2 const/4 v0, 0x2 if-eq p1, v0, :cond_1 const/4 v0, 0x3 if-eq p1, v0, :cond_0 const/4 p1, 0x0 goto :goto_0 .line 392 :cond_0 sget-object p1, Landroid/graphics/Typeface;->MONOSPACE:Landroid/graphics/Typeface; goto :goto_0 .line 388 :cond_1 sget-object p1, Landroid/graphics/Typeface;->SERIF:Landroid/graphics/Typeface; goto :goto_0 .line 384 :cond_2 sget-object p1, Landroid/graphics/Typeface;->SANS_SERIF:Landroid/graphics/Typeface; .line 396 :goto_0 invoke-virtual {p0, p1, p2}, Landroidx/appcompat/widget/SwitchCompat;->setSwitchTypeface(Landroid/graphics/Typeface;I)V return-void .end method .method private setTextOffInternal(Ljava/lang/CharSequence;)V .locals 0 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; .line 849 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->doTransformForOnOffText(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; move-result-object p1 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOffTransformed:Ljava/lang/CharSequence; const/4 p1, 0x0 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mOffLayout:Landroid/text/Layout; iget-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eqz p1, :cond_0 .line 852 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setupEmojiCompatLoadCallback()V :cond_0 return-void .end method .method private setTextOnInternal(Ljava/lang/CharSequence;)V .locals 0 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; .line 810 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->doTransformForOnOffText(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; move-result-object p1 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOnTransformed:Ljava/lang/CharSequence; const/4 p1, 0x0 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mOnLayout:Landroid/text/Layout; iget-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eqz p1, :cond_0 .line 813 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setupEmojiCompatLoadCallback()V :cond_0 return-void .end method .method private setupEmojiCompatLoadCallback()V .locals 3 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mEmojiCompatInitCallback:Landroidx/appcompat/widget/SwitchCompat$EmojiCompatInitCallback; if-nez v0, :cond_2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mAppCompatEmojiTextHelper:Landroidx/appcompat/widget/AppCompatEmojiTextHelper; .line 1638 invoke-virtual {v0}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->isEnabled()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 .line 1641 :cond_0 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->isConfigured()Z move-result v0 if-eqz v0, :cond_2 .line 1642 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat; move-result-object v0 .line 1643 invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat;->getLoadState()I move-result v1 const/4 v2, 0x3 if-eq v1, v2, :cond_1 if-nez v1, :cond_2 .line 1647 :cond_1 new-instance v1, Landroidx/appcompat/widget/SwitchCompat$EmojiCompatInitCallback; invoke-direct {v1, p0}, Landroidx/appcompat/widget/SwitchCompat$EmojiCompatInitCallback;->(Landroidx/appcompat/widget/SwitchCompat;)V iput-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mEmojiCompatInitCallback:Landroidx/appcompat/widget/SwitchCompat$EmojiCompatInitCallback; .line 1648 invoke-virtual {v0, v1}, Landroidx/emoji2/text/EmojiCompat;->registerInitCallback(Landroidx/emoji2/text/EmojiCompat$InitCallback;)V :cond_2 :goto_0 return-void .end method .method private stopDrag(Landroid/view/MotionEvent;)V .locals 6 const/4 v0, 0x0 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I .line 1113 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v1 const/4 v2, 0x1 if-ne v1, v2, :cond_0 invoke-virtual {p0}, Landroid/view/View;->isEnabled()Z move-result v1 if-eqz v1, :cond_0 move v1, v2 goto :goto_0 :cond_0 move v1, v0 .line 1114 :goto_0 invoke-virtual {p0}, Landroid/widget/CompoundButton;->isChecked()Z move-result v3 if-eqz v1, :cond_4 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mVelocityTracker:Landroid/view/VelocityTracker; const/16 v4, 0x3e8 .line 1117 invoke-virtual {v1, v4}, Landroid/view/VelocityTracker;->computeCurrentVelocity(I)V iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mVelocityTracker:Landroid/view/VelocityTracker; .line 1118 invoke-virtual {v1}, Landroid/view/VelocityTracker;->getXVelocity()F move-result v1 .line 1119 invoke-static {v1}, Ljava/lang/Math;->abs(F)F move-result v4 iget v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mMinFlingVelocity:I int-to-float v5, v5 cmpl-float v4, v4, v5 if-lez v4, :cond_3 .line 1120 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result v4 const/4 v5, 0x0 if-eqz v4, :cond_2 cmpg-float v1, v1, v5 if-gez v1, :cond_1 goto :goto_1 :cond_1 move v2, v0 goto :goto_1 :cond_2 cmpl-float v1, v1, v5 if-lez v1, :cond_1 goto :goto_1 .line 1122 :cond_3 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getTargetCheckedState()Z move-result v2 goto :goto_1 :cond_4 move v2, v3 :goto_1 if-eq v2, v3, :cond_5 .line 1129 invoke-virtual {p0, v0}, Landroid/view/View;->playSoundEffect(I)V .line 1132 :cond_5 invoke-virtual {p0, v2}, Landroidx/appcompat/widget/SwitchCompat;->setChecked(Z)V .line 1133 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->cancelSuperTouch(Landroid/view/MotionEvent;)V return-void .end method # virtual methods .method public draw(Landroid/graphics/Canvas;)V .locals 10 .param p1 # Landroid/graphics/Canvas; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; iget v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchLeft:I iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTop:I iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchRight:I iget v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchBottom:I .line 1264 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getThumbOffset()I move-result v5 add-int/2addr v5, v1 iget-object v6, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v6, :cond_0 .line 1268 invoke-static {v6}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object v6 goto :goto_0 .line 1270 :cond_0 sget-object v6, Landroidx/appcompat/widget/DrawableUtils;->INSETS_NONE:Landroid/graphics/Rect; :goto_0 iget-object v7, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v7, :cond_6 .line 1275 invoke-virtual {v7, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z .line 1278 iget v7, v0, Landroid/graphics/Rect;->left:I add-int/2addr v5, v7 if-eqz v6, :cond_5 .line 1286 iget v8, v6, Landroid/graphics/Rect;->left:I if-le v8, v7, :cond_1 sub-int/2addr v8, v7 add-int/2addr v1, v8 .line 1289 :cond_1 iget v7, v6, Landroid/graphics/Rect;->top:I iget v8, v0, Landroid/graphics/Rect;->top:I if-le v7, v8, :cond_2 sub-int/2addr v7, v8 add-int/2addr v7, v2 goto :goto_1 :cond_2 move v7, v2 .line 1292 :goto_1 iget v8, v6, Landroid/graphics/Rect;->right:I iget v9, v0, Landroid/graphics/Rect;->right:I if-le v8, v9, :cond_3 sub-int/2addr v8, v9 sub-int/2addr v3, v8 .line 1295 :cond_3 iget v6, v6, Landroid/graphics/Rect;->bottom:I iget v8, v0, Landroid/graphics/Rect;->bottom:I if-le v6, v8, :cond_4 sub-int/2addr v6, v8 sub-int v6, v4, v6 goto :goto_3 :cond_4 :goto_2 move v6, v4 goto :goto_3 :cond_5 move v7, v2 goto :goto_2 :goto_3 iget-object v8, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; .line 1299 invoke-virtual {v8, v1, v7, v3, v6}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V :cond_6 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_7 .line 1304 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z .line 1306 iget v1, v0, Landroid/graphics/Rect;->left:I sub-int v1, v5, v1 iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbWidth:I add-int/2addr v5, v3 .line 1307 iget v0, v0, Landroid/graphics/Rect;->right:I add-int/2addr v5, v0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; .line 1308 invoke-virtual {v0, v1, v2, v5, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V .line 1310 invoke-virtual {p0}, Landroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_7 .line 1312 invoke-static {v0, v1, v2, v5, v4}, Landroidx/core/graphics/drawable/DrawableCompat;->setHotspotBounds(Landroid/graphics/drawable/Drawable;IIII)V .line 1318 :cond_7 invoke-super {p0, p1}, Landroid/view/View;->draw(Landroid/graphics/Canvas;)V return-void .end method .method public drawableHotspotChanged(FF)V .locals 1 .line 1479 invoke-super {p0, p1, p2}, Landroid/widget/CompoundButton;->drawableHotspotChanged(FF)V iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 1483 invoke-static {v0, p1, p2}, Landroidx/core/graphics/drawable/DrawableCompat;->setHotspot(Landroid/graphics/drawable/Drawable;FF)V :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_1 .line 1487 invoke-static {v0, p1, p2}, Landroidx/core/graphics/drawable/DrawableCompat;->setHotspot(Landroid/graphics/drawable/Drawable;FF)V :cond_1 return-void .end method .method public drawableStateChanged()V .locals 4 .line 1456 invoke-super {p0}, Landroid/widget/CompoundButton;->drawableStateChanged()V .line 1458 invoke-virtual {p0}, Landroid/view/View;->getDrawableState()[I move-result-object v0 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_0 .line 1462 invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result v2 if-eqz v2, :cond_0 .line 1463 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->setState([I)Z move-result v1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 iget-object v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v2, :cond_1 .line 1467 invoke-virtual {v2}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result v3 if-eqz v3, :cond_1 .line 1468 invoke-virtual {v2, v0}, Landroid/graphics/drawable/Drawable;->setState([I)Z move-result v0 or-int/2addr v1, v0 :cond_1 if-eqz v1, :cond_2 .line 1472 invoke-virtual {p0}, Landroid/view/View;->invalidate()V :cond_2 return-void .end method .method public getCompoundPaddingLeft()I .locals 2 .line 1388 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result v0 if-nez v0, :cond_0 .line 1389 invoke-super {p0}, Landroid/widget/CompoundButton;->getCompoundPaddingLeft()I move-result v0 return v0 .line 1391 :cond_0 invoke-super {p0}, Landroid/widget/CompoundButton;->getCompoundPaddingLeft()I move-result v0 iget v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchWidth:I add-int/2addr v0, v1 .line 1392 invoke-virtual {p0}, Landroid/widget/TextView;->getText()Ljava/lang/CharSequence; move-result-object v1 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_1 iget v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchPadding:I add-int/2addr v0, v1 :cond_1 return v0 .end method .method public getCompoundPaddingRight()I .locals 2 .line 1400 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 .line 1401 invoke-super {p0}, Landroid/widget/CompoundButton;->getCompoundPaddingRight()I move-result v0 return v0 .line 1403 :cond_0 invoke-super {p0}, Landroid/widget/CompoundButton;->getCompoundPaddingRight()I move-result v0 iget v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchWidth:I add-int/2addr v0, v1 .line 1404 invoke-virtual {p0}, Landroid/widget/TextView;->getText()Ljava/lang/CharSequence; move-result-object v1 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_1 iget v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchPadding:I add-int/2addr v0, v1 :cond_1 return v0 .end method .method public getCustomSelectionActionModeCallback()Landroid/view/ActionMode$Callback; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1554 invoke-super {p0}, Landroid/widget/TextView;->getCustomSelectionActionModeCallback()Landroid/view/ActionMode$Callback; move-result-object v0 .line 1553 invoke-static {v0}, Landroidx/core/widget/TextViewCompat;->unwrapCustomSelectionActionModeCallback(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode$Callback; move-result-object v0 return-object v0 .end method .method public getShowText()Z .locals 1 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z return v0 .end method .method public getSplitTrack()Z .locals 1 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSplitTrack:Z return v0 .end method .method public getSwitchMinWidth()I .locals 1 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchMinWidth:I return v0 .end method .method public getSwitchPadding()I .locals 1 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchPadding:I return v0 .end method .method public getTextOff()Ljava/lang/CharSequence; .locals 1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; return-object v0 .end method .method public getTextOn()Ljava/lang/CharSequence; .locals 1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; return-object v0 .end method .method public getThumbDrawable()Landroid/graphics/drawable/Drawable; .locals 1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method public final getThumbPosition()F .locals 1 .annotation build Landroidx/annotation/FloatRange; from = 0.0 to = 1.0 .end annotation iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F return v0 .end method .method public getThumbTextPadding()I .locals 1 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTextPadding:I return v0 .end method .method public getThumbTintList()Landroid/content/res/ColorStateList; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintList:Landroid/content/res/ColorStateList; return-object v0 .end method .method public getThumbTintMode()Landroid/graphics/PorterDuff$Mode; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; return-object v0 .end method .method public getTrackDrawable()Landroid/graphics/drawable/Drawable; .locals 1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method public getTrackTintList()Landroid/content/res/ColorStateList; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintList:Landroid/content/res/ColorStateList; return-object v0 .end method .method public getTrackTintMode()Landroid/graphics/PorterDuff$Mode; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; return-object v0 .end method .method public isEmojiCompatEnabled()Z .locals 1 .line 1627 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper; move-result-object v0 invoke-virtual {v0}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->isEnabled()Z move-result v0 return v0 .end method .method public jumpDrawablesToCurrentState()V .locals 1 .line 1498 invoke-super {p0}, Landroid/widget/CompoundButton;->jumpDrawablesToCurrentState()V iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 1501 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->jumpToCurrentState()V :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_1 .line 1505 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->jumpToCurrentState()V :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; if-eqz v0, :cond_2 .line 1508 invoke-virtual {v0}, Landroid/animation/Animator;->isStarted()Z move-result v0 if-eqz v0, :cond_2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; .line 1509 invoke-virtual {v0}, Landroid/animation/Animator;->end()V const/4 v0, 0x0 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; :cond_2 return-void .end method .method public onCreateDrawableState(I)[I .locals 1 add-int/lit8 p1, p1, 0x1 .line 1447 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onCreateDrawableState(I)[I move-result-object p1 .line 1448 invoke-virtual {p0}, Landroid/widget/CompoundButton;->isChecked()Z move-result v0 if-eqz v0, :cond_0 sget-object v0, Landroidx/appcompat/widget/SwitchCompat;->CHECKED_STATE_SET:[I .line 1449 invoke-static {p1, v0}, Landroid/view/View;->mergeDrawableStates([I[I)[I :cond_0 return-object p1 .end method .method public onDraw(Landroid/graphics/Canvas;)V .locals 9 .line 1323 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onDraw(Landroid/graphics/Canvas;)V iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_0 .line 1328 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z goto :goto_0 .line 1330 :cond_0 invoke-virtual {v0}, Landroid/graphics/Rect;->setEmpty()V :goto_0 iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTop:I iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchBottom:I .line 1335 iget v4, v0, Landroid/graphics/Rect;->top:I add-int/2addr v2, v4 .line 1336 iget v4, v0, Landroid/graphics/Rect;->bottom:I sub-int/2addr v3, v4 iget-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_2 iget-boolean v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mSplitTrack:Z if-eqz v5, :cond_1 if-eqz v4, :cond_1 .line 1341 invoke-static {v4}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object v5 .line 1342 invoke-virtual {v4, v0}, Landroid/graphics/drawable/Drawable;->copyBounds(Landroid/graphics/Rect;)V .line 1343 iget v6, v0, Landroid/graphics/Rect;->left:I iget v7, v5, Landroid/graphics/Rect;->left:I add-int/2addr v6, v7 iput v6, v0, Landroid/graphics/Rect;->left:I .line 1344 iget v6, v0, Landroid/graphics/Rect;->right:I iget v5, v5, Landroid/graphics/Rect;->right:I sub-int/2addr v6, v5 iput v6, v0, Landroid/graphics/Rect;->right:I .line 1346 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v5 .line 1347 sget-object v6, Landroid/graphics/Region$Op;->DIFFERENCE:Landroid/graphics/Region$Op; invoke-virtual {p1, v0, v6}, Landroid/graphics/Canvas;->clipRect(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z .line 1348 invoke-virtual {v1, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V .line 1349 invoke-virtual {p1, v5}, Landroid/graphics/Canvas;->restoreToCount(I)V goto :goto_1 .line 1351 :cond_1 invoke-virtual {v1, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V .line 1355 :cond_2 :goto_1 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 if-eqz v4, :cond_3 .line 1358 invoke-virtual {v4, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V .line 1361 :cond_3 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getTargetCheckedState()Z move-result v1 if-eqz v1, :cond_4 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mOnLayout:Landroid/text/Layout; goto :goto_2 :cond_4 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mOffLayout:Landroid/text/Layout; :goto_2 if-eqz v1, :cond_7 .line 1363 invoke-virtual {p0}, Landroid/view/View;->getDrawableState()[I move-result-object v5 iget-object v6, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextColors:Landroid/content/res/ColorStateList; if-eqz v6, :cond_5 iget-object v7, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; const/4 v8, 0x0 .line 1365 invoke-virtual {v6, v5, v8}, Landroid/content/res/ColorStateList;->getColorForState([II)I move-result v6 invoke-virtual {v7, v6}, Landroid/graphics/Paint;->setColor(I)V :cond_5 iget-object v6, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; .line 1367 iput-object v5, v6, Landroid/text/TextPaint;->drawableState:[I if-eqz v4, :cond_6 .line 1371 invoke-virtual {v4}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect; move-result-object v4 .line 1372 iget v5, v4, Landroid/graphics/Rect;->left:I iget v4, v4, Landroid/graphics/Rect;->right:I add-int/2addr v5, v4 goto :goto_3 .line 1374 :cond_6 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result v5 .line 1377 :goto_3 div-int/lit8 v5, v5, 0x2 invoke-virtual {v1}, Landroid/text/Layout;->getWidth()I move-result v4 div-int/lit8 v4, v4, 0x2 sub-int/2addr v5, v4 add-int/2addr v2, v3 .line 1378 div-int/lit8 v2, v2, 0x2 invoke-virtual {v1}, Landroid/text/Layout;->getHeight()I move-result v3 div-int/lit8 v3, v3, 0x2 sub-int/2addr v2, v3 int-to-float v3, v5 int-to-float v2, v2 .line 1379 invoke-virtual {p1, v3, v2}, Landroid/graphics/Canvas;->translate(FF)V .line 1380 invoke-virtual {v1, p1}, Landroid/text/Layout;->draw(Landroid/graphics/Canvas;)V .line 1383 :cond_7 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V return-void .end method .method public onEmojiCompatInitializedForSwitchText()V .locals 1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; .line 1661 invoke-direct {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->setTextOnInternal(Ljava/lang/CharSequence;)V iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; .line 1662 invoke-direct {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->setTextOffInternal(Ljava/lang/CharSequence;)V .line 1663 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V return-void .end method .method public onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V .locals 1 .line 1516 invoke-super {p0, p1}, Landroid/view/View;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V const-string v0, "android.widget.Switch" .line 1517 invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityRecord;->setClassName(Ljava/lang/CharSequence;)V return-void .end method .method public onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V .locals 3 .line 1522 invoke-super {p0, p1}, Landroid/view/View;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V const-string v0, "android.widget.Switch" .line 1523 invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityNodeInfo;->setClassName(Ljava/lang/CharSequence;)V sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1e if-ge v0, v1, :cond_2 .line 1525 invoke-virtual {p0}, Landroid/widget/CompoundButton;->isChecked()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; .line 1526 :goto_0 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_2 .line 1527 invoke-virtual {p1}, Landroid/view/accessibility/AccessibilityNodeInfo;->getText()Ljava/lang/CharSequence; move-result-object v1 .line 1528 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v2 if-eqz v2, :cond_1 .line 1529 invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityNodeInfo;->setText(Ljava/lang/CharSequence;)V goto :goto_1 .line 1531 :cond_1 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V .line 1532 invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder; const/16 v1, 0x20 invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder; .line 1533 invoke-virtual {p1, v2}, Landroid/view/accessibility/AccessibilityNodeInfo;->setText(Ljava/lang/CharSequence;)V :cond_2 :goto_1 return-void .end method .method public onLayout(ZIIII)V .locals 0 .line 1202 invoke-super/range {p0 .. p5}, Landroid/view/View;->onLayout(ZIIII)V iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; const/4 p2, 0x0 if-eqz p1, :cond_1 iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; iget-object p3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz p3, :cond_0 .line 1209 invoke-virtual {p3, p1}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z goto :goto_0 .line 1211 :cond_0 invoke-virtual {p1}, Landroid/graphics/Rect;->setEmpty()V :goto_0 iget-object p3, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; .line 1214 invoke-static {p3}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object p3 .line 1215 iget p4, p3, Landroid/graphics/Rect;->left:I iget p5, p1, Landroid/graphics/Rect;->left:I sub-int/2addr p4, p5 invoke-static {p2, p4}, Ljava/lang/Math;->max(II)I move-result p4 .line 1216 iget p3, p3, Landroid/graphics/Rect;->right:I iget p1, p1, Landroid/graphics/Rect;->right:I sub-int/2addr p3, p1 invoke-static {p2, p3}, Ljava/lang/Math;->max(II)I move-result p2 goto :goto_1 :cond_1 move p4, p2 .line 1221 :goto_1 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result p1 if-eqz p1, :cond_2 .line 1222 invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I move-result p1 add-int/2addr p1, p4 iget p3, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchWidth:I add-int/2addr p3, p1 sub-int/2addr p3, p4 sub-int/2addr p3, p2 goto :goto_2 .line 1225 :cond_2 invoke-virtual {p0}, Landroid/view/View;->getWidth()I move-result p1 invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I move-result p3 sub-int/2addr p1, p3 sub-int p3, p1, p2 iget p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchWidth:I sub-int p1, p3, p1 add-int/2addr p1, p4 add-int/2addr p1, p2 .line 1231 :goto_2 invoke-virtual {p0}, Landroid/widget/TextView;->getGravity()I move-result p2 and-int/lit8 p2, p2, 0x70 const/16 p4, 0x10 if-eq p2, p4, :cond_4 const/16 p4, 0x50 if-eq p2, p4, :cond_3 .line 1234 invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I move-result p2 iget p4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchHeight:I :goto_3 add-int/2addr p4, p2 goto :goto_4 .line 1245 :cond_3 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result p2 invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I move-result p4 sub-int p4, p2, p4 iget p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchHeight:I sub-int p2, p4, p2 goto :goto_4 .line 1239 :cond_4 invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I move-result p2 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result p4 add-int/2addr p2, p4 invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I move-result p4 sub-int/2addr p2, p4 div-int/lit8 p2, p2, 0x2 iget p4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchHeight:I div-int/lit8 p5, p4, 0x2 sub-int/2addr p2, p5 goto :goto_3 :goto_4 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchLeft:I iput p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTop:I iput p4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchBottom:I iput p3, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchRight:I return-void .end method .method public onMeasure(II)V .locals 6 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mOnLayout:Landroid/text/Layout; if-nez v0, :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOnTransformed:Ljava/lang/CharSequence; .line 914 invoke-direct {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->makeLayout(Ljava/lang/CharSequence;)Landroid/text/Layout; move-result-object v0 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mOnLayout:Landroid/text/Layout; :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mOffLayout:Landroid/text/Layout; if-nez v0, :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOffTransformed:Ljava/lang/CharSequence; .line 918 invoke-direct {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->makeLayout(Ljava/lang/CharSequence;)Landroid/text/Layout; move-result-object v0 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mOffLayout:Landroid/text/Layout; :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; const/4 v2, 0x0 if-eqz v1, :cond_2 .line 927 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; .line 928 invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v1 iget v3, v0, Landroid/graphics/Rect;->left:I sub-int/2addr v1, v3 iget v3, v0, Landroid/graphics/Rect;->right:I sub-int/2addr v1, v3 iget-object v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; .line 929 invoke-virtual {v3}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v3 goto :goto_0 :cond_2 move v1, v2 move v3, v1 :goto_0 iget-boolean v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eqz v4, :cond_3 iget-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mOnLayout:Landroid/text/Layout; .line 937 invoke-virtual {v4}, Landroid/text/Layout;->getWidth()I move-result v4 iget-object v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mOffLayout:Landroid/text/Layout; invoke-virtual {v5}, Landroid/text/Layout;->getWidth()I move-result v5 invoke-static {v4, v5}, Ljava/lang/Math;->max(II)I move-result v4 iget v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTextPadding:I mul-int/lit8 v5, v5, 0x2 add-int/2addr v4, v5 goto :goto_1 :cond_3 move v4, v2 .line 943 :goto_1 invoke-static {v4, v1}, Ljava/lang/Math;->max(II)I move-result v1 iput v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbWidth:I iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_4 .line 947 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; .line 948 invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v2 goto :goto_2 .line 950 :cond_4 invoke-virtual {v0}, Landroid/graphics/Rect;->setEmpty()V .line 956 :goto_2 iget v1, v0, Landroid/graphics/Rect;->left:I .line 957 iget v0, v0, Landroid/graphics/Rect;->right:I iget-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v4, :cond_5 .line 959 invoke-static {v4}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object v4 .line 960 iget v5, v4, Landroid/graphics/Rect;->left:I invoke-static {v1, v5}, Ljava/lang/Math;->max(II)I move-result v1 .line 961 iget v4, v4, Landroid/graphics/Rect;->right:I invoke-static {v0, v4}, Ljava/lang/Math;->max(II)I move-result v0 :cond_5 iget-boolean v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mEnforceSwitchWidth:Z if-eqz v4, :cond_6 iget v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchMinWidth:I iget v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbWidth:I mul-int/lit8 v5, v5, 0x2 add-int/2addr v5, v1 add-int/2addr v5, v0 .line 966 invoke-static {v4, v5}, Ljava/lang/Math;->max(II)I move-result v0 goto :goto_3 :cond_6 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchMinWidth:I .line 968 :goto_3 invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I move-result v1 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchWidth:I iput v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchHeight:I .line 972 invoke-super {p0, p1, p2}, Landroid/view/View;->onMeasure(II)V .line 974 invoke-virtual {p0}, Landroid/view/View;->getMeasuredHeight()I move-result p1 if-ge p1, v1, :cond_7 .line 976 invoke-virtual {p0}, Landroid/view/View;->getMeasuredWidthAndState()I move-result p1 invoke-virtual {p0, p1, v1}, Landroid/view/View;->setMeasuredDimension(II)V :cond_7 return-void .end method .method public onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V .locals 1 .line 982 invoke-super {p0, p1}, Landroid/view/View;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V .line 984 invoke-virtual {p0}, Landroid/widget/CompoundButton;->isChecked()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; goto :goto_0 :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; :goto_0 if-eqz v0, :cond_1 .line 986 invoke-virtual {p1}, Landroid/view/accessibility/AccessibilityRecord;->getText()Ljava/util/List; move-result-object p1 invoke-interface {p1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z :cond_1 return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 6 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mVelocityTracker:Landroid/view/VelocityTracker; .line 1019 invoke-virtual {v0, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 1020 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I move-result v0 const/4 v1, 0x1 if-eqz v0, :cond_a const/4 v2, 0x2 if-eq v0, v1, :cond_8 if-eq v0, v2, :cond_0 const/4 v3, 0x3 if-eq v0, v3, :cond_8 goto/16 :goto_1 :cond_0 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I if-eq v0, v1, :cond_6 if-eq v0, v2, :cond_1 goto/16 :goto_1 .line 1054 :cond_1 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result p1 .line 1055 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getThumbScrollRange()I move-result v0 iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchX:F sub-float v2, p1, v2 const/high16 v3, 0x3f800000 # 1.0f const/4 v4, 0x0 if-eqz v0, :cond_2 int-to-float v0, v0 div-float/2addr v2, v0 goto :goto_0 :cond_2 cmpl-float v0, v2, v4 if-lez v0, :cond_3 move v2, v3 goto :goto_0 :cond_3 const/high16 v0, -0x40800000 # -1.0f move v2, v0 .line 1065 :goto_0 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_4 neg-float v2, v2 :cond_4 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F add-float/2addr v0, v2 .line 1068 invoke-static {v0, v4, v3}, Landroidx/appcompat/widget/SwitchCompat;->constrain(FFF)F move-result v0 iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F cmpl-float v2, v0, v2 if-eqz v2, :cond_5 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchX:F .line 1071 invoke-virtual {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->setThumbPosition(F)V :cond_5 return v1 .line 1040 :cond_6 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 .line 1041 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v3 iget v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchX:F sub-float v4, v0, v4 .line 1042 invoke-static {v4}, Ljava/lang/Math;->abs(F)F move-result v4 iget v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchSlop:I int-to-float v5, v5 cmpl-float v4, v4, v5 if-gtz v4, :cond_7 iget v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchY:F sub-float v4, v3, v4 .line 1043 invoke-static {v4}, Ljava/lang/Math;->abs(F)F move-result v4 iget v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchSlop:I int-to-float v5, v5 cmpl-float v4, v4, v5 if-lez v4, :cond_b :cond_7 iput v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I .line 1045 invoke-virtual {p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchX:F iput v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchY:F return v1 :cond_8 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I if-ne v0, v2, :cond_9 .line 1082 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->stopDrag(Landroid/view/MotionEvent;)V .line 1084 invoke-super {p0, p1}, Landroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z return v1 :cond_9 const/4 v0, 0x0 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mVelocityTracker:Landroid/view/VelocityTracker; .line 1088 invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V goto :goto_1 .line 1023 :cond_a invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 .line 1024 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v2 .line 1025 invoke-virtual {p0}, Landroid/view/View;->isEnabled()Z move-result v3 if-eqz v3, :cond_b invoke-direct {p0, v0, v2}, Landroidx/appcompat/widget/SwitchCompat;->hitThumb(FF)Z move-result v3 if-eqz v3, :cond_b iput v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchX:F iput v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchY:F .line 1093 :cond_b :goto_1 invoke-super {p0, p1}, Landroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 .end method .method public setAllCaps(Z)V .locals 1 .line 1595 invoke-super {p0, p1}, Landroid/widget/TextView;->setAllCaps(Z)V .line 1596 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->setAllCaps(Z)V return-void .end method .method public setChecked(Z)V .locals 1 .line 1179 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->setChecked(Z)V .line 1183 invoke-virtual {p0}, Landroid/widget/CompoundButton;->isChecked()Z move-result p1 if-eqz p1, :cond_0 .line 1186 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setOnStateDescriptionOnRAndAbove()V goto :goto_0 .line 1188 :cond_0 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setOffStateDescriptionOnRAndAbove()V .line 1191 :goto_0 invoke-virtual {p0}, Landroid/view/View;->getWindowToken()Landroid/os/IBinder; move-result-object v0 if-eqz v0, :cond_1 invoke-virtual {p0}, Landroid/view/View;->isLaidOut()Z move-result v0 if-eqz v0, :cond_1 .line 1192 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->animateThumbToCheckedState(Z)V goto :goto_2 .line 1195 :cond_1 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->cancelPositionAnimator()V if-eqz p1, :cond_2 const/high16 p1, 0x3f800000 # 1.0f goto :goto_1 :cond_2 const/4 p1, 0x0 .line 1196 :goto_1 invoke-virtual {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setThumbPosition(F)V :goto_2 return-void .end method .method public setCustomSelectionActionModeCallback(Landroid/view/ActionMode$Callback;)V .locals 0 .param p1 # Landroid/view/ActionMode$Callback; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1547 invoke-static {p0, p1}, Landroidx/core/widget/TextViewCompat;->wrapCustomSelectionActionModeCallback(Landroid/widget/TextView;Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode$Callback; move-result-object p1 .line 1546 invoke-super {p0, p1}, Landroid/widget/TextView;->setCustomSelectionActionModeCallback(Landroid/view/ActionMode$Callback;)V return-void .end method .method public setEmojiCompatEnabled(Z)V .locals 1 .line 1618 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->setEnabled(Z)V iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; .line 1620 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setTextOnInternal(Ljava/lang/CharSequence;)V iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; .line 1621 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setTextOffInternal(Ljava/lang/CharSequence;)V .line 1622 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V return-void .end method .method public final setEnforceSwitchWidth(Z)V .locals 0 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mEnforceSwitchWidth:Z .line 1565 invoke-virtual {p0}, Landroid/view/View;->invalidate()V return-void .end method .method public setFilters([Landroid/text/InputFilter;)V .locals 1 .param p1 # [Landroid/text/InputFilter; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1601 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->getFilters([Landroid/text/InputFilter;)[Landroid/text/InputFilter; move-result-object p1 invoke-super {p0, p1}, Landroid/widget/TextView;->setFilters([Landroid/text/InputFilter;)V return-void .end method .method public setShowText(Z)V .locals 1 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eq v0, p1, :cond_0 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z .line 890 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V if-eqz p1, :cond_0 .line 892 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setupEmojiCompatLoadCallback()V :cond_0 return-void .end method .method public setSplitTrack(Z)V .locals 0 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSplitTrack:Z .line 781 invoke-virtual {p0}, Landroid/view/View;->invalidate()V return-void .end method .method public setSwitchMinWidth(I)V .locals 0 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchMinWidth:I .line 477 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V return-void .end method .method public setSwitchPadding(I)V .locals 0 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchPadding:I .line 452 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V return-void .end method .method public setSwitchTextAppearance(Landroid/content/Context;I)V .locals 3 .line 339 sget-object v0, Landroidx/appcompat/R$styleable;->TextAppearance:[I invoke-static {p1, p2, v0}, Landroidx/appcompat/widget/TintTypedArray;->obtainStyledAttributes(Landroid/content/Context;I[I)Landroidx/appcompat/widget/TintTypedArray; move-result-object p1 .line 345 sget p2, Landroidx/appcompat/R$styleable;->TextAppearance_android_textColor:I invoke-virtual {p1, p2}, Landroidx/appcompat/widget/TintTypedArray;->getColorStateList(I)Landroid/content/res/ColorStateList; move-result-object p2 if-eqz p2, :cond_0 iput-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextColors:Landroid/content/res/ColorStateList; goto :goto_0 .line 350 :cond_0 invoke-virtual {p0}, Landroid/widget/TextView;->getTextColors()Landroid/content/res/ColorStateList; move-result-object p2 iput-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextColors:Landroid/content/res/ColorStateList; .line 353 :goto_0 sget p2, Landroidx/appcompat/R$styleable;->TextAppearance_android_textSize:I const/4 v0, 0x0 invoke-virtual {p1, p2, v0}, Landroidx/appcompat/widget/TintTypedArray;->getDimensionPixelSize(II)I move-result p2 if-eqz p2, :cond_1 int-to-float p2, p2 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; .line 355 invoke-virtual {v1}, Landroid/graphics/Paint;->getTextSize()F move-result v1 cmpl-float v1, p2, v1 if-eqz v1, :cond_1 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; .line 356 invoke-virtual {v1, p2}, Landroid/graphics/Paint;->setTextSize(F)V .line 357 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V .line 362 :cond_1 sget p2, Landroidx/appcompat/R$styleable;->TextAppearance_android_typeface:I const/4 v1, -0x1 invoke-virtual {p1, p2, v1}, Landroidx/appcompat/widget/TintTypedArray;->getInt(II)I move-result p2 .line 363 sget v2, Landroidx/appcompat/R$styleable;->TextAppearance_android_textStyle:I invoke-virtual {p1, v2, v1}, Landroidx/appcompat/widget/TintTypedArray;->getInt(II)I move-result v1 .line 365 invoke-direct {p0, p2, v1}, Landroidx/appcompat/widget/SwitchCompat;->setSwitchTypefaceByIndex(II)V .line 367 sget p2, Landroidx/appcompat/R$styleable;->TextAppearance_textAllCaps:I invoke-virtual {p1, p2, v0}, Landroidx/appcompat/widget/TintTypedArray;->getBoolean(IZ)Z move-result p2 if-eqz p2, :cond_2 .line 369 new-instance p2, Landroidx/appcompat/text/AllCapsTransformationMethod; invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v0 invoke-direct {p2, v0}, Landroidx/appcompat/text/AllCapsTransformationMethod;->(Landroid/content/Context;)V iput-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTransformationMethod:Landroid/text/method/TransformationMethod; goto :goto_1 :cond_2 const/4 p2, 0x0 iput-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTransformationMethod:Landroid/text/method/TransformationMethod; :goto_1 iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; .line 374 invoke-direct {p0, p2}, Landroidx/appcompat/widget/SwitchCompat;->setTextOnInternal(Ljava/lang/CharSequence;)V iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; .line 375 invoke-direct {p0, p2}, Landroidx/appcompat/widget/SwitchCompat;->setTextOffInternal(Ljava/lang/CharSequence;)V .line 377 invoke-virtual {p1}, Landroidx/appcompat/widget/TintTypedArray;->recycle()V return-void .end method .method public setSwitchTypeface(Landroid/graphics/Typeface;)V .locals 1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; .line 434 invoke-virtual {v0}, Landroid/graphics/Paint;->getTypeface()Landroid/graphics/Typeface; move-result-object v0 if-eqz v0, :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; invoke-virtual {v0}, Landroid/graphics/Paint;->getTypeface()Landroid/graphics/Typeface; move-result-object v0 invoke-virtual {v0, p1}, Landroid/graphics/Typeface;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_1 :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; .line 435 invoke-virtual {v0}, Landroid/graphics/Paint;->getTypeface()Landroid/graphics/Typeface; move-result-object v0 if-nez v0, :cond_2 if-eqz p1, :cond_2 :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; .line 436 invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface; .line 438 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V .line 439 invoke-virtual {p0}, Landroid/view/View;->invalidate()V :cond_2 return-void .end method .method public setSwitchTypeface(Landroid/graphics/Typeface;I)V .locals 3 const/4 v0, 0x0 const/4 v1, 0x0 if-lez p2, :cond_4 if-nez p1, :cond_0 .line 408 invoke-static {p2}, Landroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface; move-result-object p1 goto :goto_0 .line 410 :cond_0 invoke-static {p1, p2}, Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface; move-result-object p1 .line 413 :goto_0 invoke-virtual {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setSwitchTypeface(Landroid/graphics/Typeface;)V if-eqz p1, :cond_1 .line 415 invoke-virtual {p1}, Landroid/graphics/Typeface;->getStyle()I move-result p1 goto :goto_1 :cond_1 move p1, v1 :goto_1 not-int p1, p1 and-int/2addr p1, p2 iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; and-int/lit8 v2, p1, 0x1 if-eqz v2, :cond_2 const/4 v1, 0x1 .line 417 :cond_2 invoke-virtual {p2, v1}, Landroid/graphics/Paint;->setFakeBoldText(Z)V iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; and-int/lit8 p1, p1, 0x2 if-eqz p1, :cond_3 const/high16 v0, -0x41800000 # -0.25f .line 418 :cond_3 invoke-virtual {p2, v0}, Landroid/graphics/Paint;->setTextSkewX(F)V goto :goto_2 :cond_4 iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; .line 420 invoke-virtual {p2, v1}, Landroid/graphics/Paint;->setFakeBoldText(Z)V iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; .line 421 invoke-virtual {p2, v0}, Landroid/graphics/Paint;->setTextSkewX(F)V .line 422 invoke-virtual {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setSwitchTypeface(Landroid/graphics/Typeface;)V :goto_2 return-void .end method .method public setTextOff(Ljava/lang/CharSequence;)V .locals 0 .line 862 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setTextOffInternal(Ljava/lang/CharSequence;)V .line 863 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V .line 864 invoke-virtual {p0}, Landroid/widget/CompoundButton;->isChecked()Z move-result p1 if-nez p1, :cond_0 .line 867 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setOffStateDescriptionOnRAndAbove()V :cond_0 return-void .end method .method public setTextOn(Ljava/lang/CharSequence;)V .locals 0 .line 824 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setTextOnInternal(Ljava/lang/CharSequence;)V .line 825 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V .line 826 invoke-virtual {p0}, Landroid/widget/CompoundButton;->isChecked()Z move-result p1 if-eqz p1, :cond_0 .line 829 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setOnStateDescriptionOnRAndAbove()V :cond_0 return-void .end method .method public setThumbDrawable(Landroid/graphics/drawable/Drawable;)V .locals 2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 const/4 v1, 0x0 .line 651 invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V :cond_0 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz p1, :cond_1 .line 655 invoke-virtual {p1, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 657 :cond_1 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V return-void .end method .method public setThumbPosition(F)V .locals 0 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F .line 1169 invoke-virtual {p0}, Landroid/view/View;->invalidate()V return-void .end method .method public setThumbResource(I)V .locals 1 .line 669 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v0 invoke-static {v0, p1}, Landroidx/appcompat/content/res/AppCompatResources;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; move-result-object p1 invoke-virtual {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setThumbDrawable(Landroid/graphics/drawable/Drawable;)V return-void .end method .method public setThumbTextPadding(I)V .locals 0 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTextPadding:I .line 502 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V return-void .end method .method public setThumbTintList(Landroid/content/res/ColorStateList;)V .locals 0 .param p1 # Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintList:Landroid/content/res/ColorStateList; const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z .line 703 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyThumbTint()V return-void .end method .method public setThumbTintMode(Landroid/graphics/PorterDuff$Mode;)V .locals 0 .param p1 # Landroid/graphics/PorterDuff$Mode; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z .line 734 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyThumbTint()V return-void .end method .method public setTrackDrawable(Landroid/graphics/drawable/Drawable;)V .locals 2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 const/4 v1, 0x0 .line 526 invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V :cond_0 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz p1, :cond_1 .line 530 invoke-virtual {p1, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 532 :cond_1 invoke-virtual {p0}, Landroid/view/View;->requestLayout()V return-void .end method .method public setTrackResource(I)V .locals 1 .line 543 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v0 invoke-static {v0, p1}, Landroidx/appcompat/content/res/AppCompatResources;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; move-result-object p1 invoke-virtual {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setTrackDrawable(Landroid/graphics/drawable/Drawable;)V return-void .end method .method public setTrackTintList(Landroid/content/res/ColorStateList;)V .locals 0 .param p1 # Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintList:Landroid/content/res/ColorStateList; const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z .line 575 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyTrackTint()V return-void .end method .method public setTrackTintMode(Landroid/graphics/PorterDuff$Mode;)V .locals 0 .param p1 # Landroid/graphics/PorterDuff$Mode; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z .line 605 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyTrackTint()V return-void .end method .method public toggle()V .locals 1 .line 1174 invoke-virtual {p0}, Landroid/widget/CompoundButton;->isChecked()Z move-result v0 xor-int/lit8 v0, v0, 0x1 invoke-virtual {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->setChecked(Z)V return-void .end method .method public verifyDrawable(Landroid/graphics/drawable/Drawable;)Z .locals 1 .param p1 # Landroid/graphics/drawable/Drawable; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1493 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z move-result v0 if-nez v0, :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eq p1, v0, :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-ne p1, v0, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 p1, 0x1 :goto_1 return p1 .end method