Changes due to feedback in pull request #3315
This commit is contained in:
parent
fe9f0c8e7e
commit
c4399de8cb
|
@ -378,9 +378,11 @@ public class QueueFragment extends Fragment {
|
||||||
if (keepSortedNew) {
|
if (keepSortedNew) {
|
||||||
SortOrder sortOrder = UserPreferences.getQueueKeepSortedOrder();
|
SortOrder sortOrder = UserPreferences.getQueueKeepSortedOrder();
|
||||||
QueueSorter.sort(sortOrder, true);
|
QueueSorter.sort(sortOrder, true);
|
||||||
|
recyclerAdapter.setLocked(true);
|
||||||
|
} else {
|
||||||
|
recyclerAdapter.setLocked(UserPreferences.isQueueLocked());
|
||||||
}
|
}
|
||||||
// Update sort menu items and list lock elements
|
getActivity().invalidateOptionsMenu();
|
||||||
getActivity().recreate();
|
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
@ -393,16 +395,10 @@ public class QueueFragment extends Fragment {
|
||||||
/**
|
/**
|
||||||
* This method is called if the user clicks on a sort order menu item.
|
* This method is called if the user clicks on a sort order menu item.
|
||||||
*
|
*
|
||||||
* If the queue is in keep sorted mode, the new sort order is stored in the preferences and
|
|
||||||
* the queue is sorted. Otherwise the queue is just sorted.
|
|
||||||
*
|
|
||||||
* @param sortOrder New sort order.
|
* @param sortOrder New sort order.
|
||||||
*/
|
*/
|
||||||
private void setSortOrder(SortOrder sortOrder) {
|
private void setSortOrder(SortOrder sortOrder) {
|
||||||
boolean keepSorted = UserPreferences.isQueueKeepSorted();
|
UserPreferences.setQueueKeepSortedOrder(sortOrder);
|
||||||
if (keepSorted) {
|
|
||||||
UserPreferences.setQueueKeepSortedOrder(sortOrder);
|
|
||||||
}
|
|
||||||
QueueSorter.sort(sortOrder, true);
|
QueueSorter.sort(sortOrder, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -899,7 +899,7 @@ public class UserPreferences {
|
||||||
*/
|
*/
|
||||||
public static SortOrder getQueueKeepSortedOrder() {
|
public static SortOrder getQueueKeepSortedOrder() {
|
||||||
String sortOrderStr = prefs.getString(PREF_QUEUE_KEEP_SORTED_ORDER, "use-default");
|
String sortOrderStr = prefs.getString(PREF_QUEUE_KEEP_SORTED_ORDER, "use-default");
|
||||||
return parseSortOrder(sortOrderStr);
|
return SortOrder.parseWithDefault(sortOrderStr, SortOrder.DATE_NEW_OLD);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -915,17 +915,4 @@ public class UserPreferences {
|
||||||
.putString(PREF_QUEUE_KEEP_SORTED_ORDER, sortOrder.name())
|
.putString(PREF_QUEUE_KEEP_SORTED_ORDER, sortOrder.name())
|
||||||
.apply();
|
.apply();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts the string representation to its enum value. If the string value is unknown,
|
|
||||||
* a default value is retuned.
|
|
||||||
*/
|
|
||||||
private static SortOrder parseSortOrder(String value) {
|
|
||||||
try {
|
|
||||||
return SortOrder.valueOf(value);
|
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
// default value
|
|
||||||
return SortOrder.DATE_NEW_OLD;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -416,6 +416,10 @@ public class DBWriter {
|
||||||
|
|
||||||
// Sort queue by configured sort order
|
// Sort queue by configured sort order
|
||||||
SortOrder sortOrder = UserPreferences.getQueueKeepSortedOrder();
|
SortOrder sortOrder = UserPreferences.getQueueKeepSortedOrder();
|
||||||
|
if (sortOrder == SortOrder.RANDOM) {
|
||||||
|
// do not shuffle the list on every change
|
||||||
|
return;
|
||||||
|
}
|
||||||
Permutor<FeedItem> permutor = QueueSorter.getPermutor(sortOrder);
|
Permutor<FeedItem> permutor = QueueSorter.getPermutor(sortOrder);
|
||||||
permutor.reorder(queue);
|
permutor.reorder(queue);
|
||||||
|
|
||||||
|
|
|
@ -14,5 +14,17 @@ public enum SortOrder {
|
||||||
FEED_TITLE_Z_A,
|
FEED_TITLE_Z_A,
|
||||||
RANDOM,
|
RANDOM,
|
||||||
SMART_SHUFFLE_OLD_NEW,
|
SMART_SHUFFLE_OLD_NEW,
|
||||||
SMART_SHUFFLE_NEW_OLD
|
SMART_SHUFFLE_NEW_OLD;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts the string representation to its enum value. If the string value is unknown,
|
||||||
|
* the given default value is returned.
|
||||||
|
*/
|
||||||
|
public static SortOrder parseWithDefault(String value, SortOrder defaultValue) {
|
||||||
|
try {
|
||||||
|
return valueOf(value);
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue