.class public Landroid/support/v4/app/ActionBarDrawerToggle; .super Ljava/lang/Object; .source "ActionBarDrawerToggle.java" # interfaces .implements Landroid/support/v4/widget/DrawerLayout$DrawerListener; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroid/support/v4/app/ActionBarDrawerToggle$1;, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplHC;, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplBase;, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;, Landroid/support/v4/app/ActionBarDrawerToggle$Delegate;, Landroid/support/v4/app/ActionBarDrawerToggle$DelegateProvider; } .end annotation # static fields .field private static final ID_HOME:I = 0x102002c .field private static final IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl; # instance fields .field private final mActivity:Landroid/app/Activity; .field private final mActivityImpl:Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; .field private final mCloseDrawerContentDescRes:I .field private mDrawerImage:Landroid/graphics/drawable/Drawable; .field private final mDrawerImageResource:I .field private mDrawerIndicatorEnabled:Z .field private final mDrawerLayout:Landroid/support/v4/widget/DrawerLayout; .field private final mOpenDrawerContentDescRes:I .field private mSetIndicatorInfo:Ljava/lang/Object; .field private mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; .field private mThemeImage:Landroid/graphics/drawable/Drawable; # direct methods .method static constructor ()V .locals 3 .prologue const/4 v2, 0x0 .line 144 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I .line 145 .local v0, "version":I const/16 v1, 0xb if-lt v0, v1, :cond_0 .line 146 new-instance v1, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplHC; invoke-direct {v1, v2}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplHC;->(Landroid/support/v4/app/ActionBarDrawerToggle$1;)V sput-object v1, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl; .line 150 :goto_0 return-void .line 148 :cond_0 new-instance v1, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplBase; invoke-direct {v1, v2}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImplBase;->(Landroid/support/v4/app/ActionBarDrawerToggle$1;)V sput-object v1, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl; goto :goto_0 .end method .method public constructor (Landroid/app/Activity;Landroid/support/v4/widget/DrawerLayout;III)V .locals 2 .param p1, "activity" # Landroid/app/Activity; .param p2, "drawerLayout" # Landroid/support/v4/widget/DrawerLayout; .param p3, "drawerImageRes" # I .param p4, "openDrawerContentDescRes" # I .param p5, "closeDrawerContentDescRes" # I .prologue .line 189 invoke-direct {p0}, Ljava/lang/Object;->()V .line 158 const/4 v0, 0x1 iput-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z .line 190 iput-object p1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity; .line 191 iput-object p2, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout; .line 192 iput p3, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImageResource:I .line 193 iput p4, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mOpenDrawerContentDescRes:I .line 194 iput p5, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mCloseDrawerContentDescRes:I .line 196 invoke-virtual {p0}, Landroid/support/v4/app/ActionBarDrawerToggle;->getThemeUpIndicator()Landroid/graphics/drawable/Drawable; move-result-object v0 iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mThemeImage:Landroid/graphics/drawable/Drawable; .line 197 invoke-virtual {p1}, Landroid/app/Activity;->getResources()Landroid/content/res/Resources; move-result-object v0 invoke-virtual {v0, p3}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v0 iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImage:Landroid/graphics/drawable/Drawable; .line 198 new-instance v0, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImage:Landroid/graphics/drawable/Drawable; invoke-direct {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->(Landroid/graphics/drawable/Drawable;)V iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; .line 199 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; const v1, 0x3eaaaaab invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffsetBy(F)V .line 202 instance-of v0, p1, Landroid/support/v4/app/ActionBarDrawerToggle$DelegateProvider; if-eqz v0, :cond_0 .line 203 check-cast p1, Landroid/support/v4/app/ActionBarDrawerToggle$DelegateProvider; .end local p1 # "activity":Landroid/app/Activity; invoke-interface {p1}, Landroid/support/v4/app/ActionBarDrawerToggle$DelegateProvider;->getDrawerToggleDelegate()Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; move-result-object v0 iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivityImpl:Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; .line 207 :goto_0 return-void .line 205 .restart local p1 # "activity":Landroid/app/Activity; :cond_0 const/4 v0, 0x0 iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivityImpl:Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; goto :goto_0 .end method # virtual methods .method getThemeUpIndicator()Landroid/graphics/drawable/Drawable; .locals 2 .prologue .line 357 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivityImpl:Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; if-eqz v0, :cond_0 .line 358 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivityImpl:Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; invoke-interface {v0}, Landroid/support/v4/app/ActionBarDrawerToggle$Delegate;->getThemeUpIndicator()Landroid/graphics/drawable/Drawable; move-result-object v0 .line 360 :goto_0 return-object v0 :cond_0 sget-object v0, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl; iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity; invoke-interface {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->getThemeUpIndicator(Landroid/app/Activity;)Landroid/graphics/drawable/Drawable; move-result-object v0 goto :goto_0 .end method .method public isDrawerIndicatorEnabled()Z .locals 1 .prologue .line 258 iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z return v0 .end method .method public onConfigurationChanged(Landroid/content/res/Configuration;)V .locals 2 .param p1, "newConfig" # Landroid/content/res/Configuration; .prologue .line 270 invoke-virtual {p0}, Landroid/support/v4/app/ActionBarDrawerToggle;->getThemeUpIndicator()Landroid/graphics/drawable/Drawable; move-result-object v0 iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mThemeImage:Landroid/graphics/drawable/Drawable; .line 271 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity; invoke-virtual {v0}, Landroid/app/Activity;->getResources()Landroid/content/res/Resources; move-result-object v0 iget v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImageResource:I invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable; move-result-object v0 iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerImage:Landroid/graphics/drawable/Drawable; .line 272 invoke-virtual {p0}, Landroid/support/v4/app/ActionBarDrawerToggle;->syncState()V .line 273 return-void .end method .method public onDrawerClosed(Landroid/view/View;)V .locals 2 .param p1, "drawerView" # Landroid/view/View; .prologue .line 339 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; const/4 v1, 0x0 invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V .line 340 iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z if-eqz v0, :cond_0 .line 341 iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mCloseDrawerContentDescRes:I invoke-virtual {p0, v0}, Landroid/support/v4/app/ActionBarDrawerToggle;->setActionBarDescription(I)V .line 343 :cond_0 return-void .end method .method public onDrawerOpened(Landroid/view/View;)V .locals 2 .param p1, "drawerView" # Landroid/view/View; .prologue .line 324 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; const/high16 v1, 0x3f800000 # 1.0f invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V .line 325 iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z if-eqz v0, :cond_0 .line 326 iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mOpenDrawerContentDescRes:I invoke-virtual {p0, v0}, Landroid/support/v4/app/ActionBarDrawerToggle;->setActionBarDescription(I)V .line 328 :cond_0 return-void .end method .method public onDrawerSlide(Landroid/view/View;F)V .locals 4 .param p1, "drawerView" # Landroid/view/View; .param p2, "slideOffset" # F .prologue const/high16 v3, 0x40000000 # 2.0f const/high16 v2, 0x3f000000 # 0.5f .line 306 iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; invoke-virtual {v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->getOffset()F move-result v0 .line 307 .local v0, "glyphOffset":F cmpl-float v1, p2, v2 if-lez v1, :cond_0 .line 308 const/4 v1, 0x0 sub-float v2, p2, v2 invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F move-result v1 mul-float/2addr v1, v3 invoke-static {v0, v1}, Ljava/lang/Math;->max(FF)F move-result v0 .line 312 :goto_0 iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; invoke-virtual {v1, v0}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V .line 313 return-void .line 310 :cond_0 mul-float v1, p2, v3 invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F move-result v0 goto :goto_0 .end method .method public onDrawerStateChanged(I)V .locals 0 .param p1, "newState" # I .prologue .line 354 return-void .end method .method public onOptionsItemSelected(Landroid/view/MenuItem;)Z .locals 3 .param p1, "item" # Landroid/view/MenuItem; .prologue const v2, 0x800003 .line 285 if-eqz p1, :cond_1 invoke-interface {p1}, Landroid/view/MenuItem;->getItemId()I move-result v0 const v1, 0x102002c if-ne v0, v1, :cond_1 iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z if-eqz v0, :cond_1 .line 286 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v0, v2}, Landroid/support/v4/widget/DrawerLayout;->isDrawerVisible(I)Z move-result v0 if-eqz v0, :cond_0 .line 287 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v0, v2}, Landroid/support/v4/widget/DrawerLayout;->closeDrawer(I)V .line 291 :goto_0 const/4 v0, 0x1 .line 293 :goto_1 return v0 .line 289 :cond_0 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v0, v2}, Landroid/support/v4/widget/DrawerLayout;->openDrawer(I)V goto :goto_0 .line 293 :cond_1 const/4 v0, 0x0 goto :goto_1 .end method .method setActionBarDescription(I)V .locals 3 .param p1, "contentDescRes" # I .prologue .line 373 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivityImpl:Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; if-eqz v0, :cond_0 .line 374 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivityImpl:Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; invoke-interface {v0, p1}, Landroid/support/v4/app/ActionBarDrawerToggle$Delegate;->setActionBarDescription(I)V .line 379 :goto_0 return-void .line 377 :cond_0 sget-object v0, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl; iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object; iget-object v2, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity; invoke-interface {v0, v1, v2, p1}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->setActionBarDescription(Ljava/lang/Object;Landroid/app/Activity;I)Ljava/lang/Object; move-result-object v0 iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object; goto :goto_0 .end method .method setActionBarUpIndicator(Landroid/graphics/drawable/Drawable;I)V .locals 3 .param p1, "upDrawable" # Landroid/graphics/drawable/Drawable; .param p2, "contentDescRes" # I .prologue .line 364 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivityImpl:Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; if-eqz v0, :cond_0 .line 365 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivityImpl:Landroid/support/v4/app/ActionBarDrawerToggle$Delegate; invoke-interface {v0, p1, p2}, Landroid/support/v4/app/ActionBarDrawerToggle$Delegate;->setActionBarUpIndicator(Landroid/graphics/drawable/Drawable;I)V .line 370 :goto_0 return-void .line 368 :cond_0 sget-object v0, Landroid/support/v4/app/ActionBarDrawerToggle;->IMPL:Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl; iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object; iget-object v2, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mActivity:Landroid/app/Activity; invoke-interface {v0, v1, v2, p1, p2}, Landroid/support/v4/app/ActionBarDrawerToggle$ActionBarDrawerToggleImpl;->setActionBarUpIndicator(Ljava/lang/Object;Landroid/app/Activity;Landroid/graphics/drawable/Drawable;I)Ljava/lang/Object; move-result-object v0 iput-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSetIndicatorInfo:Ljava/lang/Object; goto :goto_0 .end method .method public setDrawerIndicatorEnabled(Z)V .locals 3 .param p1, "enable" # Z .prologue .line 242 iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z if-eq p1, v0, :cond_0 .line 243 if-eqz p1, :cond_2 .line 244 iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout; const v2, 0x800003 invoke-virtual {v0, v2}, Landroid/support/v4/widget/DrawerLayout;->isDrawerOpen(I)Z move-result v0 if-eqz v0, :cond_1 iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mOpenDrawerContentDescRes:I :goto_0 invoke-virtual {p0, v1, v0}, Landroid/support/v4/app/ActionBarDrawerToggle;->setActionBarUpIndicator(Landroid/graphics/drawable/Drawable;I)V .line 249 :goto_1 iput-boolean p1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z .line 251 :cond_0 return-void .line 244 :cond_1 iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mCloseDrawerContentDescRes:I goto :goto_0 .line 247 :cond_2 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mThemeImage:Landroid/graphics/drawable/Drawable; const/4 v1, 0x0 invoke-virtual {p0, v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle;->setActionBarUpIndicator(Landroid/graphics/drawable/Drawable;I)V goto :goto_1 .end method .method public syncState()V .locals 3 .prologue const v2, 0x800003 .line 219 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v0, v2}, Landroid/support/v4/widget/DrawerLayout;->isDrawerOpen(I)Z move-result v0 if-eqz v0, :cond_1 .line 220 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; const/high16 v1, 0x3f800000 # 1.0f invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V .line 225 :goto_0 iget-boolean v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerIndicatorEnabled:Z if-eqz v0, :cond_0 .line 226 iget-object v1, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mDrawerLayout:Landroid/support/v4/widget/DrawerLayout; invoke-virtual {v0, v2}, Landroid/support/v4/widget/DrawerLayout;->isDrawerOpen(I)Z move-result v0 if-eqz v0, :cond_2 iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mOpenDrawerContentDescRes:I :goto_1 invoke-virtual {p0, v1, v0}, Landroid/support/v4/app/ActionBarDrawerToggle;->setActionBarUpIndicator(Landroid/graphics/drawable/Drawable;I)V .line 229 :cond_0 return-void .line 222 :cond_1 iget-object v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mSlider:Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable; const/4 v1, 0x0 invoke-virtual {v0, v1}, Landroid/support/v4/app/ActionBarDrawerToggle$SlideDrawable;->setOffset(F)V goto :goto_0 .line 226 :cond_2 iget v0, p0, Landroid/support/v4/app/ActionBarDrawerToggle;->mCloseDrawerContentDescRes:I goto :goto_1 .end method