package org.commcare.preferences; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import androidx.annotation.NonNull; import androidx.preference.ListPreference; import androidx.preference.PreferenceManager; import org.commcare.CommCareApplication; import org.commcare.dalvik.R; import org.commcare.fragments.CommCarePreferenceFragment; import org.commcare.models.ODKStorage; import java.util.Map; /** * @author yanokwa */ public class FormEntryPreferences extends CommCarePreferenceFragment implements OnSharedPreferenceChangeListener { public static final String KEY_FONT_SIZE = "font_size"; public static final String KEY_HELP_MODE_TRAY = "help_mode_tray"; @NonNull @Override protected String getTitle() { return getString(R.string.application_name) + " > " + getString(R.string.form_entry_settings); } @Override protected void setupPrefClickListeners() { // Nothing to do here } @Override protected Map<String, String> getPrefKeyTitleMap() { return null; } @Override protected int getPreferencesResource() { return R.xml.preferences; } @Override public void onStart() { super.onStart(); updateFontSize(); } @Override public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) { super.onSharedPreferenceChanged(sharedPreferences, key); if (KEY_FONT_SIZE.equals(key)) { updateFontSize(); } } private void updateFontSize() { ListPreference lp = (ListPreference)findPreference(KEY_FONT_SIZE); lp.setSummary(lp.getEntry()); } public static int getQuestionFontSize() { SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(CommCareApplication.instance()); String fontString = settings.getString(FormEntryPreferences.KEY_FONT_SIZE, ODKStorage.DEFAULT_FONTSIZE); return Integer.parseInt(fontString); } }