.class public abstract Landroid/support/v4/app/FragmentPagerAdapter; .super Landroid/support/v4/view/PagerAdapter; .source "FragmentPagerAdapter.java" # static fields .field private static final DEBUG:Z = false .field private static final TAG:Ljava/lang/String; = "FragmentPagerAdapter" # instance fields .field private mCurTransaction:Landroid/support/v4/app/FragmentTransaction; .field private mCurrentPrimaryItem:Landroid/support/v4/app/Fragment; .field private final mFragmentManager:Landroid/support/v4/app/FragmentManager; # direct methods .method public constructor (Landroid/support/v4/app/FragmentManager;)V .locals 1 .param p1, "fm" # Landroid/support/v4/app/FragmentManager; .prologue const/4 v0, 0x0 .line 69 invoke-direct {p0}, Landroid/support/v4/view/PagerAdapter;->()V .line 66 iput-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; .line 67 iput-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment; .line 70 iput-object p1, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager; .line 71 return-void .end method .method private static makeFragmentName(IJ)Ljava/lang/String; .locals 2 .param p0, "viewId" # I .param p1, "id" # J .prologue .line 173 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "android:switcher:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, ":" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method # virtual methods .method public destroyItem(Landroid/view/ViewGroup;ILjava/lang/Object;)V .locals 1 .param p1, "container" # Landroid/view/ViewGroup; .param p2, "position" # I .param p3, "object" # Ljava/lang/Object; .prologue .line 112 iget-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; if-nez v0, :cond_0 .line 113 iget-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager; invoke-virtual {v0}, Landroid/support/v4/app/FragmentManager;->beginTransaction()Landroid/support/v4/app/FragmentTransaction; move-result-object v0 iput-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; .line 117 :cond_0 iget-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; check-cast p3, Landroid/support/v4/app/Fragment; .end local p3 # "object":Ljava/lang/Object; invoke-virtual {v0, p3}, Landroid/support/v4/app/FragmentTransaction;->detach(Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/FragmentTransaction; .line 118 return-void .end method .method public finishUpdate(Landroid/view/ViewGroup;)V .locals 1 .param p1, "container" # Landroid/view/ViewGroup; .prologue .line 138 iget-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; if-eqz v0, :cond_0 .line 139 iget-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; invoke-virtual {v0}, Landroid/support/v4/app/FragmentTransaction;->commitAllowingStateLoss()I .line 140 const/4 v0, 0x0 iput-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; .line 141 iget-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager; invoke-virtual {v0}, Landroid/support/v4/app/FragmentManager;->executePendingTransactions()Z .line 143 :cond_0 return-void .end method .method public abstract getItem(I)Landroid/support/v4/app/Fragment; .end method .method public getItemId(I)J .locals 2 .param p1, "position" # I .prologue .line 169 int-to-long v0, p1 return-wide v0 .end method .method public instantiateItem(Landroid/view/ViewGroup;I)Ljava/lang/Object; .locals 8 .param p1, "container" # Landroid/view/ViewGroup; .param p2, "position" # I .prologue const/4 v7, 0x0 .line 84 iget-object v4, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; if-nez v4, :cond_0 .line 85 iget-object v4, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager; invoke-virtual {v4}, Landroid/support/v4/app/FragmentManager;->beginTransaction()Landroid/support/v4/app/FragmentTransaction; move-result-object v4 iput-object v4, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; .line 88 :cond_0 invoke-virtual {p0, p2}, Landroid/support/v4/app/FragmentPagerAdapter;->getItemId(I)J move-result-wide v1 .line 91 .local v1, "itemId":J invoke-virtual {p1}, Landroid/view/ViewGroup;->getId()I move-result v4 invoke-static {v4, v1, v2}, Landroid/support/v4/app/FragmentPagerAdapter;->makeFragmentName(IJ)Ljava/lang/String; move-result-object v3 .line 92 .local v3, "name":Ljava/lang/String; iget-object v4, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mFragmentManager:Landroid/support/v4/app/FragmentManager; invoke-virtual {v4, v3}, Landroid/support/v4/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroid/support/v4/app/Fragment; move-result-object v0 .line 93 .local v0, "fragment":Landroid/support/v4/app/Fragment; if-eqz v0, :cond_2 .line 95 iget-object v4, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; invoke-virtual {v4, v0}, Landroid/support/v4/app/FragmentTransaction;->attach(Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/FragmentTransaction; .line 102 :goto_0 iget-object v4, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment; if-eq v0, v4, :cond_1 .line 103 invoke-virtual {v0, v7}, Landroid/support/v4/app/Fragment;->setMenuVisibility(Z)V .line 104 invoke-virtual {v0, v7}, Landroid/support/v4/app/Fragment;->setUserVisibleHint(Z)V .line 107 :cond_1 return-object v0 .line 97 :cond_2 invoke-virtual {p0, p2}, Landroid/support/v4/app/FragmentPagerAdapter;->getItem(I)Landroid/support/v4/app/Fragment; move-result-object v0 .line 99 iget-object v4, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurTransaction:Landroid/support/v4/app/FragmentTransaction; invoke-virtual {p1}, Landroid/view/ViewGroup;->getId()I move-result v5 invoke-virtual {p1}, Landroid/view/ViewGroup;->getId()I move-result v6 invoke-static {v6, v1, v2}, Landroid/support/v4/app/FragmentPagerAdapter;->makeFragmentName(IJ)Ljava/lang/String; move-result-object v6 invoke-virtual {v4, v5, v0, v6}, Landroid/support/v4/app/FragmentTransaction;->add(ILandroid/support/v4/app/Fragment;Ljava/lang/String;)Landroid/support/v4/app/FragmentTransaction; goto :goto_0 .end method .method public isViewFromObject(Landroid/view/View;Ljava/lang/Object;)Z .locals 1 .param p1, "view" # Landroid/view/View; .param p2, "object" # Ljava/lang/Object; .prologue .line 147 check-cast p2, Landroid/support/v4/app/Fragment; .end local p2 # "object":Ljava/lang/Object; invoke-virtual {p2}, Landroid/support/v4/app/Fragment;->getView()Landroid/view/View; move-result-object v0 if-ne v0, p1, :cond_0 const/4 v0, 0x1 :goto_0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 .end method .method public restoreState(Landroid/os/Parcelable;Ljava/lang/ClassLoader;)V .locals 0 .param p1, "state" # Landroid/os/Parcelable; .param p2, "loader" # Ljava/lang/ClassLoader; .prologue .line 157 return-void .end method .method public saveState()Landroid/os/Parcelable; .locals 1 .prologue .line 152 const/4 v0, 0x0 return-object v0 .end method .method public setPrimaryItem(Landroid/view/ViewGroup;ILjava/lang/Object;)V .locals 4 .param p1, "container" # Landroid/view/ViewGroup; .param p2, "position" # I .param p3, "object" # Ljava/lang/Object; .prologue const/4 v3, 0x1 const/4 v2, 0x0 .line 122 move-object v0, p3 check-cast v0, Landroid/support/v4/app/Fragment; .line 123 .local v0, "fragment":Landroid/support/v4/app/Fragment; iget-object v1, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment; if-eq v0, v1, :cond_2 .line 124 iget-object v1, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment; if-eqz v1, :cond_0 .line 125 iget-object v1, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment; invoke-virtual {v1, v2}, Landroid/support/v4/app/Fragment;->setMenuVisibility(Z)V .line 126 iget-object v1, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment; invoke-virtual {v1, v2}, Landroid/support/v4/app/Fragment;->setUserVisibleHint(Z)V .line 128 :cond_0 if-eqz v0, :cond_1 .line 129 invoke-virtual {v0, v3}, Landroid/support/v4/app/Fragment;->setMenuVisibility(Z)V .line 130 invoke-virtual {v0, v3}, Landroid/support/v4/app/Fragment;->setUserVisibleHint(Z)V .line 132 :cond_1 iput-object v0, p0, Landroid/support/v4/app/FragmentPagerAdapter;->mCurrentPrimaryItem:Landroid/support/v4/app/Fragment; .line 134 :cond_2 return-void .end method .method public startUpdate(Landroid/view/ViewGroup;)V .locals 0 .param p1, "container" # Landroid/view/ViewGroup; .prologue .line 80 return-void .end method