Add new tab in MainActivity and migration for listing downloads.
This commit is contained in:
parent
2a7350af89
commit
3a0154deea
6 changed files with 51 additions and 3 deletions
|
|
@ -10,6 +10,9 @@ import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.fragment.app.FragmentPagerAdapter;
|
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.fragments.library.FavoritesFragment;
|
||||||
import org.adrianvictor.geleia.model.Category;
|
import org.adrianvictor.geleia.model.Category;
|
||||||
import org.adrianvictor.geleia.fragments.library.AlbumsFragment;
|
import org.adrianvictor.geleia.fragments.library.AlbumsFragment;
|
||||||
|
|
@ -157,7 +160,8 @@ public class MusicLibraryPagerAdapter extends FragmentPagerAdapter {
|
||||||
ARTISTS(ArtistsFragment.class),
|
ARTISTS(ArtistsFragment.class),
|
||||||
GENRES(GenresFragment.class),
|
GENRES(GenresFragment.class),
|
||||||
PLAYLISTS(PlaylistsFragment.class),
|
PLAYLISTS(PlaylistsFragment.class),
|
||||||
FAVORITES(FavoritesFragment.class);
|
FAVORITES(FavoritesFragment.class),
|
||||||
|
DOWNLOADS(DownloadsFragment.class);
|
||||||
|
|
||||||
private final Class<? extends Fragment> mFragmentClass;
|
private final Class<? extends Fragment> mFragmentClass;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -10,7 +10,8 @@ public enum Category {
|
||||||
ARTISTS(R.string.artists),
|
ARTISTS(R.string.artists),
|
||||||
GENRES(R.string.genres),
|
GENRES(R.string.genres),
|
||||||
PLAYLISTS(R.string.playlists),
|
PLAYLISTS(R.string.playlists),
|
||||||
FAVORITES(R.string.favorites);
|
FAVORITES(R.string.favorites),
|
||||||
|
DOWNLOADS(R.string.downloads);
|
||||||
|
|
||||||
@StringRes
|
@StringRes
|
||||||
public final int title;
|
public final int title;
|
||||||
|
|
|
||||||
|
|
@ -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<PreferenceMigration> migrations = Arrays.asList(
|
private static final List<PreferenceMigration> migrations = Arrays.asList(
|
||||||
Migration1,
|
Migration1,
|
||||||
Migration2
|
Migration2,
|
||||||
|
Migration3
|
||||||
);
|
);
|
||||||
|
|
||||||
private static PreferenceUtil instance;
|
private static PreferenceUtil instance;
|
||||||
|
|
|
||||||
6
app/src/main/res/layout/downloads_fragment.xml
Normal file
6
app/src/main/res/layout/downloads_fragment.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
@ -247,6 +247,7 @@
|
||||||
|
|
||||||
<string name="download_channel_name">Downloads</string>
|
<string name="download_channel_name">Downloads</string>
|
||||||
<string name="downloading_songs">Downloading songs</string>
|
<string name="downloading_songs">Downloading songs</string>
|
||||||
|
<string name="downloads">Downloads</string>
|
||||||
<plurals name="downloading_s_songs">
|
<plurals name="downloading_s_songs">
|
||||||
<item quantity="one">Downloading %d song</item>
|
<item quantity="one">Downloading %d song</item>
|
||||||
<item quantity="other">Downloading %d songs</item>
|
<item quantity="other">Downloading %d songs</item>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue