.class public Lcom/moji/base/MJFragmentTabHost; .super Landroid/widget/TabHost; .source "MJFragmentTabHost.java" # interfaces .implements Landroid/widget/TabHost$OnTabChangeListener; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/moji/base/MJFragmentTabHost$OnMJTabChangeListener;, Lcom/moji/base/MJFragmentTabHost$SavedState;, Lcom/moji/base/MJFragmentTabHost$DummyTabFactory;, Lcom/moji/base/MJFragmentTabHost$TabInfo; } .end annotation # instance fields .field private final a:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcom/moji/base/MJFragmentTabHost$TabInfo;", ">;" } .end annotation .end field .field private b:Landroid/widget/FrameLayout; .field private c:Landroid/content/Context; .field private d:Landroid/support/v4/app/FragmentManager; .field private e:I .field private f:Lcom/moji/base/MJFragmentTabHost$OnMJTabChangeListener; .field private g:Lcom/moji/base/MJFragmentTabHost$TabInfo; .field private h:Z # direct methods .method public constructor (Landroid/content/Context;)V .locals 2 const/4 v0, 0x0 .line 133 invoke-direct {p0, p1, v0}, Landroid/widget/TabHost;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 58 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;->()V iput-object v1, p0, Lcom/moji/base/MJFragmentTabHost;->a:Ljava/util/ArrayList; .line 134 invoke-direct {p0, p1, v0}, Lcom/moji/base/MJFragmentTabHost;->a(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .line 138 invoke-direct {p0, p1, p2}, Landroid/widget/TabHost;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 58 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/moji/base/MJFragmentTabHost;->a:Ljava/util/ArrayList; .line 139 invoke-direct {p0, p1, p2}, Lcom/moji/base/MJFragmentTabHost;->a(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method private a(Ljava/lang/String;Landroid/support/v4/app/FragmentTransaction;)Landroid/support/v4/app/FragmentTransaction; .locals 4 const/4 v0, 0x0 const/4 v1, 0x0 .line 333 :goto_0 iget-object v2, p0, Lcom/moji/base/MJFragmentTabHost;->a:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->size()I move-result v2 if-ge v1, v2, :cond_1 .line 334 iget-object v2, p0, Lcom/moji/base/MJFragmentTabHost;->a:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/moji/base/MJFragmentTabHost$TabInfo; .line 335 invoke-static {v2}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->b(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Ljava/lang/String; move-result-object v3 invoke-virtual {v3, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_0 move-object v0, v2 :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 if-eqz v0, :cond_7 .line 342 iget-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->g:Lcom/moji/base/MJFragmentTabHost$TabInfo; if-eq p1, v0, :cond_6 if-nez p2, :cond_2 .line 344 iget-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->d:Landroid/support/v4/app/FragmentManager; invoke-virtual {p1}, Landroid/support/v4/app/FragmentManager;->beginTransaction()Landroid/support/v4/app/FragmentTransaction; move-result-object p2 .line 346 :cond_2 iget-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->g:Lcom/moji/base/MJFragmentTabHost$TabInfo; if-eqz p1, :cond_3 .line 347 iget-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->g:Lcom/moji/base/MJFragmentTabHost$TabInfo; invoke-static {p1}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object p1 if-eqz p1, :cond_3 .line 348 iget-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->g:Lcom/moji/base/MJFragmentTabHost$TabInfo; invoke-static {p1}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object p1 invoke-virtual {p2, p1}, Landroid/support/v4/app/FragmentTransaction;->hide(Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/FragmentTransaction; :cond_3 if-eqz v0, :cond_5 .line 352 invoke-static {v0}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object p1 if-nez p1, :cond_4 .line 353 iget-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->c:Landroid/content/Context; invoke-static {v0}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->c(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Ljava/lang/Class; move-result-object v1 invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v1 invoke-static {v0}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->d(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/os/Bundle; move-result-object v2 invoke-static {p1, v1, v2}, Landroid/support/v4/app/Fragment;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/support/v4/app/Fragment; move-result-object p1 invoke-static {v0, p1}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/Fragment; .line 354 iget p1, p0, Lcom/moji/base/MJFragmentTabHost;->e:I invoke-static {v0}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object v1 invoke-static {v0}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->b(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Ljava/lang/String; move-result-object v2 invoke-virtual {p2, p1, v1, v2}, Landroid/support/v4/app/FragmentTransaction;->add(ILandroid/support/v4/app/Fragment;Ljava/lang/String;)Landroid/support/v4/app/FragmentTransaction; goto :goto_1 .line 356 :cond_4 invoke-static {v0}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object p1 invoke-virtual {p2, p1}, Landroid/support/v4/app/FragmentTransaction;->show(Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/FragmentTransaction; .line 360 :cond_5 :goto_1 iput-object v0, p0, Lcom/moji/base/MJFragmentTabHost;->g:Lcom/moji/base/MJFragmentTabHost$TabInfo; :cond_6 return-object p2 .line 340 :cond_7 new-instance p2, Ljava/lang/IllegalStateException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "No tab known for tag " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p2 .end method .method private a()V .locals 3 .line 209 iget-object v0, p0, Lcom/moji/base/MJFragmentTabHost;->b:Landroid/widget/FrameLayout; if-nez v0, :cond_1 .line 210 iget v0, p0, Lcom/moji/base/MJFragmentTabHost;->e:I invoke-virtual {p0, v0}, Lcom/moji/base/MJFragmentTabHost;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/FrameLayout; iput-object v0, p0, Lcom/moji/base/MJFragmentTabHost;->b:Landroid/widget/FrameLayout; .line 211 iget-object v0, p0, Lcom/moji/base/MJFragmentTabHost;->b:Landroid/widget/FrameLayout; if-eqz v0, :cond_0 goto :goto_0 .line 212 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "No tab content FrameLayout found for id " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v2, p0, Lcom/moji/base/MJFragmentTabHost;->e:I invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 :cond_1 :goto_0 return-void .end method .method private a(Landroid/content/Context;)V .locals 6 const v0, 0x1020013 .line 153 invoke-virtual {p0, v0}, Lcom/moji/base/MJFragmentTabHost;->findViewById(I)Landroid/view/View; move-result-object v1 if-nez v1, :cond_0 .line 154 new-instance v1, Landroid/widget/LinearLayout; invoke-direct {v1, p1}, Landroid/widget/LinearLayout;->(Landroid/content/Context;)V const/4 v2, 0x1 .line 155 invoke-virtual {v1, v2}, Landroid/widget/LinearLayout;->setOrientation(I)V .line 156 new-instance v2, Landroid/widget/FrameLayout$LayoutParams; const/4 v3, -0x1 invoke-direct {v2, v3, v3}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-virtual {p0, v1, v2}, Lcom/moji/base/MJFragmentTabHost;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 158 new-instance v2, Landroid/widget/TabWidget; invoke-direct {v2, p1}, Landroid/widget/TabWidget;->(Landroid/content/Context;)V .line 159 invoke-virtual {v2, v0}, Landroid/widget/TabWidget;->setId(I)V const/4 v0, 0x0 .line 160 invoke-virtual {v2, v0}, Landroid/widget/TabWidget;->setOrientation(I)V .line 161 new-instance v4, Landroid/widget/LinearLayout$LayoutParams; const/4 v5, 0x0 invoke-direct {v4, v3, v3, v5}, Landroid/widget/LinearLayout$LayoutParams;->(IIF)V invoke-virtual {v1, v2, v4}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 163 new-instance v2, Landroid/widget/FrameLayout; invoke-direct {v2, p1}, Landroid/widget/FrameLayout;->(Landroid/content/Context;)V const v4, 0x1020011 .line 164 invoke-virtual {v2, v4}, Landroid/widget/FrameLayout;->setId(I)V .line 165 new-instance v4, Landroid/widget/LinearLayout$LayoutParams; invoke-direct {v4, v0, v0, v5}, Landroid/widget/LinearLayout$LayoutParams;->(IIF)V invoke-virtual {v1, v2, v4}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 167 new-instance v2, Landroid/widget/FrameLayout; invoke-direct {v2, p1}, Landroid/widget/FrameLayout;->(Landroid/content/Context;)V iput-object v2, p0, Lcom/moji/base/MJFragmentTabHost;->b:Landroid/widget/FrameLayout; .line 168 iget-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->b:Landroid/widget/FrameLayout; iget v4, p0, Lcom/moji/base/MJFragmentTabHost;->e:I invoke-virtual {p1, v4}, Landroid/widget/FrameLayout;->setId(I)V .line 169 new-instance p1, Landroid/widget/LinearLayout$LayoutParams; const/high16 v4, 0x3f800000 # 1.0f invoke-direct {p1, v3, v0, v4}, Landroid/widget/LinearLayout$LayoutParams;->(IIF)V invoke-virtual {v1, v2, p1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V :cond_0 return-void .end method .method private a(Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 3 const/4 v0, 0x1 .line 143 new-array v0, v0, [I const/4 v1, 0x0 const v2, 0x10100f3 aput v2, v0, v1 invoke-virtual {p1, p2, v0, v1, v1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object p1 .line 144 invoke-virtual {p1, v1, v1}, Landroid/content/res/TypedArray;->getResourceId(II)I move-result p2 iput p2, p0, Lcom/moji/base/MJFragmentTabHost;->e:I .line 145 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V .line 147 invoke-super {p0, p0}, Landroid/widget/TabHost;->setOnTabChangedListener(Landroid/widget/TabHost$OnTabChangeListener;)V return-void .end method .method private a(Landroid/support/v4/app/FragmentTransaction;)V .locals 0 .line 328 invoke-virtual {p1}, Landroid/support/v4/app/FragmentTransaction;->commitAllowingStateLoss()I return-void .end method # virtual methods .method public a(Landroid/content/Context;Landroid/support/v4/app/FragmentManager;I)V .locals 0 .line 193 invoke-direct {p0, p1}, Lcom/moji/base/MJFragmentTabHost;->a(Landroid/content/Context;)V .line 194 invoke-super {p0}, Landroid/widget/TabHost;->setup()V .line 195 iput-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->c:Landroid/content/Context; .line 196 iput-object p2, p0, Lcom/moji/base/MJFragmentTabHost;->d:Landroid/support/v4/app/FragmentManager; .line 197 iput p3, p0, Lcom/moji/base/MJFragmentTabHost;->e:I .line 198 invoke-direct {p0}, Lcom/moji/base/MJFragmentTabHost;->a()V .line 199 iget-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->b:Landroid/widget/FrameLayout; invoke-virtual {p1, p3}, Landroid/widget/FrameLayout;->setId(I)V .line 203 invoke-virtual {p0}, Lcom/moji/base/MJFragmentTabHost;->getId()I move-result p1 const/4 p2, -0x1 if-ne p1, p2, :cond_0 const p1, 0x1020012 .line 204 invoke-virtual {p0, p1}, Lcom/moji/base/MJFragmentTabHost;->setId(I)V :cond_0 return-void .end method .method public a(Landroid/widget/TabHost$TabSpec;Ljava/lang/Class;Landroid/os/Bundle;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/widget/TabHost$TabSpec;", "Ljava/lang/Class<", "*>;", "Landroid/os/Bundle;", ")V" } .end annotation .line 223 new-instance v0, Lcom/moji/base/MJFragmentTabHost$DummyTabFactory; iget-object v1, p0, Lcom/moji/base/MJFragmentTabHost;->c:Landroid/content/Context; invoke-direct {v0, v1}, Lcom/moji/base/MJFragmentTabHost$DummyTabFactory;->(Landroid/content/Context;)V invoke-virtual {p1, v0}, Landroid/widget/TabHost$TabSpec;->setContent(Landroid/widget/TabHost$TabContentFactory;)Landroid/widget/TabHost$TabSpec; .line 224 invoke-virtual {p1}, Landroid/widget/TabHost$TabSpec;->getTag()Ljava/lang/String; move-result-object v0 .line 226 new-instance v1, Lcom/moji/base/MJFragmentTabHost$TabInfo; invoke-direct {v1, v0, p2, p3}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->(Ljava/lang/String;Ljava/lang/Class;Landroid/os/Bundle;)V .line 228 iget-boolean p2, p0, Lcom/moji/base/MJFragmentTabHost;->h:Z if-eqz p2, :cond_0 .line 232 iget-object p2, p0, Lcom/moji/base/MJFragmentTabHost;->d:Landroid/support/v4/app/FragmentManager; invoke-virtual {p2, v0}, Landroid/support/v4/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroid/support/v4/app/Fragment; move-result-object p2 invoke-static {v1, p2}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/Fragment; .line 233 invoke-static {v1}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object p2 if-eqz p2, :cond_0 invoke-static {v1}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object p2 invoke-virtual {p2}, Landroid/support/v4/app/Fragment;->isDetached()Z move-result p2 if-nez p2, :cond_0 .line 234 iget-object p2, p0, Lcom/moji/base/MJFragmentTabHost;->d:Landroid/support/v4/app/FragmentManager; invoke-virtual {p2}, Landroid/support/v4/app/FragmentManager;->beginTransaction()Landroid/support/v4/app/FragmentTransaction; move-result-object p2 .line 235 invoke-static {v1}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object p3 invoke-virtual {p2, p3}, Landroid/support/v4/app/FragmentTransaction;->hide(Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/FragmentTransaction; .line 236 invoke-direct {p0, p2}, Lcom/moji/base/MJFragmentTabHost;->a(Landroid/support/v4/app/FragmentTransaction;)V .line 240 :cond_0 iget-object p2, p0, Lcom/moji/base/MJFragmentTabHost;->a:Ljava/util/ArrayList; invoke-virtual {p2, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 241 invoke-virtual {p0, p1}, Lcom/moji/base/MJFragmentTabHost;->addTab(Landroid/widget/TabHost$TabSpec;)V return-void .end method .method protected onAttachedToWindow()V .locals 6 .line 246 invoke-super {p0}, Landroid/widget/TabHost;->onAttachedToWindow()V .line 248 invoke-virtual {p0}, Lcom/moji/base/MJFragmentTabHost;->getCurrentTabTag()Ljava/lang/String; move-result-object v0 const/4 v1, 0x0 const/4 v2, 0x0 .line 253 :goto_0 iget-object v3, p0, Lcom/moji/base/MJFragmentTabHost;->a:Ljava/util/ArrayList; invoke-virtual {v3}, Ljava/util/ArrayList;->size()I move-result v3 if-ge v2, v3, :cond_3 .line 254 iget-object v3, p0, Lcom/moji/base/MJFragmentTabHost;->a:Ljava/util/ArrayList; invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/moji/base/MJFragmentTabHost$TabInfo; .line 255 iget-object v4, p0, Lcom/moji/base/MJFragmentTabHost;->d:Landroid/support/v4/app/FragmentManager; invoke-static {v3}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->b(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Ljava/lang/String; move-result-object v5 invoke-virtual {v4, v5}, Landroid/support/v4/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroid/support/v4/app/Fragment; move-result-object v4 invoke-static {v3, v4}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/Fragment; .line 256 invoke-static {v3}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object v4 if-eqz v4, :cond_2 .line 259 invoke-static {v3}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->b(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Ljava/lang/String; move-result-object v4 invoke-virtual {v4, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_0 .line 263 iput-object v3, p0, Lcom/moji/base/MJFragmentTabHost;->g:Lcom/moji/base/MJFragmentTabHost$TabInfo; goto :goto_1 :cond_0 if-nez v1, :cond_1 .line 268 iget-object v1, p0, Lcom/moji/base/MJFragmentTabHost;->d:Landroid/support/v4/app/FragmentManager; invoke-virtual {v1}, Landroid/support/v4/app/FragmentManager;->beginTransaction()Landroid/support/v4/app/FragmentTransaction; move-result-object v1 .line 270 :cond_1 invoke-static {v3}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object v3 invoke-virtual {v1, v3}, Landroid/support/v4/app/FragmentTransaction;->hide(Landroid/support/v4/app/Fragment;)Landroid/support/v4/app/FragmentTransaction; :cond_2 :goto_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 const/4 v2, 0x1 .line 277 iput-boolean v2, p0, Lcom/moji/base/MJFragmentTabHost;->h:Z .line 278 invoke-direct {p0, v0, v1}, Lcom/moji/base/MJFragmentTabHost;->a(Ljava/lang/String;Landroid/support/v4/app/FragmentTransaction;)Landroid/support/v4/app/FragmentTransaction; move-result-object v0 if-eqz v0, :cond_4 .line 280 invoke-virtual {v0}, Landroid/support/v4/app/FragmentTransaction;->commitAllowingStateLoss()I .line 281 iget-object v0, p0, Lcom/moji/base/MJFragmentTabHost;->d:Landroid/support/v4/app/FragmentManager; invoke-virtual {v0}, Landroid/support/v4/app/FragmentManager;->executePendingTransactions()Z :cond_4 return-void .end method .method protected onDetachedFromWindow()V .locals 1 .line 287 invoke-super {p0}, Landroid/widget/TabHost;->onDetachedFromWindow()V const/4 v0, 0x0 .line 288 iput-boolean v0, p0, Lcom/moji/base/MJFragmentTabHost;->h:Z return-void .end method .method protected onRestoreInstanceState(Landroid/os/Parcelable;)V .locals 1 .line 301 check-cast p1, Lcom/moji/base/MJFragmentTabHost$SavedState; .line 302 invoke-virtual {p1}, Lcom/moji/base/MJFragmentTabHost$SavedState;->getSuperState()Landroid/os/Parcelable; move-result-object v0 invoke-super {p0, v0}, Landroid/widget/TabHost;->onRestoreInstanceState(Landroid/os/Parcelable;)V .line 303 iget-object p1, p1, Lcom/moji/base/MJFragmentTabHost$SavedState;->curTab:Ljava/lang/String; invoke-virtual {p0, p1}, Lcom/moji/base/MJFragmentTabHost;->setCurrentTabByTag(Ljava/lang/String;)V return-void .end method .method protected onSaveInstanceState()Landroid/os/Parcelable; .locals 2 .line 293 invoke-super {p0}, Landroid/widget/TabHost;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object v0 .line 294 new-instance v1, Lcom/moji/base/MJFragmentTabHost$SavedState; invoke-direct {v1, v0}, Lcom/moji/base/MJFragmentTabHost$SavedState;->(Landroid/os/Parcelable;)V .line 295 invoke-virtual {p0}, Lcom/moji/base/MJFragmentTabHost;->getCurrentTabTag()Ljava/lang/String; move-result-object v0 iput-object v0, v1, Lcom/moji/base/MJFragmentTabHost$SavedState;->curTab:Ljava/lang/String; return-object v1 .end method .method public onTabChanged(Ljava/lang/String;)V .locals 4 .line 308 iget-boolean v0, p0, Lcom/moji/base/MJFragmentTabHost;->h:Z const/4 v1, 0x0 if-eqz v0, :cond_0 .line 309 invoke-direct {p0, p1, v1}, Lcom/moji/base/MJFragmentTabHost;->a(Ljava/lang/String;Landroid/support/v4/app/FragmentTransaction;)Landroid/support/v4/app/FragmentTransaction; move-result-object v0 if-eqz v0, :cond_0 .line 311 invoke-direct {p0, v0}, Lcom/moji/base/MJFragmentTabHost;->a(Landroid/support/v4/app/FragmentTransaction;)V .line 314 :cond_0 iget-object v0, p0, Lcom/moji/base/MJFragmentTabHost;->f:Lcom/moji/base/MJFragmentTabHost$OnMJTabChangeListener; if-eqz v0, :cond_3 const/4 v0, 0x0 .line 316 :goto_0 iget-object v2, p0, Lcom/moji/base/MJFragmentTabHost;->a:Ljava/util/ArrayList; invoke-virtual {v2}, Ljava/util/ArrayList;->size()I move-result v2 if-ge v0, v2, :cond_2 .line 317 iget-object v2, p0, Lcom/moji/base/MJFragmentTabHost;->a:Ljava/util/ArrayList; invoke-virtual {v2, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/moji/base/MJFragmentTabHost$TabInfo; .line 318 invoke-static {v2}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->b(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Ljava/lang/String; move-result-object v3 invoke-virtual {v3, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-eqz v3, :cond_1 .line 319 invoke-static {v2}, Lcom/moji/base/MJFragmentTabHost$TabInfo;->a(Lcom/moji/base/MJFragmentTabHost$TabInfo;)Landroid/support/v4/app/Fragment; move-result-object v1 goto :goto_1 :cond_1 add-int/lit8 v0, v0, 0x1 goto :goto_0 .line 323 :cond_2 :goto_1 iget-object v0, p0, Lcom/moji/base/MJFragmentTabHost;->f:Lcom/moji/base/MJFragmentTabHost$OnMJTabChangeListener; invoke-interface {v0, p1, v1}, Lcom/moji/base/MJFragmentTabHost$OnMJTabChangeListener;->a(Ljava/lang/String;Landroid/support/v4/app/Fragment;)V :cond_3 return-void .end method .method public setOnMJTabChangedListener(Lcom/moji/base/MJFragmentTabHost$OnMJTabChangeListener;)V .locals 0 .line 218 invoke-virtual {p0, p0}, Lcom/moji/base/MJFragmentTabHost;->setOnTabChangedListener(Landroid/widget/TabHost$OnTabChangeListener;)V .line 219 iput-object p1, p0, Lcom/moji/base/MJFragmentTabHost;->f:Lcom/moji/base/MJFragmentTabHost$OnMJTabChangeListener; return-void .end method .method public setup()V .locals 2 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 181 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "Must call setup() that takes a Context and FragmentManager" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method