mirror of
https://github.com/antebudimir/tempus.git
synced 2025-12-31 17:43:32 +00:00
Add preference to set instant mix song number
This commit is contained in:
parent
862ea71b11
commit
78333d56d4
8 changed files with 35 additions and 33 deletions
|
|
@ -21,6 +21,7 @@ import com.cappielloantonio.play.model.Song;
|
|||
import com.cappielloantonio.play.repository.QueueRepository;
|
||||
import com.cappielloantonio.play.repository.SongRepository;
|
||||
import com.cappielloantonio.play.ui.activities.MainActivity;
|
||||
import com.cappielloantonio.play.util.PreferenceUtil;
|
||||
import com.cappielloantonio.play.util.SyncUtil;
|
||||
import com.cappielloantonio.play.viewmodel.PlayerBottomSheetViewModel;
|
||||
|
||||
|
|
@ -103,7 +104,7 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter<DiscoverSongAdapte
|
|||
|
||||
MusicPlayerRemote.openQueue(mix, 0, true);
|
||||
}
|
||||
}, SyncUtil.SONG, songs.get(getBindingAdapterPosition()).getId(), 50);
|
||||
}, SyncUtil.SONG, songs.get(getBindingAdapterPosition()).getId(), PreferenceUtil.getInstance(context).getInstantMixSongNumber());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import com.cappielloantonio.play.model.Song;
|
|||
import com.cappielloantonio.play.repository.QueueRepository;
|
||||
import com.cappielloantonio.play.repository.SongRepository;
|
||||
import com.cappielloantonio.play.ui.activities.MainActivity;
|
||||
import com.cappielloantonio.play.util.PreferenceUtil;
|
||||
import com.cappielloantonio.play.util.SyncUtil;
|
||||
import com.cappielloantonio.play.viewmodel.AlbumBottomSheetViewModel;
|
||||
import com.cappielloantonio.play.viewmodel.PlayerBottomSheetViewModel;
|
||||
|
|
@ -105,7 +106,7 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements
|
|||
|
||||
MusicPlayerRemote.openQueue(mix, 0, true);
|
||||
}
|
||||
}, SyncUtil.SONG, album.getId(), 50);
|
||||
}, SyncUtil.SONG, album.getId(), PreferenceUtil.getInstance(requireContext()).getInstantMixSongNumber());
|
||||
|
||||
dismissBottomSheet();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import com.cappielloantonio.play.model.Song;
|
|||
import com.cappielloantonio.play.repository.QueueRepository;
|
||||
import com.cappielloantonio.play.repository.SongRepository;
|
||||
import com.cappielloantonio.play.ui.activities.MainActivity;
|
||||
import com.cappielloantonio.play.util.PreferenceUtil;
|
||||
import com.cappielloantonio.play.util.SyncUtil;
|
||||
import com.cappielloantonio.play.viewmodel.ArtistBottomSheetViewModel;
|
||||
import com.cappielloantonio.play.viewmodel.PlayerBottomSheetViewModel;
|
||||
|
|
@ -94,7 +95,7 @@ public class ArtistBottomSheetDialog extends BottomSheetDialogFragment implement
|
|||
|
||||
MusicPlayerRemote.openQueue(mix, 0, true);
|
||||
}
|
||||
}, SyncUtil.SONG, artist.getId(), 50);
|
||||
}, SyncUtil.SONG, artist.getId(), PreferenceUtil.getInstance(requireContext()).getInstantMixSongNumber());
|
||||
|
||||
dismissBottomSheet();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import com.cappielloantonio.play.model.PlaylistSongCross;
|
|||
import com.cappielloantonio.play.model.Song;
|
||||
import com.cappielloantonio.play.repository.QueueRepository;
|
||||
import com.cappielloantonio.play.ui.activities.MainActivity;
|
||||
import com.cappielloantonio.play.util.PreferenceUtil;
|
||||
import com.cappielloantonio.play.util.SyncUtil;
|
||||
import com.cappielloantonio.play.viewmodel.PlayerBottomSheetViewModel;
|
||||
import com.cappielloantonio.play.viewmodel.SongBottomSheetViewModel;
|
||||
|
|
@ -112,7 +113,7 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements
|
|||
|
||||
MusicPlayerRemote.openQueue(mix, 0, true);
|
||||
}
|
||||
}, SyncUtil.SONG, song.getId(), 50);
|
||||
}, SyncUtil.SONG, song.getId(), PreferenceUtil.getInstance(requireContext()).getInstantMixSongNumber());
|
||||
|
||||
dismissBottomSheet();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -19,17 +19,15 @@ public class PreferenceUtil {
|
|||
public static final String TOKEN = "token";
|
||||
public static final String MUSIC_LIBRARY_ID = "music_library_id";
|
||||
|
||||
public static final String SHUFFLE = "shuffle";
|
||||
public static final String REPEAT = "repeat";
|
||||
public static final String POSITION = "position";
|
||||
public static final String PROGRESS = "progress";
|
||||
|
||||
public static final String SYNC = "sync";
|
||||
public static final String SONG_GENRE_SYNC = "song_genre_sync";
|
||||
|
||||
public static final String HOST_URL = "host";
|
||||
public static final String IMAGE_CACHE_SIZE = "image_cache_size";
|
||||
public static final String MEDIA_CACHE_SIZE = "media_cache_size";
|
||||
public static final String INSTANT_MIX_SONG_NUMBER = "instant_mix_song_number";
|
||||
|
||||
public static final String TRANSCODE_CODEC = "transcode_codec";
|
||||
public static final String DIRECT_PLAY_CODECS = "direct_play_codecs";
|
||||
|
|
@ -113,14 +111,14 @@ public class PreferenceUtil {
|
|||
editor.apply();
|
||||
}
|
||||
|
||||
public final String getHostUrl() {
|
||||
return mPreferences.getString(HOST_URL, "undefined");
|
||||
}
|
||||
|
||||
public final int getImageCacheSize() {
|
||||
return Integer.parseInt(mPreferences.getString(IMAGE_CACHE_SIZE, "400000000"));
|
||||
}
|
||||
|
||||
public final int getInstantMixSongNumber() {
|
||||
return Integer.parseInt(mPreferences.getString(INSTANT_MIX_SONG_NUMBER, "10"));
|
||||
}
|
||||
|
||||
public final String getTranscodeCodec() {
|
||||
return mPreferences.getString(TRANSCODE_CODEC, "aac");
|
||||
}
|
||||
|
|
@ -150,19 +148,6 @@ public class PreferenceUtil {
|
|||
return directPlayCodecs;
|
||||
}
|
||||
|
||||
public void setDirectPlayCodecs(List<DirectPlayCodec> directPlayCodecs) {
|
||||
Set<String> codecNames = new HashSet<>();
|
||||
for (DirectPlayCodec directPlayCodec : directPlayCodecs) {
|
||||
if (directPlayCodec.selected) {
|
||||
codecNames.add(directPlayCodec.codec.toString());
|
||||
}
|
||||
}
|
||||
|
||||
final SharedPreferences.Editor editor = mPreferences.edit();
|
||||
editor.putStringSet(DIRECT_PLAY_CODECS, codecNames);
|
||||
editor.apply();
|
||||
}
|
||||
|
||||
public final int getMediaCacheSize() {
|
||||
return Integer.parseInt(mPreferences.getString(MEDIA_CACHE_SIZE, "400000000"));
|
||||
}
|
||||
|
|
@ -170,13 +155,4 @@ public class PreferenceUtil {
|
|||
public final boolean getAudioDucking() {
|
||||
return mPreferences.getBoolean(AUDIO_DUCKING, true);
|
||||
}
|
||||
|
||||
|
||||
public void registerOnSharedPreferenceChangedListener(SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener) {
|
||||
mPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
||||
}
|
||||
|
||||
public void unregisterOnSharedPreferenceChangedListener(SharedPreferences.OnSharedPreferenceChangeListener sharedPreferenceChangeListener) {
|
||||
mPreferences.unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener);
|
||||
}
|
||||
}
|
||||
|
|
@ -38,4 +38,16 @@
|
|||
<item>yes</item>
|
||||
<item>no</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="instant_mix_song_number_titles">
|
||||
<item>10</item>
|
||||
<item>25</item>
|
||||
<item>50</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="instant_mix_song_number_values">
|
||||
<item>10</item>
|
||||
<item>25</item>
|
||||
<item>50</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
<string name="label_placeholder">--</string>
|
||||
<string name="label_dot_separator">•</string>
|
||||
<string name="save_filters">Save filters between sessions</string>
|
||||
<string name="instant_mix_song_number">Number of songs generated by Instant Mix</string>
|
||||
|
||||
<string name="sync_header">Synchronization</string>
|
||||
<string name="music_sync">Music sync</string>
|
||||
|
|
|
|||
|
|
@ -27,6 +27,15 @@
|
|||
app:key="filtersPref"
|
||||
app:title="@string/save_filters"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
|
||||
<ListPreference
|
||||
app:defaultValue="10"
|
||||
app:dialogTitle="@string/instant_mix_song_number"
|
||||
app:entries="@array/instant_mix_song_number_titles"
|
||||
app:entryValues="@array/instant_mix_song_number_values"
|
||||
app:key="instant_mix_song_number"
|
||||
app:title="@string/instant_mix_song_number"
|
||||
app:useSimpleSummaryProvider="true" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/sync_header">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue