From ad5180c00789bc4643a47305fc33f3c3671fe515 Mon Sep 17 00:00:00 2001 From: Joshua Bahnsen Date: Sat, 4 May 2013 22:29:14 -0700 Subject: [PATCH] Fix for server drop down on fresh installs --- AndroidManifest.xml | 4 ++-- .../androidapp/activity/MainActivity.java | 22 ++++++++++++++++--- .../androidapp/activity/SettingsActivity.java | 4 ++++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 63066f4f..c84fbc72 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + a:versionCode="16" + a:versionName="1.1.0.12" > diff --git a/src/com/thejoshwa/ultrasonic/androidapp/activity/MainActivity.java b/src/com/thejoshwa/ultrasonic/androidapp/activity/MainActivity.java index dc958f42..af2b7211 100644 --- a/src/com/thejoshwa/ultrasonic/androidapp/activity/MainActivity.java +++ b/src/com/thejoshwa/ultrasonic/androidapp/activity/MainActivity.java @@ -103,12 +103,23 @@ public class MainActivity extends SubsonicTabActivity { final View dummyView = findViewById(R.id.main_dummy); + boolean shouldShowDialog = false; + if (!getActiveServerEnabled()) { + shouldShowDialog = true; Util.setActiveServer(this, 0); } int instance = Util.getActiveServer(this); String name = Util.getServerName(this, instance); + + if (name == null) { + shouldShowDialog = true; + Util.setActiveServer(this, 0); + instance = Util.getActiveServer(this); + name = Util.getServerName(this, instance); + } + serverTextView.setText(name); ListView list = (ListView) findViewById(R.id.main_list); @@ -172,7 +183,7 @@ public class MainActivity extends SubsonicTabActivity { // Remember the current theme. theme = Util.getTheme(this); - showInfoDialog(); + showInfoDialog(shouldShowDialog); } private void loadSettings() { @@ -214,6 +225,10 @@ public class MainActivity extends SubsonicTabActivity { for (int i = 0; i <= Util.getActiveServers(this); i++) { String serverName = Util.getServerName(this, i); + if (serverName == null) { + continue; + } + if (Util.getServerEnabled(this, i)) { int menuItemNum = getMenuItem(i); @@ -363,10 +378,11 @@ public class MainActivity extends SubsonicTabActivity { finish(); } - private void showInfoDialog() { + private void showInfoDialog(boolean show) { if (!infoDialogDisplayed) { infoDialogDisplayed = true; - if (Util.getRestUrl(this, null).contains("yourhost")) { + + if (show || Util.getRestUrl(this, null).contains("yourhost")) { Util.info(this, R.string.main_welcome_title, R.string.main_welcome_text); } } diff --git a/src/com/thejoshwa/ultrasonic/androidapp/activity/SettingsActivity.java b/src/com/thejoshwa/ultrasonic/androidapp/activity/SettingsActivity.java index 31f8d57e..a4984886 100644 --- a/src/com/thejoshwa/ultrasonic/androidapp/activity/SettingsActivity.java +++ b/src/com/thejoshwa/ultrasonic/androidapp/activity/SettingsActivity.java @@ -290,6 +290,10 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer serverPasswordPreference.setText(null); serverEnabledPreference.setChecked(true); + if (Util.getActiveServer(SettingsActivity.this) == instance) { + Util.setActiveServer(SettingsActivity.this, 0); + } + activeServers--; serversCategory.removePreference(screen);