.class public Lcom/bumptech/glide/manager/RequestManagerRetriever; .super Ljava/lang/Object; .source "RequestManagerRetriever.java" # interfaces .implements Landroid/os/Handler$Callback; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory; } .end annotation # static fields .field private static final DEFAULT_FACTORY:Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory; .field private static final FRAGMENT_INDEX_KEY:Ljava/lang/String; = "key" .field static final FRAGMENT_TAG:Ljava/lang/String; = "com.bumptech.glide.manager" .field private static final ID_REMOVE_FRAGMENT_MANAGER:I = 0x1 .field private static final ID_REMOVE_SUPPORT_FRAGMENT_MANAGER:I = 0x2 .field private static final TAG:Ljava/lang/String; = "RMRetriever" # instance fields .field private volatile applicationManager:Lcom/bumptech/glide/RequestManager; .field private final factory:Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory; .field private final handler:Landroid/os/Handler; .field final pendingRequestManagerFragments:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Landroid/app/FragmentManager;", "Lcom/bumptech/glide/manager/RequestManagerFragment;", ">;" } .end annotation .end field .field final pendingSupportRequestManagerFragments:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Landroidx/fragment/app/FragmentManager;", "Lcom/bumptech/glide/manager/SupportRequestManagerFragment;", ">;" } .end annotation .end field .field private final tempBundle:Landroid/os/Bundle; .field private final tempViewToFragment:Landroidx/collection/ArrayMap; .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/collection/ArrayMap<", "Landroid/view/View;", "Landroid/app/Fragment;", ">;" } .end annotation .end field .field private final tempViewToSupportFragment:Landroidx/collection/ArrayMap; .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/collection/ArrayMap<", "Landroid/view/View;", "Landroidx/fragment/app/Fragment;", ">;" } .end annotation .end field # direct methods .method static constructor ()V .registers 1 .line 486 new-instance v0, Lcom/bumptech/glide/manager/RequestManagerRetriever$1; invoke-direct {v0}, Lcom/bumptech/glide/manager/RequestManagerRetriever$1;->()V sput-object v0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->DEFAULT_FACTORY:Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory; return-void .end method .method public constructor (Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory;)V .registers 3 .line 79 invoke-direct {p0}, Ljava/lang/Object;->()V .line 56 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V iput-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->pendingRequestManagerFragments:Ljava/util/Map; .line 64 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V iput-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->pendingSupportRequestManagerFragments:Ljava/util/Map; .line 75 new-instance v0, Landroidx/collection/ArrayMap; invoke-direct {v0}, Landroidx/collection/ArrayMap;->()V iput-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToSupportFragment:Landroidx/collection/ArrayMap; .line 76 new-instance v0, Landroidx/collection/ArrayMap; invoke-direct {v0}, Landroidx/collection/ArrayMap;->()V iput-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToFragment:Landroidx/collection/ArrayMap; .line 77 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V iput-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempBundle:Landroid/os/Bundle; if-eqz p1, :cond_29 goto :goto_2b .line 80 :cond_29 sget-object p1, Lcom/bumptech/glide/manager/RequestManagerRetriever;->DEFAULT_FACTORY:Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory; :goto_2b iput-object p1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->factory:Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory; .line 81 new-instance p1, Landroid/os/Handler; invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v0 invoke-direct {p1, v0, p0}, Landroid/os/Handler;->(Landroid/os/Looper;Landroid/os/Handler$Callback;)V iput-object p1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->handler:Landroid/os/Handler; return-void .end method .method private static assertNotDestroyed(Landroid/app/Activity;)V .registers 2 .line 322 invoke-virtual {p0}, Landroid/app/Activity;->isDestroyed()Z move-result p0 if-nez p0, :cond_7 return-void .line 323 :cond_7 new-instance p0, Ljava/lang/IllegalArgumentException; const-string v0, "You cannot start a load for a destroyed activity" invoke-direct {p0, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .end method .method private findActivity(Landroid/content/Context;)Landroid/app/Activity; .registers 3 .line 311 instance-of v0, p1, Landroid/app/Activity; if-eqz v0, :cond_7 .line 312 check-cast p1, Landroid/app/Activity; return-object p1 .line 313 :cond_7 instance-of v0, p1, Landroid/content/ContextWrapper; if-eqz v0, :cond_16 .line 314 check-cast p1, Landroid/content/ContextWrapper; invoke-virtual {p1}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context; move-result-object p1 invoke-direct {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findActivity(Landroid/content/Context;)Landroid/app/Activity; move-result-object p1 return-object p1 :cond_16 const/4 p1, 0x0 return-object p1 .end method .method private findAllFragmentsWithViews(Landroid/app/FragmentManager;Landroidx/collection/ArrayMap;)V .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/app/FragmentManager;", "Landroidx/collection/ArrayMap<", "Landroid/view/View;", "Landroid/app/Fragment;", ">;)V" } .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation .line 271 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1a if-lt v0, v1, :cond_2f .line 272 invoke-virtual {p1}, Landroid/app/FragmentManager;->getFragments()Ljava/util/List; move-result-object p1 invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p1 :cond_e :goto_e invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_32 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/app/Fragment; .line 273 invoke-virtual {v0}, Landroid/app/Fragment;->getView()Landroid/view/View; move-result-object v1 if-eqz v1, :cond_e .line 274 invoke-virtual {v0}, Landroid/app/Fragment;->getView()Landroid/view/View; move-result-object v1 invoke-virtual {p2, v1, v0}, Landroidx/collection/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 275 invoke-virtual {v0}, Landroid/app/Fragment;->getChildFragmentManager()Landroid/app/FragmentManager; move-result-object v0 invoke-direct {p0, v0, p2}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findAllFragmentsWithViews(Landroid/app/FragmentManager;Landroidx/collection/ArrayMap;)V goto :goto_e .line 279 :cond_2f invoke-direct {p0, p1, p2}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findAllFragmentsWithViewsPreO(Landroid/app/FragmentManager;Landroidx/collection/ArrayMap;)V :cond_32 return-void .end method .method private findAllFragmentsWithViewsPreO(Landroid/app/FragmentManager;Landroidx/collection/ArrayMap;)V .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/app/FragmentManager;", "Landroidx/collection/ArrayMap<", "Landroid/view/View;", "Landroid/app/Fragment;", ">;)V" } .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation const/4 v0, 0x0 .line 290 :goto_1 iget-object v1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempBundle:Landroid/os/Bundle; add-int/lit8 v2, v0, 0x1 const-string v3, "key" invoke-virtual {v1, v3, v0}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V .line 293 :try_start_a iget-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempBundle:Landroid/os/Bundle; invoke-virtual {p1, v0, v3}, Landroid/app/FragmentManager;->getFragment(Landroid/os/Bundle;Ljava/lang/String;)Landroid/app/Fragment; move-result-object v0 :try_end_10 .catch Ljava/lang/Exception; {:try_start_a .. :try_end_10} :catch_11 goto :goto_12 :catch_11 const/4 v0, 0x0 :goto_12 if-nez v0, :cond_15 return-void .line 300 :cond_15 invoke-virtual {v0}, Landroid/app/Fragment;->getView()Landroid/view/View; move-result-object v1 if-eqz v1, :cond_29 .line 301 invoke-virtual {v0}, Landroid/app/Fragment;->getView()Landroid/view/View; move-result-object v1 invoke-virtual {p2, v1, v0}, Landroidx/collection/ArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 303 invoke-virtual {v0}, Landroid/app/Fragment;->getChildFragmentManager()Landroid/app/FragmentManager; move-result-object v0 invoke-direct {p0, v0, p2}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findAllFragmentsWithViews(Landroid/app/FragmentManager;Landroidx/collection/ArrayMap;)V :cond_29 move v0, v2 goto :goto_1 .end method .method private static findAllSupportFragmentsWithViews(Ljava/util/Collection;Ljava/util/Map;)V .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "Landroidx/fragment/app/Fragment;", ">;", "Ljava/util/Map<", "Landroid/view/View;", "Landroidx/fragment/app/Fragment;", ">;)V" } .end annotation if-nez p0, :cond_3 return-void .line 203 :cond_3 invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p0 :cond_7 :goto_7 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_2f invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/fragment/app/Fragment; if-eqz v0, :cond_7 .line 205 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getView()Landroid/view/View; move-result-object v1 if-nez v1, :cond_1c goto :goto_7 .line 208 :cond_1c invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getView()Landroid/view/View; move-result-object v1 invoke-interface {p1, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 209 invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->getChildFragmentManager()Landroidx/fragment/app/FragmentManager; move-result-object v0 invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->getFragments()Ljava/util/List; move-result-object v0 invoke-static {v0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findAllSupportFragmentsWithViews(Ljava/util/Collection;Ljava/util/Map;)V goto :goto_7 :cond_2f return-void .end method .method private findFragment(Landroid/view/View;Landroid/app/Activity;)Landroid/app/Fragment; .registers 5 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 241 iget-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToFragment:Landroidx/collection/ArrayMap; invoke-virtual {v0}, Landroidx/collection/ArrayMap;->clear()V .line 242 invoke-virtual {p2}, Landroid/app/Activity;->getFragmentManager()Landroid/app/FragmentManager; move-result-object v0 iget-object v1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToFragment:Landroidx/collection/ArrayMap; invoke-direct {p0, v0, v1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findAllFragmentsWithViews(Landroid/app/FragmentManager;Landroidx/collection/ArrayMap;)V const v0, 0x1020002 .line 246 invoke-virtual {p2, v0}, Landroid/app/Activity;->findViewById(I)Landroid/view/View; move-result-object p2 const/4 v0, 0x0 .line 248 :goto_16 invoke-virtual {p1, p2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v1 if-nez v1, :cond_36 .line 249 iget-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToFragment:Landroidx/collection/ArrayMap; invoke-virtual {v0, p1}, Landroidx/collection/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/app/Fragment; if-eqz v0, :cond_27 goto :goto_36 .line 253 :cond_27 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v1 instance-of v1, v1, Landroid/view/View; if-eqz v1, :cond_36 .line 254 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 check-cast p1, Landroid/view/View; goto :goto_16 .line 259 :cond_36 :goto_36 iget-object p1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToFragment:Landroidx/collection/ArrayMap; invoke-virtual {p1}, Landroidx/collection/ArrayMap;->clear()V return-object v0 .end method .method private findSupportFragment(Landroid/view/View;Landroidx/fragment/app/FragmentActivity;)Landroidx/fragment/app/Fragment; .registers 5 .line 215 iget-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToSupportFragment:Landroidx/collection/ArrayMap; invoke-virtual {v0}, Landroidx/collection/ArrayMap;->clear()V .line 217 invoke-virtual {p2}, Landroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager; move-result-object v0 invoke-virtual {v0}, Landroidx/fragment/app/FragmentManager;->getFragments()Ljava/util/List; move-result-object v0 iget-object v1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToSupportFragment:Landroidx/collection/ArrayMap; .line 216 invoke-static {v0, v1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findAllSupportFragmentsWithViews(Ljava/util/Collection;Ljava/util/Map;)V const v0, 0x1020002 .line 219 invoke-virtual {p2, v0}, Landroidx/fragment/app/FragmentActivity;->findViewById(I)Landroid/view/View; move-result-object p2 const/4 v0, 0x0 .line 221 :goto_1a invoke-virtual {p1, p2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v1 if-nez v1, :cond_3a .line 222 iget-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToSupportFragment:Landroidx/collection/ArrayMap; invoke-virtual {v0, p1}, Landroidx/collection/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/fragment/app/Fragment; if-eqz v0, :cond_2b goto :goto_3a .line 226 :cond_2b invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v1 instance-of v1, v1, Landroid/view/View; if-eqz v1, :cond_3a .line 227 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object p1 check-cast p1, Landroid/view/View; goto :goto_1a .line 233 :cond_3a :goto_3a iget-object p1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->tempViewToSupportFragment:Landroidx/collection/ArrayMap; invoke-virtual {p1}, Landroidx/collection/ArrayMap;->clear()V return-object v0 .end method .method private fragmentGet(Landroid/content/Context;Landroid/app/FragmentManager;Landroid/app/Fragment;Z)Lcom/bumptech/glide/RequestManager; .registers 7 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 382 invoke-direct {p0, p2, p3, p4}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->getRequestManagerFragment(Landroid/app/FragmentManager;Landroid/app/Fragment;Z)Lcom/bumptech/glide/manager/RequestManagerFragment; move-result-object p2 .line 383 invoke-virtual {p2}, Lcom/bumptech/glide/manager/RequestManagerFragment;->getRequestManager()Lcom/bumptech/glide/RequestManager; move-result-object p3 if-nez p3, :cond_1f .line 386 invoke-static {p1}, Lcom/bumptech/glide/Glide;->get(Landroid/content/Context;)Lcom/bumptech/glide/Glide; move-result-object p3 .line 387 iget-object p4, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->factory:Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory; .line 389 invoke-virtual {p2}, Lcom/bumptech/glide/manager/RequestManagerFragment;->getGlideLifecycle()Lcom/bumptech/glide/manager/ActivityFragmentLifecycle; move-result-object v0 invoke-virtual {p2}, Lcom/bumptech/glide/manager/RequestManagerFragment;->getRequestManagerTreeNode()Lcom/bumptech/glide/manager/RequestManagerTreeNode; move-result-object v1 .line 388 invoke-interface {p4, p3, v0, v1, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory;->build(Lcom/bumptech/glide/Glide;Lcom/bumptech/glide/manager/Lifecycle;Lcom/bumptech/glide/manager/RequestManagerTreeNode;Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p3 .line 390 invoke-virtual {p2, p3}, Lcom/bumptech/glide/manager/RequestManagerFragment;->setRequestManager(Lcom/bumptech/glide/RequestManager;)V :cond_1f return-object p3 .end method .method private getApplicationManager(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; .registers 6 .line 87 iget-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->applicationManager:Lcom/bumptech/glide/RequestManager; if-nez v0, :cond_2c .line 88 monitor-enter p0 .line 89 :try_start_5 iget-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->applicationManager:Lcom/bumptech/glide/RequestManager; if-nez v0, :cond_27 .line 96 invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object v0 invoke-static {v0}, Lcom/bumptech/glide/Glide;->get(Landroid/content/Context;)Lcom/bumptech/glide/Glide; move-result-object v0 .line 97 iget-object v1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->factory:Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory; new-instance v2, Lcom/bumptech/glide/manager/ApplicationLifecycle; invoke-direct {v2}, Lcom/bumptech/glide/manager/ApplicationLifecycle;->()V new-instance v3, Lcom/bumptech/glide/manager/EmptyRequestManagerTreeNode; invoke-direct {v3}, Lcom/bumptech/glide/manager/EmptyRequestManagerTreeNode;->()V .line 102 invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object p1 .line 98 invoke-interface {v1, v0, v2, v3, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory;->build(Lcom/bumptech/glide/Glide;Lcom/bumptech/glide/manager/Lifecycle;Lcom/bumptech/glide/manager/RequestManagerTreeNode;Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p1 iput-object p1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->applicationManager:Lcom/bumptech/glide/RequestManager; .line 104 :cond_27 monitor-exit p0 goto :goto_2c :catchall_29 move-exception p1 monitor-exit p0 :try_end_2b .catchall {:try_start_5 .. :try_end_2b} :catchall_29 throw p1 .line 107 :cond_2c :goto_2c iget-object p1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->applicationManager:Lcom/bumptech/glide/RequestManager; return-object p1 .end method .method private getRequestManagerFragment(Landroid/app/FragmentManager;Landroid/app/Fragment;Z)Lcom/bumptech/glide/manager/RequestManagerFragment; .registers 6 .line 358 const-string v0, "com.bumptech.glide.manager" invoke-virtual {p1, v0}, Landroid/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroid/app/Fragment; move-result-object v1 check-cast v1, Lcom/bumptech/glide/manager/RequestManagerFragment; if-nez v1, :cond_3f .line 360 iget-object v1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->pendingRequestManagerFragments:Ljava/util/Map; invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/bumptech/glide/manager/RequestManagerFragment; if-nez v1, :cond_3f .line 362 new-instance v1, Lcom/bumptech/glide/manager/RequestManagerFragment; invoke-direct {v1}, Lcom/bumptech/glide/manager/RequestManagerFragment;->()V .line 363 invoke-virtual {v1, p2}, Lcom/bumptech/glide/manager/RequestManagerFragment;->setParentFragmentHint(Landroid/app/Fragment;)V if-eqz p3, :cond_25 .line 365 invoke-virtual {v1}, Lcom/bumptech/glide/manager/RequestManagerFragment;->getGlideLifecycle()Lcom/bumptech/glide/manager/ActivityFragmentLifecycle; move-result-object p2 invoke-virtual {p2}, Lcom/bumptech/glide/manager/ActivityFragmentLifecycle;->onStart()V .line 367 :cond_25 iget-object p2, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->pendingRequestManagerFragments:Ljava/util/Map; invoke-interface {p2, p1, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 368 invoke-virtual {p1}, Landroid/app/FragmentManager;->beginTransaction()Landroid/app/FragmentTransaction; move-result-object p2 invoke-virtual {p2, v1, v0}, Landroid/app/FragmentTransaction;->add(Landroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction; move-result-object p2 invoke-virtual {p2}, Landroid/app/FragmentTransaction;->commitAllowingStateLoss()I .line 369 iget-object p2, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->handler:Landroid/os/Handler; const/4 p3, 0x1 invoke-virtual {p2, p3, p1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object p1 invoke-virtual {p1}, Landroid/os/Message;->sendToTarget()V :cond_3f return-object v1 .end method .method private getSupportRequestManagerFragment(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Z)Lcom/bumptech/glide/manager/SupportRequestManagerFragment; .registers 6 .line 411 const-string v0, "com.bumptech.glide.manager" invoke-virtual {p1, v0}, Landroidx/fragment/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroidx/fragment/app/Fragment; move-result-object v1 check-cast v1, Lcom/bumptech/glide/manager/SupportRequestManagerFragment; if-nez v1, :cond_3f .line 413 iget-object v1, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->pendingSupportRequestManagerFragments:Ljava/util/Map; invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/bumptech/glide/manager/SupportRequestManagerFragment; if-nez v1, :cond_3f .line 415 new-instance v1, Lcom/bumptech/glide/manager/SupportRequestManagerFragment; invoke-direct {v1}, Lcom/bumptech/glide/manager/SupportRequestManagerFragment;->()V .line 416 invoke-virtual {v1, p2}, Lcom/bumptech/glide/manager/SupportRequestManagerFragment;->setParentFragmentHint(Landroidx/fragment/app/Fragment;)V if-eqz p3, :cond_25 .line 418 invoke-virtual {v1}, Lcom/bumptech/glide/manager/SupportRequestManagerFragment;->getGlideLifecycle()Lcom/bumptech/glide/manager/ActivityFragmentLifecycle; move-result-object p2 invoke-virtual {p2}, Lcom/bumptech/glide/manager/ActivityFragmentLifecycle;->onStart()V .line 420 :cond_25 iget-object p2, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->pendingSupportRequestManagerFragments:Ljava/util/Map; invoke-interface {p2, p1, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 421 invoke-virtual {p1}, Landroidx/fragment/app/FragmentManager;->beginTransaction()Landroidx/fragment/app/FragmentTransaction; move-result-object p2 invoke-virtual {p2, v1, v0}, Landroidx/fragment/app/FragmentTransaction;->add(Landroidx/fragment/app/Fragment;Ljava/lang/String;)Landroidx/fragment/app/FragmentTransaction; move-result-object p2 invoke-virtual {p2}, Landroidx/fragment/app/FragmentTransaction;->commitAllowingStateLoss()I .line 422 iget-object p2, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->handler:Landroid/os/Handler; const/4 p3, 0x2 invoke-virtual {p2, p3, p1}, Landroid/os/Handler;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message; move-result-object p1 invoke-virtual {p1}, Landroid/os/Message;->sendToTarget()V :cond_3f return-object v1 .end method .method private static isActivityVisible(Landroid/app/Activity;)Z .registers 1 .line 404 invoke-virtual {p0}, Landroid/app/Activity;->isFinishing()Z move-result p0 xor-int/lit8 p0, p0, 0x1 return p0 .end method .method private supportFragmentGet(Landroid/content/Context;Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Z)Lcom/bumptech/glide/RequestManager; .registers 7 .line 435 invoke-direct {p0, p2, p3, p4}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->getSupportRequestManagerFragment(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Z)Lcom/bumptech/glide/manager/SupportRequestManagerFragment; move-result-object p2 .line 436 invoke-virtual {p2}, Lcom/bumptech/glide/manager/SupportRequestManagerFragment;->getRequestManager()Lcom/bumptech/glide/RequestManager; move-result-object p3 if-nez p3, :cond_1f .line 439 invoke-static {p1}, Lcom/bumptech/glide/Glide;->get(Landroid/content/Context;)Lcom/bumptech/glide/Glide; move-result-object p3 .line 440 iget-object p4, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->factory:Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory; .line 442 invoke-virtual {p2}, Lcom/bumptech/glide/manager/SupportRequestManagerFragment;->getGlideLifecycle()Lcom/bumptech/glide/manager/ActivityFragmentLifecycle; move-result-object v0 invoke-virtual {p2}, Lcom/bumptech/glide/manager/SupportRequestManagerFragment;->getRequestManagerTreeNode()Lcom/bumptech/glide/manager/RequestManagerTreeNode; move-result-object v1 .line 441 invoke-interface {p4, p3, v0, v1, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever$RequestManagerFactory;->build(Lcom/bumptech/glide/Glide;Lcom/bumptech/glide/manager/Lifecycle;Lcom/bumptech/glide/manager/RequestManagerTreeNode;Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p3 .line 443 invoke-virtual {p2, p3}, Lcom/bumptech/glide/manager/SupportRequestManagerFragment;->setRequestManager(Lcom/bumptech/glide/RequestManager;)V :cond_1f return-object p3 .end method # virtual methods .method public get(Landroid/app/Activity;)Lcom/bumptech/glide/RequestManager; .registers 5 .line 154 invoke-static {}, Lcom/bumptech/glide/util/Util;->isOnBackgroundThread()Z move-result v0 if-eqz v0, :cond_f .line 155 invoke-virtual {p1}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 157 :cond_f invoke-static {p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->assertNotDestroyed(Landroid/app/Activity;)V .line 158 invoke-virtual {p1}, Landroid/app/Activity;->getFragmentManager()Landroid/app/FragmentManager; move-result-object v0 const/4 v1, 0x0 .line 160 invoke-static {p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->isActivityVisible(Landroid/app/Activity;)Z move-result v2 .line 159 invoke-direct {p0, p1, v0, v1, v2}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->fragmentGet(Landroid/content/Context;Landroid/app/FragmentManager;Landroid/app/Fragment;Z)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .end method .method public get(Landroid/app/Fragment;)Lcom/bumptech/glide/RequestManager; .registers 5 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 332 invoke-virtual {p1}, Landroid/app/Fragment;->getActivity()Landroid/app/Activity; move-result-object v0 if-eqz v0, :cond_2a .line 336 invoke-static {}, Lcom/bumptech/glide/util/Util;->isOnBackgroundThread()Z move-result v0 if-nez v0, :cond_1d .line 339 invoke-virtual {p1}, Landroid/app/Fragment;->getChildFragmentManager()Landroid/app/FragmentManager; move-result-object v0 .line 340 invoke-virtual {p1}, Landroid/app/Fragment;->getActivity()Landroid/app/Activity; move-result-object v1 invoke-virtual {p1}, Landroid/app/Fragment;->isVisible()Z move-result v2 invoke-direct {p0, v1, v0, p1, v2}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->fragmentGet(Landroid/content/Context;Landroid/app/FragmentManager;Landroid/app/Fragment;Z)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 337 :cond_1d invoke-virtual {p1}, Landroid/app/Fragment;->getActivity()Landroid/app/Activity; move-result-object p1 invoke-virtual {p1}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 333 :cond_2a new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "You cannot start a load on a fragment before it is attached" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public get(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; .registers 3 if-eqz p1, :cond_36 .line 114 invoke-static {}, Lcom/bumptech/glide/util/Util;->isOnMainThread()Z move-result v0 if-eqz v0, :cond_31 instance-of v0, p1, Landroid/app/Application; if-nez v0, :cond_31 .line 115 instance-of v0, p1, Landroidx/fragment/app/FragmentActivity; if-eqz v0, :cond_17 .line 116 check-cast p1, Landroidx/fragment/app/FragmentActivity; invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroidx/fragment/app/FragmentActivity;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 117 :cond_17 instance-of v0, p1, Landroid/app/Activity; if-eqz v0, :cond_22 .line 118 check-cast p1, Landroid/app/Activity; invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/app/Activity;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 119 :cond_22 instance-of v0, p1, Landroid/content/ContextWrapper; if-eqz v0, :cond_31 .line 120 check-cast p1, Landroid/content/ContextWrapper; invoke-virtual {p1}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 124 :cond_31 invoke-direct {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->getApplicationManager(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 113 :cond_36 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "You cannot start a load on a null Context" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public get(Landroid/view/View;)Lcom/bumptech/glide/RequestManager; .registers 4 .line 167 invoke-static {}, Lcom/bumptech/glide/util/Util;->isOnBackgroundThread()Z move-result v0 if-eqz v0, :cond_13 .line 168 invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 171 :cond_13 invoke-static {p1}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; .line 172 invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v0 const-string v1, "Unable to obtain a request manager for a view without a Context" invoke-static {v0, v1}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 174 invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v0 invoke-direct {p0, v0}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findActivity(Landroid/content/Context;)Landroid/app/Activity; move-result-object v0 if-nez v0, :cond_36 .line 177 invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 184 :cond_36 instance-of v1, v0, Landroidx/fragment/app/FragmentActivity; if-eqz v1, :cond_4d .line 185 move-object v1, v0 check-cast v1, Landroidx/fragment/app/FragmentActivity; invoke-direct {p0, p1, v1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findSupportFragment(Landroid/view/View;Landroidx/fragment/app/FragmentActivity;)Landroidx/fragment/app/Fragment; move-result-object p1 if-eqz p1, :cond_48 .line 186 invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroidx/fragment/app/Fragment;)Lcom/bumptech/glide/RequestManager; move-result-object p1 goto :goto_4c :cond_48 invoke-virtual {p0, v0}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/app/Activity;)Lcom/bumptech/glide/RequestManager; move-result-object p1 :goto_4c return-object p1 .line 190 :cond_4d invoke-direct {p0, p1, v0}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->findFragment(Landroid/view/View;Landroid/app/Activity;)Landroid/app/Fragment; move-result-object p1 if-nez p1, :cond_58 .line 192 invoke-virtual {p0, v0}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/app/Activity;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 194 :cond_58 invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/app/Fragment;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .end method .method public get(Landroidx/fragment/app/Fragment;)Lcom/bumptech/glide/RequestManager; .registers 5 .line 141 invoke-virtual {p1}, Landroidx/fragment/app/Fragment;->getActivity()Landroidx/fragment/app/FragmentActivity; move-result-object v0 const-string v1, "You cannot start a load on a fragment before it is attached or after it is destroyed" invoke-static {v0, v1}, Lcom/bumptech/glide/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 143 invoke-static {}, Lcom/bumptech/glide/util/Util;->isOnBackgroundThread()Z move-result v0 if-eqz v0, :cond_1c .line 144 invoke-virtual {p1}, Landroidx/fragment/app/Fragment;->getActivity()Landroidx/fragment/app/FragmentActivity; move-result-object p1 invoke-virtual {p1}, Landroidx/fragment/app/FragmentActivity;->getApplicationContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 146 :cond_1c invoke-virtual {p1}, Landroidx/fragment/app/Fragment;->getChildFragmentManager()Landroidx/fragment/app/FragmentManager; move-result-object v0 .line 147 invoke-virtual {p1}, Landroidx/fragment/app/Fragment;->getActivity()Landroidx/fragment/app/FragmentActivity; move-result-object v1 invoke-virtual {p1}, Landroidx/fragment/app/Fragment;->isVisible()Z move-result v2 invoke-direct {p0, v1, v0, p1, v2}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->supportFragmentGet(Landroid/content/Context;Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Z)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .end method .method public get(Landroidx/fragment/app/FragmentActivity;)Lcom/bumptech/glide/RequestManager; .registers 5 .line 129 invoke-static {}, Lcom/bumptech/glide/util/Util;->isOnBackgroundThread()Z move-result v0 if-eqz v0, :cond_f .line 130 invoke-virtual {p1}, Landroidx/fragment/app/FragmentActivity;->getApplicationContext()Landroid/content/Context; move-result-object p1 invoke-virtual {p0, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->get(Landroid/content/Context;)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .line 132 :cond_f invoke-static {p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->assertNotDestroyed(Landroid/app/Activity;)V .line 133 invoke-virtual {p1}, Landroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager; move-result-object v0 const/4 v1, 0x0 .line 135 invoke-static {p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->isActivityVisible(Landroid/app/Activity;)Z move-result v2 .line 134 invoke-direct {p0, p1, v0, v1, v2}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->supportFragmentGet(Landroid/content/Context;Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Z)Lcom/bumptech/glide/RequestManager; move-result-object p1 return-object p1 .end method .method getRequestManagerFragment(Landroid/app/Activity;)Lcom/bumptech/glide/manager/RequestManagerFragment; .registers 4 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 349 invoke-virtual {p1}, Landroid/app/Activity;->getFragmentManager()Landroid/app/FragmentManager; move-result-object v0 const/4 v1, 0x0 invoke-static {p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->isActivityVisible(Landroid/app/Activity;)Z move-result p1 .line 348 invoke-direct {p0, v0, v1, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->getRequestManagerFragment(Landroid/app/FragmentManager;Landroid/app/Fragment;Z)Lcom/bumptech/glide/manager/RequestManagerFragment; move-result-object p1 return-object p1 .end method .method getSupportRequestManagerFragment(Landroidx/fragment/app/FragmentActivity;)Lcom/bumptech/glide/manager/SupportRequestManagerFragment; .registers 4 .line 398 invoke-virtual {p1}, Landroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager; move-result-object v0 const/4 v1, 0x0 invoke-static {p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->isActivityVisible(Landroid/app/Activity;)Z move-result p1 .line 397 invoke-direct {p0, v0, v1, p1}, Lcom/bumptech/glide/manager/RequestManagerRetriever;->getSupportRequestManagerFragment(Landroidx/fragment/app/FragmentManager;Landroidx/fragment/app/Fragment;Z)Lcom/bumptech/glide/manager/SupportRequestManagerFragment; move-result-object p1 return-object p1 .end method .method public handleMessage(Landroid/os/Message;)Z .registers 7 .line 453 iget v0, p1, Landroid/os/Message;->what:I const/4 v1, 0x1 if-eq v0, v1, :cond_17 const/4 v2, 0x2 if-eq v0, v2, :cond_c const/4 p1, 0x0 const/4 v1, 0x0 move-object v0, p1 goto :goto_24 .line 460 :cond_c iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast p1, Landroidx/fragment/app/FragmentManager; .line 462 iget-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->pendingSupportRequestManagerFragments:Ljava/util/Map; invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 goto :goto_21 .line 455 :cond_17 iget-object p1, p1, Landroid/os/Message;->obj:Ljava/lang/Object; check-cast p1, Landroid/app/FragmentManager; .line 457 iget-object v0, p0, Lcom/bumptech/glide/manager/RequestManagerRetriever;->pendingRequestManagerFragments:Ljava/util/Map; invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 :goto_21 move-object v4, v0 move-object v0, p1 move-object p1, v4 :goto_24 if-eqz v1, :cond_43 if-nez p1, :cond_43 const/4 p1, 0x5 .line 468 const-string v2, "RMRetriever" invoke-static {v2, p1}, Landroid/util/Log;->isLoggable(Ljava/lang/String;I)Z move-result p1 if-eqz p1, :cond_43 .line 469 new-instance p1, Ljava/lang/StringBuilder; const-string v3, "Failed to remove expected request manager fragment, manager: " invoke-direct {p1, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-static {v2, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :cond_43 return v1 .end method