diff --git a/app/src/main/java/org/adrianvictor/geleia/adapter/MusicLibraryPagerAdapter.java b/app/src/main/java/org/adrianvictor/geleia/adapter/MusicLibraryPagerAdapter.java index 2979ee5c..23c1162d 100644 --- a/app/src/main/java/org/adrianvictor/geleia/adapter/MusicLibraryPagerAdapter.java +++ b/app/src/main/java/org/adrianvictor/geleia/adapter/MusicLibraryPagerAdapter.java @@ -10,6 +10,9 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentPagerAdapter; +import org.adrianvictor.geleia.activities.UnreachableActivity; +import org.adrianvictor.geleia.fragments.OfflineFragment; +import org.adrianvictor.geleia.fragments.library.DownloadsFragment; import org.adrianvictor.geleia.fragments.library.FavoritesFragment; import org.adrianvictor.geleia.model.Category; import org.adrianvictor.geleia.fragments.library.AlbumsFragment; @@ -157,7 +160,8 @@ public class MusicLibraryPagerAdapter extends FragmentPagerAdapter { ARTISTS(ArtistsFragment.class), GENRES(GenresFragment.class), PLAYLISTS(PlaylistsFragment.class), - FAVORITES(FavoritesFragment.class); + FAVORITES(FavoritesFragment.class), + DOWNLOADS(DownloadsFragment.class); private final Class mFragmentClass; diff --git a/app/src/main/java/org/adrianvictor/geleia/fragments/library/DownloadsFragment.java b/app/src/main/java/org/adrianvictor/geleia/fragments/library/DownloadsFragment.java new file mode 100644 index 00000000..2e052c2d --- /dev/null +++ b/app/src/main/java/org/adrianvictor/geleia/fragments/library/DownloadsFragment.java @@ -0,0 +1,25 @@ +package org.adrianvictor.geleia.fragments.library; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; + +import org.adrianvictor.geleia.R; + +public class DownloadsFragment extends Fragment { + public static DownloadsFragment newInstance() { + return new DownloadsFragment(); + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + return inflater.inflate(R.layout.downloads_fragment, container, false); + } + +} diff --git a/app/src/main/java/org/adrianvictor/geleia/model/Category.java b/app/src/main/java/org/adrianvictor/geleia/model/Category.java index 91e54717..3c897e81 100644 --- a/app/src/main/java/org/adrianvictor/geleia/model/Category.java +++ b/app/src/main/java/org/adrianvictor/geleia/model/Category.java @@ -10,7 +10,8 @@ public enum Category { ARTISTS(R.string.artists), GENRES(R.string.genres), PLAYLISTS(R.string.playlists), - FAVORITES(R.string.favorites); + FAVORITES(R.string.favorites), + DOWNLOADS(R.string.downloads); @StringRes public final int title; diff --git a/app/src/main/java/org/adrianvictor/geleia/util/PreferenceUtil.java b/app/src/main/java/org/adrianvictor/geleia/util/PreferenceUtil.java index 71ff53d5..ecb3dd68 100644 --- a/app/src/main/java/org/adrianvictor/geleia/util/PreferenceUtil.java +++ b/app/src/main/java/org/adrianvictor/geleia/util/PreferenceUtil.java @@ -110,9 +110,20 @@ public final class PreferenceUtil { } }; + private static final PreferenceMigration Migration3 = new PreferenceMigration(2, 3) { + @Override + public void migrate(SharedPreferences preferences) { + String currentCategories = preferences.getString(CATEGORIES, ""); + if (!currentCategories.toUpperCase().contains(Category.DOWNLOADS.toString())) { + preferences.edit().putString(CATEGORIES, currentCategories + "." + Category.DOWNLOADS.toString()).commit(); + } + } + }; + private static final List migrations = Arrays.asList( Migration1, - Migration2 + Migration2, + Migration3 ); private static PreferenceUtil instance; diff --git a/app/src/main/res/layout/downloads_fragment.xml b/app/src/main/res/layout/downloads_fragment.xml new file mode 100644 index 00000000..77d9ef65 --- /dev/null +++ b/app/src/main/res/layout/downloads_fragment.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bf686d10..235eb77f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -247,6 +247,7 @@ Downloads Downloading songs + Downloads Downloading %d song Downloading %d songs