match upstream name for direct play

This commit is contained in:
dkanada 2020-07-23 14:34:28 +09:00
commit 613edf239a
11 changed files with 68 additions and 69 deletions

View file

@ -14,7 +14,7 @@ import com.dkanada.gramophone.App;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.model.Album;
import com.dkanada.gramophone.model.Artist;
import com.dkanada.gramophone.model.DirectplayCodec;
import com.dkanada.gramophone.model.DirectPlayCodec;
import com.dkanada.gramophone.model.Genre;
import com.dkanada.gramophone.model.Song;
@ -43,17 +43,18 @@ public class MusicUtil {
builder.append("&MaxStreamingBitrate=").append(preferenceUtil.getMaximumBitrate());
boolean containerAdded = false;
for (DirectplayCodec directplayCodec : preferenceUtil.getDirectplayCodecs()) {
if (directplayCodec.selected){
for (DirectPlayCodec directPlayCodec : preferenceUtil.getDirectPlayCodecs()) {
if (directPlayCodec.selected){
if (!containerAdded){
builder.append("&Container=");
containerAdded = true;
}
builder.append(directplayCodec.value).append(',');
builder.append(directPlayCodec.value).append(',');
}
}
if (containerAdded) {
// Remove last comma
// remove last comma
builder.deleteCharAt(builder.length() - 1);
}

View file

@ -15,7 +15,7 @@ import com.dkanada.gramophone.R;
import com.dkanada.gramophone.helper.sort.SortMethod;
import com.dkanada.gramophone.helper.sort.SortOrder;
import com.dkanada.gramophone.model.CategoryInfo;
import com.dkanada.gramophone.model.DirectplayCodec;
import com.dkanada.gramophone.model.DirectPlayCodec;
import com.dkanada.gramophone.ui.fragments.player.NowPlayingScreen;
import java.lang.reflect.Type;
@ -26,7 +26,7 @@ import java.util.Set;
public final class PreferenceUtil {
public static final String CATEGORIES = "library_categories";
public static final String DIRECTPLAY_CODECS = "directplay_codecs";
public static final String DIRECT_PLAY_CODECS = "direct_play_codecs";
public static final String MAXIMUM_LIST_SIZE = "maximum_list_size";
public static final String REMEMBER_LAST_TAB = "remember_last_tab";
public static final String LAST_TAB = "last_tab";
@ -423,37 +423,36 @@ public final class PreferenceUtil {
return defaultCategories;
}
public List<DirectplayCodec> getDirectplayCodecs() {
DirectplayCodec.Codec[] codecs = DirectplayCodec.Codec.values();
public List<DirectPlayCodec> getDirectPlayCodecs() {
DirectPlayCodec.Codec[] codecs = DirectPlayCodec.Codec.values();
Set<String> selectedCodecNames = new HashSet<>();
for (DirectplayCodec.Codec codec : codecs){
for (DirectPlayCodec.Codec codec : codecs){
selectedCodecNames.add(codec.name());
}
selectedCodecNames = mPreferences.getStringSet(DIRECTPLAY_CODECS, selectedCodecNames);
selectedCodecNames = mPreferences.getStringSet(DIRECT_PLAY_CODECS, selectedCodecNames);
ArrayList<DirectplayCodec> directplayCodecs = new ArrayList<>();
for (DirectplayCodec.Codec codec : codecs){
ArrayList<DirectPlayCodec> directPlayCodecs = new ArrayList<>();
for (DirectPlayCodec.Codec codec : codecs){
String name = codec.name();
boolean selected = selectedCodecNames.contains(name);
directplayCodecs.add(new DirectplayCodec(name, codec.title, codec.value, selected));
directPlayCodecs.add(new DirectPlayCodec(name, codec.title, codec.value, selected));
}
return directplayCodecs;
return directPlayCodecs;
}
public void setDirectplayCodecs(List<DirectplayCodec> directplayCodecs) {
public void setDirectPlayCodecs(List<DirectPlayCodec> directPlayCodecs) {
Set<String> codecNames = new HashSet<>();
for (DirectplayCodec directplayCodec : directplayCodecs){
if (directplayCodec.selected){
codecNames.add(directplayCodec.codecName);
for (DirectPlayCodec directPlayCodec : directPlayCodecs){
if (directPlayCodec.selected){
codecNames.add(directPlayCodec.codecName);
}
}
final SharedPreferences.Editor editor = mPreferences.edit();
editor.putStringSet(DIRECTPLAY_CODECS, codecNames);
editor.putStringSet(DIRECT_PLAY_CODECS, codecNames);
editor.apply();
}
}