diff options
Diffstat (limited to 'app/src/main')
3 files changed, 24 insertions, 23 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/TagSettingsDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/TagSettingsDialog.java index 4feaefe28..de9f4d504 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/TagSettingsDialog.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/TagSettingsDialog.java @@ -24,6 +24,8 @@ public class TagSettingsDialog extends DialogFragment { public static final String TAG = "TagSettingsDialog"; private static final String ARG_FEED_PREFERENCES = "feed_preferences"; private List<String> displayedTags; + private EditTagsDialogBinding viewBinding; + private TagSelectionAdapter adapter; public static TagSettingsDialog newInstance(FeedPreferences preferences) { TagSettingsDialog fragment = new TagSettingsDialog(); @@ -40,29 +42,22 @@ public class TagSettingsDialog extends DialogFragment { displayedTags = new ArrayList<>(preferences.getTags()); displayedTags.remove(FeedPreferences.TAG_ROOT); - EditTagsDialogBinding viewBinding = EditTagsDialogBinding.inflate(getLayoutInflater()); + viewBinding = EditTagsDialogBinding.inflate(getLayoutInflater()); viewBinding.tagsRecycler.setLayoutManager(new GridLayoutManager(getContext(), 2)); viewBinding.tagsRecycler.addItemDecoration(new ItemOffsetDecoration(getContext(), 4)); - TagSelectionAdapter adapter = new TagSelectionAdapter(); + adapter = new TagSelectionAdapter(); adapter.setHasStableIds(true); viewBinding.tagsRecycler.setAdapter(adapter); viewBinding.rootFolderCheckbox.setChecked(preferences.getTags().contains(FeedPreferences.TAG_ROOT)); - - viewBinding.newTagButton.setOnClickListener(v -> { - String name = viewBinding.newTagEditText.getText().toString().trim(); - if (TextUtils.isEmpty(name) || displayedTags.contains(name)) { - return; - } - displayedTags.add(name); - viewBinding.newTagEditText.setText(""); - adapter.notifyDataSetChanged(); - }); + viewBinding.newTagButton.setOnClickListener(v -> + addTag(viewBinding.newTagEditText.getText().toString().trim())); AlertDialog.Builder dialog = new AlertDialog.Builder(getContext()); dialog.setView(viewBinding.getRoot()); dialog.setTitle(R.string.feed_folders_label); dialog.setPositiveButton(android.R.string.ok, (d, input) -> { + addTag(viewBinding.newTagEditText.getText().toString().trim()); preferences.getTags().clear(); preferences.getTags().addAll(displayedTags); if (viewBinding.rootFolderCheckbox.isChecked()) { @@ -74,6 +69,15 @@ public class TagSettingsDialog extends DialogFragment { return dialog.create(); } + private void addTag(String name) { + if (TextUtils.isEmpty(name) || displayedTags.contains(name)) { + return; + } + displayedTags.add(name); + viewBinding.newTagEditText.setText(""); + adapter.notifyDataSetChanged(); + } + public class TagSelectionAdapter extends RecyclerView.Adapter<TagSelectionAdapter.ViewHolder> { @Override diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java index 144ec1e66..7c821ba23 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java @@ -482,8 +482,11 @@ public class AudioPlayerFragment extends Fragment implements } else { txtvLength.setText(Converter.getDurationStringLong(duration)); } - float progress = ((float) event.getPosition()) / event.getDuration(); - sbPosition.setProgress((int) (progress * sbPosition.getMax())); + + if (!sbPosition.isPressed()) { + float progress = ((float) event.getPosition()) / event.getDuration(); + sbPosition.setProgress((int) (progress * sbPosition.getMax())); + } } @Subscribe(threadMode = ThreadMode.MAIN) diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java index 5b53949e4..1fda42d41 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/QueueFragment.java @@ -490,19 +490,13 @@ public class QueueFragment extends Fragment implements Toolbar.OnMenuItemClickLi final int position = viewHolder.getAdapterPosition(); Log.d(TAG, "remove(" + position + ")"); final FeedItem item = queue.get(position); - final boolean isRead = item.isPlayed(); - DBWriter.markItemPlayed(FeedItem.PLAYED, false, item.getId()); DBWriter.removeQueueItem(getActivity(), true, item); ((MainActivity) getActivity()).showSnackbarAbovePlayer( - item.hasMedia() ? R.string.marked_as_read_label : R.string.marked_as_read_no_media_label, + getResources().getQuantityString(R.plurals.removed_from_queue_batch_label, 1, 1), Snackbar.LENGTH_LONG) - .setAction(getString(R.string.undo), v -> { - DBWriter.addQueueItemAt(getActivity(), item.getId(), position, false); - if (!isRead) { - DBWriter.markItemPlayed(FeedItem.UNPLAYED, item.getId()); - } - }); + .setAction(getString(R.string.undo), v -> + DBWriter.addQueueItemAt(getActivity(), item.getId(), position, false)); } @Override |