Add new tab in MainActivity and migration for listing downloads.

This commit is contained in:
天クマ 2026-01-26 14:21:13 -03:00
commit 3a0154deea
6 changed files with 51 additions and 3 deletions

View file

@ -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<? extends Fragment> mFragmentClass;

View file

@ -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);
}
}

View file

@ -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;

View file

@ -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(
Migration1,
Migration2
Migration2,
Migration3
);
private static PreferenceUtil instance;

View 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>

View file

@ -247,6 +247,7 @@
<string name="download_channel_name">Downloads</string>
<string name="downloading_songs">Downloading songs</string>
<string name="downloads">Downloads</string>
<plurals name="downloading_s_songs">
<item quantity="one">Downloading %d song</item>
<item quantity="other">Downloading %d songs</item>