.class public Lcom/firemonkeys/cloudcellapi/CC_Component; .super Lcom/ea/ironmonkey/components/GameComponent; .source "SourceFile" # static fields .field static final synthetic $assertionsDisabled:Z = false .field private static final CLASSNAME:Ljava/lang/String; = "CC_Component" .field private static m_pMonitor:Lcom/firemonkeys/cloudcellapi/NetworkStatusMonitor; .field private static s_UsingImmersiveMode:Z .field private static s_activity:Landroid/app/Activity; .field private static s_bDownloadServiceStarted:Z .field private static s_canCallSuspendResume:Ljava/lang/Boolean; .field private static s_instance:Lcom/firemonkeys/cloudcellapi/CC_Component; .field private static s_surfaceView:Landroid/view/SurfaceView; .field private static s_viewGroup:Landroid/view/ViewGroup; # direct methods .method static constructor ()V .locals 1 sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean; sput-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_canCallSuspendResume:Ljava/lang/Boolean; const/4 v0, 0x0 sput-boolean v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_bDownloadServiceStarted:Z sput-boolean v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_UsingImmersiveMode:Z const/4 v0, 0x0 sput-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->m_pMonitor:Lcom/firemonkeys/cloudcellapi/NetworkStatusMonitor; return-void .end method .method private constructor ()V .locals 0 .line 44 invoke-direct {p0}, Lcom/ea/ironmonkey/components/GameComponent;->()V return-void .end method .method private static native CloudcellResume()V .end method .method private static native CloudcellSuspend()V .end method .method public static GetActivity()Landroid/app/Activity; .locals 1 sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_activity:Landroid/app/Activity; return-object v0 .end method .method public static GetGLSurfaceView()Landroid/opengl/GLSurfaceView; .locals 1 :try_start_0 sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_surfaceView:Landroid/view/SurfaceView; .line 107 check-cast v0, Landroid/opengl/GLSurfaceView; :try_end_0 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 :catch_0 const/4 v0, 0x0 return-object v0 .end method .method public static GetInstance()Lcom/firemonkeys/cloudcellapi/CC_Component; .locals 1 sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_instance:Lcom/firemonkeys/cloudcellapi/CC_Component; if-nez v0, :cond_0 .line 88 new-instance v0, Lcom/firemonkeys/cloudcellapi/CC_Component; invoke-direct {v0}, Lcom/firemonkeys/cloudcellapi/CC_Component;->()V sput-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_instance:Lcom/firemonkeys/cloudcellapi/CC_Component; :cond_0 sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_instance:Lcom/firemonkeys/cloudcellapi/CC_Component; return-object v0 .end method .method public static GetSurfaceView()Landroid/view/SurfaceView; .locals 1 sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_surfaceView:Landroid/view/SurfaceView; return-object v0 .end method .method public static GetViewGroup()Landroid/view/ViewGroup; .locals 1 sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_viewGroup:Landroid/view/ViewGroup; return-object v0 .end method .method public static RequestMissingPermissions(I)Z .locals 1 .line 223 invoke-static {}, Lcom/firemonkeys/cloudcellapi/util/GetInfo;->GetRequestedPermissions()[Ljava/lang/String; move-result-object v0 invoke-static {v0, p0}, Lcom/firemonkeys/cloudcellapi/CC_Component;->RequestMissingPermissions([Ljava/lang/String;I)Z move-result p0 return p0 .end method .method public static RequestMissingPermissions([Ljava/lang/String;I)Z .locals 8 const-string v0, "CC_Component" const/4 v1, 0x0 .line 230 :try_start_0 new-instance v2, Ljava/util/ArrayList; invoke-direct {v2}, Ljava/util/ArrayList;->()V .line 232 array-length v3, p0 move v4, v1 :goto_0 if-ge v4, v3, :cond_1 aget-object v5, p0, v4 .line 234 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetActivity()Landroid/app/Activity; move-result-object v6 invoke-static {v6, v5}, Landroidx/core/content/ContextCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I move-result v6 if-eqz v6, :cond_0 .line 236 invoke-static {v5}, Lcom/firemonkeys/cloudcellapi/util/GetInfo;->IsSystemPermission(Ljava/lang/String;)Z move-result v6 if-eqz v6, :cond_0 invoke-static {v5}, Lcom/firemonkeys/cloudcellapi/util/GetInfo;->IsValidPermission(Ljava/lang/String;)Z move-result v6 if-eqz v6, :cond_0 .line 238 new-instance v6, Ljava/lang/StringBuilder; invoke-direct {v6}, Ljava/lang/StringBuilder;->()V const-string v7, "Missing permission: " 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; invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v6 invoke-static {v0, v6}, Lcom/firemonkeys/cloudcellapi/Logging;->CC_INFO(Ljava/lang/Object;Ljava/lang/String;)V .line 239 invoke-virtual {v2, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto :goto_1 :catch_0 move-exception p0 goto :goto_2 :cond_0 :goto_1 add-int/lit8 v4, v4, 0x1 goto :goto_0 .line 243 :cond_1 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I move-result p0 if-lez p0, :cond_2 .line 245 invoke-virtual {v2}, Ljava/util/ArrayList;->size()I move-result p0 new-array p0, p0, [Ljava/lang/String; invoke-virtual {v2, p0}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object p0 check-cast p0, [Ljava/lang/String; .line 246 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetActivity()Landroid/app/Activity; move-result-object v2 invoke-static {v2, p0, p1}, Landroidx/core/app/ActivityCompat;->requestPermissions(Landroid/app/Activity;[Ljava/lang/String;I)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 const/4 p0, 0x1 return p0 .line 252 :goto_2 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-string v2, "RequestMissingPermissions() error: " invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object p0 invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-static {v0, p0}, Lcom/firemonkeys/cloudcellapi/Logging;->CC_ERROR(Ljava/lang/Object;Ljava/lang/String;)V :cond_2 return v1 .end method .method public static canCallSuspendResume()V .locals 1 sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean; sput-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_canCallSuspendResume:Ljava/lang/Boolean; return-void .end method .method public static getIsUsingImmersiveMode()Z .locals 1 sget-boolean v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_UsingImmersiveMode:Z return v0 .end method .method public static getNetworkConnectivity()I .locals 1 .line 205 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetActivity()Landroid/app/Activity; move-result-object v0 invoke-virtual {v0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; move-result-object v0 invoke-static {v0}, Lcom/firemonkeys/cloudcellapi/NetworkStatusMonitor;->getNetworkConnectivity(Landroid/content/Context;)I move-result v0 return v0 .end method .method public static getStaticSystemService(Ljava/lang/String;)Ljava/lang/Object; .locals 2 .line 124 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetActivity()Landroid/app/Activity; move-result-object v0 .line 127 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetActivity()Landroid/app/Activity; move-result-object v1 if-eqz v1, :cond_0 .line 128 invoke-virtual {v0, p0}, Landroid/app/Activity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p0 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return-object p0 .end method .method public static openSettings()V .locals 5 .line 190 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetActivity()Landroid/app/Activity; move-result-object v0 if-eqz v0, :cond_0 const-string v1, "CC_Component" const-string v2, "openSettings()" .line 194 invoke-static {v1, v2}, Lcom/firemonkeys/cloudcellapi/Logging;->CC_TRACE(Ljava/lang/Object;Ljava/lang/String;)V .line 195 new-instance v1, Landroid/content/Intent; invoke-direct {v1}, Landroid/content/Intent;->()V const-string v2, "android.settings.APPLICATION_DETAILS_SETTINGS" .line 196 invoke-virtual {v1, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent; .line 197 invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String; move-result-object v2 const/4 v3, 0x0 const-string v4, "package" invoke-static {v4, v2, v3}, Landroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; move-result-object v2 .line 198 invoke-virtual {v1, v2}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent; .line 199 invoke-virtual {v0, v1}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V :cond_0 return-void .end method .method public static runOnGLThreadonCloudell(Ljava/lang/Runnable;)V .locals 1 if-nez p0, :cond_0 return-void .line 213 :cond_0 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetGLSurfaceView()Landroid/opengl/GLSurfaceView; move-result-object v0 if-nez v0, :cond_1 return-void .line 218 :cond_1 invoke-virtual {v0, p0}, Landroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V return-void .end method .method private setActivity(Landroid/app/Activity;)V .locals 0 sput-object p1, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_activity:Landroid/app/Activity; if-eqz p1, :cond_0 .line 266 invoke-static {p1}, Lcom/firemonkeys/cloudcellapi/util/GetInfo;->Initialize(Landroid/app/Activity;)V :cond_0 return-void .end method .method public static setIsUsingImmersiveMode(Z)V .locals 0 sput-boolean p0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_UsingImmersiveMode:Z return-void .end method .method public static setServiceStarted(Z)V .locals 0 sput-boolean p0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_bDownloadServiceStarted:Z return-void .end method .method public static startDownloadService()V .locals 3 sget-boolean v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_bDownloadServiceStarted:Z if-eqz v0, :cond_0 return-void .line 157 :cond_0 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetActivity()Landroid/app/Activity; move-result-object v0 if-eqz v0, :cond_1 sget-boolean v1, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_bDownloadServiceStarted:Z if-nez v1, :cond_1 const-string v1, "CC_Component" const-string v2, "startDownloadService" .line 162 invoke-static {v1, v2}, Lcom/firemonkeys/cloudcellapi/Logging;->CC_TRACE(Ljava/lang/Object;Ljava/lang/String;)V .line 164 new-instance v1, Landroid/content/Intent; const-class v2, Lcom/firemonkeys/cloudcellapi/AndroidAssetManagerService; invoke-direct {v1, v0, v2}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V .line 165 invoke-virtual {v0, v1}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName; const/4 v0, 0x1 sput-boolean v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_bDownloadServiceStarted:Z :cond_1 return-void .end method .method public static staticStartActivity(Landroid/content/Intent;)V .locals 3 .line 135 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetActivity()Landroid/app/Activity; move-result-object v0 if-eqz v0, :cond_0 const-string v1, "staticStartActivity()" const-string v2, "CC_Component" .line 139 invoke-static {v2, v1}, Lcom/firemonkeys/cloudcellapi/Logging;->CC_TRACE(Ljava/lang/Object;Ljava/lang/String;)V .line 143 :try_start_0 invoke-virtual {v0, p0}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V :try_end_0 .catch Landroid/content/ActivityNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 const-string p0, "start activity failed as there is no activity to handle it" .line 147 invoke-static {v2, p0}, Lcom/firemonkeys/cloudcellapi/Logging;->CC_TRACE(Ljava/lang/Object;Ljava/lang/String;)V :cond_0 :goto_0 return-void .end method .method public static stopDownloadService()V .locals 3 .line 177 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->GetActivity()Landroid/app/Activity; move-result-object v0 if-eqz v0, :cond_0 const-string v1, "CC_Component" const-string v2, "stopDownloadService()" .line 181 invoke-static {v1, v2}, Lcom/firemonkeys/cloudcellapi/Logging;->CC_TRACE(Ljava/lang/Object;Ljava/lang/String;)V .line 182 new-instance v1, Landroid/content/Intent; const-class v2, Lcom/firemonkeys/cloudcellapi/AndroidAssetManagerService; invoke-direct {v1, v0, v2}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V .line 183 invoke-virtual {v0, v1}, Landroid/content/Context;->stopService(Landroid/content/Intent;)Z const/4 v0, 0x0 sput-boolean v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_bDownloadServiceStarted:Z :cond_0 return-void .end method # virtual methods .method public clearInstances()V .locals 1 const/4 v0, 0x0 sput-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_instance:Lcom/firemonkeys/cloudcellapi/CC_Component; sput-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_activity:Landroid/app/Activity; sput-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_viewGroup:Landroid/view/ViewGroup; sput-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_surfaceView:Landroid/view/SurfaceView; return-void .end method .method public createSurface(Landroid/view/SurfaceView;Landroid/view/ViewGroup;)V .locals 0 sput-object p1, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_surfaceView:Landroid/view/SurfaceView; sput-object p2, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_viewGroup:Landroid/view/ViewGroup; return-void .end method .method public onActivityResult(IILandroid/content/Intent;)V .locals 1 .line 56 invoke-static {p1, p2, p3}, Lcom/firemonkeys/cloudcellapi/FacebookWorker;->handleActivityResult(IILandroid/content/Intent;)Z move-result v0 if-eqz v0, :cond_0 return-void .line 59 :cond_0 invoke-static {p1, p2, p3}, Lcom/firemonkeys/cloudcellapi/GooglePlayWorker;->handleActivityResult(IILandroid/content/Intent;)Z return-void .end method .method public onCreate(Landroid/app/Activity;Landroid/os/Bundle;)V .locals 2 .line 273 invoke-direct {p0, p1}, Lcom/firemonkeys/cloudcellapi/CC_Component;->setActivity(Landroid/app/Activity;)V .line 275 new-instance p1, Lcom/firemonkeys/cloudcellapi/NetworkStatusMonitor; invoke-direct {p1}, Lcom/firemonkeys/cloudcellapi/NetworkStatusMonitor;->()V sput-object p1, Lcom/firemonkeys/cloudcellapi/CC_Component;->m_pMonitor:Lcom/firemonkeys/cloudcellapi/NetworkStatusMonitor; .line 276 new-instance p1, Landroid/content/IntentFilter; const-string p2, "android.net.conn.CONNECTIVITY_CHANGE" invoke-direct {p1, p2}, Landroid/content/IntentFilter;->(Ljava/lang/String;)V sget-object p2, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_activity:Landroid/app/Activity; sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->m_pMonitor:Lcom/firemonkeys/cloudcellapi/NetworkStatusMonitor; const/4 v1, 0x2 .line 278 invoke-virtual {p2, v0, p1, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent; return-void .end method .method public onDestroy()V .locals 2 sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->m_pMonitor:Lcom/firemonkeys/cloudcellapi/NetworkStatusMonitor; if-eqz v0, :cond_0 sget-object v1, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_activity:Landroid/app/Activity; .line 322 invoke-virtual {v1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V const/4 v0, 0x0 sput-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->m_pMonitor:Lcom/firemonkeys/cloudcellapi/NetworkStatusMonitor; .line 326 :cond_0 invoke-virtual {p0}, Lcom/firemonkeys/cloudcellapi/CC_Component;->clearInstances()V return-void .end method .method public onPause()V .locals 1 sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_canCallSuspendResume:Ljava/lang/Boolean; .line 301 invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z move-result v0 if-eqz v0, :cond_0 .line 302 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->CloudcellSuspend()V :cond_0 return-void .end method .method public onResume()V .locals 1 .line 308 invoke-static {}, Lcom/firemonkeys/cloudcellapi/AndroidAccountManager;->getInstance()Lcom/firemonkeys/cloudcellapi/AndroidAccountManager; move-result-object v0 if-eqz v0, :cond_0 .line 311 invoke-virtual {v0}, Lcom/firemonkeys/cloudcellapi/AndroidAccountManager;->onResume()V :cond_0 sget-object v0, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_canCallSuspendResume:Ljava/lang/Boolean; .line 313 invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z move-result v0 if-eqz v0, :cond_1 .line 314 invoke-static {}, Lcom/firemonkeys/cloudcellapi/CC_Component;->CloudcellResume()V :cond_1 return-void .end method .method public onStart()V .locals 0 .line 289 invoke-static {}, Lcom/firemonkeys/cloudcellapi/GooglePlayWorker;->onStart()V return-void .end method .method public onStop()V .locals 0 .line 295 invoke-static {}, Lcom/firemonkeys/cloudcellapi/GooglePlayWorker;->onStop()V return-void .end method .method public setInstances(Landroid/app/Activity;Landroid/view/SurfaceView;Landroid/view/ViewGroup;)V .locals 0 .line 72 invoke-direct {p0, p1}, Lcom/firemonkeys/cloudcellapi/CC_Component;->setActivity(Landroid/app/Activity;)V sput-object p3, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_viewGroup:Landroid/view/ViewGroup; sput-object p2, Lcom/firemonkeys/cloudcellapi/CC_Component;->s_surfaceView:Landroid/view/SurfaceView; return-void .end method