Reorganized some settings. Fix last tab.

This commit is contained in:
Karim Abou Zeid 2017-12-26 23:26:12 +01:00
commit 1c57bbf618
8 changed files with 40 additions and 62 deletions

View file

@ -151,7 +151,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
@Override
public void onCreatePreferences(Bundle bundle, String s) {
addPreferencesFromResource(R.xml.pref_general);
addPreferencesFromResource(R.xml.pref_library);
addPreferencesFromResource(R.xml.pref_colors);
addPreferencesFromResource(R.xml.pref_notification);
addPreferencesFromResource(R.xml.pref_now_playing_screen);
@ -190,13 +190,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
}
private void invalidateSettings() {
final Preference defaultStartPage = findPreference("default_start_page");
setSummary(defaultStartPage);
defaultStartPage.setOnPreferenceChangeListener((preference, o) -> {
setSummary(defaultStartPage, o);
return true;
});
final Preference generalTheme = findPreference("general_theme");
setSummary(generalTheme);
generalTheme.setOnPreferenceChangeListener((preference, o) -> {

View file

@ -101,7 +101,9 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
pagerAdapter.setCategoryInfos(PreferenceUtil.getInstance(getActivity()).getLibraryCategoryInfos());
pager.setOffscreenPageLimit(pagerAdapter.getCount() - 1);
int position = pagerAdapter.getItemPosition(current);
pager.setCurrentItem(position > -1 ? position : 0);
if (position < 0) position = 0;
pager.setCurrentItem(position);
PreferenceUtil.getInstance(getContext()).setLastPage(position);
// hide the tab bar with single tab
tabs.setVisibility(pagerAdapter.getCount() == 1 ? View.GONE : View.VISIBLE);
@ -131,10 +133,9 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
tabs.setTabTextColors(normalColor, selectedColor);
tabs.setSelectedTabIndicatorColor(ThemeStore.accentColor(getActivity()));
int startPosition = PreferenceUtil.getInstance(getActivity()).getDefaultStartPage();
startPosition = startPosition == -1 ? PreferenceUtil.getInstance(getActivity()).getLastPage() : startPosition;
pager.setCurrentItem(startPosition);
PreferenceUtil.getInstance(getActivity()).setLastPage(startPosition); // just in case
if (PreferenceUtil.getInstance(getContext()).rememberLastTab()) {
pager.setCurrentItem(PreferenceUtil.getInstance(getContext()).getLastPage());
}
pager.addOnPageChangeListener(this);
}