From ef7e1a9b126e06d1fa55619e5dbf29971649ecec Mon Sep 17 00:00:00 2001 From: Shinokuni Date: Wed, 6 Mar 2019 16:20:30 +0100 Subject: [PATCH] Set folder spinner selection --- .../com/readrops/app/database/dao/FolderDao.java | 2 +- .../com/readrops/app/views/EditFeedDialog.java | 15 +++++++++++---- .../readrops/app/views/FeedWithFolderItem.java | 13 ++++++++----- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/readrops/app/database/dao/FolderDao.java b/app/src/main/java/com/readrops/app/database/dao/FolderDao.java index 4048abc9..0e147d27 100644 --- a/app/src/main/java/com/readrops/app/database/dao/FolderDao.java +++ b/app/src/main/java/com/readrops/app/database/dao/FolderDao.java @@ -13,7 +13,7 @@ import java.util.List; @Dao public interface FolderDao { - @Query("Select * from Folder") + @Query("Select * from Folder Order By name ASC") LiveData> getAllFolders(); @Insert diff --git a/app/src/main/java/com/readrops/app/views/EditFeedDialog.java b/app/src/main/java/com/readrops/app/views/EditFeedDialog.java index 30fffdde..15d9a64f 100644 --- a/app/src/main/java/com/readrops/app/views/EditFeedDialog.java +++ b/app/src/main/java/com/readrops/app/views/EditFeedDialog.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.TreeMap; import java.util.concurrent.Executors; public class EditFeedDialog extends DialogFragment implements AdapterView.OnItemSelectedListener { @@ -61,7 +62,7 @@ public class EditFeedDialog extends DialogFragment implements AdapterView.OnItem fillData(v); viewModel.getFolders().observe(this, folders -> { - values = new HashMap<>(); + values = new TreeMap<>(String::compareTo); for (Folder folder : folders) { if (folder.getId() != 1) values.put(folder.getName(), folder.getId()); @@ -69,11 +70,17 @@ public class EditFeedDialog extends DialogFragment implements AdapterView.OnItem values.put(getString(R.string.no_folder), 1); } - ArrayAdapter spinnerData = new ArrayAdapter(getActivity(), + ArrayAdapter adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item, new ArrayList<>(values.keySet())); - spinnerData.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); - folder.setAdapter(spinnerData); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + + folder.setAdapter(adapter); folder.setOnItemSelectedListener(this); + + if (!feedWithFolder.getFolder().getName().equals("reserved")) + folder.setSelection(adapter.getPosition(feedWithFolder.getFolder().getName())); + else + folder.setSelection(adapter.getPosition(getString(R.string.no_folder))); }); return builder.create(); diff --git a/app/src/main/java/com/readrops/app/views/FeedWithFolderItem.java b/app/src/main/java/com/readrops/app/views/FeedWithFolderItem.java index 0e5c6a99..80d32871 100644 --- a/app/src/main/java/com/readrops/app/views/FeedWithFolderItem.java +++ b/app/src/main/java/com/readrops/app/views/FeedWithFolderItem.java @@ -18,7 +18,8 @@ import java.util.List; public class FeedWithFolderItem extends ModelAbstractItem { public static final String FEED_NAME_KEY = "name"; - public static final String FOLDER_NAME_KEY = "folder_name"; + public static final String FOLDER_NAME_KEY = "folderName"; + public static final String FOLDER_ID_KEY = "folderKey"; private ManageFeedsListener listener; @@ -53,11 +54,13 @@ public class FeedWithFolderItem extends ModelAbstractItem listener.onEdit(feedWithFolder)); - holder.deleteFeed.setOnClickListener(v -> listener.onDelete(feedWithFolder)); + holder.editFeed.setOnClickListener(v -> listener.onEdit(getModel())); + holder.deleteFeed.setOnClickListener(v -> listener.onDelete(getModel())); }