.class Lcom/ea/nimble/ApplicationLifecycleImpl; .super Lcom/ea/nimble/Component; .source "SourceFile" # interfaces .implements Lcom/ea/nimble/IApplicationLifecycle; .implements Lcom/ea/nimble/LogSource; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/ea/nimble/ApplicationLifecycleImpl$State; } .end annotation # instance fields .field private final m_activityEventCallbacks:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;", ">;" } .end annotation .end field .field private final m_activityLifecycleCallbacks:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;", ">;" } .end annotation .end field .field private final m_applicationLifecycleCallbacks:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;", ">;" } .end annotation .end field .field private final m_core:Lcom/ea/nimble/BaseCore; .field private m_createdActivityCount:I .field private m_runningActivityCount:I .field private m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; # direct methods .method public constructor (Lcom/ea/nimble/BaseCore;)V .locals 0 .line 15 invoke-direct {p0}, Lcom/ea/nimble/Component;->()V iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_core:Lcom/ea/nimble/BaseCore; .line 17 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->INIT:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; const/4 p1, 0x0 iput p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I iput p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I .line 20 new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 21 new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityEventCallbacks:Ljava/util/ArrayList; .line 22 new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_applicationLifecycleCallbacks:Ljava/util/ArrayList; return-void .end method .method private deleteConsumedDataFromIntent(Landroid/content/Intent;)V .locals 2 if-eqz p1, :cond_1 .line 429 invoke-virtual {p1}, Landroid/content/Intent;->getData()Landroid/net/Uri; move-result-object v0 if-eqz v0, :cond_0 .line 431 invoke-virtual {p1}, Landroid/content/Intent;->getDataString()Ljava/lang/String; move-result-object v0 const-string v1, "ea://socialsharing" .line 432 invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_0 const-string v0, "key" .line 434 invoke-virtual {p1, v0}, Landroid/content/Intent;->removeExtra(Ljava/lang/String;)V const/4 v0, 0x0 .line 435 invoke-virtual {p1, v0}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent; :cond_0 const-string v0, "PushNotification" .line 439 invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; move-result-object v1 if-eqz v1, :cond_1 .line 441 invoke-virtual {p1, v0}, Landroid/content/Intent;->removeExtra(Ljava/lang/String;)V :cond_1 return-void .end method .method private notifyApplicationLaunch(Landroid/content/Intent;)V .locals 2 .line 448 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_applicationLifecycleCallbacks:Ljava/util/ArrayList; .line 449 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks; .line 451 invoke-interface {v1, p1}, Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;->onApplicationLaunch(Landroid/content/Intent;)V goto :goto_0 .line 453 :cond_0 invoke-direct {p0, p1}, Lcom/ea/nimble/ApplicationLifecycleImpl;->deleteConsumedDataFromIntent(Landroid/content/Intent;)V return-void .end method .method private notifyApplicationQuit()V .locals 2 .line 477 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_applicationLifecycleCallbacks:Ljava/util/ArrayList; .line 478 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks; .line 480 invoke-interface {v1}, Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;->onApplicationQuit()V goto :goto_0 :cond_0 return-void .end method .method private notifyApplicationResume(Landroid/content/Intent;)V .locals 2 .line 467 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_applicationLifecycleCallbacks:Ljava/util/ArrayList; .line 468 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks; .line 470 invoke-interface {v1}, Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;->onApplicationResume()V goto :goto_0 .line 472 :cond_0 invoke-direct {p0, p1}, Lcom/ea/nimble/ApplicationLifecycleImpl;->deleteConsumedDataFromIntent(Landroid/content/Intent;)V return-void .end method .method private notifyApplicationSuspend()V .locals 2 .line 458 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_applicationLifecycleCallbacks:Ljava/util/ArrayList; .line 459 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks; .line 461 invoke-interface {v1}, Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;->onApplicationSuspend()V goto :goto_0 :cond_0 return-void .end method # virtual methods .method public getComponentId()Ljava/lang/String; .locals 1 const-string v0, "com.ea.nimble.applicationlifecycle" return-object v0 .end method .method public getLogSourceTitle()Ljava/lang/String; .locals 1 const-string v0, "AppLifecycle" return-object v0 .end method .method public handleBackPressed()Z .locals 3 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityEventCallbacks:Ljava/util/ArrayList; .line 409 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 const/4 v1, 0x1 :cond_0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_1 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks; .line 411 invoke-interface {v2}, Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;->onBackPressed()Z move-result v2 if-nez v2, :cond_0 const/4 v1, 0x0 goto :goto_0 :cond_1 return v1 .end method .method public notifyActivityCreate(Landroid/os/Bundle;Landroid/app/Activity;)V .locals 5 .line 90 invoke-virtual {p2}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity %s CREATE" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 92 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->INIT:Lcom/ea/nimble/ApplicationLifecycleImpl$State; const/4 v2, 0x1 const-string v3, "Invalid running activity count %d" const/4 v4, 0x0 if-eq v0, v1, :cond_8 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->QUIT:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-ne v0, v1, :cond_0 goto/16 :goto_4 .line 109 :cond_0 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->CONFIG_CHANGE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-ne v0, v1, :cond_3 .line 111 invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getCurrentActivity()Landroid/app/Activity; move-result-object v0 if-eq v0, p2, :cond_1 .line 114 invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getCurrentActivity()Landroid/app/Activity; move-result-object v0 invoke-virtual {v0}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v0 .line 115 invoke-virtual {p2}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v1 filled-new-array {v0, v1}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity created with state CONFIG_CHANGE but different activity %s and %s" .line 113 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :cond_1 const-string v0, "Activity created from CONFIG_CHANGE, activity configuration changed" new-array v1, v4, [Ljava/lang/Object; .line 119 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 122 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_1 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 124 invoke-interface {v1, p2, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V goto :goto_1 :cond_2 iget p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I if-eqz p1, :cond_a .line 129 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 invoke-static {p0, v3, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iput v4, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I goto/16 :goto_6 .line 133 :cond_3 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-ne v0, v1, :cond_5 const-string v0, "Activity created from PAUSE, normal activity switch" new-array v1, v4, [Ljava/lang/Object; .line 135 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 136 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_2 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, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 138 invoke-interface {v1, p2, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V goto :goto_2 :cond_4 iget p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I add-int/2addr p1, v2 iput p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I goto/16 :goto_6 .line 142 :cond_5 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->SUSPEND:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-ne v0, v1, :cond_7 const-string v0, "Activity created from SUSPEND, external activity switch; (new) app restart" new-array v1, v4, [Ljava/lang/Object; .line 144 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_core:Lcom/ea/nimble/BaseCore; .line 145 invoke-virtual {v0}, Lcom/ea/nimble/BaseCore;->onApplicationResume()V .line 146 sget-object v0, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->RESUME:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 147 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_3 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_6 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 149 invoke-interface {v1, p2, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V goto :goto_3 :cond_6 iget p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I add-int/2addr p1, v2 iput p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I iget p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I if-eqz p1, :cond_a .line 154 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 invoke-static {p0, v3, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iput v4, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I goto :goto_6 .line 160 :cond_7 invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string p2, "Activity created with %s state, shouldn\'t happen" invoke-static {p0, p2, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_6 .line 94 :cond_8 :goto_4 invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity created clearly with state %s" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_core:Lcom/ea/nimble/BaseCore; .line 95 invoke-virtual {p2}, Landroid/app/Activity;->getIntent()Landroid/content/Intent; move-result-object v1 invoke-virtual {v0, v1}, Lcom/ea/nimble/BaseCore;->onApplicationLaunch(Landroid/content/Intent;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 96 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_5 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_9 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 98 invoke-interface {v1, p2, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V goto :goto_5 .line 100 :cond_9 invoke-virtual {p2}, Landroid/app/Activity;->getIntent()Landroid/content/Intent; move-result-object p1 invoke-direct {p0, p1}, Lcom/ea/nimble/ApplicationLifecycleImpl;->notifyApplicationLaunch(Landroid/content/Intent;)V iput v2, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I .line 102 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->LAUNCH:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iget p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I if-eqz p1, :cond_a .line 105 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 invoke-static {p0, v3, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iput v4, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I :cond_a :goto_6 iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 163 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 iget p2, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 iget v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 filled-new-array {p1, p2, v0}, [Ljava/lang/Object; move-result-object p1 const-string p2, "State after created %s (%d, %d)" .line 162 invoke-static {p0, p2, p1}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method public notifyActivityDestroy(Landroid/app/Activity;)V .locals 2 .line 352 invoke-virtual {p1}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity %s DESTROY" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 353 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 355 invoke-interface {v1, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityDestroyed(Landroid/app/Activity;)V goto :goto_0 :cond_0 iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 358 sget-object v0, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->CONFIG_CHANGE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-eq p1, v0, :cond_2 .line 360 sget-object v0, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->SUSPEND:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-eq p1, v0, :cond_1 sget-object v0, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->RUN:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-eq p1, v0, :cond_1 .line 362 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "Activity destroy on invalid state %s" invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :cond_1 iget p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I add-int/lit8 p1, p1, -0x1 iput p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I if-nez p1, :cond_2 .line 367 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->QUIT:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 368 invoke-direct {p0}, Lcom/ea/nimble/ApplicationLifecycleImpl;->notifyApplicationQuit()V iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_core:Lcom/ea/nimble/BaseCore; .line 369 invoke-virtual {p1}, Lcom/ea/nimble/BaseCore;->onApplicationQuit()V const/4 p1, 0x0 .line 370 invoke-static {p1}, Lcom/ea/nimble/ApplicationEnvironment;->setCurrentActivity(Landroid/app/Activity;)V :cond_2 iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 375 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 iget v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 iget v1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 filled-new-array {p1, v0, v1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "State after destroy %s (%d, %d)" .line 374 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method public notifyActivityOnNewIntent(Landroid/content/Intent;Landroid/app/Activity;)V .locals 2 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityEventCallbacks:Ljava/util/ArrayList; .line 399 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks; .line 401 invoke-interface {v1, p2, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;->onNewIntent(Landroid/app/Activity;Landroid/content/Intent;)V goto :goto_0 :cond_0 return-void .end method .method public notifyActivityPause(Landroid/app/Activity;)V .locals 2 .line 268 invoke-virtual {p1}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity %s PAUSE" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 269 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 271 invoke-interface {v1, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityPaused(Landroid/app/Activity;)V goto :goto_0 :cond_0 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 274 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->RUN:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-eq v0, v1, :cond_1 .line 276 invoke-virtual {p1}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "Activity pause on invalid state %s" invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 278 :cond_1 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 281 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 iget v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 iget v1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 filled-new-array {p1, v0, v1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "State after pause %s (%d, %d)" .line 280 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method public notifyActivityRestart(Landroid/app/Activity;)V .locals 2 .line 169 invoke-virtual {p1}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity %s RESTART" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 170 invoke-static {p1}, Lcom/ea/nimble/ApplicationEnvironment;->setCurrentActivity(Landroid/app/Activity;)V iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 172 sget-object v0, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; const/4 v1, 0x0 if-ne p1, v0, :cond_0 const-string p1, "Activity restart from PAUSE, normal activity switch" new-array v0, v1, [Ljava/lang/Object; .line 174 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 .line 176 :cond_0 sget-object v0, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->SUSPEND:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-ne p1, v0, :cond_1 iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_core:Lcom/ea/nimble/BaseCore; .line 178 invoke-virtual {p1}, Lcom/ea/nimble/BaseCore;->onApplicationResume()V .line 179 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->RESUME:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; const-string p1, "Activity restart from SUSPEND, external activity switch; (new) app restart" new-array v0, v1, [Ljava/lang/Object; .line 180 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 .line 184 :cond_1 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "Activity restart with invalid state %s" invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_0 iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 188 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 iget v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 iget v1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 filled-new-array {p1, v0, v1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "State after restart %s (%d, %d)" .line 187 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method public notifyActivityRestoreInstanceState(Landroid/os/Bundle;Landroid/app/Activity;)V .locals 0 .line 241 invoke-virtual {p2}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string p2, "Activity %s RESTORE_STATE" invoke-static {p0, p2, p1}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method public notifyActivityResult(IILandroid/content/Intent;Landroid/app/Activity;)V .locals 2 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityEventCallbacks:Ljava/util/ArrayList; .line 381 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks; .line 383 invoke-interface {v1, p4, p1, p2, p3}, Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;->onActivityResult(Landroid/app/Activity;IILandroid/content/Intent;)V goto :goto_0 :cond_0 return-void .end method .method public notifyActivityResume(Landroid/app/Activity;)V .locals 2 .line 247 invoke-virtual {p1}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity %s RESUME" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 248 invoke-static {p1}, Lcom/ea/nimble/ApplicationEnvironment;->setCurrentActivity(Landroid/app/Activity;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 249 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 251 invoke-interface {v1, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityResumed(Landroid/app/Activity;)V goto :goto_0 :cond_0 iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 254 sget-object v0, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-eq p1, v0, :cond_1 .line 256 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "Activity resume on invalid state %s" invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const/4 p1, 0x0 new-array p1, p1, [Ljava/lang/Object; const-string v0, "Please double check if the game\'s activity hooks ApplicationLifecycle.onActivityRestart() correctly." .line 257 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 259 :cond_1 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->RUN:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 262 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 iget v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 iget v1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 filled-new-array {p1, v0, v1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "State after resume %s (%d, %d)" .line 261 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method public notifyActivityRetainNonConfigurationInstance()V .locals 0 .line 421 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V return-void .end method .method public notifyActivitySaveInstanceState(Landroid/os/Bundle;Landroid/app/Activity;)V .locals 2 .line 287 invoke-virtual {p2}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity %s SAVE_STATE" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 288 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 290 invoke-interface {v1, p2, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V goto :goto_0 :cond_0 return-void .end method .method public notifyActivityStart(Landroid/app/Activity;)V .locals 3 .line 194 invoke-virtual {p1}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity %s START" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 195 invoke-static {p1}, Lcom/ea/nimble/ApplicationEnvironment;->setCurrentActivity(Landroid/app/Activity;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 197 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->LAUNCH:Lcom/ea/nimble/ApplicationLifecycleImpl$State; const/4 v2, 0x0 if-ne v0, v1, :cond_0 .line 199 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; const-string p1, "Activity start with LAUNCH state, normal app start" new-array v0, v2, [Ljava/lang/Object; .line 200 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto/16 :goto_3 .line 202 :cond_0 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->RESUME:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-ne v0, v1, :cond_2 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 204 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :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, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 206 invoke-interface {v1, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityStarted(Landroid/app/Activity;)V goto :goto_0 .line 208 :cond_1 invoke-virtual {p1}, Landroid/app/Activity;->getIntent()Landroid/content/Intent; move-result-object p1 invoke-direct {p0, p1}, Lcom/ea/nimble/ApplicationLifecycleImpl;->notifyApplicationResume(Landroid/content/Intent;)V .line 209 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; const-string p1, "Activity start with RESUME state, set to PAUSE" new-array v0, v2, [Ljava/lang/Object; .line 210 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_3 .line 212 :cond_2 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->CONFIG_CHANGE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-ne v0, v1, :cond_4 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 214 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_1 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_3 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 216 invoke-interface {v1, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityStarted(Landroid/app/Activity;)V goto :goto_1 .line 218 :cond_3 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; const-string p1, "Activity start with CONFIG_CHANGE state, set to PAUSE" new-array v0, v2, [Ljava/lang/Object; .line 219 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_3 .line 221 :cond_4 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-ne v0, v1, :cond_5 const-string p1, "Activity start with PAUSE state, normal activity switch" new-array v0, v2, [Ljava/lang/Object; .line 223 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_3 :cond_5 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 227 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_2 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_6 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 229 invoke-interface {v1, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityStarted(Landroid/app/Activity;)V goto :goto_2 :cond_6 iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 231 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "Activity start with invalid state %s" invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_3 iget p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I add-int/lit8 p1, p1, 0x1 iput p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 235 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 iget v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 iget v1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 filled-new-array {p1, v0, v1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "State after start %s (%d, %d)" .line 234 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method public notifyActivityStop(Landroid/app/Activity;)V .locals 2 .annotation build Landroid/annotation/SuppressLint; value = { "NewApi" } .end annotation .line 298 invoke-virtual {p1}, Landroid/app/Activity;->getLocalClassName()Ljava/lang/String; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 const-string v1, "Activity %s STOP" invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 299 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks; .line 301 invoke-interface {v1, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;->onActivityStopped(Landroid/app/Activity;)V goto :goto_0 :cond_0 iget v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I add-int/lit8 v0, v0, -0x1 iput v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I .line 305 invoke-virtual {p1}, Landroid/app/Activity;->isChangingConfigurations()Z move-result v0 if-eqz v0, :cond_1 .line 307 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->CONFIG_CHANGE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; goto :goto_1 :cond_1 iget v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I if-nez v0, :cond_3 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 314 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-eq v0, v1, :cond_2 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->SUSPEND:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-eq v0, v1, :cond_2 const-string v1, "Interesting case %s, HIGHLIGHT!!" filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 .line 316 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGW(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 318 :cond_2 sget-object v0, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->SUSPEND:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 319 invoke-virtual {p1}, Landroid/app/Activity;->isFinishing()Z move-result p1 if-nez p1, :cond_5 .line 321 invoke-direct {p0}, Lcom/ea/nimble/ApplicationLifecycleImpl;->notifyApplicationSuspend()V iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_core:Lcom/ea/nimble/BaseCore; .line 322 invoke-virtual {p1}, Lcom/ea/nimble/BaseCore;->onApplicationSuspend()V goto :goto_1 :cond_3 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 326 sget-object v1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->PAUSE:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-ne v0, v1, :cond_4 .line 328 sget-object v0, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->SUSPEND:Lcom/ea/nimble/ApplicationLifecycleImpl$State; iput-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 329 invoke-virtual {p1}, Landroid/app/Activity;->isFinishing()Z move-result p1 if-nez p1, :cond_5 const/4 p1, 0x0 new-array p1, p1, [Ljava/lang/Object; const-string v0, "running activity count may be messed" .line 333 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGW(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 334 invoke-direct {p0}, Lcom/ea/nimble/ApplicationLifecycleImpl;->notifyApplicationSuspend()V iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_core:Lcom/ea/nimble/BaseCore; .line 335 invoke-virtual {p1}, Lcom/ea/nimble/BaseCore;->onApplicationSuspend()V goto :goto_1 .line 339 :cond_4 sget-object p1, Lcom/ea/nimble/ApplicationLifecycleImpl$State;->RUN:Lcom/ea/nimble/ApplicationLifecycleImpl$State; if-eq v0, p1, :cond_5 .line 341 invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "Activity stop on invalid state %s" invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :cond_5 :goto_1 iget-object p1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_state:Lcom/ea/nimble/ApplicationLifecycleImpl$State; .line 346 invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p1 iget v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_createdActivityCount:I invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 iget v1, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_runningActivityCount:I invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 filled-new-array {p1, v0, v1}, [Ljava/lang/Object; move-result-object p1 const-string v0, "State after stop %s (%d, %d)" .line 345 invoke-static {p0, v0, p1}, Lcom/ea/nimble/Log$Helper;->LOGV(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method public notifyActivityWindowFocusChanged(ZLandroid/app/Activity;)V .locals 1 iget-object p2, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityEventCallbacks:Ljava/util/ArrayList; .line 390 invoke-virtual {p2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object p2 :goto_0 invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_0 invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks; .line 392 invoke-interface {v0, p1}, Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;->onWindowFocusChanged(Z)V goto :goto_0 :cond_0 return-void .end method .method public registerActivityEventCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;)V .locals 1 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityEventCallbacks:Ljava/util/ArrayList; .line 66 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method public registerActivityLifecycleCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;)V .locals 1 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 54 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method public registerApplicationLifecycleCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;)V .locals 1 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_applicationLifecycleCallbacks:Ljava/util/ArrayList; .line 78 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method public teardown()V .locals 1 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 46 invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityEventCallbacks:Ljava/util/ArrayList; .line 47 invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_applicationLifecycleCallbacks:Ljava/util/ArrayList; .line 48 invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V return-void .end method .method public unregisterActivityEventCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ActivityEventCallbacks;)V .locals 1 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityEventCallbacks:Ljava/util/ArrayList; .line 72 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z return-void .end method .method public unregisterActivityLifecycleCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ActivityLifecycleCallbacks;)V .locals 1 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_activityLifecycleCallbacks:Ljava/util/ArrayList; .line 60 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z return-void .end method .method public unregisterApplicationLifecycleCallbacks(Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks;)V .locals 1 iget-object v0, p0, Lcom/ea/nimble/ApplicationLifecycleImpl;->m_applicationLifecycleCallbacks:Ljava/util/ArrayList; .line 84 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z return-void .end method