.class public final Lcom/fyber/inneractive/sdk/util/b0; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/fyber/inneractive/sdk/util/b0$c;, Lcom/fyber/inneractive/sdk/util/b0$d; } .end annotation # instance fields .field public final a:Ljava/util/WeakHashMap; .field public final b:Ljava/util/WeakHashMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/WeakHashMap<", "Landroid/content/Context;", "Ljava/util/WeakHashMap<", "Landroid/view/View;", "Lcom/fyber/inneractive/sdk/util/b0$d;", ">;>;" } .end annotation .end field .field public final c:Lcom/fyber/inneractive/sdk/util/l; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/fyber/inneractive/sdk/util/l<", "Landroid/graphics/Rect;", ">;" } .end annotation .end field .field public final d:Lcom/fyber/inneractive/sdk/util/l; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/fyber/inneractive/sdk/util/l<", "Ljava/util/HashSet<", "Landroid/view/View;", ">;>;" } .end annotation .end field # direct methods .method public constructor ()V .locals 3 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 new-instance v0, Ljava/util/WeakHashMap; invoke-direct {v0}, Ljava/util/WeakHashMap;->()V iput-object v0, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; .line 3 new-instance v0, Ljava/util/WeakHashMap; invoke-direct {v0}, Ljava/util/WeakHashMap;->()V iput-object v0, p0, Lcom/fyber/inneractive/sdk/util/b0;->a:Ljava/util/WeakHashMap; .line 5 new-instance v0, Lcom/fyber/inneractive/sdk/util/l; new-instance v1, Lcom/fyber/inneractive/sdk/util/b0$a; invoke-direct {v1}, Lcom/fyber/inneractive/sdk/util/b0$a;->()V const/16 v2, 0x10 invoke-direct {v0, v2, v1}, Lcom/fyber/inneractive/sdk/util/l;->(ILcom/fyber/inneractive/sdk/util/l$a;)V iput-object v0, p0, Lcom/fyber/inneractive/sdk/util/b0;->c:Lcom/fyber/inneractive/sdk/util/l; .line 12 new-instance v0, Lcom/fyber/inneractive/sdk/util/l; new-instance v1, Lcom/fyber/inneractive/sdk/util/b0$b; invoke-direct {v1}, Lcom/fyber/inneractive/sdk/util/b0$b;->()V invoke-direct {v0, v2, v1}, Lcom/fyber/inneractive/sdk/util/l;->(ILcom/fyber/inneractive/sdk/util/l$a;)V iput-object v0, p0, Lcom/fyber/inneractive/sdk/util/b0;->d:Lcom/fyber/inneractive/sdk/util/l; return-void .end method .method public static b()Lcom/fyber/inneractive/sdk/util/b0; .locals 1 .line 1 sget-object v0, Lcom/fyber/inneractive/sdk/util/b0$c;->a:Lcom/fyber/inneractive/sdk/util/b0; return-object v0 .end method # virtual methods .method public final a()V .locals 3 iget-object v0, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; .line 88 invoke-virtual {v0}, Ljava/util/WeakHashMap;->clear()V iget-object v0, p0, Lcom/fyber/inneractive/sdk/util/b0;->a:Ljava/util/WeakHashMap; .line 91 invoke-virtual {v0}, Ljava/util/WeakHashMap;->keySet()Ljava/util/Set; move-result-object v0 .line 92 invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/content/Context; iget-object v2, p0, Lcom/fyber/inneractive/sdk/util/b0;->a:Ljava/util/WeakHashMap; .line 93 invoke-virtual {v2, v1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/util/Pair; if-eqz v1, :cond_0 .line 94 iget-object v2, v1, Landroid/util/Pair;->first:Ljava/lang/Object; check-cast v2, Landroid/view/ViewTreeObserver; invoke-virtual {v2}, Landroid/view/ViewTreeObserver;->isAlive()Z move-result v2 if-eqz v2, :cond_0 .line 95 iget-object v2, v1, Landroid/util/Pair;->first:Ljava/lang/Object; check-cast v2, Landroid/view/ViewTreeObserver; iget-object v1, v1, Landroid/util/Pair;->second:Ljava/lang/Object; check-cast v1, Landroid/view/ViewTreeObserver$OnPreDrawListener; invoke-virtual {v2, v1}, Landroid/view/ViewTreeObserver;->removeOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V goto :goto_0 :cond_1 iget-object v0, p0, Lcom/fyber/inneractive/sdk/util/b0;->a:Ljava/util/WeakHashMap; .line 99 invoke-virtual {v0}, Ljava/util/WeakHashMap;->clear()V return-void .end method .method public final a(Landroid/content/Context;Landroid/view/ViewGroup;Lcom/fyber/inneractive/sdk/util/b0$d;)V .locals 5 const-string v0, "IAVisibilityTracker: " filled-new-array {v0, p1, p2}, [Ljava/lang/Object; move-result-object v0 const-string v1, "%strackView called with context: %s view: %s" .line 1 invoke-static {v1, v0}, Lcom/fyber/inneractive/sdk/util/IAlog;->a(Ljava/lang/String;[Ljava/lang/Object;)V if-eqz p1, :cond_2 .line 7 invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object v0 iget-object v1, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; .line 9 invoke-virtual {v1, v0}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/WeakHashMap; if-nez v1, :cond_1 .line 12 new-instance v1, Ljava/util/WeakHashMap; invoke-direct {v1}, Ljava/util/WeakHashMap;->()V iget-object v2, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; .line 13 invoke-virtual {v2, v0, v1}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 16 instance-of v2, p1, Landroid/app/Activity; if-eqz v2, :cond_0 check-cast p1, Landroid/app/Activity; invoke-virtual {p1}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object v2 if-eqz v2, :cond_0 .line 17 invoke-virtual {p1}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object p1 invoke-virtual {p1}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p1 goto :goto_0 .line 19 :cond_0 invoke-virtual {p2}, Landroid/view/View;->getRootView()Landroid/view/View; move-result-object p1 .line 23 :goto_0 invoke-virtual {p1}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver; move-result-object p1 if-eqz p1, :cond_1 .line 24 invoke-virtual {p1}, Landroid/view/ViewTreeObserver;->isAlive()Z move-result v2 if-eqz v2, :cond_1 .line 25 new-instance v2, Lcom/fyber/inneractive/sdk/util/c0; invoke-direct {v2, p0, v0}, Lcom/fyber/inneractive/sdk/util/c0;->(Lcom/fyber/inneractive/sdk/util/b0;Landroid/content/Context;)V .line 33 invoke-virtual {p1, v2}, Landroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V iget-object v3, p0, Lcom/fyber/inneractive/sdk/util/b0;->a:Ljava/util/WeakHashMap; .line 34 new-instance v4, Landroid/util/Pair; invoke-direct {v4, p1, v2}, Landroid/util/Pair;->(Ljava/lang/Object;Ljava/lang/Object;)V invoke-virtual {v3, v0, v4}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 39 :cond_1 invoke-virtual {v1, p2, p3}, Ljava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 42 invoke-virtual {p0}, Lcom/fyber/inneractive/sdk/util/b0;->c()V return-void .line 43 :cond_2 new-instance p1, Ljava/lang/IllegalStateException; const-string p2, "View must be attached to an Activity context" invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method public final a(Landroid/content/Context;Ljava/util/Map;Landroid/view/ViewGroup;)V .locals 1 .line 74 invoke-interface {p2, p3}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p3 if-eqz p3, :cond_2 .line 75 sget p3, Lcom/fyber/inneractive/sdk/util/IAlog;->a:I const/4 v0, 0x2 if-gt p3, v0, :cond_0 const/4 p3, 0x0 new-array p3, p3, [Ljava/lang/Object; const-string v0, "removeViewFromContext found view for removal!" .line 76 invoke-static {v0, p3}, Lcom/fyber/inneractive/sdk/util/IAlog;->e(Ljava/lang/String;[Ljava/lang/Object;)V .line 80 :cond_0 invoke-interface {p2}, Ljava/util/Map;->isEmpty()Z move-result p2 if-eqz p2, :cond_2 iget-object p2, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; .line 81 invoke-virtual {p2, p1}, Ljava/util/WeakHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; iget-object p2, p0, Lcom/fyber/inneractive/sdk/util/b0;->a:Ljava/util/WeakHashMap; .line 82 invoke-virtual {p2, p1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p2 check-cast p2, Landroid/util/Pair; if-eqz p2, :cond_2 .line 84 iget-object p3, p2, Landroid/util/Pair;->first:Ljava/lang/Object; check-cast p3, Landroid/view/ViewTreeObserver; invoke-virtual {p3}, Landroid/view/ViewTreeObserver;->isAlive()Z move-result p3 if-eqz p3, :cond_1 .line 85 iget-object p3, p2, Landroid/util/Pair;->first:Ljava/lang/Object; check-cast p3, Landroid/view/ViewTreeObserver; iget-object p2, p2, Landroid/util/Pair;->second:Ljava/lang/Object; check-cast p2, Landroid/view/ViewTreeObserver$OnPreDrawListener; invoke-virtual {p3, p2}, Landroid/view/ViewTreeObserver;->removeOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V :cond_1 iget-object p2, p0, Lcom/fyber/inneractive/sdk/util/b0;->a:Ljava/util/WeakHashMap; .line 87 invoke-virtual {p2, p1}, Ljava/util/WeakHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object; :cond_2 return-void .end method .method public final a(Landroid/view/ViewGroup;)V .locals 3 const-string v0, "IAVisibilityTracker: " filled-new-array {v0}, [Ljava/lang/Object; move-result-object v1 const-string v2, "%sunTrackView called with view" .line 44 invoke-static {v2, v1}, Lcom/fyber/inneractive/sdk/util/IAlog;->a(Ljava/lang/String;[Ljava/lang/Object;)V if-nez p1, :cond_0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object p1 const-string v0, "%sunTrackView called with a null view!" .line 46 invoke-static {v0, p1}, Lcom/fyber/inneractive/sdk/util/IAlog;->a(Ljava/lang/String;[Ljava/lang/Object;)V return-void .line 50 :cond_0 invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object v1 if-nez v1, :cond_1 filled-new-array {v0}, [Ljava/lang/Object; move-result-object p1 const-string v0, "%sview.getContext() returned null!" .line 53 invoke-static {v0, p1}, Lcom/fyber/inneractive/sdk/util/IAlog;->a(Ljava/lang/String;[Ljava/lang/Object;)V return-void :cond_1 iget-object v0, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; .line 58 invoke-virtual {v0, v1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/Map; if-eqz v0, :cond_2 .line 60 invoke-virtual {p0, v1, v0, p1}, Lcom/fyber/inneractive/sdk/util/b0;->a(Landroid/content/Context;Ljava/util/Map;Landroid/view/ViewGroup;)V goto :goto_1 .line 63 :cond_2 new-instance v0, Ljava/util/HashSet; iget-object v1, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; invoke-virtual {v1}, Ljava/util/WeakHashMap;->keySet()Ljava/util/Set; move-result-object v1 invoke-direct {v0, v1}, Ljava/util/HashSet;->(Ljava/util/Collection;)V .line 64 invoke-virtual {v0}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_3 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_4 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/content/Context; iget-object v2, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; .line 65 invoke-virtual {v2, v1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/util/WeakHashMap; if-eqz v2, :cond_3 .line 67 invoke-virtual {p0, v1, v2, p1}, Lcom/fyber/inneractive/sdk/util/b0;->a(Landroid/content/Context;Ljava/util/Map;Landroid/view/ViewGroup;)V goto :goto_0 .line 73 :cond_4 :goto_1 invoke-virtual {p0}, Lcom/fyber/inneractive/sdk/util/b0;->c()V return-void .end method .method public final c()V .locals 5 iget-object v0, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; .line 1 invoke-virtual {v0}, Ljava/util/WeakHashMap;->keySet()Ljava/util/Set; move-result-object v0 .line 2 invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/content/Context; const-string v2, "IAVisibilityTracker: " filled-new-array {v2, v1}, [Ljava/lang/Object; move-result-object v3 const-string v4, "%stracking context: %s" .line 3 invoke-static {v4, v3}, Lcom/fyber/inneractive/sdk/util/IAlog;->a(Ljava/lang/String;[Ljava/lang/Object;)V iget-object v3, p0, Lcom/fyber/inneractive/sdk/util/b0;->b:Ljava/util/WeakHashMap; .line 4 invoke-virtual {v3, v1}, Ljava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/WeakHashMap; if-eqz v1, :cond_0 .line 6 invoke-virtual {v1}, Ljava/util/WeakHashMap;->keySet()Ljava/util/Set; move-result-object v1 .line 7 invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v1 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_0 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Landroid/view/View; filled-new-array {v2, v3}, [Ljava/lang/Object; move-result-object v3 const-string v4, "%stracking view: %s" .line 8 invoke-static {v4, v3}, Lcom/fyber/inneractive/sdk/util/IAlog;->a(Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :cond_1 return-void .end method