.class public Landroidx/fragment/app/ListFragment; .super Landroidx/fragment/app/Fragment; .source "ListFragment.java" # static fields .field static final INTERNAL_EMPTY_ID:I = 0xff0001 .field static final INTERNAL_LIST_CONTAINER_ID:I = 0xff0003 .field static final INTERNAL_PROGRESS_CONTAINER_ID:I = 0xff0002 # instance fields .field mAdapter:Landroid/widget/ListAdapter; .field mEmptyText:Ljava/lang/CharSequence; .field mEmptyView:Landroid/view/View; .field private final mHandler:Landroid/os/Handler; .field mList:Landroid/widget/ListView; .field mListContainer:Landroid/view/View; .field mListShown:Z .field private final mOnClickListener:Landroid/widget/AdapterView$OnItemClickListener; .field mProgressContainer:Landroid/view/View; .field private final mRequestFocus:Ljava/lang/Runnable; .field mStandardEmptyView:Landroid/widget/TextView; # direct methods .method public constructor ()V .registers 2 .line 76 invoke-direct {p0}, Landroidx/fragment/app/Fragment;->()V .line 50 new-instance v0, Landroid/os/Handler; invoke-direct {v0}, Landroid/os/Handler;->()V iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mHandler:Landroid/os/Handler; .line 52 new-instance v0, Landroidx/fragment/app/ListFragment$1; invoke-direct {v0, p0}, Landroidx/fragment/app/ListFragment$1;->(Landroidx/fragment/app/ListFragment;)V iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mRequestFocus:Ljava/lang/Runnable; .line 59 new-instance v0, Landroidx/fragment/app/ListFragment$2; invoke-direct {v0, p0}, Landroidx/fragment/app/ListFragment$2;->(Landroidx/fragment/app/ListFragment;)V iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mOnClickListener:Landroid/widget/AdapterView$OnItemClickListener; return-void .end method .method private ensureList()V .registers 4 .line 328 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; if-eqz v0, :cond_5 return-void .line 331 :cond_5 invoke-virtual {p0}, Landroidx/fragment/app/ListFragment;->getView()Landroid/view/View; move-result-object v0 if-eqz v0, :cond_a0 .line 335 instance-of v1, v0, Landroid/widget/ListView; if-eqz v1, :cond_14 .line 336 check-cast v0, Landroid/widget/ListView; iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; goto :goto_7b :cond_14 const v1, 0xff0001 .line 338 invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v1 check-cast v1, Landroid/widget/TextView; iput-object v1, p0, Landroidx/fragment/app/ListFragment;->mStandardEmptyView:Landroid/widget/TextView; if-nez v1, :cond_2b const v1, 0x1020004 .line 340 invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v1 iput-object v1, p0, Landroidx/fragment/app/ListFragment;->mEmptyView:Landroid/view/View; goto :goto_30 :cond_2b const/16 v2, 0x8 .line 342 invoke-virtual {v1, v2}, Landroid/widget/TextView;->setVisibility(I)V :goto_30 const v1, 0xff0002 .line 344 invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v1 iput-object v1, p0, Landroidx/fragment/app/ListFragment;->mProgressContainer:Landroid/view/View; const v1, 0xff0003 .line 345 invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v1 iput-object v1, p0, Landroidx/fragment/app/ListFragment;->mListContainer:Landroid/view/View; const v1, 0x102000a .line 346 invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View; move-result-object v0 .line 347 instance-of v1, v0, Landroid/widget/ListView; if-nez v1, :cond_5f if-nez v0, :cond_57 .line 349 new-instance v0, Ljava/lang/RuntimeException; const-string v1, "Your content must have a ListView whose id attribute is \'android.R.id.list\'" invoke-direct {v0, v1}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw v0 .line 353 :cond_57 new-instance v0, Ljava/lang/RuntimeException; const-string v1, "Content has view with id attribute \'android.R.id.list\' that is not a ListView class" invoke-direct {v0, v1}, Ljava/lang/RuntimeException;->(Ljava/lang/String;)V throw v0 .line 357 :cond_5f check-cast v0, Landroid/widget/ListView; iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; .line 358 iget-object v1, p0, Landroidx/fragment/app/ListFragment;->mEmptyView:Landroid/view/View; if-eqz v1, :cond_6b .line 359 invoke-virtual {v0, v1}, Landroid/widget/ListView;->setEmptyView(Landroid/view/View;)V goto :goto_7b .line 360 :cond_6b iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mEmptyText:Ljava/lang/CharSequence; if-eqz v0, :cond_7b .line 361 iget-object v1, p0, Landroidx/fragment/app/ListFragment;->mStandardEmptyView:Landroid/widget/TextView; invoke-virtual {v1, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V .line 362 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; iget-object v1, p0, Landroidx/fragment/app/ListFragment;->mStandardEmptyView:Landroid/widget/TextView; invoke-virtual {v0, v1}, Landroid/widget/ListView;->setEmptyView(Landroid/view/View;)V :cond_7b :goto_7b const/4 v0, 0x1 .line 365 iput-boolean v0, p0, Landroidx/fragment/app/ListFragment;->mListShown:Z .line 366 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; iget-object v1, p0, Landroidx/fragment/app/ListFragment;->mOnClickListener:Landroid/widget/AdapterView$OnItemClickListener; invoke-virtual {v0, v1}, Landroid/widget/ListView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V .line 367 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mAdapter:Landroid/widget/ListAdapter; if-eqz v0, :cond_90 const/4 v1, 0x0 .line 369 iput-object v1, p0, Landroidx/fragment/app/ListFragment;->mAdapter:Landroid/widget/ListAdapter; .line 370 invoke-virtual {p0, v0}, Landroidx/fragment/app/ListFragment;->setListAdapter(Landroid/widget/ListAdapter;)V goto :goto_98 .line 374 :cond_90 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mProgressContainer:Landroid/view/View; if-eqz v0, :cond_98 const/4 v0, 0x0 .line 375 invoke-direct {p0, v0, v0}, Landroidx/fragment/app/ListFragment;->setListShown(ZZ)V .line 378 :cond_98 :goto_98 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mHandler:Landroid/os/Handler; iget-object v1, p0, Landroidx/fragment/app/ListFragment;->mRequestFocus:Ljava/lang/Runnable; invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z return-void .line 333 :cond_a0 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "Content view not yet created" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method private setListShown(ZZ)V .registers 8 .line 285 invoke-direct {p0}, Landroidx/fragment/app/ListFragment;->ensureList()V .line 286 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mProgressContainer:Landroid/view/View; if-eqz v0, :cond_74 .line 289 iget-boolean v1, p0, Landroidx/fragment/app/ListFragment;->mListShown:Z if-ne v1, p1, :cond_c return-void .line 292 :cond_c iput-boolean p1, p0, Landroidx/fragment/app/ListFragment;->mListShown:Z const/16 v1, 0x8 const/4 v2, 0x0 const v3, 0x10a0001 const/high16 v4, 0x10a0000 if-eqz p1, :cond_46 if-eqz p2, :cond_33 .line 296 invoke-virtual {p0}, Landroidx/fragment/app/ListFragment;->getContext()Landroid/content/Context; move-result-object p1 .line 295 invoke-static {p1, v3}, Landroid/view/animation/AnimationUtils;->loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation; move-result-object p1 invoke-virtual {v0, p1}, Landroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V .line 297 iget-object p1, p0, Landroidx/fragment/app/ListFragment;->mListContainer:Landroid/view/View; .line 298 invoke-virtual {p0}, Landroidx/fragment/app/ListFragment;->getContext()Landroid/content/Context; move-result-object p2 .line 297 invoke-static {p2, v4}, Landroid/view/animation/AnimationUtils;->loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation; move-result-object p2 invoke-virtual {p1, p2}, Landroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V goto :goto_3b .line 300 :cond_33 invoke-virtual {v0}, Landroid/view/View;->clearAnimation()V .line 301 iget-object p1, p0, Landroidx/fragment/app/ListFragment;->mListContainer:Landroid/view/View; invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V .line 303 :goto_3b iget-object p1, p0, Landroidx/fragment/app/ListFragment;->mProgressContainer:Landroid/view/View; invoke-virtual {p1, v1}, Landroid/view/View;->setVisibility(I)V .line 304 iget-object p1, p0, Landroidx/fragment/app/ListFragment;->mListContainer:Landroid/view/View; invoke-virtual {p1, v2}, Landroid/view/View;->setVisibility(I)V goto :goto_73 :cond_46 if-eqz p2, :cond_61 .line 308 invoke-virtual {p0}, Landroidx/fragment/app/ListFragment;->getContext()Landroid/content/Context; move-result-object p1 .line 307 invoke-static {p1, v4}, Landroid/view/animation/AnimationUtils;->loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation; move-result-object p1 invoke-virtual {v0, p1}, Landroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V .line 309 iget-object p1, p0, Landroidx/fragment/app/ListFragment;->mListContainer:Landroid/view/View; .line 310 invoke-virtual {p0}, Landroidx/fragment/app/ListFragment;->getContext()Landroid/content/Context; move-result-object p2 .line 309 invoke-static {p2, v3}, Landroid/view/animation/AnimationUtils;->loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation; move-result-object p2 invoke-virtual {p1, p2}, Landroid/view/View;->startAnimation(Landroid/view/animation/Animation;)V goto :goto_69 .line 312 :cond_61 invoke-virtual {v0}, Landroid/view/View;->clearAnimation()V .line 313 iget-object p1, p0, Landroidx/fragment/app/ListFragment;->mListContainer:Landroid/view/View; invoke-virtual {p1}, Landroid/view/View;->clearAnimation()V .line 315 :goto_69 iget-object p1, p0, Landroidx/fragment/app/ListFragment;->mProgressContainer:Landroid/view/View; invoke-virtual {p1, v2}, Landroid/view/View;->setVisibility(I)V .line 316 iget-object p1, p0, Landroidx/fragment/app/ListFragment;->mListContainer:Landroid/view/View; invoke-virtual {p1, v1}, Landroid/view/View;->setVisibility(I)V :goto_73 return-void .line 287 :cond_74 new-instance p1, Ljava/lang/IllegalStateException; const-string p2, "Can\'t be used with a custom content view" invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method # virtual methods .method public getListAdapter()Landroid/widget/ListAdapter; .registers 2 .line 324 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mAdapter:Landroid/widget/ListAdapter; return-object v0 .end method .method public getListView()Landroid/widget/ListView; .registers 2 .line 227 invoke-direct {p0}, Landroidx/fragment/app/ListFragment;->ensureList()V .line 228 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; return-object v0 .end method .method public getSelectedItemId()J .registers 3 .line 219 invoke-direct {p0}, Landroidx/fragment/app/ListFragment;->ensureList()V .line 220 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; invoke-virtual {v0}, Landroid/widget/ListView;->getSelectedItemId()J move-result-wide v0 return-wide v0 .end method .method public getSelectedItemPosition()I .registers 2 .line 211 invoke-direct {p0}, Landroidx/fragment/app/ListFragment;->ensureList()V .line 212 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; invoke-virtual {v0}, Landroid/widget/ListView;->getSelectedItemPosition()I move-result v0 return v0 .end method .method public onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View; .registers 8 .line 96 invoke-virtual {p0}, Landroidx/fragment/app/ListFragment;->getContext()Landroid/content/Context; move-result-object p1 .line 98 new-instance p2, Landroid/widget/FrameLayout; invoke-direct {p2, p1}, Landroid/widget/FrameLayout;->(Landroid/content/Context;)V .line 102 new-instance p3, Landroid/widget/LinearLayout; invoke-direct {p3, p1}, Landroid/widget/LinearLayout;->(Landroid/content/Context;)V const v0, 0xff0002 .line 103 invoke-virtual {p3, v0}, Landroid/widget/LinearLayout;->setId(I)V const/4 v0, 0x1 .line 104 invoke-virtual {p3, v0}, Landroid/widget/LinearLayout;->setOrientation(I)V const/16 v0, 0x8 .line 105 invoke-virtual {p3, v0}, Landroid/widget/LinearLayout;->setVisibility(I)V const/16 v0, 0x11 .line 106 invoke-virtual {p3, v0}, Landroid/widget/LinearLayout;->setGravity(I)V .line 108 new-instance v1, Landroid/widget/ProgressBar; const/4 v2, 0x0 const v3, 0x101007a invoke-direct {v1, p1, v2, v3}, Landroid/widget/ProgressBar;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 110 new-instance v2, Landroid/widget/FrameLayout$LayoutParams; const/4 v3, -0x2 invoke-direct {v2, v3, v3}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-virtual {p3, v1, v2}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 113 new-instance v1, Landroid/widget/FrameLayout$LayoutParams; const/4 v2, -0x1 invoke-direct {v1, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-virtual {p2, p3, v1}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 118 new-instance p3, Landroid/widget/FrameLayout; invoke-direct {p3, p1}, Landroid/widget/FrameLayout;->(Landroid/content/Context;)V const v1, 0xff0003 .line 119 invoke-virtual {p3, v1}, Landroid/widget/FrameLayout;->setId(I)V .line 121 new-instance v1, Landroid/widget/TextView; invoke-direct {v1, p1}, Landroid/widget/TextView;->(Landroid/content/Context;)V const v3, 0xff0001 .line 122 invoke-virtual {v1, v3}, Landroid/widget/TextView;->setId(I)V .line 123 invoke-virtual {v1, v0}, Landroid/widget/TextView;->setGravity(I)V .line 124 new-instance v0, Landroid/widget/FrameLayout$LayoutParams; invoke-direct {v0, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-virtual {p3, v1, v0}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 127 new-instance v0, Landroid/widget/ListView; invoke-direct {v0, p1}, Landroid/widget/ListView;->(Landroid/content/Context;)V const p1, 0x102000a .line 128 invoke-virtual {v0, p1}, Landroid/widget/ListView;->setId(I)V const/4 p1, 0x0 .line 129 invoke-virtual {v0, p1}, Landroid/widget/ListView;->setDrawSelectorOnTop(Z)V .line 130 new-instance p1, Landroid/widget/FrameLayout$LayoutParams; invoke-direct {p1, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-virtual {p3, v0, p1}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 133 new-instance p1, Landroid/widget/FrameLayout$LayoutParams; invoke-direct {p1, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-virtual {p2, p3, p1}, Landroid/widget/FrameLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 138 new-instance p1, Landroid/widget/FrameLayout$LayoutParams; invoke-direct {p1, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;->(II)V invoke-virtual {p2, p1}, Landroid/widget/FrameLayout;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V return-object p2 .end method .method public onDestroyView()V .registers 3 .line 158 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mHandler:Landroid/os/Handler; iget-object v1, p0, Landroidx/fragment/app/ListFragment;->mRequestFocus:Ljava/lang/Runnable; invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V const/4 v0, 0x0 .line 159 iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; const/4 v1, 0x0 .line 160 iput-boolean v1, p0, Landroidx/fragment/app/ListFragment;->mListShown:Z .line 161 iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mListContainer:Landroid/view/View; iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mProgressContainer:Landroid/view/View; iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mEmptyView:Landroid/view/View; .line 162 iput-object v0, p0, Landroidx/fragment/app/ListFragment;->mStandardEmptyView:Landroid/widget/TextView; .line 163 invoke-super {p0}, Landroidx/fragment/app/Fragment;->onDestroyView()V return-void .end method .method public onListItemClick(Landroid/widget/ListView;Landroid/view/View;IJ)V .registers 6 return-void .end method .method public onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V .registers 3 .line 149 invoke-super {p0, p1, p2}, Landroidx/fragment/app/Fragment;->onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V .line 150 invoke-direct {p0}, Landroidx/fragment/app/ListFragment;->ensureList()V return-void .end method .method public setEmptyText(Ljava/lang/CharSequence;)V .registers 4 .line 237 invoke-direct {p0}, Landroidx/fragment/app/ListFragment;->ensureList()V .line 238 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mStandardEmptyView:Landroid/widget/TextView; if-eqz v0, :cond_18 .line 241 invoke-virtual {v0, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V .line 242 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mEmptyText:Ljava/lang/CharSequence; if-nez v0, :cond_15 .line 243 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; iget-object v1, p0, Landroidx/fragment/app/ListFragment;->mStandardEmptyView:Landroid/widget/TextView; invoke-virtual {v0, v1}, Landroid/widget/ListView;->setEmptyView(Landroid/view/View;)V .line 245 :cond_15 iput-object p1, p0, Landroidx/fragment/app/ListFragment;->mEmptyText:Ljava/lang/CharSequence; return-void .line 239 :cond_18 new-instance p1, Ljava/lang/IllegalStateException; const-string v0, "Can\'t be used with a custom content view" invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method public setListAdapter(Landroid/widget/ListAdapter;)V .registers 6 .line 184 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mAdapter:Landroid/widget/ListAdapter; const/4 v1, 0x0 const/4 v2, 0x1 if-eqz v0, :cond_8 move v0, v2 goto :goto_9 :cond_8 move v0, v1 .line 185 :goto_9 iput-object p1, p0, Landroidx/fragment/app/ListFragment;->mAdapter:Landroid/widget/ListAdapter; .line 186 iget-object v3, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; if-eqz v3, :cond_26 .line 187 invoke-virtual {v3, p1}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V .line 188 iget-boolean p1, p0, Landroidx/fragment/app/ListFragment;->mListShown:Z if-nez p1, :cond_26 if-nez v0, :cond_26 .line 191 invoke-virtual {p0}, Landroidx/fragment/app/ListFragment;->getView()Landroid/view/View; move-result-object p1 invoke-virtual {p1}, Landroid/view/View;->getWindowToken()Landroid/os/IBinder; move-result-object p1 if-eqz p1, :cond_23 move v1, v2 :cond_23 invoke-direct {p0, v2, v1}, Landroidx/fragment/app/ListFragment;->setListShown(ZZ)V :cond_26 return-void .end method .method public setListShown(Z)V .registers 3 const/4 v0, 0x1 .line 263 invoke-direct {p0, p1, v0}, Landroidx/fragment/app/ListFragment;->setListShown(ZZ)V return-void .end method .method public setListShownNoAnimation(Z)V .registers 3 const/4 v0, 0x0 .line 271 invoke-direct {p0, p1, v0}, Landroidx/fragment/app/ListFragment;->setListShown(ZZ)V return-void .end method .method public setSelection(I)V .registers 3 .line 203 invoke-direct {p0}, Landroidx/fragment/app/ListFragment;->ensureList()V .line 204 iget-object v0, p0, Landroidx/fragment/app/ListFragment;->mList:Landroid/widget/ListView; invoke-virtual {v0, p1}, Landroid/widget/ListView;->setSelection(I)V return-void .end method