diff --git a/app/src/main/java/com/cappielloantonio/play/ui/activities/MainActivity.java b/app/src/main/java/com/cappielloantonio/play/ui/activities/MainActivity.java
index 2b52a9a6..824d8ace 100644
--- a/app/src/main/java/com/cappielloantonio/play/ui/activities/MainActivity.java
+++ b/app/src/main/java/com/cappielloantonio/play/ui/activities/MainActivity.java
@@ -226,6 +226,13 @@ public class MainActivity extends BaseActivity {
}
}
+ public void goFromSettingsToSync(Bundle bundle) {
+ setBottomNavigationBarVisibility(false);
+ setBottomSheetVisibility(false);
+
+ navController.navigate(R.id.action_settingsFragment_to_syncFragment, bundle);
+ }
+
public void goToHome() {
bottomNavigationView.setVisibility(View.VISIBLE);
diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java
index 6be88718..cf3935a9 100644
--- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java
+++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/HomeFragment.java
@@ -98,19 +98,6 @@ public class HomeFragment extends Fragment {
bundle.putString(Song.IS_FAVORITE, Song.IS_FAVORITE);
activity.navController.navigate(R.id.action_homeFragment_to_songListPageFragment, bundle);
});
-
- bind.syncMusicButton.setOnClickListener(v -> {
- AlertDialog.Builder builder = new AlertDialog.Builder(requireContext());
- builder.setMessage("Force reload your entire music library")
- .setTitle("Force sync")
- .setNegativeButton(R.string.ignore, null)
- .setPositiveButton("Sync", (dialog, id) -> {
- PreferenceUtil.getInstance(requireContext()).setSync(false);
- PreferenceUtil.getInstance(requireContext()).setSongGenreSync(false);
- activity.goToSync();
- })
- .show();
- });
}
private void initDiscoverSongSlideView() {
diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java
index d2efdbe1..7b0472eb 100644
--- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java
+++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/LibraryFragment.java
@@ -122,12 +122,8 @@ public class LibraryFragment extends Fragment {
builder.setMessage("Sync song's genres otherwise nothing will be shown in each genre category")
.setTitle("Song's genres not synchronized")
.setNegativeButton(R.string.ignore, null)
- .setPositiveButton("Sync", (dialog, id) -> syncSongsPerGenre())
+ .setPositiveButton("Sync", (dialog, id) -> activity.goToSync())
.show();
}
}
-
- private void syncSongsPerGenre() {
- activity.goToSync();
- }
}
diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SettingsFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SettingsFragment.java
index f8fab89e..7d6be9c1 100644
--- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SettingsFragment.java
+++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SettingsFragment.java
@@ -1,16 +1,35 @@
package com.cappielloantonio.play.ui.fragment;
import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
import androidx.preference.ListPreference;
+import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.helper.ThemeHelper;
+import com.cappielloantonio.play.ui.activities.MainActivity;
+import com.cappielloantonio.play.util.PreferenceUtil;
+import com.cappielloantonio.play.util.SyncUtil;
public class SettingsFragment extends PreferenceFragmentCompat {
private static final String TAG = "SettingsFragment";
+ private MainActivity activity;
+
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ activity = (MainActivity) getActivity();
+ return super.onCreateView(inflater, container, savedInstanceState);
+ }
+
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.global_preferences, rootKey);
@@ -24,5 +43,37 @@ public class SettingsFragment extends PreferenceFragmentCompat {
return true;
});
}
+
+ Preference music_sync_button = findPreference(getString(R.string.music_sync));
+ music_sync_button.setOnPreferenceClickListener(preference -> {
+ AlertDialog.Builder builder = new AlertDialog.Builder(requireContext());
+ builder.setMessage("Force reload your entire music library")
+ .setTitle("Force sync")
+ .setNegativeButton(R.string.ignore, null)
+ .setPositiveButton("Sync", (dialog, id) -> {
+ PreferenceUtil.getInstance(requireContext()).setSync(false);
+ PreferenceUtil.getInstance(requireContext()).setSongGenreSync(false);
+
+ Bundle bundle = SyncUtil.getSyncBundle(true, true, true, true, true, false);
+ activity.goFromSettingsToSync(bundle);
+ })
+ .show();
+ return true;
+ });
+
+ Preference cross_sync_button = findPreference(getString(R.string.genres_music_cross_sync));
+ cross_sync_button.setOnPreferenceClickListener(preference -> {
+ AlertDialog.Builder builder = new AlertDialog.Builder(requireContext());
+ builder.setMessage("Sync song's genres otherwise nothing will be shown in each genre category")
+ .setTitle("Song's genres not synchronized")
+ .setNegativeButton(R.string.ignore, null)
+ .setPositiveButton("Sync", (dialog, id) -> {
+ Bundle bundle = SyncUtil.getSyncBundle(false, false, true, false, false, true);
+ activity.goFromSettingsToSync(bundle);
+ })
+ .show();
+ return true;
+ });
}
+
}
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index 3f28a9a0..b5934c32 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -293,21 +293,6 @@
android:paddingEnd="8dp"
android:paddingBottom="8dp" />
-
-
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
index 56de7ec9..1e9b5a80 100644
--- a/app/src/main/res/navigation/nav_graph.xml
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -111,7 +111,13 @@
android:id="@+id/settingsFragment"
android:name="com.cappielloantonio.play.ui.fragment.SettingsFragment"
android:label="SettingsFragment"
- tools:layout="@layout/fragment_settings"/>
+ tools:layout="@layout/fragment_settings">
+
+
--
Save filters between sessions
+ Synchronization
+ Music sync
+ Sync tracks, albums, artists, genres and playlists
+ Genres-music cross sync
+ Cross sync genres for each track
+ About
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ 1.1
+ Version
+ Github
+ Follow the development
+ https://github.com/CappielloAntonio/Play
+
Battery Optimizations
Please disable battery optimizations for media playback while the screen is off.
diff --git a/app/src/main/res/xml/global_preferences.xml b/app/src/main/res/xml/global_preferences.xml
index 9204ec7e..109adebe 100644
--- a/app/src/main/res/xml/global_preferences.xml
+++ b/app/src/main/res/xml/global_preferences.xml
@@ -1,4 +1,5 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file