.class Lcom/ea/nimble/BaseCore; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcom/ea/nimble/IApplicationLifecycle$ApplicationLifecycleCallbacks; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/ea/nimble/BaseCore$State; } .end annotation # static fields .field public static final NIMBLE_COMPONENTS:[Ljava/lang/String; .field public static final NIMBLE_LOG_SETTING:Ljava/lang/String; = "setting::log" .field public static final NIMBLE_SERVER_CONFIG:Ljava/lang/String; = "com.ea.nimble.configuration" .field protected static s_core:Lcom/ea/nimble/BaseCore; .field protected static s_coreDestroyed:Z # instance fields .field protected m_applicationEnvironment:Lcom/ea/nimble/ApplicationEnvironmentImpl; .field protected m_applicationLifecycle:Lcom/ea/nimble/IApplicationLifecycle; .field protected m_componentManager:Lcom/ea/nimble/ComponentManager; .field protected m_configuration:Lcom/ea/nimble/NimbleConfiguration; .field protected m_log:Lcom/ea/nimble/LogImpl; .field protected m_persistenceService:Lcom/ea/nimble/PersistenceServiceImpl; .field protected m_state:Lcom/ea/nimble/BaseCore$State; # direct methods .method static constructor ()V .locals 18 const-string v0, "com.ea.nimble.tracking.Tracking" const-string v1, "com.ea.nimble.tracking.NimbleTrackingSynergyComponent" const-string v2, "com.ea.nimble.tracking.TrackingEventWrangler" const-string v3, "com.ea.nimble.identity.NimbleIdentityImpl" const-string v4, "com.ea.nimble.identity.AuthenticatorOrigin" const-string v5, "com.ea.nimble.identity.AuthenticatorFacebook" const-string v6, "com.ea.nimble.identity.AuthenticatorAnonymous" const-string v7, "com.ea.nimble.friends.NimbleFriendsImpl" const-string v8, "com.ea.nimble.friends.NimbleOriginFriendsServiceImpl" const-string v9, "com.ea.nimble.origin.Origin" const-string v10, "com.ea.nimble.Facebook" const-string v11, "com.ea.nimble.NimbleAndroidFacebook" const-string v12, "com.ea.nimble.NimbleAndroidGoogleServiceImpl" const-string v13, "com.ea.nimble.mtx.googleplay.GooglePlay" const-string v14, "com.ea.nimble.mtx.amazon.AmazonStore" const-string v15, "com.ea.nimble.pushtng.PushNotification" const-string v16, "com.ea.nimble.bridge.NimbleCppApplicationLifeCycle" const-string v17, "com.ea.nimble.bridge.NimbleCppComponentRegistrar" filled-new-array/range {v0 .. v17}, [Ljava/lang/String; move-result-object v0 sput-object v0, Lcom/ea/nimble/BaseCore;->NIMBLE_COMPONENTS:[Ljava/lang/String; const/4 v0, 0x0 sput-object v0, Lcom/ea/nimble/BaseCore;->s_core:Lcom/ea/nimble/BaseCore; const/4 v0, 0x0 sput-boolean v0, Lcom/ea/nimble/BaseCore;->s_coreDestroyed:Z return-void .end method .method public constructor ()V .locals 0 .line 24 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private destroy()V .locals 2 const/4 v0, 0x0 new-array v0, v0, [Ljava/lang/Object; const-string v1, "NIMBLE DESTROY for Android will keep Core and Static components alive" .line 442 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method public static declared-synchronized getInstance()Lcom/ea/nimble/BaseCore; .locals 5 const-class v0, Lcom/ea/nimble/BaseCore; monitor-enter v0 :try_start_0 sget-object v1, Lcom/ea/nimble/BaseCore;->s_core:Lcom/ea/nimble/BaseCore; if-nez v1, :cond_1 sget-boolean v1, Lcom/ea/nimble/BaseCore;->s_coreDestroyed:Z if-nez v1, :cond_0 const-string v1, "NIMBLE VERSION %s (Build %s)" const/4 v2, 0x2 new-array v2, v2, [Ljava/lang/Object; const-string v3, "1.63.0.2" const/4 v4, 0x0 aput-object v3, v2, v4 const-string v3, "1.63.0.2.0923" const/4 v4, 0x1 aput-object v3, v2, v4 .line 195 invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; .line 196 new-instance v1, Lcom/ea/nimble/BaseCore; invoke-direct {v1}, Lcom/ea/nimble/BaseCore;->()V sput-object v1, Lcom/ea/nimble/BaseCore;->s_core:Lcom/ea/nimble/BaseCore; .line 197 invoke-direct {v1}, Lcom/ea/nimble/BaseCore;->initialize()V goto :goto_0 :catchall_0 move-exception v1 goto :goto_1 .line 191 :cond_0 new-instance v1, Ljava/lang/AssertionError; const-string v2, "Cannot revive destroyed BaseCore, please utilizesetupNimble() and tearDownNimble() explicitly to extend longevity to match your expectation." invoke-direct {v1, v2}, Ljava/lang/AssertionError;->(Ljava/lang/Object;)V throw v1 :cond_1 :goto_0 sget-object v1, Lcom/ea/nimble/BaseCore;->s_core:Lcom/ea/nimble/BaseCore; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 199 monitor-exit v0 return-object v1 :goto_1 monitor-exit v0 throw v1 .end method .method private initialize()V .locals 10 const-string v0, "Method " .line 58 sget-object v1, Lcom/ea/nimble/BaseCore$State;->INACTIVE:Lcom/ea/nimble/BaseCore$State; iput-object v1, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; .line 59 invoke-direct {p0}, Lcom/ea/nimble/BaseCore;->loadConfiguration()V .line 62 new-instance v1, Lcom/ea/nimble/ComponentManager; invoke-direct {v1}, Lcom/ea/nimble/ComponentManager;->()V iput-object v1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 65 new-instance v1, Lcom/ea/nimble/ApplicationLifecycleImpl; invoke-direct {v1, p0}, Lcom/ea/nimble/ApplicationLifecycleImpl;->(Lcom/ea/nimble/BaseCore;)V iput-object v1, p0, Lcom/ea/nimble/BaseCore;->m_applicationLifecycle:Lcom/ea/nimble/IApplicationLifecycle; .line 66 new-instance v1, Lcom/ea/nimble/ApplicationEnvironmentImpl; invoke-direct {v1, p0}, Lcom/ea/nimble/ApplicationEnvironmentImpl;->(Lcom/ea/nimble/BaseCore;)V iput-object v1, p0, Lcom/ea/nimble/BaseCore;->m_applicationEnvironment:Lcom/ea/nimble/ApplicationEnvironmentImpl; .line 67 invoke-static {}, Lcom/ea/nimble/Log;->getComponent()Lcom/ea/nimble/ILog; move-result-object v1 check-cast v1, Lcom/ea/nimble/LogImpl; iput-object v1, p0, Lcom/ea/nimble/BaseCore;->m_log:Lcom/ea/nimble/LogImpl; .line 68 invoke-virtual {v1, p0}, Lcom/ea/nimble/LogImpl;->connectToCore(Lcom/ea/nimble/BaseCore;)V .line 69 new-instance v1, Lcom/ea/nimble/PersistenceServiceImpl; invoke-direct {v1}, Lcom/ea/nimble/PersistenceServiceImpl;->()V iput-object v1, p0, Lcom/ea/nimble/BaseCore;->m_persistenceService:Lcom/ea/nimble/PersistenceServiceImpl; .line 71 new-instance v1, Lcom/ea/nimble/NetworkImpl; invoke-direct {v1}, Lcom/ea/nimble/NetworkImpl;->()V .line 72 new-instance v2, Lcom/ea/nimble/SynergyEnvironmentImpl; invoke-direct {v2, p0}, Lcom/ea/nimble/SynergyEnvironmentImpl;->(Lcom/ea/nimble/BaseCore;)V .line 73 new-instance v3, Lcom/ea/nimble/SynergyNetworkImpl; invoke-direct {v3}, Lcom/ea/nimble/SynergyNetworkImpl;->()V .line 74 new-instance v4, Lcom/ea/nimble/SynergyIdManagerImpl; invoke-direct {v4}, Lcom/ea/nimble/SynergyIdManagerImpl;->()V .line 75 new-instance v5, Lcom/ea/nimble/OperationalTelemetryDispatchImpl; invoke-direct {v5}, Lcom/ea/nimble/OperationalTelemetryDispatchImpl;->()V .line 76 new-instance v6, Lcom/ea/nimble/NimbleLocalNotificationsImpl; invoke-direct {v6}, Lcom/ea/nimble/NimbleLocalNotificationsImpl;->()V iget-object v7, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; iget-object v8, p0, Lcom/ea/nimble/BaseCore;->m_applicationEnvironment:Lcom/ea/nimble/ApplicationEnvironmentImpl; const-string v9, "com.ea.nimble.applicationEnvironment" .line 79 invoke-virtual {v7, v8, v9}, Lcom/ea/nimble/ComponentManager;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V iget-object v7, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; iget-object v8, p0, Lcom/ea/nimble/BaseCore;->m_log:Lcom/ea/nimble/LogImpl; const-string v9, "com.ea.nimble.NimbleLog" .line 80 invoke-virtual {v7, v8, v9}, Lcom/ea/nimble/ComponentManager;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V iget-object v7, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; iget-object v8, p0, Lcom/ea/nimble/BaseCore;->m_persistenceService:Lcom/ea/nimble/PersistenceServiceImpl; const-string v9, "com.ea.nimble.persistence" .line 81 invoke-virtual {v7, v8, v9}, Lcom/ea/nimble/ComponentManager;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V iget-object v7, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; const-string v8, "com.ea.nimble.network" .line 82 invoke-virtual {v7, v1, v8}, Lcom/ea/nimble/ComponentManager;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V iget-object v1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; const-string v7, "com.ea.nimble.synergyidmanager" .line 83 invoke-virtual {v1, v4, v7}, Lcom/ea/nimble/ComponentManager;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V iget-object v1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; const-string v4, "com.ea.nimble.synergyEnvironment" .line 84 invoke-virtual {v1, v2, v4}, Lcom/ea/nimble/ComponentManager;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V iget-object v1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; const-string v2, "com.ea.nimble.synergynetwork" .line 85 invoke-virtual {v1, v3, v2}, Lcom/ea/nimble/ComponentManager;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V iget-object v1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; const-string v2, "com.ea.nimble.operationaltelemetrydispatch" .line 86 invoke-virtual {v1, v5, v2}, Lcom/ea/nimble/ComponentManager;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V iget-object v1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; const-string v2, "com.ea.nimble.base.localNotifications" .line 87 invoke-virtual {v1, v6, v2}, Lcom/ea/nimble/ComponentManager;->registerComponent(Lcom/ea/nimble/Component;Ljava/lang/String;)V sget-object v1, Lcom/ea/nimble/BaseCore;->NIMBLE_COMPONENTS:[Ljava/lang/String; .line 89 array-length v2, v1 const/4 v3, 0x0 move v4, v3 :goto_0 if-ge v4, v2, :cond_0 aget-object v5, v1, v4 .line 94 :try_start_0 invoke-static {v5}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v6 const-string v7, "initialize" new-array v8, v3, [Ljava/lang/Class; invoke-virtual {v6, v7, v8}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v6 const/4 v7, 0x1 .line 95 invoke-virtual {v6, v7}, Ljava/lang/reflect/AccessibleObject;->setAccessible(Z)V new-array v7, v3, [Ljava/lang/Object; const/4 v8, 0x0 .line 96 invoke-virtual {v6, v8, v7}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; :try_end_0 .catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_0} :catch_5 .catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_4 .catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_3 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_0 .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_2 .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_1 goto/16 :goto_2 :catch_0 move-exception v6 goto :goto_1 .line 121 :catch_1 new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V const-string v7, "Component " invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v5, " not found" invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v5 new-array v6, v3, [Ljava/lang/Object; invoke-static {p0, v5, v6}, Lcom/ea/nimble/Log$Helper;->LOGD(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto/16 :goto_2 .line 117 :catch_2 new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V const-string v7, "No method " invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v5, ".initialize()" invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v5 new-array v6, v3, [Ljava/lang/Object; invoke-static {p0, v5, v6}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_2 .line 112 :goto_1 new-instance v7, Ljava/lang/StringBuilder; invoke-direct {v7}, Ljava/lang/StringBuilder;->()V invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v5, ".initialize() threw an exception" invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v5 new-array v7, v3, [Ljava/lang/Object; invoke-static {p0, v5, v7}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 113 invoke-virtual {v6}, Ljava/lang/Throwable;->printStackTrace()V goto :goto_2 .line 108 :catch_3 new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v5, ".initialize() is not accessible" invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v5 new-array v6, v3, [Ljava/lang/Object; invoke-static {p0, v5, v6}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_2 .line 104 :catch_4 new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v5, ".initialize() should take no arguments" invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v5 new-array v6, v3, [Ljava/lang/Object; invoke-static {p0, v5, v6}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_2 .line 100 :catch_5 new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v5, ".initialize() should be static" invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v5 new-array v6, v3, [Ljava/lang/Object; invoke-static {p0, v5, v6}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_2 add-int/lit8 v4, v4, 0x1 goto/16 :goto_0 .line 126 :cond_0 invoke-direct {p0}, Lcom/ea/nimble/BaseCore;->isAppSigned()Z move-result v0 if-nez v0, :cond_1 const-string v0, "Nimble" const-string v1, "This application is NOT signed with a valid certificate. MTX may not work correctly with this application" .line 128 invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I :cond_1 return-void .end method .method public static injectMock(Lcom/ea/nimble/BaseCore;)V .locals 1 const-string v0, "BaseCore" .line 404 invoke-static {v0}, Lcom/ea/nimble/Log$Helper;->LOGFUNCS(Ljava/lang/String;)V const/4 v0, 0x0 if-nez p0, :cond_0 const/4 p0, 0x0 sput-object p0, Lcom/ea/nimble/BaseCore;->s_core:Lcom/ea/nimble/BaseCore; sput-boolean v0, Lcom/ea/nimble/BaseCore;->s_coreDestroyed:Z goto :goto_0 :cond_0 sput-object p0, Lcom/ea/nimble/BaseCore;->s_core:Lcom/ea/nimble/BaseCore; sput-boolean v0, Lcom/ea/nimble/BaseCore;->s_coreDestroyed:Z :goto_0 return-void .end method .method private isAppSigned()Z .locals 8 .line 493 new-instance v0, Ljavax/security/auth/x500/X500Principal; const-string v1, "CN=Android Debug,O=Android,C=US" invoke-direct {v0, v1}, Ljavax/security/auth/x500/X500Principal;->(Ljava/lang/String;)V const/4 v1, 0x0 :try_start_0 sget v2, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v3, 0x21 if-lt v2, v3, :cond_0 const/high16 v2, 0x8000000 .line 502 invoke-static {v2}, Lcom/ea/nimble/Utility;->getPackageInfo(I)Landroid/content/pm/PackageInfo; move-result-object v2 .line 503 invoke-static {v2}, Landroidx/core/content/pm/PackageInfoCompat$$ExternalSyntheticApiModelOutline0;->m(Landroid/content/pm/PackageInfo;)Landroid/content/pm/SigningInfo; move-result-object v2 invoke-static {v2}, Landroidx/credentials/provider/SigningInfoCompat$Companion$$ExternalSyntheticApiModelOutline0;->m(Landroid/content/pm/SigningInfo;)[Landroid/content/pm/Signature; move-result-object v2 goto :goto_0 :catch_0 move-exception v0 goto :goto_2 :catch_1 move-exception v0 goto :goto_4 :cond_0 const/16 v2, 0x40 .line 507 invoke-static {v2}, Lcom/ea/nimble/Utility;->getPackageInfo(I)Landroid/content/pm/PackageInfo; move-result-object v2 .line 508 iget-object v2, v2, Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature; .line 512 :goto_0 array-length v3, v2 :try_end_0 .catch Ljava/security/cert/CertificateException; {:try_start_0 .. :try_end_0} :catch_1 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 move v4, v1 :goto_1 if-ge v1, v3, :cond_2 :try_start_1 aget-object v5, v2, v1 const-string v6, "X.509" .line 515 invoke-static {v6}, Ljava/security/cert/CertificateFactory;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertificateFactory; move-result-object v6 .line 518 new-instance v7, Ljava/io/ByteArrayInputStream; invoke-virtual {v5}, Landroid/content/pm/Signature;->toByteArray()[B move-result-object v5 invoke-direct {v7, v5}, Ljava/io/ByteArrayInputStream;->([B)V .line 521 invoke-virtual {v6, v7}, Ljava/security/cert/CertificateFactory;->generateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate; move-result-object v5 check-cast v5, Ljava/security/cert/X509Certificate; .line 524 invoke-virtual {v5}, Ljava/security/cert/X509Certificate;->getSubjectX500Principal()Ljavax/security/auth/x500/X500Principal; move-result-object v5 invoke-virtual {v5, v0}, Ljavax/security/auth/x500/X500Principal;->equals(Ljava/lang/Object;)Z move-result v4 :try_end_1 .catch Ljava/security/cert/CertificateException; {:try_start_1 .. :try_end_1} :catch_3 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_2 if-eqz v4, :cond_1 goto :goto_5 :cond_1 add-int/lit8 v1, v1, 0x1 goto :goto_1 :catch_2 move-exception v0 move v1, v4 goto :goto_2 :catch_3 move-exception v0 move v1, v4 goto :goto_4 .line 537 :goto_2 invoke-virtual {v0}, Ljava/lang/Throwable;->printStackTrace()V :goto_3 move v4, v1 goto :goto_5 .line 533 :goto_4 invoke-virtual {v0}, Ljava/lang/Throwable;->printStackTrace()V goto :goto_3 :cond_2 :goto_5 xor-int/lit8 v0, v4, 0x1 return v0 .end method .method private loadConfiguration()V .locals 2 const-string v0, "BaseCore" .line 461 invoke-static {v0}, Lcom/ea/nimble/Log$Helper;->LOGFUNCS(Ljava/lang/String;)V const-string v0, "com.ea.nimble.configuration" .line 462 invoke-static {v0}, Lcom/ea/nimble/NimbleApplicationConfiguration;->getConfigValueAsString(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 464 invoke-static {v0}, Lcom/ea/nimble/Utility;->validString(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_0 .line 466 invoke-static {v0}, Lcom/ea/nimble/NimbleConfiguration;->fromName(Ljava/lang/String;)Lcom/ea/nimble/NimbleConfiguration; move-result-object v0 iput-object v0, p0, Lcom/ea/nimble/BaseCore;->m_configuration:Lcom/ea/nimble/NimbleConfiguration; .line 467 sget-object v1, Lcom/ea/nimble/NimbleConfiguration;->UNKNOWN:Lcom/ea/nimble/NimbleConfiguration; if-eq v0, v1, :cond_0 sget-object v1, Lcom/ea/nimble/NimbleConfiguration;->CUSTOMIZED:Lcom/ea/nimble/NimbleConfiguration; if-eq v0, v1, :cond_0 return-void :cond_0 const-string v0, "Nimble" const-string v1, "WARNING! Cannot find valid NimbleConfiguration from AndroidManifest.xml" .line 473 invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I .line 475 sget-object v0, Lcom/ea/nimble/NimbleConfiguration;->LIVE:Lcom/ea/nimble/NimbleConfiguration; iput-object v0, p0, Lcom/ea/nimble/BaseCore;->m_configuration:Lcom/ea/nimble/NimbleConfiguration; return-void .end method # virtual methods .method public activeValidate()Lcom/ea/nimble/BaseCore; .locals 4 .line 204 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGFUNC(Ljava/lang/Object;)V .line 205 sget-object v0, Lcom/ea/nimble/BaseCore$2;->$SwitchMap$com$ea$nimble$BaseCore$State:[I iget-object v1, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I move-result v1 aget v0, v0, v1 const/4 v1, 0x1 const/4 v2, 0x0 const/4 v3, 0x0 if-eq v0, v1, :cond_2 const/4 v1, 0x2 if-eq v0, v1, :cond_1 const/4 v1, 0x3 if-eq v0, v1, :cond_0 return-object p0 :cond_0 const-string v0, "Accessing component after destroy, only static components are available right now." new-array v1, v3, [Ljava/lang/Object; .line 215 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGF(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-object v2 :cond_1 const-string v0, "Access NimbleBaseCore after clean up, call setupNimble() explicitly again to activate it." new-array v1, v3, [Ljava/lang/Object; .line 212 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGF(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-object v2 :cond_2 const-string v0, "Access NimbleBaseCore before setup, call setupNimble() explicitly to activate it." new-array v1, v3, [Ljava/lang/Object; .line 209 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGF(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-object v2 .end method .method public getApplicationEnvironment()Lcom/ea/nimble/IApplicationEnvironment; .locals 1 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_applicationEnvironment:Lcom/ea/nimble/ApplicationEnvironmentImpl; return-object v0 .end method .method public getApplicationLifecycle()Lcom/ea/nimble/IApplicationLifecycle; .locals 1 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_applicationLifecycle:Lcom/ea/nimble/IApplicationLifecycle; return-object v0 .end method .method public getComponentManager()Lcom/ea/nimble/ComponentManager; .locals 1 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; return-object v0 .end method .method public getConfiguration()Lcom/ea/nimble/NimbleConfiguration; .locals 1 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_configuration:Lcom/ea/nimble/NimbleConfiguration; return-object v0 .end method .method public getLog()Lcom/ea/nimble/ILog; .locals 1 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_log:Lcom/ea/nimble/LogImpl; return-object v0 .end method .method public getPersistenceService()Lcom/ea/nimble/IPersistenceService; .locals 1 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_persistenceService:Lcom/ea/nimble/PersistenceServiceImpl; return-object v0 .end method .method public getSettings(Ljava/lang/String;)Ljava/util/Map; .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", ")", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/String;", ">;" } .end annotation .line 143 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V const-string v0, "setting::log" .line 144 invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p1 const/4 v0, 0x0 if-eqz p1, :cond_1 .line 146 invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getCurrentActivity()Landroid/app/Activity; move-result-object p1 invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object p1 .line 148 invoke-static {}, Lcom/ea/nimble/ApplicationEnvironment;->getComponent()Lcom/ea/nimble/IApplicationEnvironment; move-result-object v1 invoke-interface {v1}, Lcom/ea/nimble/IApplicationEnvironment;->getApplicationContext()Landroid/content/Context; move-result-object v1 invoke-virtual {v1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v1 const-string v2, "nimble_log" const-string v3, "xml" invoke-virtual {v1, v2, v3, p1}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I move-result p1 if-nez p1, :cond_0 return-object v0 .line 153 :cond_0 invoke-static {p1}, Lcom/ea/nimble/Utility;->parseXmlFile(I)Ljava/util/Map; move-result-object p1 return-object p1 :cond_1 return-object v0 .end method .method public isActive()Z .locals 2 const-string v0, "BaseCore" .line 546 invoke-static {v0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNCS(Ljava/lang/String;)V iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; .line 547 sget-object v1, Lcom/ea/nimble/BaseCore$State;->AUTO_SETUP:Lcom/ea/nimble/BaseCore$State; if-eq v0, v1, :cond_1 sget-object v1, Lcom/ea/nimble/BaseCore$State;->MANUAL_SETUP:Lcom/ea/nimble/BaseCore$State; if-ne v0, v1, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 v0, 0x1 :goto_1 return v0 .end method .method public onApplicationLaunch(Landroid/content/Intent;)V .locals 1 iget-object p1, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; .line 323 sget-object v0, Lcom/ea/nimble/BaseCore$State;->INACTIVE:Lcom/ea/nimble/BaseCore$State; if-eq p1, v0, :cond_2 sget-object v0, Lcom/ea/nimble/BaseCore$State;->DESTROY:Lcom/ea/nimble/BaseCore$State; if-ne p1, v0, :cond_0 goto :goto_0 .line 339 :cond_0 sget-object v0, Lcom/ea/nimble/BaseCore$State;->FAKE_DESTROY:Lcom/ea/nimble/BaseCore$State; if-ne p1, v0, :cond_1 iget-object p1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 342 invoke-virtual {p1}, Lcom/ea/nimble/ComponentManager;->resume()V .line 343 sget-object p1, Lcom/ea/nimble/BaseCore$State;->AUTO_SETUP:Lcom/ea/nimble/BaseCore$State; iput-object p1, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; goto :goto_1 .line 345 :cond_1 sget-object v0, Lcom/ea/nimble/BaseCore$State;->QUITTING:Lcom/ea/nimble/BaseCore$State; if-ne p1, v0, :cond_3 iget-object p1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 347 invoke-virtual {p1}, Lcom/ea/nimble/ComponentManager;->resume()V .line 348 sget-object p1, Lcom/ea/nimble/BaseCore$State;->MANUAL_SETUP:Lcom/ea/nimble/BaseCore$State; iput-object p1, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; goto :goto_1 :cond_2 :goto_0 iget-object p1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 325 invoke-virtual {p1}, Lcom/ea/nimble/ComponentManager;->setup()V const-string p1, "nimble.notification.componentIndependentSetupFinished" .line 327 invoke-static {p1}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;)V .line 328 sget-object p1, Lcom/ea/nimble/BaseCore$State;->AUTO_SETUP:Lcom/ea/nimble/BaseCore$State; iput-object p1, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; :try_start_0 iget-object p1, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 331 invoke-virtual {p1}, Lcom/ea/nimble/ComponentManager;->restore()V :try_end_0 .catch Ljava/lang/AssertionError; {:try_start_0 .. :try_end_0} :catch_0 :cond_3 :goto_1 return-void :catch_0 move-exception p1 .line 335 sget-object v0, Lcom/ea/nimble/BaseCore$State;->INACTIVE:Lcom/ea/nimble/BaseCore$State; iput-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; .line 336 throw p1 .end method .method public onApplicationQuit()V .locals 3 .line 372 sget-object v0, Lcom/ea/nimble/BaseCore$2;->$SwitchMap$com$ea$nimble$BaseCore$State:[I iget-object v1, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I move-result v1 aget v0, v0, v1 const/4 v1, 0x1 const/4 v2, 0x0 if-eq v0, v1, :cond_3 const/4 v1, 0x3 if-eq v0, v1, :cond_2 const/4 v1, 0x4 if-eq v0, v1, :cond_1 const/4 v1, 0x5 if-eq v0, v1, :cond_0 const/4 v1, 0x6 if-eq v0, v1, :cond_2 goto :goto_0 :cond_0 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 386 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->suspend()V .line 387 sget-object v0, Lcom/ea/nimble/BaseCore$State;->QUITTING:Lcom/ea/nimble/BaseCore$State; iput-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; goto :goto_0 :cond_1 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 379 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->suspend()V .line 380 sget-object v0, Lcom/ea/nimble/BaseCore$State;->FAKE_DESTROY:Lcom/ea/nimble/BaseCore$State; iput-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; goto :goto_0 :cond_2 const-string v0, "Double app quit, something must be wrong." new-array v1, v2, [Ljava/lang/Object; .line 397 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGF(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :cond_3 const-string v0, "No app start before app quit, something must be wrong." new-array v1, v2, [Ljava/lang/Object; .line 393 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGF(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_0 return-void .end method .method public onApplicationResume()V .locals 2 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; .line 363 sget-object v1, Lcom/ea/nimble/BaseCore$State;->MANUAL_SETUP:Lcom/ea/nimble/BaseCore$State; if-eq v0, v1, :cond_0 sget-object v1, Lcom/ea/nimble/BaseCore$State;->AUTO_SETUP:Lcom/ea/nimble/BaseCore$State; if-ne v0, v1, :cond_1 :cond_0 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 366 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->resume()V :cond_1 return-void .end method .method public onApplicationSuspend()V .locals 2 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; .line 354 sget-object v1, Lcom/ea/nimble/BaseCore$State;->MANUAL_SETUP:Lcom/ea/nimble/BaseCore$State; if-eq v0, v1, :cond_0 sget-object v1, Lcom/ea/nimble/BaseCore$State;->AUTO_SETUP:Lcom/ea/nimble/BaseCore$State; if-ne v0, v1, :cond_1 :cond_0 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 357 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->suspend()V :cond_1 return-void .end method .method public restartWithConfiguration(Lcom/ea/nimble/NimbleConfiguration;)V .locals 4 .line 277 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V const/4 v0, 0x0 new-array v1, v0, [Ljava/lang/Object; const-string v2, ">>>>>>>>>>>>>>>>>>>>>>" .line 278 invoke-static {p0, v2, v1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V const-string v1, "restartWithConfiguration should not be used in an integration. This function is for QA testing purposes." new-array v3, v0, [Ljava/lang/Object; .line 279 invoke-static {p0, v1, v3}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V new-array v1, v0, [Ljava/lang/Object; .line 280 invoke-static {p0, v2, v1}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V .line 282 sget-object v1, Lcom/ea/nimble/NimbleConfiguration;->UNKNOWN:Lcom/ea/nimble/NimbleConfiguration; if-ne p1, v1, :cond_0 const-string p1, "Cannot restart nimble with unknown configuration" new-array v0, v0, [Ljava/lang/Object; .line 284 invoke-static {p0, p1, v0}, Lcom/ea/nimble/Log$Helper;->LOGE(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V return-void .line 289 :cond_0 new-instance v0, Landroid/os/Handler; invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v1 invoke-direct {v0, v1}, Landroid/os/Handler;->(Landroid/os/Looper;)V new-instance v1, Lcom/ea/nimble/BaseCore$1; invoke-direct {v1, p0, p1}, Lcom/ea/nimble/BaseCore$1;->(Lcom/ea/nimble/BaseCore;Lcom/ea/nimble/NimbleConfiguration;)V invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z return-void .end method .method public setup()V .locals 2 .line 224 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 225 sget-object v0, Lcom/ea/nimble/BaseCore$2;->$SwitchMap$com$ea$nimble$BaseCore$State:[I iget-object v1, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I move-result v1 aget v0, v0, v1 packed-switch v0, :pswitch_data_0 goto :goto_0 .line 236 :pswitch_0 sget-object v0, Lcom/ea/nimble/BaseCore$State;->MANUAL_SETUP:Lcom/ea/nimble/BaseCore$State; iput-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; goto :goto_0 :pswitch_1 const/4 v0, 0x0 new-array v0, v0, [Ljava/lang/Object; const-string v1, "Multiple setupNimble() calls without teardownNimble()." .line 242 invoke-static {p0, v1, v0}, Lcom/ea/nimble/Log$Helper;->LOGF(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :pswitch_2 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 229 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->setup()V .line 230 sget-object v0, Lcom/ea/nimble/BaseCore$State;->MANUAL_SETUP:Lcom/ea/nimble/BaseCore$State; iput-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; const-string v0, "nimble.notification.componentIndependentSetupFinished" .line 232 invoke-static {v0}, Lcom/ea/nimble/Utility;->sendBroadcast(Ljava/lang/String;)V iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 233 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->restore()V :goto_0 return-void nop :pswitch_data_0 .packed-switch 0x1 :pswitch_2 :pswitch_2 :pswitch_1 :pswitch_0 :pswitch_1 :pswitch_1 :pswitch_1 .end packed-switch .end method .method public teardown()V .locals 2 .line 249 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 250 sget-object v0, Lcom/ea/nimble/BaseCore$2;->$SwitchMap$com$ea$nimble$BaseCore$State:[I iget-object v1, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I move-result v1 aget v0, v0, v1 const/4 v1, 0x0 packed-switch v0, :pswitch_data_0 goto :goto_0 :pswitch_0 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 259 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->cleanup()V .line 260 sget-object v0, Lcom/ea/nimble/BaseCore$State;->MANUAL_TEARDOWN:Lcom/ea/nimble/BaseCore$State; iput-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 261 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->teardown()V .line 262 invoke-direct {p0}, Lcom/ea/nimble/BaseCore;->destroy()V goto :goto_0 :pswitch_1 iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 253 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->cleanup()V .line 254 sget-object v0, Lcom/ea/nimble/BaseCore$State;->MANUAL_TEARDOWN:Lcom/ea/nimble/BaseCore$State; iput-object v0, p0, Lcom/ea/nimble/BaseCore;->m_state:Lcom/ea/nimble/BaseCore$State; iget-object v0, p0, Lcom/ea/nimble/BaseCore;->m_componentManager:Lcom/ea/nimble/ComponentManager; .line 255 invoke-virtual {v0}, Lcom/ea/nimble/ComponentManager;->teardown()V goto :goto_0 :pswitch_2 const-string v0, "Multiple teardownNimble() calls without setupNibmle()." new-array v1, v1, [Ljava/lang/Object; .line 270 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGF(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V goto :goto_0 :pswitch_3 const-string v0, "Cannot teardownNimble() before setupNimble()." new-array v1, v1, [Ljava/lang/Object; .line 266 invoke-static {p0, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGF(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V :goto_0 return-void nop :pswitch_data_0 .packed-switch 0x1 :pswitch_3 :pswitch_2 :pswitch_2 :pswitch_3 :pswitch_1 :pswitch_0 :pswitch_0 .end packed-switch .end method