X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2FSettingsActivity.java;h=07e0c61bad8c4c3b5564714821482381f275f122;hp=9e49c46f3c1d658ba6ac43c28f7495a4d7668013;hb=8b2a83f10265f8c8e8044b8dd990337283834afd;hpb=6dc07c411162b32ef43ec17d6462d8c91f8de251 diff --git a/app/src/main/java/net/ktnx/mobileledger/SettingsActivity.java b/app/src/main/java/net/ktnx/mobileledger/SettingsActivity.java index 9e49c46f..07e0c61b 100644 --- a/app/src/main/java/net/ktnx/mobileledger/SettingsActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/SettingsActivity.java @@ -1,3 +1,20 @@ +/* + * Copyright © 2018 Damyan Ivanov. + * This file is part of Mobile-Ledger. + * Mobile-Ledger is free software: you can distribute it and/or modify it + * under the term of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your opinion), any later version. + * + * Mobile-Ledger is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License terms for details. + * + * You should have received a copy of the GNU General Public License + * along with Mobile-Ledger. If not, see . + */ + package net.ktnx.mobileledger; import android.annotation.TargetApi; @@ -34,6 +51,7 @@ import java.util.List; * API Guide for more information on developing a Settings UI. */ public class SettingsActivity extends AppCompatPreferenceActivity { + public static String PREF_KEY_SHOW_ONLY_STARRED_ACCOUNTS = "pref_show_only_starred_accounts"; /** * A preference value change listener that updates the preference's summary @@ -42,7 +60,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity { private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = (preference, value) -> { String stringValue = value.toString(); - LatestTransactions.preferences_changed(); + AccountSummary.preferences_changed(); if (preference instanceof ListPreference) { // For list preferences, look up the correct display value in @@ -82,6 +100,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity { // simple string representation. preference.setSummary(stringValue); } + return true; }; @@ -169,7 +188,8 @@ public class SettingsActivity extends AppCompatPreferenceActivity { return PreferenceFragment.class.getName().equals(fragmentName) || BackendPreferenceFragment.class.getName().equals(fragmentName) || DataSyncPreferenceFragment.class.getName().equals(fragmentName) - || NotificationPreferenceFragment.class.getName().equals(fragmentName); + || NotificationPreferenceFragment.class.getName().equals(fragmentName) + || InterfacePreferenceFragment.class.getName().equals(fragmentName); } /** @@ -204,6 +224,39 @@ public class SettingsActivity extends AppCompatPreferenceActivity { } } + /** + * This fragment shows general preferences only. It is used when the + * activity is showing a two-pane settings UI. + */ + @TargetApi(Build.VERSION_CODES.HONEYCOMB) + public static + class InterfacePreferenceFragment extends PreferenceFragment { + @Override + public + void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource(R.xml.pref_interface); + setHasOptionsMenu(true); + + // Bind the summaries of EditText/List/Dialog/Ringtone preferences + // to their values. When their values change, their summaries are + // updated to reflect the new value, per the Android Design + // guidelines. + + } + + @Override + public + boolean onOptionsItemSelected(MenuItem item) { + int id = item.getItemId(); + if (id == android.R.id.home) { + startActivity(new Intent(getActivity(), SettingsActivity.class)); + return true; + } + return super.onOptionsItemSelected(item); + } + } + /** * This fragment shows notification preferences only. It is used when the * activity is showing a two-pane settings UI.