diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 89664029c..110335bee 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -97,6 +97,7 @@
+
diff --git a/build/apk/AndroidManifest.xml b/build/apk/AndroidManifest.xml
index 64ee0eaeb..a73060f29 100644
Binary files a/build/apk/AndroidManifest.xml and b/build/apk/AndroidManifest.xml differ
diff --git a/build/apk/classes2.dex b/build/apk/classes2.dex
index 61eb4c01a..7830d446e 100644
Binary files a/build/apk/classes2.dex and b/build/apk/classes2.dex differ
diff --git a/build/apk/res/layout/activity_server_selection.xml b/build/apk/res/layout/activity_server_selection.xml
index fcb19ff89..edef6b575 100644
Binary files a/build/apk/res/layout/activity_server_selection.xml and b/build/apk/res/layout/activity_server_selection.xml differ
diff --git a/build/apk/res/layout/activity_settings.xml b/build/apk/res/layout/activity_settings.xml
new file mode 100644
index 000000000..398a38c26
Binary files /dev/null and b/build/apk/res/layout/activity_settings.xml differ
diff --git a/build/apk/res/layout/dialog_server_input.xml b/build/apk/res/layout/dialog_server_input.xml
index 4dc4c1d45..1a8f2abd0 100644
Binary files a/build/apk/res/layout/dialog_server_input.xml and b/build/apk/res/layout/dialog_server_input.xml differ
diff --git a/build/apk/resources.arsc b/build/apk/resources.arsc
index 11c83b8ad..9daaf03f3 100644
Binary files a/build/apk/resources.arsc and b/build/apk/resources.arsc differ
diff --git a/build/resources.zip b/build/resources.zip
index b17cb7fbf..054faf08b 100644
Binary files a/build/resources.zip and b/build/resources.zip differ
diff --git a/res/layout/activity_settings.xml b/res/layout/activity_settings.xml
new file mode 100644
index 000000000..ed6f0d052
--- /dev/null
+++ b/res/layout/activity_settings.xml
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/smali_classes2/com/firemint/realracing/MainActivity.smali b/smali_classes2/com/firemint/realracing/MainActivity.smali
index a0a8793c8..0e4c87e6f 100644
--- a/smali_classes2/com/firemint/realracing/MainActivity.smali
+++ b/smali_classes2/com/firemint/realracing/MainActivity.smali
@@ -2808,9 +2808,34 @@
.end method
.method public onKeyDown(ILandroid/view/KeyEvent;)Z
- .locals 1
+ .locals 3
.line 1518
+ # Check if Menu button (keycode 82) pressed
+ const/16 v0, 0x52
+
+ if-ne p1, v0, :cond_settings_check_done
+
+ # Open SettingsActivity
+ const-string v0, "RR3-Community"
+
+ const-string v1, "\u2699\ufe0f Menu button pressed - Opening Settings"
+
+ invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
+
+ new-instance v0, Landroid/content/Intent;
+
+ const-class v1, Lcom/firemint/realracing/SettingsActivity;
+
+ invoke-direct {v0, p0, v1}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V
+
+ invoke-virtual {p0, v0}, Lcom/firemint/realracing/MainActivity;->startActivity(Landroid/content/Intent;)V
+
+ const/4 p1, 0x1
+
+ return p1
+
+ :cond_settings_check_done
invoke-virtual {p0, p1, p2}, Lcom/firemint/realracing/MainActivity;->handleKeyEvent(ILandroid/view/KeyEvent;)Z
move-result v0
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$1$1.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$1$1.smali
new file mode 100644
index 000000000..11a350dde
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$1$1.smali
@@ -0,0 +1,51 @@
+.class Lcom/firemint/realracing/SettingsActivity$1$1;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lcom/firemint/realracing/SettingsActivity$1;
+
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity$1;)V
+ .locals 0
+
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$1$1;->this$1:Lcom/firemint/realracing/SettingsActivity$1;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 3
+
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$1$1;->this$1:Lcom/firemint/realracing/SettingsActivity$1;
+
+ iget-object v0, v0, Lcom/firemint/realracing/SettingsActivity$1;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v1, "\u2705 Connection successful!"
+
+ const v2, -0xff6534
+
+ invoke-static {v0, v1, v2}, Lcom/firemint/realracing/SettingsActivity;->access$000(Lcom/firemint/realracing/SettingsActivity;Ljava/lang/String;I)V
+
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$1$2.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$1$2.smali
new file mode 100644
index 000000000..f45bc2b7e
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$1$2.smali
@@ -0,0 +1,49 @@
+.class Lcom/firemint/realracing/SettingsActivity$1$2;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+# instance fields
+.field final synthetic this$1:Lcom/firemint/realracing/SettingsActivity$1;
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity$1;)V
+ .registers 2
+ .param p1, "this$1" # Lcom/firemint/realracing/SettingsActivity$1;
+
+ .line 70
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$1$2;->this$1:Lcom/firemint/realracing/SettingsActivity$1;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+# virtual methods
+.method public run()V
+ .registers 3
+
+ .line 73
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$1$2;->this$1:Lcom/firemint/realracing/SettingsActivity$1;
+
+ iget-object v0, v0, Lcom/firemint/realracing/SettingsActivity$1;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v1, "\u274c Connection failed. Please check the URL."
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;)V
+
+ .line 74
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$1$3.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$1$3.smali
new file mode 100644
index 000000000..147da0ba8
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$1$3.smali
@@ -0,0 +1,68 @@
+.class Lcom/firemint/realracing/SettingsActivity$1$3;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+# instance fields
+.field final synthetic this$1:Lcom/firemint/realracing/SettingsActivity$1;
+
+.field final synthetic val$error:Ljava/lang/String;
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity$1;Ljava/lang/String;)V
+ .registers 3
+ .param p1, "this$1" # Lcom/firemint/realracing/SettingsActivity$1;
+ .param p2, "error" # Ljava/lang/String;
+
+ .line 76
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$1$3;->this$1:Lcom/firemint/realracing/SettingsActivity$1;
+
+ iput-object p2, p0, Lcom/firemint/realracing/SettingsActivity$1$3;->val$error:Ljava/lang/String;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+# virtual methods
+.method public run()V
+ .registers 4
+
+ .line 79
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$1$3;->this$1:Lcom/firemint/realracing/SettingsActivity$1;
+
+ iget-object v0, v0, Lcom/firemint/realracing/SettingsActivity$1;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ new-instance v1, Ljava/lang/StringBuilder;
+
+ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V
+
+ const-string v2, "\u274c Error: "
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ iget-object v2, p0, Lcom/firemint/realracing/SettingsActivity$1$3;->val$error:Ljava/lang/String;
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;)V
+
+ .line 80
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$1.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$1.smali
new file mode 100644
index 000000000..ce22984eb
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$1.smali
@@ -0,0 +1,123 @@
+.class Lcom/firemint/realracing/SettingsActivity$1;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity;->testConnection(Ljava/lang/String;)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lcom/firemint/realracing/SettingsActivity;
+
+.field final synthetic val$serverUrl:Ljava/lang/String;
+
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity;Ljava/lang/String;)V
+ .locals 0
+
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$1;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ iput-object p2, p0, Lcom/firemint/realracing/SettingsActivity$1;->val$serverUrl:Ljava/lang/String;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 5
+
+ :try_start_0
+ new-instance v0, Ljava/net/URL;
+
+ new-instance v1, Ljava/lang/StringBuilder;
+
+ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V
+
+ iget-object v2, p0, Lcom/firemint/realracing/SettingsActivity$1;->val$serverUrl:Ljava/lang/String;
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v2, "/director/api/android/getDirectionByPackage?packageName=test"
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-direct {v0, v1}, Ljava/net/URL;->(Ljava/lang/String;)V
+
+ invoke-virtual {v0}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
+
+ move-result-object v0
+
+ check-cast v0, Ljava/net/HttpURLConnection;
+
+ const/16 v1, 0x1388
+
+ invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V
+
+ invoke-virtual {v0, v1}, Ljava/net/HttpURLConnection;->setReadTimeout(I)V
+
+ invoke-virtual {v0}, Ljava/net/HttpURLConnection;->getResponseCode()I
+
+ move-result v1
+
+ invoke-virtual {v0}, Ljava/net/HttpURLConnection;->disconnect()V
+
+ const/16 v0, 0xc8
+
+ if-ne v1, v0, :cond_0
+
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$1;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ new-instance v1, Lcom/firemint/realracing/SettingsActivity$1$1;
+
+ invoke-direct {v1, p0}, Lcom/firemint/realracing/SettingsActivity$1$1;->(Lcom/firemint/realracing/SettingsActivity$1;)V
+
+ invoke-virtual {v0, v1}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
+
+ goto :goto_0
+
+ :cond_0
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$1;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ new-instance v2, Lcom/firemint/realracing/SettingsActivity$1$2;
+
+ invoke-direct {v2, p0, v1}, Lcom/firemint/realracing/SettingsActivity$1$2;->(Lcom/firemint/realracing/SettingsActivity$1;I)V
+
+ invoke-virtual {v0, v2}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
+ :try_end_0
+ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
+
+ goto :goto_0
+
+ :catch_0
+ move-exception v0
+
+ iget-object v1, p0, Lcom/firemint/realracing/SettingsActivity$1;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ new-instance v2, Lcom/firemint/realracing/SettingsActivity$1$3;
+
+ invoke-direct {v2, p0, v0}, Lcom/firemint/realracing/SettingsActivity$1$3;->(Lcom/firemint/realracing/SettingsActivity$1;Ljava/lang/Exception;)V
+
+ invoke-virtual {v1, v2}, Landroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
+
+ :goto_0
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$2.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$2.smali
new file mode 100644
index 000000000..f0c36929b
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$2.smali
@@ -0,0 +1,72 @@
+.class Lcom/firemint/realracing/SettingsActivity$2;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Landroid/view/View$OnClickListener;
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity;->onCreate(Landroid/os/Bundle;)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+# instance fields
+.field final synthetic this$0:Lcom/firemint/realracing/SettingsActivity;
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity;)V
+ .registers 2
+ .param p1, "this$0" # Lcom/firemint/realracing/SettingsActivity;
+
+ .line 145
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$2;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+# virtual methods
+.method public onClick(Landroid/view/View;)V
+ .registers 4
+ .param p1, "v" # Landroid/view/View;
+
+ .line 148
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$2;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const v1, 0x7f0a047b
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object v0
+
+ check-cast v0, Landroid/widget/EditText;
+
+ .line 149
+ .local v0, "etServerUrl":Landroid/widget/EditText;
+ invoke-virtual {v0}, Landroid/widget/EditText;->getText()Landroid/text/Editable;
+
+ move-result-object v1
+
+ invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;
+
+ move-result-object v1
+
+ .line 151
+ .local v1, "url":Ljava/lang/String;
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$2;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->testConnection(Ljava/lang/String;)V
+
+ .line 152
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$3.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$3.smali
new file mode 100644
index 000000000..554da23ee
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$3.smali
@@ -0,0 +1,116 @@
+.class Lcom/firemint/realracing/SettingsActivity$3;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Landroid/view/View$OnClickListener;
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity;->onCreate(Landroid/os/Bundle;)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+# instance fields
+.field final synthetic this$0:Lcom/firemint/realracing/SettingsActivity;
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity;)V
+ .registers 2
+ .param p1, "this$0" # Lcom/firemint/realracing/SettingsActivity;
+
+ .line 157
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$3;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+# virtual methods
+.method public onClick(Landroid/view/View;)V
+ .registers 7
+ .param p1, "v" # Landroid/view/View;
+
+ .line 160
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$3;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const v1, 0x7f0a047b
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object v0
+
+ check-cast v0, Landroid/widget/EditText;
+
+ .line 161
+ .local v0, "etServerUrl":Landroid/widget/EditText;
+ invoke-virtual {v0}, Landroid/widget/EditText;->getText()Landroid/text/Editable;
+
+ move-result-object v1
+
+ invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;
+
+ move-result-object v1
+
+ .line 163
+ .local v1, "newUrl":Ljava/lang/String;
+ invoke-virtual {v1}, Ljava/lang/String;->isEmpty()Z
+
+ move-result v2
+
+ if-eqz v2, :cond_2b
+
+ .line 164
+ iget-object v2, p0, Lcom/firemint/realracing/SettingsActivity$3;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v3, "\u26a0\ufe0f Please enter a server URL"
+
+ invoke-virtual {v2, v3}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;)V
+
+ .line 165
+ return-void
+
+ .line 168
+ :cond_2b
+ iget-object v2, p0, Lcom/firemint/realracing/SettingsActivity$3;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v3, "online"
+
+ invoke-virtual {v2, v3, v1}, Lcom/firemint/realracing/SettingsActivity;->saveSettings(Ljava/lang/String;Ljava/lang/String;)V
+
+ .line 169
+ iget-object v2, p0, Lcom/firemint/realracing/SettingsActivity$3;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v3, "\u2705 Settings saved! Restart the game to apply."
+
+ invoke-virtual {v2, v3}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;)V
+
+ .line 171
+ iget-object v2, p0, Lcom/firemint/realracing/SettingsActivity$3;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const v3, 0x7f0a0b87
+
+ invoke-virtual {v2, v3}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object v2
+
+ check-cast v2, Landroid/widget/TextView;
+
+ .line 172
+ .local v2, "tvMode":Landroid/widget/TextView;
+ const-string v3, "\ud83c\udf0d Online Mode"
+
+ invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
+
+ .line 173
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$4.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$4.smali
new file mode 100644
index 000000000..8e4fc964a
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$4.smali
@@ -0,0 +1,74 @@
+.class Lcom/firemint/realracing/SettingsActivity$4;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Landroid/view/View$OnClickListener;
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity;->onCreate(Landroid/os/Bundle;)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+# instance fields
+.field final synthetic this$0:Lcom/firemint/realracing/SettingsActivity;
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity;)V
+ .registers 2
+ .param p1, "this$0" # Lcom/firemint/realracing/SettingsActivity;
+
+ .line 178
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$4;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+# virtual methods
+.method public onClick(Landroid/view/View;)V
+ .registers 5
+ .param p1, "v" # Landroid/view/View;
+
+ .line 181
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$4;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v1, "offline"
+
+ const-string v2, ""
+
+ invoke-virtual {v0, v1, v2}, Lcom/firemint/realracing/SettingsActivity;->saveSettings(Ljava/lang/String;Ljava/lang/String;)V
+
+ .line 182
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$4;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v1, "\u2705 Switched to Offline Mode! Restart the game to apply."
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;)V
+
+ .line 184
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$4;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const v1, 0x7f0a0b87
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object v0
+
+ check-cast v0, Landroid/widget/TextView;
+
+ .line 185
+ .local v0, "tvMode":Landroid/widget/TextView;
+ const-string v1, "\ud83d\udcf1 Offline Mode"
+
+ invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
+
+ .line 186
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$5$1$1.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$5$1$1.smali
new file mode 100644
index 000000000..b96fb6977
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$5$1$1.smali
@@ -0,0 +1,51 @@
+.class Lcom/firemint/realracing/SettingsActivity$5$1$1;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity$5$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+# instance fields
+.field final synthetic this$2:Lcom/firemint/realracing/SettingsActivity$5$1;
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity$5$1;)V
+ .registers 2
+ .param p1, "this$2" # Lcom/firemint/realracing/SettingsActivity$5$1;
+
+ .line 222
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$5$1$1;->this$2:Lcom/firemint/realracing/SettingsActivity$5$1;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+# virtual methods
+.method public run()V
+ .registers 3
+
+ .line 225
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$5$1$1;->this$2:Lcom/firemint/realracing/SettingsActivity$5$1;
+
+ iget-object v0, v0, Lcom/firemint/realracing/SettingsActivity$5$1;->this$1:Lcom/firemint/realracing/SettingsActivity$5;
+
+ iget-object v0, v0, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v1, "\u2705 Synced successfully! Restart the game to apply."
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;)V
+
+ .line 226
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$5$1$2.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$5$1$2.smali
new file mode 100644
index 000000000..1312df2eb
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$5$1$2.smali
@@ -0,0 +1,51 @@
+.class Lcom/firemint/realracing/SettingsActivity$5$1$2;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity$5$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+# instance fields
+.field final synthetic this$2:Lcom/firemint/realracing/SettingsActivity$5$1;
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity$5$1;)V
+ .registers 2
+ .param p1, "this$2" # Lcom/firemint/realracing/SettingsActivity$5$1;
+
+ .line 230
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$5$1$2;->this$2:Lcom/firemint/realracing/SettingsActivity$5$1;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+# virtual methods
+.method public run()V
+ .registers 3
+
+ .line 233
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$5$1$2;->this$2:Lcom/firemint/realracing/SettingsActivity$5$1;
+
+ iget-object v0, v0, Lcom/firemint/realracing/SettingsActivity$5$1;->this$1:Lcom/firemint/realracing/SettingsActivity$5;
+
+ iget-object v0, v0, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v1, "\u274c Sync failed. Server did not respond."
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;)V
+
+ .line 234
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$5$1.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$5$1.smali
new file mode 100644
index 000000000..88ec6f25c
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$5$1.smali
@@ -0,0 +1,224 @@
+.class Lcom/firemint/realracing/SettingsActivity$5$1;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity$5;->onClick(Landroid/view/View;)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+# instance fields
+.field final synthetic this$1:Lcom/firemint/realracing/SettingsActivity$5;
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity$5;)V
+ .registers 2
+ .param p1, "this$1" # Lcom/firemint/realracing/SettingsActivity$5;
+
+ .line 196
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$5$1;->this$1:Lcom/firemint/realracing/SettingsActivity$5;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+# virtual methods
+.method public run()V
+ .registers 11
+
+ .line 199
+ :try_start_0
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$5$1;->this$1:Lcom/firemint/realracing/SettingsActivity$5;
+
+ iget-object v0, v0, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ invoke-virtual {v0}, Lcom/firemint/realracing/SettingsActivity;->getCurrentServerUrl()Ljava/lang/String;
+
+ move-result-object v0
+
+ .line 200
+ .local v0, "baseUrl":Ljava/lang/String;
+ new-instance v1, Ljava/lang/StringBuilder;
+
+ invoke-direct {v1}, Ljava/lang/StringBuilder;->()V
+
+ invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ const-string v2, "/api/settings/getUserSettings"
+
+ invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v1
+
+ .line 201
+ .local v1, "syncUrl":Ljava/lang/String;
+ new-instance v2, Ljava/net/URL;
+
+ invoke-direct {v2, v1}, Ljava/net/URL;->(Ljava/lang/String;)V
+
+ .line 202
+ .local v2, "url":Ljava/net/URL;
+ invoke-virtual {v2}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
+
+ move-result-object v3
+
+ check-cast v3, Ljava/net/HttpURLConnection;
+
+ .line 203
+ .local v3, "conn":Ljava/net/HttpURLConnection;
+ const/16 v4, 0x1388
+
+ invoke-virtual {v3, v4}, Ljava/net/HttpURLConnection;->setConnectTimeout(I)V
+
+ .line 204
+ const-string v4, "GET"
+
+ invoke-virtual {v3, v4}, Ljava/net/HttpURLConnection;->setRequestMethod(Ljava/lang/String;)V
+
+ .line 206
+ invoke-virtual {v3}, Ljava/net/HttpURLConnection;->getResponseCode()I
+
+ move-result v4
+
+ .line 207
+ .local v4, "responseCode":I
+ const/16 v5, 0xc8
+
+ if-ne v4, v5, :cond_a1
+
+ .line 208
+ new-instance v5, Ljava/io/BufferedReader;
+
+ new-instance v6, Ljava/io/InputStreamReader;
+
+ invoke-virtual {v3}, Ljava/net/HttpURLConnection;->getInputStream()Ljava/io/InputStream;
+
+ move-result-object v7
+
+ invoke-direct {v6, v7}, Ljava/io/InputStreamReader;->(Ljava/io/InputStream;)V
+
+ invoke-direct {v5, v6}, Ljava/io/BufferedReader;->(Ljava/io/Reader;)V
+
+ .line 209
+ .local v5, "reader":Ljava/io/BufferedReader;
+ new-instance v6, Ljava/lang/StringBuilder;
+
+ invoke-direct {v6}, Ljava/lang/StringBuilder;->()V
+
+ .line 211
+ .local v6, "response":Ljava/lang/StringBuilder;
+ :goto_55
+ invoke-virtual {v5}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
+
+ move-result-object v7
+
+ move-object v8, v7
+
+ .local v8, "line":Ljava/lang/String;
+ if-eqz v7, :cond_62
+
+ .line 212
+ invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ goto :goto_55
+
+ .line 214
+ :cond_62
+ invoke-virtual {v5}, Ljava/io/BufferedReader;->close()V
+
+ .line 217
+ new-instance v7, Lorg/json/JSONObject;
+
+ invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v9
+
+ invoke-direct {v7, v9}, Lorg/json/JSONObject;->(Ljava/lang/String;)V
+
+ .line 218
+ .local v7, "json":Lorg/json/JSONObject;
+ const-string v9, "mode"
+
+ invoke-virtual {v7, v9}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v9
+
+ .line 219
+ .local v9, "mode":Ljava/lang/String;
+ const-string v0, "serverUrl"
+
+ invoke-virtual {v7, v0}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v0
+
+ .line 221
+ .local v0, "serverUrl":Ljava/lang/String;
+ iget-object v7, p0, Lcom/firemint/realracing/SettingsActivity$5$1;->this$1:Lcom/firemint/realracing/SettingsActivity$5;
+
+ .end local v7 # "json":Lorg/json/JSONObject;
+ iget-object v7, v7, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ invoke-virtual {v7, v9, v0}, Lcom/firemint/realracing/SettingsActivity;->saveSettings(Ljava/lang/String;Ljava/lang/String;)V
+
+ .line 222
+ iget-object v7, p0, Lcom/firemint/realracing/SettingsActivity$5$1;->this$1:Lcom/firemint/realracing/SettingsActivity$5;
+
+ iget-object v7, v7, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ new-instance v0, Lcom/firemint/realracing/SettingsActivity$5$1$1;
+
+ .end local v0 # "serverUrl":Ljava/lang/String;
+ invoke-direct {v0, p0}, Lcom/firemint/realracing/SettingsActivity$5$1$1;->(Lcom/firemint/realracing/SettingsActivity$5$1;)V
+
+ invoke-virtual {v7, v0}, Lcom/firemint/realracing/SettingsActivity;->runOnUiThread(Ljava/lang/Runnable;)V
+
+ .line 223
+ .end local v5 # "reader":Ljava/io/BufferedReader;
+ .end local v6 # "response":Ljava/lang/StringBuilder;
+ .end local v8 # "line":Ljava/lang/String;
+ .end local v9 # "mode":Ljava/lang/String;
+ goto :goto_b7
+
+ .line 224
+ :cond_a1
+ iget-object v5, p0, Lcom/firemint/realracing/SettingsActivity$5$1;->this$1:Lcom/firemint/realracing/SettingsActivity$5;
+
+ iget-object v5, v5, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ new-instance v6, Lcom/firemint/realracing/SettingsActivity$5$1$2;
+
+ invoke-direct {v6, p0}, Lcom/firemint/realracing/SettingsActivity$5$1$2;->(Lcom/firemint/realracing/SettingsActivity$5$1;)V
+
+ invoke-virtual {v5, v6}, Lcom/firemint/realracing/SettingsActivity;->runOnUiThread(Ljava/lang/Runnable;)V
+
+ .line 225
+ .end local v1 # "syncUrl":Ljava/lang/String;
+ .end local v2 # "url":Ljava/net/URL;
+ .end local v3 # "conn":Ljava/net/HttpURLConnection;
+ .end local v4 # "responseCode":I
+ goto :goto_b7
+
+ .line 226
+ :catch_b3
+ move-exception v0
+
+ .line 227
+ .local v0, "e":Ljava/lang/Exception;
+ invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
+
+ .line 229
+ .end local v0 # "e":Ljava/lang/Exception;
+ :goto_b7
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity$5.smali b/smali_classes2/com/firemint/realracing/SettingsActivity$5.smali
new file mode 100644
index 000000000..f29e1cdf7
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity$5.smali
@@ -0,0 +1,59 @@
+.class Lcom/firemint/realracing/SettingsActivity$5;
+.super Ljava/lang/Object;
+.source "SettingsActivity.java"
+
+# interfaces
+.implements Landroid/view/View$OnClickListener;
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lcom/firemint/realracing/SettingsActivity;->onCreate(Landroid/os/Bundle;)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+# instance fields
+.field final synthetic this$0:Lcom/firemint/realracing/SettingsActivity;
+
+# direct methods
+.method constructor (Lcom/firemint/realracing/SettingsActivity;)V
+ .registers 2
+ .param p1, "this$0" # Lcom/firemint/realracing/SettingsActivity;
+
+ .line 191
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+# virtual methods
+.method public onClick(Landroid/view/View;)V
+ .registers 4
+ .param p1, "v" # Landroid/view/View;
+
+ .line 194
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity$5;->this$0:Lcom/firemint/realracing/SettingsActivity;
+
+ const-string v1, "\ud83d\udd04 Syncing from web panel..."
+
+ invoke-virtual {v0, v1}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;)V
+
+ .line 196
+ new-instance v0, Ljava/lang/Thread;
+
+ new-instance v1, Lcom/firemint/realracing/SettingsActivity$5$1;
+
+ invoke-direct {v1, p0}, Lcom/firemint/realracing/SettingsActivity$5$1;->(Lcom/firemint/realracing/SettingsActivity$5;)V
+
+ invoke-direct {v0, v1}, Ljava/lang/Thread;->(Ljava/lang/Runnable;)V
+
+ invoke-virtual {v0}, Ljava/lang/Thread;->start()V
+
+ .line 230
+ return-void
+.end method
diff --git a/smali_classes2/com/firemint/realracing/SettingsActivity.smali b/smali_classes2/com/firemint/realracing/SettingsActivity.smali
new file mode 100644
index 000000000..da7ce5136
--- /dev/null
+++ b/smali_classes2/com/firemint/realracing/SettingsActivity.smali
@@ -0,0 +1,259 @@
+.class public Lcom/firemint/realracing/SettingsActivity;
+.super Landroid/app/Activity;
+.source "SettingsActivity.java"
+
+
+# instance fields
+.field private etServerUrl:Landroid/widget/EditText;
+
+.field private tvCurrentMode:Landroid/widget/TextView;
+
+.field private tvStatus:Landroid/widget/TextView;
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ invoke-direct {p0}, Landroid/app/Activity;->()V
+
+ return-void
+.end method
+
+.method private getCurrentMode()Ljava/lang/String;
+ .locals 4
+
+ const-string v0, "rr3_server_config"
+
+ const/4 v1, 0x0
+
+ invoke-virtual {p0, v0, v1}, Lcom/firemint/realracing/SettingsActivity;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ const-string v1, "mode"
+
+ const-string v2, "offline"
+
+ invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v0
+
+ return-object v0
+.end method
+
+.method private getCurrentServerUrl()Ljava/lang/String;
+ .locals 4
+
+ const-string v0, "rr3_server_config"
+
+ const/4 v1, 0x0
+
+ invoke-virtual {p0, v0, v1}, Lcom/firemint/realracing/SettingsActivity;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ const-string v1, "serverUrl"
+
+ const-string v2, ""
+
+ invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v0
+
+ return-object v0
+.end method
+
+.method private saveSettings(Ljava/lang/String;Ljava/lang/String;)V
+ .locals 3
+
+ const-string v0, "rr3_server_config"
+
+ const/4 v1, 0x0
+
+ invoke-virtual {p0, v0, v1}, Lcom/firemint/realracing/SettingsActivity;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
+
+ move-result-object v0
+
+ invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
+
+ move-result-object v0
+
+ const-string v1, "mode"
+
+ invoke-interface {v0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
+
+ const-string v1, "serverUrl"
+
+ invoke-interface {v0, v1, p2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
+
+ const-string v1, "skip_selection"
+
+ const/4 v2, 0x1
+
+ invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;
+
+ invoke-interface {v0}, Landroid/content/SharedPreferences$Editor;->apply()V
+
+ return-void
+.end method
+
+.method private showStatus(Ljava/lang/String;I)V
+ .locals 2
+
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity;->tvStatus:Landroid/widget/TextView;
+
+ invoke-virtual {v0, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
+
+ iget-object p1, p0, Lcom/firemint/realracing/SettingsActivity;->tvStatus:Landroid/widget/TextView;
+
+ invoke-virtual {p1, p2}, Landroid/widget/TextView;->setTextColor(I)V
+
+ iget-object p1, p0, Lcom/firemint/realracing/SettingsActivity;->tvStatus:Landroid/widget/TextView;
+
+ const/4 p2, 0x0
+
+ invoke-virtual {p1, p2}, Landroid/widget/TextView;->setVisibility(I)V
+
+ return-void
+.end method
+
+.method private testConnection(Ljava/lang/String;)V
+ .locals 2
+
+ new-instance v0, Ljava/lang/Thread;
+
+ new-instance v1, Lcom/firemint/realracing/SettingsActivity$1;
+
+ invoke-direct {v1, p0, p1}, Lcom/firemint/realracing/SettingsActivity$1;->(Lcom/firemint/realracing/SettingsActivity;Ljava/lang/String;)V
+
+ invoke-direct {v0, v1}, Ljava/lang/Thread;->(Ljava/lang/Runnable;)V
+
+ invoke-virtual {v0}, Ljava/lang/Thread;->start()V
+
+ return-void
+.end method
+
+.method private updateUI()V
+ .locals 3
+
+ invoke-direct {p0}, Lcom/firemint/realracing/SettingsActivity;->getCurrentMode()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-direct {p0}, Lcom/firemint/realracing/SettingsActivity;->getCurrentServerUrl()Ljava/lang/String;
+
+ move-result-object v1
+
+ iget-object v2, p0, Lcom/firemint/realracing/SettingsActivity;->tvCurrentMode:Landroid/widget/TextView;
+
+ invoke-virtual {v2, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
+
+ iget-object v0, p0, Lcom/firemint/realracing/SettingsActivity;->etServerUrl:Landroid/widget/EditText;
+
+ invoke-virtual {v0, v1}, Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V
+
+ return-void
+.end method
+
+.method static synthetic access$000(Lcom/firemint/realracing/SettingsActivity;Ljava/lang/String;I)V
+ .locals 0
+
+ invoke-direct {p0, p1, p2}, Lcom/firemint/realracing/SettingsActivity;->showStatus(Ljava/lang/String;I)V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method protected onCreate(Landroid/os/Bundle;)V
+ .locals 2
+
+ invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
+
+ const p1, 0x7f0d001e
+
+ invoke-virtual {p0, p1}, Lcom/firemint/realracing/SettingsActivity;->setContentView(I)V
+
+ const p1, 0x7f0a047b
+
+ invoke-virtual {p0, p1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object p1
+
+ check-cast p1, Landroid/widget/EditText;
+
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity;->etServerUrl:Landroid/widget/EditText;
+
+ const p1, 0x7f0a0b87
+
+ invoke-virtual {p0, p1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object p1
+
+ check-cast p1, Landroid/widget/TextView;
+
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity;->tvCurrentMode:Landroid/widget/TextView;
+
+ const p1, 0x7f0a0b88
+
+ invoke-virtual {p0, p1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object p1
+
+ check-cast p1, Landroid/widget/TextView;
+
+ iput-object p1, p0, Lcom/firemint/realracing/SettingsActivity;->tvStatus:Landroid/widget/TextView;
+
+ invoke-direct {p0}, Lcom/firemint/realracing/SettingsActivity;->updateUI()V
+
+ const p1, 0x7f0a013d
+
+ invoke-virtual {p0, p1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object p1
+
+ new-instance v0, Lcom/firemint/realracing/SettingsActivity$2;
+
+ invoke-direct {v0, p0}, Lcom/firemint/realracing/SettingsActivity$2;->(Lcom/firemint/realracing/SettingsActivity;)V
+
+ invoke-virtual {p1, v0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
+
+ const p1, 0x7f0a013e
+
+ invoke-virtual {p0, p1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object p1
+
+ new-instance v0, Lcom/firemint/realracing/SettingsActivity$3;
+
+ invoke-direct {v0, p0}, Lcom/firemint/realracing/SettingsActivity$3;->(Lcom/firemint/realracing/SettingsActivity;)V
+
+ invoke-virtual {p1, v0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
+
+ const p1, 0x7f0a013f
+
+ invoke-virtual {p0, p1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object p1
+
+ new-instance v0, Lcom/firemint/realracing/SettingsActivity$4;
+
+ invoke-direct {v0, p0}, Lcom/firemint/realracing/SettingsActivity$4;->(Lcom/firemint/realracing/SettingsActivity;)V
+
+ invoke-virtual {p1, v0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
+
+ const p1, 0x7f0a0140
+
+ invoke-virtual {p0, p1}, Lcom/firemint/realracing/SettingsActivity;->findViewById(I)Landroid/view/View;
+
+ move-result-object p1
+
+ new-instance v0, Lcom/firemint/realracing/SettingsActivity$5;
+
+ invoke-direct {v0, p0}, Lcom/firemint/realracing/SettingsActivity$5;->(Lcom/firemint/realracing/SettingsActivity;)V
+
+ invoke-virtual {p1, v0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
+
+ return-void
+.end method