diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java
index 8e2d9e6e..9e43e57b 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/SettingsActivity.java
@@ -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) -> {
diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java
index 5dbdbd7e..000948f5 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java
@@ -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);
}
diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java
index 73b5c25a..b1d6c2c1 100644
--- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java
+++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java
@@ -22,7 +22,7 @@ import java.util.ArrayList;
public final class PreferenceUtil {
public static final String GENERAL_THEME = "general_theme";
- public static final String DEFAULT_START_PAGE = "default_start_page";
+ public static final String REMEMBER_LAST_TAB = "remember_last_tab";
public static final String LAST_PAGE = "last_start_page";
public static final String LAST_MUSIC_CHOOSER = "last_music_chooser";
public static final String NOW_PLAYING_SCREEN_ID = "now_playing_screen_id";
@@ -122,8 +122,8 @@ public final class PreferenceUtil {
}
}
- public final int getDefaultStartPage() {
- return Integer.parseInt(mPreferences.getString(DEFAULT_START_PAGE, "-1"));
+ public final boolean rememberLastTab() {
+ return mPreferences.getBoolean(REMEMBER_LAST_TAB, true);
}
public void setLastPage(final int value) {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0fd77e6f..22aa9cdb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -116,7 +116,7 @@
Now playing
General theme
Audio
- General
+ Library
Images
Lockscreen
Playlists
@@ -134,6 +134,7 @@
Reduce volume on focus loss
Last added playlist interval
Show synchronized lyrics
+ Remember last tab
No equalizer found.
"Play a song first, then try again."
Delete
@@ -167,6 +168,7 @@
Colors the app shortcuts in the primary color.
Notifications, navigation etc.
Currently only synchronized lyrics in LRC format are supported. Either embedded or as a separate file.
+ Go to the last opened tab on launch
"Couldn\u2019t download a matching album cover."
Search your library…
Favorites
diff --git a/app/src/main/res/values/strings_activity_settings.xml b/app/src/main/res/values/strings_activity_settings.xml
index 2f35d635..986a09da 100644
--- a/app/src/main/res/values/strings_activity_settings.xml
+++ b/app/src/main/res/values/strings_activity_settings.xml
@@ -1,19 +1,4 @@
-
- - @string/last_opened
- - @string/songs
- - @string/albums
- - @string/artists
- - @string/playlists
-
-
-
- - -1
- - 0
- - 1
- - 2
- - 3
-
- @string/light_theme_name
diff --git a/app/src/main/res/xml/pref_colors.xml b/app/src/main/res/xml/pref_colors.xml
index e7701f96..3a4358b2 100644
--- a/app/src/main/res/xml/pref_colors.xml
+++ b/app/src/main/res/xml/pref_colors.xml
@@ -2,6 +2,15 @@
+
+
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/xml/pref_library.xml b/app/src/main/res/xml/pref_library.xml
new file mode 100644
index 00000000..fab9ac46
--- /dev/null
+++ b/app/src/main/res/xml/pref_library.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+