← Back to team overview

openlp-android team mailing list archive

[Merge] lp:~johanmynhardt/openlp/android into lp:openlp/android

 

Johan Mynhardt has proposed merging lp:~johanmynhardt/openlp/android into lp:openlp/android.

Requested reviews:
  Tim Bentley (trb143)

For more details, see:
https://code.launchpad.net/~johanmynhardt/openlp/android/+merge/107566

Streamlining of profile management and addition of profile naming.
-- 
https://code.launchpad.net/~johanmynhardt/openlp/android/+merge/107566
Your team OpenLP Android Developers is subscribed to branch lp:openlp/android.
=== modified file 'OpenLP.apk'
Binary files OpenLP.apk	2012-05-27 12:46:02 +0000 and OpenLP.apk	2012-05-27 21:54:19 +0000 differ
=== modified file 'res/values/keyStrings.xml'
--- res/values/keyStrings.xml	2012-05-23 21:37:47 +0000
+++ res/values/keyStrings.xml	2012-05-27 21:54:19 +0000
@@ -9,4 +9,5 @@
     <string name="keyPort">keyPort</string>
     <string name="keySharedPreferences">keySharedPreferences</string>
 	<string name="key.ssl.use">ssl.use</string>
+    <string name="key.profile.selected.title">key.profile.selected.title</string>
 </resources>

=== modified file 'res/values/strings.xml'
--- res/values/strings.xml	2012-05-27 12:45:05 +0000
+++ res/values/strings.xml	2012-05-27 21:54:19 +0000
@@ -74,6 +74,7 @@
 	<string name="couldNotHandleServiceItems">Could not handle service items</string>
 	<string name="connection.profiles">Connection Profiles</string>
 	<string name="connection.profiles.manage">Manage Profiles</string>
+    <string name="connection.profile.title">Profile Title</string>
 	<string name="connection.profile.active">Active Profile</string>
 	<string name="connection.profile.summary.activate">Set this profile as the active profile</string>
 	<string name="connection.profile.activate">Activate</string>

=== modified file 'res/xml/preferences.xml'
--- res/xml/preferences.xml	2012-05-27 12:45:05 +0000
+++ res/xml/preferences.xml	2012-05-27 21:54:19 +0000
@@ -22,7 +22,7 @@
                 android:defaultValue="@string/displayTypeValue"/>  
     </PreferenceCategory>
     <PreferenceCategory
-            android:title="@string/preferenceCategoryTitleServer"
+            android:title="@string/connection.profile.active"
             android:key="category.server">
         <Preference
                 android:title="@string/url"
@@ -30,16 +30,7 @@
                 android:hint="@string/urlHint"
                 android:inputType="textUri"
                 android:editable="false"
-                android:selectable="false"
                 android:name="@string/url"/>
-        <Preference
-                android:defaultValue="@string/portDefaultValue"
-                android:title="@string/port"
-                android:key="@string/keyPort"
-                android:name="@string/url"
-                android:editable="false"
-                android:selectable="false"
-                android:inputType="number"/>
     </PreferenceCategory>
     <PreferenceCategory
             android:title="@string/backgroundService">

=== modified file 'src/org/openlp/android/activity/preference/ConnectionPreferenceActivity.java'
--- src/org/openlp/android/activity/preference/ConnectionPreferenceActivity.java	2012-05-27 12:45:05 +0000
+++ src/org/openlp/android/activity/preference/ConnectionPreferenceActivity.java	2012-05-27 21:54:19 +0000
@@ -106,7 +106,7 @@
 
 	private Preference simpleClickablePreferenceFromHostConfig(final HostConfig config) {
 		final Preference serverConfig = new Preference(this);
-		serverConfig.setTitle(config.title);
+		serverConfig.setTitle(config.title.getSummary());
 
 		Boolean useSsl = getPreferenceManager()
 			.getSharedPreferences()
@@ -169,7 +169,11 @@
 	}
 
 	private HostConfig hostConfigFromPreferencesForHostId(int hostId, Map<String, ?> preferences) {
-		HostConfig hostConfig = new HostConfig(getString(R.string.connection_profile_server), hostId);
+		Object titleValue = preferences.get(getHostConfigTitleKey(hostId));
+		String hostTitle = titleValue == null ? getString(R.string.connection_profile_server) : titleValue.toString();
+		HostConfig hostConfig = new HostConfig(
+			hostTitle, hostId
+		);
 		Object hostValueObject = preferences.get(hostConfig.hostAddress.getKey());
 		String hostValue = hostValueObject == null
 			? getString(R.string.hostDefaultValue) : hostValueObject.toString();
@@ -205,8 +209,10 @@
 
 	private boolean addPreferenceCategory(PreferenceScreen preferenceScreen, HostConfig hostConfig) {
 		PreferenceCategory preferenceCategory = new PreferenceCategory(this);
-		preferenceCategory.setTitle(hostConfig.title);
+		preferenceCategory.setTitle(hostConfig.title.getSummary());
+		preferenceCategory.setKey("key.preference.category");
 		preferenceScreen.addPreference(preferenceCategory);
+		preferenceCategory.addPreference(hostConfig.title);
 		preferenceCategory.addPreference(hostConfig.hostAddress);
 		preferenceCategory.addPreference(hostConfig.hostPort);
 		preferenceCategory.addPreference(hostConfig.useSsl);
@@ -259,19 +265,30 @@
 		}
 	}
 
+	private static String getHostConfigTitleKey(int id) {
+		return HostConfig.KEY_PREFIX + id + ".title";
+	}
+
 	private class HostConfig {
 		static final String KEY_PREFIX = "host.config.";
 		final int id;
-		final String title;
+		final EditTextPreference title;
 		final EditTextPreference hostAddress;
 		final EditTextPreference hostPort;
 		final CheckBoxPreference useSsl;
 		final Preference remove;
 		final Preference activate;
 
-		HostConfig(String title, int id) {
-			this.title = title + " " + id;
+		HostConfig(String sTitle, int id) {
 			this.id = id;
+			title = new EditTextPreference(ConnectionPreferenceActivity.this);
+			title.setText(getString(R.string.connection_profile_title));
+			title.setTitle(getString(R.string.connection_profile_title));
+			title.setKey(KEY_PREFIX + id + ".title");
+			title.setSummary(sTitle);
+			title.setDialogTitle(getString(R.string.connection_profile_title));
+			title.setOnPreferenceChangeListener(onPreferenceChangeListener);
+
 			hostAddress = new EditTextPreference(ConnectionPreferenceActivity.this);
 			hostAddress.setTitle(getString(R.string.urlHint));
 			hostAddress.setKey(KEY_PREFIX + id + ".address");
@@ -328,6 +345,12 @@
 					Boolean bUseSsl = preferences.getBoolean(useSsl.getKey(), false);
 					editor.putBoolean(getString(R.string.key_ssl_use), bUseSsl);
 
+					editor.putString(
+						getString(R.string.key_profile_selected_title),
+						preferences.getString(
+							title.getKey(),
+							getString(R.string.none)));
+
 					editor.commit();
 					Toast.makeText(ConnectionPreferenceActivity.this,
 							String.format(
@@ -358,6 +381,11 @@
 					@Override
 					public boolean onPreferenceChange(Preference preference, Object o) {
 						preference.setSummary("" + o);
+						if (preference.getKey().endsWith(".title")) {
+							preferenceScreen
+								.findPreference("key.preference.category")
+								.setTitle("" + o);
+						}
 						return true;
 					}
 				};

=== modified file 'src/org/openlp/android/activity/preference/Preferences.java'
--- src/org/openlp/android/activity/preference/Preferences.java	2012-05-27 12:45:05 +0000
+++ src/org/openlp/android/activity/preference/Preferences.java	2012-05-27 21:54:19 +0000
@@ -59,34 +59,30 @@
 		addPreferencesFromResource(R.xml.preferences);
 		final SharedPreferences sharedPreferences = getPreferenceManager()
 			.getSharedPreferences();
-		final Preference hostPreference = findPreference(getString(R.string.keyHost));
-		hostPreference.setSummary(
-				sharedPreferences.getString(
-					getString(R.string.keyHost),
-					getString(R.string.notSet)));
 
-		Preference.OnPreferenceChangeListener onPreferenceChangeListener =
-			new Preference.OnPreferenceChangeListener() {
-				@Override
-				public boolean onPreferenceChange(Preference preference,
-					Object o) {
-					preference.setSummary("" + o);
-					return true;
-				}
-			};
-		hostPreference.setOnPreferenceChangeListener(onPreferenceChangeListener);
+		StringBuilder stringBuilder = new StringBuilder();
+		stringBuilder.append(sharedPreferences.getString(
+							getString(R.string.keyHost),
+							getString(R.string.notSet)));
+		stringBuilder.append(":");
 
 		Boolean useSsl = sharedPreferences.getBoolean(
-			getString(R.string.key_ssl_use), false);
-		final Preference portPreference = findPreference(getString(R.string.keyPort));
-		portPreference.setSummary(
+					getString(R.string.key_ssl_use), false);
+		stringBuilder.append(
 			String.format("%s %s",
 				sharedPreferences.getString(
 					getString(R.string.keyPort),
-					getString(R.string.notSet)), useSsl ? "(SSL)" : "")
+					getString(R.string.notSet)), useSsl ? "(SSL)" : ""));
+
+		final Preference hostPreference = findPreference(getString(R.string.keyHost));
+		hostPreference.setTitle(
+			getPreferenceManager().getSharedPreferences()
+				.getString(
+					getString(R.string.key_profile_selected_title),
+					getString(R.string.none)
+				)
 		);
-
-		portPreference.setOnPreferenceChangeListener(onPreferenceChangeListener);
+		hostPreference.setSummary(stringBuilder.toString());
 
 		PackageManager manager = this.getPackageManager();
 		String version = "";
@@ -132,16 +128,8 @@
 		addPreferenceCategory(preferenceScreen,getString(R.string.about),
 			about, openlpLink, copyright, license);
 
-		Preference preference = new Preference(this);
-		preference.setTitle(getString(R.string.connection_profiles_manage));
+		Preference preference = findPreference(getString(R.string.keyHost));
 		preference.setIntent(new Intent(this, ConnectionPreferenceActivity.class));
-		preference.setKey("preference.manage.profiles");
-		PreferenceCategory preferenceCategory = (
-			(PreferenceCategory) findPreference("category.server")
-		);
-		if (findPreference("preference.manage.profiles") == null) {
-			preferenceCategory.addPreference(preference);
-		}
 	}
 
     private boolean addPreferenceCategory(PreferenceScreen preferenceScreen,


Follow ups