openlp-android team mailing list archive
-
openlp-android team
-
Mailing list archive
-
Message #00167
[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