diff --git a/app/src/main/java/app/fedilab/android/activities/OwnerStatusActivity.java b/app/src/main/java/app/fedilab/android/activities/OwnerStatusActivity.java index 9bfcecb72..af78954c0 100644 --- a/app/src/main/java/app/fedilab/android/activities/OwnerStatusActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/OwnerStatusActivity.java @@ -369,11 +369,13 @@ public class OwnerStatusActivity extends BaseActivity implements OnRetrieveFeeds final Spinner filter_replies = dialogView.findViewById(R.id.filter_replies); final Spinner filter_media = dialogView.findViewById(R.id.filter_media); final Spinner filter_pinned = dialogView.findViewById(R.id.filter_pinned); + final Spinner filter_order = dialogView.findViewById(R.id.filter_order); filter_boost.setSelection(filterToots.getBoosts().ordinal()); filter_replies.setSelection(filterToots.getReplies().ordinal()); filter_media.setSelection(filterToots.getMedia().ordinal()); filter_pinned.setSelection(filterToots.getPinned().ordinal()); + filter_order.setSelection(filterToots.getOrder().ordinal()); final EditText filter_keywords = dialogView.findViewById(R.id.filter_keywords); @@ -422,6 +424,7 @@ public class OwnerStatusActivity extends BaseActivity implements OnRetrieveFeeds filterToots.setReplies(FilterToots.typeFilter.values()[filter_replies.getSelectedItemPosition()]); filterToots.setMedia(FilterToots.typeFilter.values()[filter_media.getSelectedItemPosition()]); filterToots.setPinned(FilterToots.typeFilter.values()[filter_pinned.getSelectedItemPosition()]); + filterToots.setOrder(FilterToots.typeOrder.values()[filter_order.getSelectedItemPosition()]); filterToots.setV_public(filter_visibility_public.isChecked()); filterToots.setV_unlisted(filter_visibility_unlisted.isChecked()); diff --git a/app/src/main/java/app/fedilab/android/helper/FilterToots.java b/app/src/main/java/app/fedilab/android/helper/FilterToots.java index de99b7d0a..6d638415f 100644 --- a/app/src/main/java/app/fedilab/android/helper/FilterToots.java +++ b/app/src/main/java/app/fedilab/android/helper/FilterToots.java @@ -21,16 +21,30 @@ package app.fedilab.android.helper; public class FilterToots { + public typeOrder getOrder() { + return order; + } + + public void setOrder(typeOrder order) { + this.order = order; + } + public enum typeFilter { NONE, ONLY, BOTH } + public enum typeOrder { + DESC, + ASC, + } + private typeFilter pinned = typeFilter.BOTH; private typeFilter boosts = typeFilter.BOTH; private typeFilter replies = typeFilter.BOTH; private typeFilter media = typeFilter.BOTH; + private typeOrder order = typeOrder.DESC; private boolean v_public = true; private boolean v_unlisted = true; diff --git a/app/src/main/java/app/fedilab/android/sqlite/StatusCacheDAO.java b/app/src/main/java/app/fedilab/android/sqlite/StatusCacheDAO.java index 9332cd31b..f8a1fa8bb 100644 --- a/app/src/main/java/app/fedilab/android/sqlite/StatusCacheDAO.java +++ b/app/src/main/java/app/fedilab/android/sqlite/StatusCacheDAO.java @@ -329,9 +329,18 @@ public class StatusCacheDAO { } selection.append(")"); } + String order = Sqlite.COL_CREATED_AT + " DESC"; + + if (filterToots.getOrder() != null) { + if( filterToots.getOrder() == FilterToots.typeOrder.ASC ){ + order = Sqlite.COL_CREATED_AT + " ASC"; + }else if(filterToots.getOrder() == FilterToots.typeOrder.DESC) { + order = Sqlite.COL_CREATED_AT + " DESC"; + } + } try { - Cursor c = db.query(Sqlite.TABLE_STATUSES_CACHE, null, selection.toString(), null, null, null, Sqlite.COL_CREATED_AT + " DESC", "40"); + Cursor c = db.query(Sqlite.TABLE_STATUSES_CACHE, null, selection.toString(), null, null, null, order, "40"); return cursorToListStatuses(c); } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/res/layout/filter_owner_toots.xml b/app/src/main/res/layout/filter_owner_toots.xml index fe5aac62c..0dd4b89a2 100644 --- a/app/src/main/res/layout/filter_owner_toots.xml +++ b/app/src/main/res/layout/filter_owner_toots.xml @@ -67,6 +67,28 @@ android:layout_height="wrap_content" /> + + + + + + + + + + Backup notifications for %1$s %1$s new toots have been imported %1$s new notifications have been imported + + + Dates descending + Dates ascending + + No Only @@ -1236,4 +1242,5 @@ Message preview Add mentions in each message Fetching conversation + Order by \ No newline at end of file