mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-07 21:54:29 +00:00
minor preferences tweaks
1) shorten some summaries 2) add summaries to appearance subscreen 3) move common summary functions to common parent class // FREEBIE
This commit is contained in:
parent
df12174458
commit
761049d6f8
@ -39,8 +39,8 @@
|
|||||||
<string name="ApplicationPreferencesActivity_partial">partial</string>
|
<string name="ApplicationPreferencesActivity_partial">partial</string>
|
||||||
<string name="ApplicationPreferencesActivity_sms">SMS</string>
|
<string name="ApplicationPreferencesActivity_sms">SMS</string>
|
||||||
<string name="ApplicationPreferencesActivity_mms">MMS</string>
|
<string name="ApplicationPreferencesActivity_mms">MMS</string>
|
||||||
<string name="ApplicationPreferencesActivity_incoming_sms">Incoming SMS</string>
|
<string name="ApplicationPreferencesActivity_incoming_sms">Incoming</string>
|
||||||
<string name="ApplicationPreferencesActivity_outgoing_sms">outgoing SMS</string>
|
<string name="ApplicationPreferencesActivity_outgoing_sms">outgoing</string>
|
||||||
|
|
||||||
<!-- DraftDatabase -->
|
<!-- DraftDatabase -->
|
||||||
<string name="DraftDatabase_Draft_image_snippet">(image)</string>
|
<string name="DraftDatabase_Draft_image_snippet">(image)</string>
|
||||||
@ -683,8 +683,8 @@
|
|||||||
<string name="preferences__conversation_length_limit">Conversation length limit</string>
|
<string name="preferences__conversation_length_limit">Conversation length limit</string>
|
||||||
<string name="preferences__trim_all_threads_now">Trim all threads now</string>
|
<string name="preferences__trim_all_threads_now">Trim all threads now</string>
|
||||||
<string name="preferences__scan_through_all_conversation_threads_and_enforce_conversation_length_limits">Scan through all conversation threads and enforce conversation length limits</string>
|
<string name="preferences__scan_through_all_conversation_threads_and_enforce_conversation_length_limits">Scan through all conversation threads and enforce conversation length limits</string>
|
||||||
<string name="preferences__light_theme">Light theme</string>
|
<string name="preferences__light_theme">Light</string>
|
||||||
<string name="preferences__dark_theme">Dark theme</string>
|
<string name="preferences__dark_theme">Dark</string>
|
||||||
<string name="preferences__appearance">Appearance</string>
|
<string name="preferences__appearance">Appearance</string>
|
||||||
<string name="preferences__theme">Theme</string>
|
<string name="preferences__theme">Theme</string>
|
||||||
<string name="preferences__default">Default</string>
|
<string name="preferences__default">Default</string>
|
||||||
|
@ -2,18 +2,25 @@ package org.thoughtcrime.securesms.preferences;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.preference.PreferenceFragment;
|
import android.preference.ListPreference;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
|
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
|
|
||||||
public class AppearancePreferenceFragment extends PreferenceFragment {
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class AppearancePreferenceFragment extends ListSummaryPreferenceFragment {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle paramBundle) {
|
public void onCreate(Bundle paramBundle) {
|
||||||
super.onCreate(paramBundle);
|
super.onCreate(paramBundle);
|
||||||
addPreferencesFromResource(R.xml.preferences_appearance);
|
addPreferencesFromResource(R.xml.preferences_appearance);
|
||||||
|
|
||||||
|
this.findPreference(TextSecurePreferences.THEME_PREF).setOnPreferenceChangeListener(new ListSummaryListener());
|
||||||
|
this.findPreference(TextSecurePreferences.LANGUAGE_PREF).setOnPreferenceChangeListener(new ListSummaryListener());
|
||||||
|
initializeListSummary((ListPreference)findPreference(TextSecurePreferences.THEME_PREF));
|
||||||
|
initializeListSummary((ListPreference)findPreference(TextSecurePreferences.LANGUAGE_PREF));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -40,22 +47,10 @@ public class AppearancePreferenceFragment extends PreferenceFragment {
|
|||||||
String[] themeEntries = context.getResources().getStringArray(R.array.pref_theme_entries);
|
String[] themeEntries = context.getResources().getStringArray(R.array.pref_theme_entries);
|
||||||
String[] themeEntryValues = context.getResources().getStringArray(R.array.pref_theme_values);
|
String[] themeEntryValues = context.getResources().getStringArray(R.array.pref_theme_values);
|
||||||
|
|
||||||
Integer langIndex = findIndexOfValue(TextSecurePreferences.getLanguage(context), languageEntryValues);
|
int langIndex = Arrays.asList(languageEntryValues).indexOf(TextSecurePreferences.getLanguage(context));
|
||||||
Integer themeIndex = findIndexOfValue(TextSecurePreferences.getTheme(context), themeEntryValues);
|
int themeIndex = Arrays.asList(themeEntryValues).indexOf(TextSecurePreferences.getTheme(context));
|
||||||
|
|
||||||
return context.getString(R.string.preferences__theme) + ": " + themeEntries[themeIndex] + ", " +
|
return context.getString(R.string.preferences__theme) + ": " + themeEntries[themeIndex] + ", " +
|
||||||
context.getString(R.string.preferences__language) + ": " + languageEntries[langIndex];
|
context.getString(R.string.preferences__language) + ": " + languageEntries[langIndex];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy from ListPreference
|
|
||||||
private static int findIndexOfValue(String value, CharSequence[] mEntryValues) {
|
|
||||||
if (value != null && mEntryValues != null) {
|
|
||||||
for (int i = mEntryValues.length - 1; i >= 0; i--) {
|
|
||||||
if (mEntryValues[i].equals(value)) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
package org.thoughtcrime.securesms.preferences;
|
||||||
|
|
||||||
|
import android.preference.ListPreference;
|
||||||
|
import android.preference.Preference;
|
||||||
|
import android.support.v4.preference.PreferenceFragment;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.R;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public abstract class ListSummaryPreferenceFragment extends PreferenceFragment {
|
||||||
|
|
||||||
|
protected class ListSummaryListener implements Preference.OnPreferenceChangeListener {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object value) {
|
||||||
|
ListPreference listPref = (ListPreference) preference;
|
||||||
|
int entryIndex = Arrays.asList(listPref.getEntryValues()).indexOf(value);
|
||||||
|
|
||||||
|
listPref.setSummary(entryIndex >= 0 && entryIndex < listPref.getEntries().length
|
||||||
|
? listPref.getEntries()[entryIndex]
|
||||||
|
: getString(R.string.preferences__led_color_unknown));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void initializeListSummary(ListPreference pref) {
|
||||||
|
pref.setSummary(pref.getEntry());
|
||||||
|
}
|
||||||
|
}
|
@ -10,17 +10,13 @@ import android.preference.ListPreference;
|
|||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.preference.RingtonePreference;
|
import android.preference.RingtonePreference;
|
||||||
import android.support.v4.preference.PreferenceFragment;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
|
import org.thoughtcrime.securesms.ApplicationPreferencesActivity;
|
||||||
import org.thoughtcrime.securesms.R;
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
|
|
||||||
import java.util.Arrays;
|
public class NotificationsPreferenceFragment extends ListSummaryPreferenceFragment {
|
||||||
|
|
||||||
public class NotificationsPreferenceFragment extends PreferenceFragment {
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle paramBundle) {
|
public void onCreate(Bundle paramBundle) {
|
||||||
@ -48,19 +44,6 @@ public class NotificationsPreferenceFragment extends PreferenceFragment {
|
|||||||
((ApplicationPreferencesActivity) getActivity()).getSupportActionBar().setTitle(R.string.preferences__notifications);
|
((ApplicationPreferencesActivity) getActivity()).getSupportActionBar().setTitle(R.string.preferences__notifications);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ListSummaryListener implements Preference.OnPreferenceChangeListener {
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceChange(Preference preference, Object value) {
|
|
||||||
ListPreference listPref = (ListPreference) preference;
|
|
||||||
|
|
||||||
final int entryIndex = Arrays.asList(listPref.getEntryValues()).indexOf(value);
|
|
||||||
listPref.setSummary(entryIndex >= 0 && entryIndex < listPref.getEntries().length
|
|
||||||
? listPref.getEntries()[entryIndex]
|
|
||||||
: getString(R.string.preferences__led_color_unknown));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private class RingtoneSummaryListener implements Preference.OnPreferenceChangeListener {
|
private class RingtoneSummaryListener implements Preference.OnPreferenceChangeListener {
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
@ -79,10 +62,6 @@ public class NotificationsPreferenceFragment extends PreferenceFragment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeListSummary(ListPreference pref) {
|
|
||||||
pref.setSummary(pref.getEntry());
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initializeRingtoneSummary(RingtonePreference pref) {
|
private void initializeRingtoneSummary(RingtonePreference pref) {
|
||||||
RingtoneSummaryListener listener =
|
RingtoneSummaryListener listener =
|
||||||
(RingtoneSummaryListener) pref.getOnPreferenceChangeListener();
|
(RingtoneSummaryListener) pref.getOnPreferenceChangeListener();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user