summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-11-01 09:58:18 +0100
committerByteHamster <info@bytehamster.com>2020-11-01 15:35:39 +0100
commit1ffb9f94644b136aaf16ae13bc777485268cb247 (patch)
treec4050bbfb199f09d4a124e2853f758f6365f232b /app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
parent4a4392e79739aeab15eb53deab1840be814f3ecf (diff)
downloadAntennaPod-1ffb9f94644b136aaf16ae13bc777485268cb247.zip
Converted second-level fragments to stand-alone toolbar
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java49
1 files changed, 18 insertions, 31 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
index 5fd2c3c8d..674ee5757 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
@@ -13,7 +13,6 @@ import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
-import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.documentfile.provider.DocumentFile;
import androidx.fragment.app.Fragment;
@@ -21,8 +20,6 @@ import android.text.TextUtils;
import android.text.format.Formatter;
import android.util.Log;
import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
@@ -67,7 +64,7 @@ import java.util.Locale;
/**
* Displays information about a feed.
*/
-public class FeedInfoFragment extends Fragment {
+public class FeedInfoFragment extends Fragment implements Toolbar.OnMenuItemClickListener {
private static final String EXTRA_FEED_ID = "de.danoeh.antennapod.extra.feedId";
private static final String TAG = "FeedInfoActivity";
@@ -89,7 +86,7 @@ public class FeedInfoFragment extends Fragment {
private ImageView imgvBackground;
private View infoContainer;
private View header;
- private Menu optionsMenu;
+ private Toolbar toolbar;
private ToolbarIconTintManager iconTintManager;
public static FeedInfoFragment newInstance(Feed feed) {
@@ -119,25 +116,25 @@ public class FeedInfoFragment extends Fragment {
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.feedinfo, null);
- Toolbar toolbar = root.findViewById(R.id.toolbar);
+ toolbar = root.findViewById(R.id.toolbar);
toolbar.setTitle("");
- ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
+ toolbar.inflateMenu(R.menu.feedinfo);
+ toolbar.setNavigationOnClickListener(v -> getParentFragmentManager().popBackStack());
+ toolbar.setOnMenuItemClickListener(this);
+ refreshToolbarState();
+
AppBarLayout appBar = root.findViewById(R.id.appBar);
CollapsingToolbarLayout collapsingToolbar = root.findViewById(R.id.collapsing_toolbar);
iconTintManager = new ToolbarIconTintManager(getContext(), toolbar, collapsingToolbar) {
@Override
protected void doTint(Context themedContext) {
- if (optionsMenu == null) {
- return;
- }
- optionsMenu.findItem(R.id.visit_website_item)
+ toolbar.getMenu().findItem(R.id.visit_website_item)
.setIcon(ThemeUtils.getDrawableFromAttr(themedContext, R.attr.location_web_site));
}
};
+ iconTintManager.updateTint();
appBar.addOnOffsetChangedListener(iconTintManager);
- setHasOptionsMenu(true);
-
imgvCover = root.findViewById(R.id.imgvCover);
txtvTitle = root.findViewById(R.id.txtvTitle);
txtvAuthorHeader = root.findViewById(R.id.txtvAuthor);
@@ -234,7 +231,7 @@ public class FeedInfoFragment extends Fragment {
txtvUrl.setText(feed.getDownload_url() + " {fa-paperclip}");
Iconify.addIcons(txtvUrl);
- getActivity().invalidateOptionsMenu();
+ refreshToolbarState();
}
private void loadStatistics() {
@@ -286,29 +283,19 @@ public class FeedInfoFragment extends Fragment {
}
}
- @Override
- public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
- super.onCreateOptionsMenu(menu, inflater);
- inflater.inflate(R.menu.feedinfo, menu);
- optionsMenu = menu;
- iconTintManager.updateTint();
- }
-
- @Override
- public void onPrepareOptionsMenu(@NonNull Menu menu) {
- super.onPrepareOptionsMenu(menu);
- menu.findItem(R.id.reconnect_local_folder).setVisible(feed != null && feed.isLocalFeed());
- menu.findItem(R.id.share_link_item).setVisible(feed != null && feed.getLink() != null);
- menu.findItem(R.id.visit_website_item).setVisible(feed != null && feed.getLink() != null
+ private void refreshToolbarState() {
+ toolbar.getMenu().findItem(R.id.reconnect_local_folder).setVisible(feed != null && feed.isLocalFeed());
+ toolbar.getMenu().findItem(R.id.share_link_item).setVisible(feed != null && feed.getLink() != null);
+ toolbar.getMenu().findItem(R.id.visit_website_item).setVisible(feed != null && feed.getLink() != null
&& IntentUtils.isCallable(getContext(), new Intent(Intent.ACTION_VIEW, Uri.parse(feed.getLink()))));
}
@Override
- public boolean onOptionsItemSelected(@NonNull MenuItem item) {
+ public boolean onMenuItemClick(MenuItem item) {
if (feed == null) {
((MainActivity) getActivity()).showSnackbarAbovePlayer(
R.string.please_wait_for_data, Toast.LENGTH_LONG);
- return super.onOptionsItemSelected(item);
+ return false;
}
boolean handled = false;
try {
@@ -335,7 +322,7 @@ public class FeedInfoFragment extends Fragment {
return true;
}
- return handled || super.onOptionsItemSelected(item);
+ return handled;
}
@Override