.class public Landroidx/appcompat/widget/SwitchCompat; .super Landroid/widget/CompoundButton; .source "SwitchCompat.java" # interfaces .implements Landroidx/appcompat/widget/EmojiCompatConfigurationView; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/appcompat/widget/SwitchCompat$Api18Impl;, 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; .field private mEmojiCompatInitCallback:Landroidx/appcompat/widget/SwitchCompat$EmojiCompatInitCallback; .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; .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 120 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 .line 212 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 const/4 v0, 0x0 .line 222 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 .line 233 sget v0, Landroidx/appcompat/R$attr;->switchStyle:I 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 .line 247 invoke-direct {p0, p1, p2, p3}, Landroid/widget/CompoundButton;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V const/4 v0, 0x0 .line 134 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintList:Landroid/content/res/ColorStateList; .line 135 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; const/4 v1, 0x0 .line 136 iput-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z .line 137 iput-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z .line 140 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintList:Landroid/content/res/ColorStateList; .line 141 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; .line 142 iput-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z .line 143 iput-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z .line 159 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 .line 194 iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mEnforceSwitchWidth:Z .line 209 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 249 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 251 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 253 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getResources()Landroid/content/res/Resources; move-result-object v4 .line 254 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 256 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 258 sget-object v6, Landroidx/appcompat/R$styleable;->SwitchCompat:[I .line 260 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 258 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 262 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 264 invoke-virtual {v4, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 266 :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 268 invoke-virtual {v4, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 270 :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 271 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 272 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 273 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 275 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 277 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 279 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 281 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 .line 283 iput-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintList:Landroid/content/res/ColorStateList; .line 284 iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z .line 286 :cond_2 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_thumbTintMode:I const/4 v5, -0x1 .line 287 invoke-virtual {v3, v4, v5}, Landroidx/appcompat/widget/TintTypedArray;->getInt(II)I move-result v4 .line 286 invoke-static {v4, v0}, Landroidx/appcompat/widget/DrawableUtils;->parseTintMode(ILandroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuff$Mode; move-result-object v4 .line 288 iget-object v6, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; if-eq v6, v4, :cond_3 .line 289 iput-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; .line 290 iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z .line 292 :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 293 :cond_4 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyThumbTint()V .line 296 :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 .line 298 iput-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintList:Landroid/content/res/ColorStateList; .line 299 iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z .line 301 :cond_6 sget v4, Landroidx/appcompat/R$styleable;->SwitchCompat_trackTintMode:I .line 302 invoke-virtual {v3, v4, v5}, Landroidx/appcompat/widget/TintTypedArray;->getInt(II)I move-result v4 .line 301 invoke-static {v4, v0}, Landroidx/appcompat/widget/DrawableUtils;->parseTintMode(ILandroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuff$Mode; move-result-object v0 .line 303 iget-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; if-eq v4, v0, :cond_7 .line 304 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; .line 305 iput-boolean v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z .line 307 :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 308 :cond_8 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyTrackTint()V .line 311 :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 314 invoke-virtual {p0, p1, v0}, Landroidx/appcompat/widget/SwitchCompat;->setSwitchTextAppearance(Landroid/content/Context;I)V .line 317 :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 318 invoke-virtual {v0, p2, p3}, Landroidx/appcompat/widget/AppCompatTextHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V .line 320 invoke-virtual {v3}, Landroidx/appcompat/widget/TintTypedArray;->recycle()V .line 322 invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object p1 .line 323 invoke-virtual {p1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v0 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchSlop:I .line 324 invoke-virtual {p1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I move-result p1 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mMinFlingVelocity:I .line 326 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getEmojiTextViewHelper()Landroidx/appcompat/widget/AppCompatEmojiTextHelper; move-result-object p1 .line 327 invoke-virtual {p1, p2, p3}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->loadFromAttributes(Landroid/util/AttributeSet;I)V .line 330 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->refreshDrawableState()V .line 331 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 .line 1140 :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 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 1141 invoke-virtual {p1, v2, v3}, Landroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator; .line 1143 iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; invoke-static {p1, v1}, Landroidx/appcompat/widget/SwitchCompat$Api18Impl;->setAutoCancel(Landroid/animation/ObjectAnimator;Z)V .line 1145 iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; invoke-virtual {p1}, Landroid/animation/ObjectAnimator;->start()V return-void .end method .method private applyThumbTint()V .locals 2 .line 753 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 754 :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; .line 756 iget-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z if-eqz v1, :cond_1 .line 757 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintList:Landroid/content/res/ColorStateList; invoke-static {v0, v1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintList(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V .line 760 :cond_1 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z if-eqz v0, :cond_2 .line 761 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; invoke-static {v0, v1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintMode(Landroid/graphics/drawable/Drawable;Landroid/graphics/PorterDuff$Mode;)V .line 766 :cond_2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result v0 if-eqz v0, :cond_3 .line 767 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 .line 624 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 625 :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; .line 627 iget-boolean v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z if-eqz v1, :cond_1 .line 628 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintList:Landroid/content/res/ColorStateList; invoke-static {v0, v1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintList(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V .line 631 :cond_1 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z if-eqz v0, :cond_2 .line 632 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; invoke-static {v0, v1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintMode(Landroid/graphics/drawable/Drawable;Landroid/graphics/PorterDuff$Mode;)V .line 637 :cond_2 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result v0 if-eqz v0, :cond_3 .line 638 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 .line 1149 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; if-eqz v0, :cond_0 .line 1150 invoke-virtual {v0}, Landroid/animation/ObjectAnimator;->cancel()V :cond_0 return-void .end method .method private cancelSuperTouch(Landroid/view/MotionEvent;)V .locals 1 .line 1099 invoke-static {p1}, Landroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent; move-result-object p1 const/4 v0, 0x3 .line 1100 invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->setAction(I)V .line 1101 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onTouchEvent(Landroid/view/MotionEvent;)Z .line 1102 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 .line 876 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 878 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 .line 1614 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mAppCompatEmojiTextHelper:Landroidx/appcompat/widget/AppCompatEmojiTextHelper; if-nez v0, :cond_0 .line 1615 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; .line 1617 :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 .line 1155 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 1422 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 .line 1423 iget v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F sub-float/2addr v0, v1 goto :goto_0 .line 1425 :cond_0 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F .line 1427 :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 .line 1431 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_1 .line 1432 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; .line 1433 invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z .line 1436 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 1437 invoke-static {v0}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object v0 goto :goto_0 .line 1439 :cond_0 sget-object v0, Landroidx/appcompat/widget/DrawableUtils;->INSETS_NONE:Landroid/graphics/Rect; .line 1442 :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 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 6 .line 1003 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 1008 :cond_0 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getThumbOffset()I move-result v0 .line 1010 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; invoke-virtual {v2, v3}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z .line 1011 iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTop:I iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchSlop:I sub-int/2addr v2, v3 .line 1012 iget v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchLeft:I add-int/2addr v4, v0 sub-int/2addr v4, v3 .line 1013 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbWidth:I add-int/2addr v0, v4 iget-object v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->left:I add-int/2addr v0, v3 iget-object v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->right:I add-int/2addr v0, v3 iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchSlop:I add-int/2addr v0, v3 .line 1015 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 993 new-instance v8, Landroid/text/StaticLayout; iget-object v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; if-eqz p1, :cond_0 .line 995 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 :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 move v3, v0 sget-object v4, Landroid/text/Layout$Alignment;->ALIGN_NORMAL:Landroid/text/Layout$Alignment; const/4 v6, 0x0 const/4 v7, 0x1 const/high16 v5, 0x3f800000 # 1.0f 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 .line 1589 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1e if-lt v0, v1, :cond_1 .line 1592 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; if-nez v0, :cond_0 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 1590 :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 .line 1580 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1e if-lt v0, v1, :cond_1 .line 1583 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; if-nez v0, :cond_0 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 1581 :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 394 :cond_0 sget-object p1, Landroid/graphics/Typeface;->MONOSPACE:Landroid/graphics/Typeface; goto :goto_0 .line 390 :cond_1 sget-object p1, Landroid/graphics/Typeface;->SERIF:Landroid/graphics/Typeface; goto :goto_0 .line 386 :cond_2 sget-object p1, Landroid/graphics/Typeface;->SANS_SERIF:Landroid/graphics/Typeface; .line 398 :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 .line 850 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; .line 851 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 .line 852 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mOffLayout:Landroid/text/Layout; .line 853 iget-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eqz p1, :cond_0 .line 854 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setupEmojiCompatLoadCallback()V :cond_0 return-void .end method .method private setTextOnInternal(Ljava/lang/CharSequence;)V .locals 0 .line 811 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; .line 812 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 .line 813 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mOnLayout:Landroid/text/Layout; .line 814 iget-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eqz p1, :cond_0 .line 815 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setupEmojiCompatLoadCallback()V :cond_0 return-void .end method .method private setupEmojiCompatLoadCallback()V .locals 3 .line 1642 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; invoke-virtual {v0}, Landroidx/appcompat/widget/AppCompatEmojiTextHelper;->isEnabled()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 .line 1645 :cond_0 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->isConfigured()Z move-result v0 if-eqz v0, :cond_2 .line 1646 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat; move-result-object v0 .line 1647 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 1651 :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 1652 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 .line 1111 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I .line 1115 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v1 const/4 v2, 0x1 if-ne v1, v2, :cond_0 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->isEnabled()Z move-result v1 if-eqz v1, :cond_0 move v1, v2 goto :goto_0 :cond_0 move v1, v0 .line 1116 :goto_0 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->isChecked()Z move-result v3 if-eqz v1, :cond_4 .line 1119 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mVelocityTracker:Landroid/view/VelocityTracker; const/16 v4, 0x3e8 invoke-virtual {v1, v4}, Landroid/view/VelocityTracker;->computeCurrentVelocity(I)V .line 1120 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v1}, Landroid/view/VelocityTracker;->getXVelocity()F move-result v1 .line 1121 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 1122 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result v4 const/4 v5, 0x0 if-eqz v4, :cond_1 cmpg-float v1, v1, v5 if-gez v1, :cond_2 goto :goto_1 :cond_1 cmpl-float v1, v1, v5 if-lez v1, :cond_2 goto :goto_1 :cond_2 move v2, v0 goto :goto_1 .line 1124 :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 1131 invoke-virtual {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->playSoundEffect(I)V .line 1134 :cond_5 invoke-virtual {p0, v2}, Landroidx/appcompat/widget/SwitchCompat;->setChecked(Z)V .line 1135 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 .line 1262 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; .line 1263 iget v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchLeft:I .line 1264 iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTop:I .line 1265 iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchRight:I .line 1266 iget v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchBottom:I .line 1268 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getThumbOffset()I move-result v5 add-int/2addr v5, v1 .line 1271 iget-object v6, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v6, :cond_0 .line 1272 invoke-static {v6}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object v6 goto :goto_0 .line 1274 :cond_0 sget-object v6, Landroidx/appcompat/widget/DrawableUtils;->INSETS_NONE:Landroid/graphics/Rect; .line 1278 :goto_0 iget-object v7, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v7, :cond_6 .line 1279 invoke-virtual {v7, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z .line 1282 iget v7, v0, Landroid/graphics/Rect;->left:I add-int/2addr v5, v7 if-eqz v6, :cond_4 .line 1290 iget v7, v6, Landroid/graphics/Rect;->left:I iget v8, v0, Landroid/graphics/Rect;->left:I if-le v7, v8, :cond_1 .line 1291 iget v7, v6, Landroid/graphics/Rect;->left:I iget v8, v0, Landroid/graphics/Rect;->left:I sub-int/2addr v7, v8 add-int/2addr v1, v7 .line 1293 :cond_1 iget v7, v6, Landroid/graphics/Rect;->top:I iget v8, v0, Landroid/graphics/Rect;->top:I if-le v7, v8, :cond_2 .line 1294 iget v7, v6, Landroid/graphics/Rect;->top:I iget v8, v0, Landroid/graphics/Rect;->top:I sub-int/2addr v7, v8 add-int/2addr v7, v2 goto :goto_1 :cond_2 move v7, v2 .line 1296 :goto_1 iget v8, v6, Landroid/graphics/Rect;->right:I iget v9, v0, Landroid/graphics/Rect;->right:I if-le v8, v9, :cond_3 .line 1297 iget v8, v6, Landroid/graphics/Rect;->right:I iget v9, v0, Landroid/graphics/Rect;->right:I sub-int/2addr v8, v9 sub-int/2addr v3, v8 .line 1299 :cond_3 iget v8, v6, Landroid/graphics/Rect;->bottom:I iget v9, v0, Landroid/graphics/Rect;->bottom:I if-le v8, v9, :cond_5 .line 1300 iget v6, v6, Landroid/graphics/Rect;->bottom:I iget v8, v0, Landroid/graphics/Rect;->bottom:I sub-int/2addr v6, v8 sub-int v6, v4, v6 goto :goto_2 :cond_4 move v7, v2 :cond_5 move v6, v4 .line 1303 :goto_2 iget-object v8, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v8, v1, v7, v3, v6}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V .line 1307 :cond_6 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_7 .line 1308 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z .line 1310 iget v1, v0, Landroid/graphics/Rect;->left:I sub-int v1, v5, v1 .line 1311 iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbWidth:I add-int/2addr v5, v3 iget v0, v0, Landroid/graphics/Rect;->right:I add-int/2addr v5, v0 .line 1312 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v0, v1, v2, v5, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V .line 1314 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getBackground()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_7 .line 1316 invoke-static {v0, v1, v2, v5, v4}, Landroidx/core/graphics/drawable/DrawableCompat;->setHotspotBounds(Landroid/graphics/drawable/Drawable;IIII)V .line 1322 :cond_7 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->draw(Landroid/graphics/Canvas;)V return-void .end method .method public drawableHotspotChanged(FF)V .locals 1 .line 1483 invoke-super {p0, p1, p2}, Landroid/widget/CompoundButton;->drawableHotspotChanged(FF)V .line 1486 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 1487 invoke-static {v0, p1, p2}, Landroidx/core/graphics/drawable/DrawableCompat;->setHotspot(Landroid/graphics/drawable/Drawable;FF)V .line 1490 :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_1 .line 1491 invoke-static {v0, p1, p2}, Landroidx/core/graphics/drawable/DrawableCompat;->setHotspot(Landroid/graphics/drawable/Drawable;FF)V :cond_1 return-void .end method .method protected drawableStateChanged()V .locals 4 .line 1460 invoke-super {p0}, Landroid/widget/CompoundButton;->drawableStateChanged()V .line 1462 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getDrawableState()[I move-result-object v0 .line 1465 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_0 .line 1466 invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result v2 if-eqz v2, :cond_0 .line 1467 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->setState([I)Z move-result v1 goto :goto_0 :cond_0 const/4 v1, 0x0 .line 1470 :goto_0 iget-object v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v2, :cond_1 .line 1471 invoke-virtual {v2}, Landroid/graphics/drawable/Drawable;->isStateful()Z move-result v3 if-eqz v3, :cond_1 .line 1472 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 1476 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->invalidate()V :cond_2 return-void .end method .method public getCompoundPaddingLeft()I .locals 2 .line 1392 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result v0 if-nez v0, :cond_0 .line 1393 invoke-super {p0}, Landroid/widget/CompoundButton;->getCompoundPaddingLeft()I move-result v0 return v0 .line 1395 :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 1396 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 .line 1397 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 1404 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 .line 1405 invoke-super {p0}, Landroid/widget/CompoundButton;->getCompoundPaddingRight()I move-result v0 return v0 .line 1407 :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 1408 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 .line 1409 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 .line 1558 invoke-super {p0}, Landroid/widget/CompoundButton;->getCustomSelectionActionModeCallback()Landroid/view/ActionMode$Callback; move-result-object v0 .line 1557 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 .line 909 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z return v0 .end method .method public getSplitTrack()Z .locals 1 .line 793 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSplitTrack:Z return v0 .end method .method public getSwitchMinWidth()I .locals 1 .line 492 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchMinWidth:I return v0 .end method .method public getSwitchPadding()I .locals 1 .line 466 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchPadding:I return v0 .end method .method public getTextOff()Ljava/lang/CharSequence; .locals 1 .line 842 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 .line 803 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 .line 684 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method protected final getThumbPosition()F .locals 1 .line 1163 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F return v0 .end method .method public getThumbTextPadding()I .locals 1 .line 516 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTextPadding:I return v0 .end method .method public getThumbTintList()Landroid/content/res/ColorStateList; .locals 1 .line 717 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 .line 749 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 .line 557 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 .line 589 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 .line 620 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 1631 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 1502 invoke-super {p0}, Landroid/widget/CompoundButton;->jumpDrawablesToCurrentState()V .line 1504 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 1505 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->jumpToCurrentState()V .line 1508 :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_1 .line 1509 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->jumpToCurrentState()V .line 1512 :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; if-eqz v0, :cond_2 invoke-virtual {v0}, Landroid/animation/ObjectAnimator;->isStarted()Z move-result v0 if-eqz v0, :cond_2 .line 1513 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; invoke-virtual {v0}, Landroid/animation/ObjectAnimator;->end()V const/4 v0, 0x0 .line 1514 iput-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mPositionAnimator:Landroid/animation/ObjectAnimator; :cond_2 return-void .end method .method protected onCreateDrawableState(I)[I .locals 1 add-int/lit8 p1, p1, 0x1 .line 1451 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onCreateDrawableState(I)[I move-result-object p1 .line 1452 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->isChecked()Z move-result v0 if-eqz v0, :cond_0 .line 1453 sget-object v0, Landroidx/appcompat/widget/SwitchCompat;->CHECKED_STATE_SET:[I invoke-static {p1, v0}, Landroidx/appcompat/widget/SwitchCompat;->mergeDrawableStates([I[I)[I :cond_0 return-object p1 .end method .method protected onDraw(Landroid/graphics/Canvas;)V .locals 9 .line 1327 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onDraw(Landroid/graphics/Canvas;)V .line 1329 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; .line 1330 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_0 .line 1332 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z goto :goto_0 .line 1334 :cond_0 invoke-virtual {v0}, Landroid/graphics/Rect;->setEmpty()V .line 1337 :goto_0 iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTop:I .line 1338 iget v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchBottom:I .line 1339 iget v4, v0, Landroid/graphics/Rect;->top:I add-int/2addr v2, v4 .line 1340 iget v4, v0, Landroid/graphics/Rect;->bottom:I sub-int/2addr v3, v4 .line 1342 iget-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_2 .line 1344 iget-boolean v5, p0, Landroidx/appcompat/widget/SwitchCompat;->mSplitTrack:Z if-eqz v5, :cond_1 if-eqz v4, :cond_1 .line 1345 invoke-static {v4}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object v5 .line 1346 invoke-virtual {v4, v0}, Landroid/graphics/drawable/Drawable;->copyBounds(Landroid/graphics/Rect;)V .line 1347 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 1348 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 1350 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v5 .line 1351 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 1352 invoke-virtual {v1, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V .line 1353 invoke-virtual {p1, v5}, Landroid/graphics/Canvas;->restoreToCount(I)V goto :goto_1 .line 1355 :cond_1 invoke-virtual {v1, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V .line 1359 :cond_2 :goto_1 invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I move-result v0 if-eqz v4, :cond_3 .line 1362 invoke-virtual {v4, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V .line 1365 :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 1367 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getDrawableState()[I move-result-object v5 .line 1368 iget-object v6, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextColors:Landroid/content/res/ColorStateList; if-eqz v6, :cond_5 .line 1369 iget-object v7, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; const/4 v8, 0x0 invoke-virtual {v6, v5, v8}, Landroid/content/res/ColorStateList;->getColorForState([II)I move-result v6 invoke-virtual {v7, v6}, Landroid/text/TextPaint;->setColor(I)V .line 1371 :cond_5 iget-object v6, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; iput-object v5, v6, Landroid/text/TextPaint;->drawableState:[I if-eqz v4, :cond_6 .line 1375 invoke-virtual {v4}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect; move-result-object v4 .line 1376 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 1378 :cond_6 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getWidth()I move-result v5 .line 1381 :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 1382 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 1383 invoke-virtual {p1, v3, v2}, Landroid/graphics/Canvas;->translate(FF)V .line 1384 invoke-virtual {v1, p1}, Landroid/text/Layout;->draw(Landroid/graphics/Canvas;)V .line 1387 :cond_7 invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V return-void .end method .method onEmojiCompatInitializedForSwitchText()V .locals 1 .line 1665 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; invoke-direct {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->setTextOnInternal(Ljava/lang/CharSequence;)V .line 1666 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; invoke-direct {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->setTextOffInternal(Ljava/lang/CharSequence;)V .line 1667 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V return-void .end method .method public onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V .locals 1 .line 1520 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V .line 1521 const-string v0, "android.widget.Switch" invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityEvent;->setClassName(Ljava/lang/CharSequence;)V return-void .end method .method public onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V .locals 4 .line 1526 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V .line 1527 const-string v0, "android.widget.Switch" invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityNodeInfo;->setClassName(Ljava/lang/CharSequence;)V .line 1528 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1e if-ge v0, v1, :cond_2 .line 1529 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 1530 :goto_0 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_2 .line 1531 invoke-virtual {p1}, Landroid/view/accessibility/AccessibilityNodeInfo;->getText()Ljava/lang/CharSequence; move-result-object v1 .line 1532 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v2 if-eqz v2, :cond_1 .line 1533 invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityNodeInfo;->setText(Ljava/lang/CharSequence;)V goto :goto_1 .line 1535 :cond_1 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V .line 1536 invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder; move-result-object v1 const/16 v3, 0x20 invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder; .line 1537 invoke-virtual {p1, v2}, Landroid/view/accessibility/AccessibilityNodeInfo;->setText(Ljava/lang/CharSequence;)V :cond_2 :goto_1 return-void .end method .method protected onLayout(ZIIII)V .locals 0 .line 1206 invoke-super/range {p0 .. p5}, Landroid/widget/CompoundButton;->onLayout(ZIIII)V .line 1210 iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; const/4 p2, 0x0 if-eqz p1, :cond_1 .line 1211 iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; .line 1212 iget-object p3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz p3, :cond_0 .line 1213 invoke-virtual {p3, p1}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z goto :goto_0 .line 1215 :cond_0 invoke-virtual {p1}, Landroid/graphics/Rect;->setEmpty()V .line 1218 :goto_0 iget-object p3, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; invoke-static {p3}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object p3 .line 1219 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 1220 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 1225 :goto_1 invoke-static {p0}, Landroidx/appcompat/widget/ViewUtils;->isLayoutRtl(Landroid/view/View;)Z move-result p1 if-eqz p1, :cond_2 .line 1226 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getPaddingLeft()I move-result p1 add-int/2addr p1, p4 .line 1227 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 1229 :cond_2 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getWidth()I move-result p1 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getPaddingRight()I move-result p3 sub-int/2addr p1, p3 sub-int p3, p1, p2 .line 1230 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 1235 :goto_2 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 1238 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getPaddingTop()I move-result p2 .line 1239 iget p4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchHeight:I goto :goto_3 .line 1249 :cond_3 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getHeight()I move-result p2 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getPaddingBottom()I move-result p4 sub-int p4, p2, p4 .line 1250 iget p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchHeight:I sub-int p2, p4, p2 goto :goto_4 .line 1243 :cond_4 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getPaddingTop()I move-result p2 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getHeight()I move-result p4 add-int/2addr p2, p4 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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_3 add-int/2addr p4, p2 .line 1254 :goto_4 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchLeft:I .line 1255 iput p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTop:I .line 1256 iput p4, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchBottom:I .line 1257 iput p3, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchRight:I return-void .end method .method public onMeasure(II)V .locals 6 .line 914 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eqz v0, :cond_1 .line 915 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mOnLayout:Landroid/text/Layout; if-nez v0, :cond_0 .line 916 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOnTransformed:Ljava/lang/CharSequence; 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; .line 919 :cond_0 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mOffLayout:Landroid/text/Layout; if-nez v0, :cond_1 .line 920 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOffTransformed:Ljava/lang/CharSequence; 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; .line 924 :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTempRect:Landroid/graphics/Rect; .line 927 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; const/4 v2, 0x0 if-eqz v1, :cond_2 .line 929 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z .line 930 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; 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 .line 931 iget-object v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v3}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v3 goto :goto_0 :cond_2 move v1, v2 move v3, v1 .line 938 :goto_0 iget-boolean v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eqz v4, :cond_3 .line 939 iget-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mOnLayout:Landroid/text/Layout; 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 945 :goto_1 invoke-static {v4, v1}, Ljava/lang/Math;->max(II)I move-result v1 iput v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbWidth:I .line 948 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_4 .line 949 invoke-virtual {v1, v0}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z .line 950 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v2 goto :goto_2 .line 952 :cond_4 invoke-virtual {v0}, Landroid/graphics/Rect;->setEmpty()V .line 958 :goto_2 iget v1, v0, Landroid/graphics/Rect;->left:I .line 959 iget v0, v0, Landroid/graphics/Rect;->right:I .line 960 iget-object v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v4, :cond_5 .line 961 invoke-static {v4}, Landroidx/appcompat/widget/DrawableUtils;->getOpticalBounds(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Rect; move-result-object v4 .line 962 iget v5, v4, Landroid/graphics/Rect;->left:I invoke-static {v1, v5}, Ljava/lang/Math;->max(II)I move-result v1 .line 963 iget v4, v4, Landroid/graphics/Rect;->right:I invoke-static {v0, v4}, Ljava/lang/Math;->max(II)I move-result v0 .line 967 :cond_5 iget-boolean v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mEnforceSwitchWidth:Z if-eqz v4, :cond_6 .line 968 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 invoke-static {v4, v5}, Ljava/lang/Math;->max(II)I move-result v0 goto :goto_3 .line 969 :cond_6 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchMinWidth:I .line 970 :goto_3 invoke-static {v2, v3}, Ljava/lang/Math;->max(II)I move-result v1 .line 971 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchWidth:I .line 972 iput v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchHeight:I .line 974 invoke-super {p0, p1, p2}, Landroid/widget/CompoundButton;->onMeasure(II)V .line 976 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getMeasuredHeight()I move-result p1 if-ge p1, v1, :cond_7 .line 978 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getMeasuredWidthAndState()I move-result p1 invoke-virtual {p0, p1, v1}, Landroidx/appcompat/widget/SwitchCompat;->setMeasuredDimension(II)V :cond_7 return-void .end method .method public onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V .locals 1 .line 984 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V .line 986 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 988 invoke-virtual {p1}, Landroid/view/accessibility/AccessibilityEvent;->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 .line 1021 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v0, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 1022 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 .line 1036 :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 1056 :cond_1 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result p1 .line 1057 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->getThumbScrollRange()I move-result v0 .line 1058 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 1067 :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 .line 1070 :cond_4 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F add-float/2addr v0, v2 invoke-static {v0, v4, v3}, Landroidx/appcompat/widget/SwitchCompat;->constrain(FFF)F move-result v0 .line 1071 iget v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F cmpl-float v2, v0, v2 if-eqz v2, :cond_5 .line 1072 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchX:F .line 1073 invoke-virtual {p0, v0}, Landroidx/appcompat/widget/SwitchCompat;->setThumbPosition(F)V :cond_5 return v1 .line 1042 :cond_6 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 .line 1043 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v3 .line 1044 iget v4, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchX:F sub-float v4, v0, v4 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 1045 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 .line 1046 :cond_7 iput v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I .line 1047 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getParent()Landroid/view/ViewParent; move-result-object p1 invoke-interface {p1, v1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V .line 1048 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchX:F .line 1049 iput v3, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchY:F return v1 .line 1083 :cond_8 iget v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I if-ne v0, v2, :cond_9 .line 1084 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->stopDrag(Landroid/view/MotionEvent;)V .line 1086 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onTouchEvent(Landroid/view/MotionEvent;)Z return v1 :cond_9 const/4 v0, 0x0 .line 1089 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I .line 1090 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v0}, Landroid/view/VelocityTracker;->clear()V goto :goto_1 .line 1025 :cond_a invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 .line 1026 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v2 .line 1027 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 .line 1028 iput v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchMode:I .line 1029 iput v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchX:F .line 1030 iput v2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTouchY:F .line 1095 :cond_b :goto_1 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 .end method .method public setAllCaps(Z)V .locals 1 .line 1599 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->setAllCaps(Z)V .line 1600 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 1183 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->setChecked(Z)V .line 1187 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->isChecked()Z move-result p1 if-eqz p1, :cond_0 .line 1190 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setOnStateDescriptionOnRAndAbove()V goto :goto_0 .line 1192 :cond_0 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setOffStateDescriptionOnRAndAbove()V .line 1195 :goto_0 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getWindowToken()Landroid/os/IBinder; move-result-object v0 if-eqz v0, :cond_1 invoke-static {p0}, Landroidx/core/view/ViewCompat;->isLaidOut(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_1 .line 1196 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->animateThumbToCheckedState(Z)V goto :goto_2 .line 1199 :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 1200 :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 .line 1551 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 1550 invoke-super {p0, p1}, Landroid/widget/CompoundButton;->setCustomSelectionActionModeCallback(Landroid/view/ActionMode$Callback;)V return-void .end method .method public setEmojiCompatEnabled(Z)V .locals 1 .line 1622 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 .line 1624 iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setTextOnInternal(Ljava/lang/CharSequence;)V .line 1625 iget-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setTextOffInternal(Ljava/lang/CharSequence;)V .line 1626 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V return-void .end method .method protected final setEnforceSwitchWidth(Z)V .locals 0 .line 1568 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mEnforceSwitchWidth:Z .line 1569 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->invalidate()V return-void .end method .method public setFilters([Landroid/text/InputFilter;)V .locals 1 .line 1605 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/CompoundButton;->setFilters([Landroid/text/InputFilter;)V return-void .end method .method public setShowText(Z)V .locals 1 .line 890 iget-boolean v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z if-eq v0, p1, :cond_0 .line 891 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mShowText:Z .line 892 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V if-eqz p1, :cond_0 .line 894 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->setupEmojiCompatLoadCallback()V :cond_0 return-void .end method .method public setSplitTrack(Z)V .locals 0 .line 782 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSplitTrack:Z .line 783 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->invalidate()V return-void .end method .method public setSwitchMinWidth(I)V .locals 0 .line 478 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchMinWidth:I .line 479 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V return-void .end method .method public setSwitchPadding(I)V .locals 0 .line 453 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchPadding:I .line 454 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V return-void .end method .method public setSwitchTextAppearance(Landroid/content/Context;I)V .locals 3 .line 341 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 347 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 .line 349 iput-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextColors:Landroid/content/res/ColorStateList; goto :goto_0 .line 352 :cond_0 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->getTextColors()Landroid/content/res/ColorStateList; move-result-object p2 iput-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextColors:Landroid/content/res/ColorStateList; .line 355 :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 .line 357 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; invoke-virtual {v1}, Landroid/text/TextPaint;->getTextSize()F move-result v1 cmpl-float v1, p2, v1 if-eqz v1, :cond_1 .line 358 iget-object v1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; invoke-virtual {v1, p2}, Landroid/text/TextPaint;->setTextSize(F)V .line 359 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V .line 364 :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 365 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 367 invoke-direct {p0, p2, v1}, Landroidx/appcompat/widget/SwitchCompat;->setSwitchTypefaceByIndex(II)V .line 369 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 371 new-instance p2, Landroidx/appcompat/text/AllCapsTransformationMethod; invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 .line 373 iput-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mSwitchTransformationMethod:Landroid/text/method/TransformationMethod; .line 376 :goto_1 iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOn:Ljava/lang/CharSequence; invoke-direct {p0, p2}, Landroidx/appcompat/widget/SwitchCompat;->setTextOnInternal(Ljava/lang/CharSequence;)V .line 377 iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextOff:Ljava/lang/CharSequence; invoke-direct {p0, p2}, Landroidx/appcompat/widget/SwitchCompat;->setTextOffInternal(Ljava/lang/CharSequence;)V .line 379 invoke-virtual {p1}, Landroidx/appcompat/widget/TintTypedArray;->recycle()V return-void .end method .method public setSwitchTypeface(Landroid/graphics/Typeface;)V .locals 1 .line 436 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; invoke-virtual {v0}, Landroid/text/TextPaint;->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/text/TextPaint;->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 437 invoke-virtual {v0}, Landroid/text/TextPaint;->getTypeface()Landroid/graphics/Typeface; move-result-object v0 if-nez v0, :cond_2 if-eqz p1, :cond_2 .line 438 :cond_1 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; invoke-virtual {v0, p1}, Landroid/text/TextPaint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface; .line 440 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V .line 441 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 410 invoke-static {p2}, Landroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface; move-result-object p1 goto :goto_0 .line 412 :cond_0 invoke-static {p1, p2}, Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface; move-result-object p1 .line 415 :goto_0 invoke-virtual {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setSwitchTypeface(Landroid/graphics/Typeface;)V if-eqz p1, :cond_1 .line 417 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 .line 419 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 :cond_2 invoke-virtual {p2, v1}, Landroid/text/TextPaint;->setFakeBoldText(Z)V .line 420 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 :cond_3 invoke-virtual {p2, v0}, Landroid/text/TextPaint;->setTextSkewX(F)V goto :goto_2 .line 422 :cond_4 iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; invoke-virtual {p2, v1}, Landroid/text/TextPaint;->setFakeBoldText(Z)V .line 423 iget-object p2, p0, Landroidx/appcompat/widget/SwitchCompat;->mTextPaint:Landroid/text/TextPaint; invoke-virtual {p2, v0}, Landroid/text/TextPaint;->setTextSkewX(F)V .line 424 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 864 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setTextOffInternal(Ljava/lang/CharSequence;)V .line 865 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V .line 866 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->isChecked()Z move-result p1 if-nez p1, :cond_0 .line 869 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 826 invoke-direct {p0, p1}, Landroidx/appcompat/widget/SwitchCompat;->setTextOnInternal(Ljava/lang/CharSequence;)V .line 827 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V .line 828 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->isChecked()Z move-result p1 if-eqz p1, :cond_0 .line 831 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 .line 652 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 const/4 v1, 0x0 .line 653 invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 655 :cond_0 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbDrawable:Landroid/graphics/drawable/Drawable; if-eqz p1, :cond_1 .line 657 invoke-virtual {p1, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 659 :cond_1 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V return-void .end method .method setThumbPosition(F)V .locals 0 .line 1172 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbPosition:F .line 1173 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->invalidate()V return-void .end method .method public setThumbResource(I)V .locals 1 .line 671 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 .line 503 iput p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTextPadding:I .line 504 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V return-void .end method .method public setThumbTintList(Landroid/content/res/ColorStateList;)V .locals 0 .line 702 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintList:Landroid/content/res/ColorStateList; const/4 p1, 0x1 .line 703 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTint:Z .line 705 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyThumbTint()V return-void .end method .method public setThumbTintMode(Landroid/graphics/PorterDuff$Mode;)V .locals 0 .line 733 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mThumbTintMode:Landroid/graphics/PorterDuff$Mode; const/4 p1, 0x1 .line 734 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasThumbTintMode:Z .line 736 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyThumbTint()V return-void .end method .method public setTrackDrawable(Landroid/graphics/drawable/Drawable;)V .locals 2 .line 527 iget-object v0, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 const/4 v1, 0x0 .line 528 invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 530 :cond_0 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackDrawable:Landroid/graphics/drawable/Drawable; if-eqz p1, :cond_1 .line 532 invoke-virtual {p1, p0}, Landroid/graphics/drawable/Drawable;->setCallback(Landroid/graphics/drawable/Drawable$Callback;)V .line 534 :cond_1 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->requestLayout()V return-void .end method .method public setTrackResource(I)V .locals 1 .line 545 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 .line 574 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintList:Landroid/content/res/ColorStateList; const/4 p1, 0x1 .line 575 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTint:Z .line 577 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyTrackTint()V return-void .end method .method public setTrackTintMode(Landroid/graphics/PorterDuff$Mode;)V .locals 0 .line 604 iput-object p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mTrackTintMode:Landroid/graphics/PorterDuff$Mode; const/4 p1, 0x1 .line 605 iput-boolean p1, p0, Landroidx/appcompat/widget/SwitchCompat;->mHasTrackTintMode:Z .line 607 invoke-direct {p0}, Landroidx/appcompat/widget/SwitchCompat;->applyTrackTint()V return-void .end method .method public toggle()V .locals 1 .line 1178 invoke-virtual {p0}, Landroidx/appcompat/widget/SwitchCompat;->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 protected verifyDrawable(Landroid/graphics/drawable/Drawable;)Z .locals 1 .line 1497 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