.class Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Landroid/view/Choreographer$FrameCallback; # annotations .annotation build Landroid/annotation/TargetApi; value = 0x10 .end annotation .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/glu/plugins/gluanalytics/GluPerformance; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x1 name = "FrameTask" .end annotation # instance fields .field private choreographer:Landroid/view/Choreographer; .field final synthetic this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; # direct methods .method public constructor (Lcom/glu/plugins/gluanalytics/GluPerformance;)V .locals 3 iput-object p1, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; .line 361 invoke-direct {p0}, Ljava/lang/Object;->()V .line 363 :try_start_0 invoke-static {}, Landroid/view/Choreographer;->getInstance()Landroid/view/Choreographer; move-result-object v0 iput-object v0, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->choreographer:Landroid/view/Choreographer; .line 364 invoke-virtual {p0}, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->start()V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 .line 366 :catch_0 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$100(Lcom/glu/plugins/gluanalytics/GluPerformance;)Lcom/glu/plugins/gluanalytics/util/YLogger; move-result-object v0 const-string v1, "m" const-string v2, "GluPerformance is created in a thread without looper!" filled-new-array {v1, v2}, [Ljava/lang/Object; move-result-object v1 const-string v2, "PerfSample" invoke-virtual {v0, v2, v1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->e(Ljava/lang/String;[Ljava/lang/Object;)V .line 367 new-instance v0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask$1; invoke-direct {v0, p0, p1}, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask$1;->(Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;Lcom/glu/plugins/gluanalytics/GluPerformance;)V invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/Common;->runOnUIThread(Ljava/lang/Runnable;)V :goto_0 return-void .end method .method public static synthetic access$202(Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;Landroid/view/Choreographer;)Landroid/view/Choreographer; .locals 0 .line 356 iput-object p1, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->choreographer:Landroid/view/Choreographer; return-object p1 .end method # virtual methods .method public doFrame(J)V .locals 4 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; .line 392 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$300(Lcom/glu/plugins/gluanalytics/GluPerformance;)J move-result-wide v0 const-wide/16 v2, 0x0 cmp-long v0, v0, v2 if-nez v0, :cond_0 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; .line 393 invoke-static {v0, p1, p2}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$302(Lcom/glu/plugins/gluanalytics/GluPerformance;J)J goto :goto_0 :cond_0 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; .line 397 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$408(Lcom/glu/plugins/gluanalytics/GluPerformance;)I iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; .line 398 invoke-static {v0}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$300(Lcom/glu/plugins/gluanalytics/GluPerformance;)J move-result-wide v0 sub-long v0, p1, v0 long-to-double v0, v0 const-wide v2, 0x3e112e0be826d695L # 1.0E-9 mul-double/2addr v0, v2 iget-object v2, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; .line 399 invoke-static {v2}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$500(Lcom/glu/plugins/gluanalytics/GluPerformance;)D move-result-wide v2 cmpg-double v2, v0, v2 if-gez v2, :cond_1 goto :goto_0 :cond_1 iget-object v2, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; .line 401 invoke-static {v2, p1, p2}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$302(Lcom/glu/plugins/gluanalytics/GluPerformance;J)J iget-object p1, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; .line 402 invoke-static {p1}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$400(Lcom/glu/plugins/gluanalytics/GluPerformance;)I move-result p2 int-to-double v2, p2 div-double/2addr v2, v0 invoke-static {p1, v2, v3}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$602(Lcom/glu/plugins/gluanalytics/GluPerformance;D)D iget-object p1, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->this$0:Lcom/glu/plugins/gluanalytics/GluPerformance; const/4 p2, 0x0 .line 403 invoke-static {p1, p2}, Lcom/glu/plugins/gluanalytics/GluPerformance;->access$402(Lcom/glu/plugins/gluanalytics/GluPerformance;I)I :goto_0 iget-object p1, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->choreographer:Landroid/view/Choreographer; .line 406 invoke-virtual {p1, p0}, Landroid/view/Choreographer;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V return-void .end method .method public end()V .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->choreographer:Landroid/view/Choreographer; if-eqz v0, :cond_0 .line 385 invoke-virtual {v0, p0}, Landroid/view/Choreographer;->removeFrameCallback(Landroid/view/Choreographer$FrameCallback;)V :cond_0 return-void .end method .method public start()V .locals 1 iget-object v0, p0, Lcom/glu/plugins/gluanalytics/GluPerformance$FrameTask;->choreographer:Landroid/view/Choreographer; if-eqz v0, :cond_0 .line 379 invoke-virtual {v0, p0}, Landroid/view/Choreographer;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V :cond_0 return-void .end method