Fix back stack being cleared after searching (#7757)

This commit is contained in:
ByteHamster
2025-04-13 22:20:42 +02:00
committed by GitHub
parent 74def18a48
commit d95e03b51b
11 changed files with 17 additions and 28 deletions

View File

@ -14,7 +14,7 @@ public class MainActivityStarter {
public static final String INTENT = "de.danoeh.antennapod.intents.MAIN_ACTIVITY";
public static final String EXTRA_OPEN_PLAYER = "open_player";
public static final String EXTRA_FEED_ID = "fragment_feed_id";
public static final String EXTRA_ADD_TO_BACK_STACK = "add_to_back_stack";
public static final String EXTRA_CLEAR_BACK_STACK = "clear_back_stack";
public static final String EXTRA_FRAGMENT_TAG = "fragment_tag";
public static final String EXTRA_OPEN_DRAWER = "open_drawer";
public static final String EXTRA_OPEN_DOWNLOAD_LOGS = "open_download_logs";
@ -56,8 +56,8 @@ public class MainActivityStarter {
return this;
}
public MainActivityStarter withAddToBackStack() {
intent.putExtra(EXTRA_ADD_TO_BACK_STACK, true);
public MainActivityStarter withClearBackStack() {
intent.putExtra(EXTRA_CLEAR_BACK_STACK, true);
return this;
}

View File

@ -7,7 +7,6 @@ public class OnlineFeedviewActivityStarter {
public static final String INTENT = "de.danoeh.antennapod.intents.ONLINE_FEEDVIEW";
public static final String ARG_FEEDURL = "arg.feedurl";
public static final String ARG_WAS_MANUAL_URL = "manual_url";
public static final String ARG_STARTED_FROM_SEARCH = "started_from_search";
private final Intent intent;
public OnlineFeedviewActivityStarter(Context context, String feedUrl) {
@ -16,11 +15,6 @@ public class OnlineFeedviewActivityStarter {
intent.putExtra(ARG_FEEDURL, feedUrl);
}
public OnlineFeedviewActivityStarter withStartedFromSearch() {
intent.putExtra(ARG_STARTED_FROM_SEARCH, true);
return this;
}
public OnlineFeedviewActivityStarter withManualUrl() {
intent.putExtra(ARG_WAS_MANUAL_URL, true);
return this;

View File

@ -97,8 +97,7 @@ public class OnlineSearchFragment extends Fragment {
//Show information about the podcast when the list item is clicked
gridView.setOnItemClickListener((parent, view1, position, id) -> {
PodcastSearchResult podcast = searchResults.get(position);
startActivity(new OnlineFeedviewActivityStarter(getContext(), podcast.feedUrl)
.withStartedFromSearch().getIntent());
startActivity(new OnlineFeedviewActivityStarter(getContext(), podcast.feedUrl).getIntent());
});
progressBar = root.findViewById(R.id.progressBar);
txtvError = root.findViewById(R.id.txtvError);

View File

@ -47,7 +47,6 @@ public class QuickFeedDiscoveryFragment extends Fragment implements AdapterView.
viewBinding = QuickFeedDiscoveryBinding.inflate(inflater);
viewBinding.discoverMore.setOnClickListener(v -> startActivity(new MainActivityStarter(getContext())
.withFragmentLoaded(DiscoveryFragment.TAG)
.withAddToBackStack()
.getIntent()));
adapter = new FeedDiscoverAdapter(getActivity());

View File

@ -31,7 +31,7 @@ public class FeedStatisticsDialogFragment extends DialogFragment {
dialog.setPositiveButton(android.R.string.ok, null);
dialog.setNeutralButton(R.string.open_podcast, (dialogInterface, i) -> {
long feedId = getArguments().getLong(EXTRA_FEED_ID);
new MainActivityStarter(getContext()).withOpenFeed(feedId).withAddToBackStack().start();
new MainActivityStarter(getContext()).withOpenFeed(feedId).start();
});
dialog.setTitle(getArguments().getString(EXTRA_FEED_TITLE));
dialog.setView(R.layout.feed_statistics_dialog);

View File

@ -69,7 +69,8 @@ public abstract class WidgetUpdater {
if (widgetState.media != null && widgetState.media.getMediaType() == MediaType.VIDEO) {
startMediaPlayer = new VideoPlayerActivityStarter(context).getPendingIntent();
} else {
startMediaPlayer = new MainActivityStarter(context).withOpenPlayer().getPendingIntent();
startMediaPlayer = new MainActivityStarter(context)
.withOpenPlayer().withClearBackStack().getPendingIntent();
}
PendingIntent startPlaybackSpeedDialog = new PlaybackSpeedActivityStarter(context).getPendingIntent();