mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2025-02-02 11:46:55 +01:00
Open podcast from statistics (#5898)
This commit is contained in:
parent
484b6d0932
commit
687ed5f2ff
@ -85,6 +85,7 @@ public class MainActivity extends CastEnabledActivity {
|
||||
public static final String EXTRA_FEED_ID = "fragment_feed_id";
|
||||
public static final String EXTRA_REFRESH_ON_START = "refresh_on_start";
|
||||
public static final String EXTRA_STARTED_FROM_SEARCH = "started_from_search";
|
||||
public static final String EXTRA_ADD_TO_BACK_STACK = "add_to_back_stack";
|
||||
public static final String KEY_GENERATED_VIEW_ID = "generated_view_id";
|
||||
|
||||
private @Nullable DrawerLayout drawerLayout;
|
||||
@ -524,7 +525,9 @@ public class MainActivity extends CastEnabledActivity {
|
||||
if (tag != null) {
|
||||
loadFragment(tag, args);
|
||||
} else if (feedId > 0) {
|
||||
if (intent.getBooleanExtra(EXTRA_STARTED_FROM_SEARCH, false)) {
|
||||
boolean startedFromSearch = intent.getBooleanExtra(EXTRA_STARTED_FROM_SEARCH, false);
|
||||
boolean addToBackStack = intent.getBooleanExtra(EXTRA_ADD_TO_BACK_STACK, false);
|
||||
if (startedFromSearch || addToBackStack) {
|
||||
loadChildFragment(FeedItemlistFragment.newInstance(feedId));
|
||||
} else {
|
||||
loadFeedFragmentById(feedId, args);
|
||||
|
@ -12,6 +12,8 @@ import android.os.Build;
|
||||
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";
|
||||
|
||||
private final Intent intent;
|
||||
private final Context context;
|
||||
@ -39,4 +41,14 @@ public class MainActivityStarter {
|
||||
intent.putExtra(EXTRA_OPEN_PLAYER, true);
|
||||
return this;
|
||||
}
|
||||
|
||||
public MainActivityStarter withOpenFeed(long feedId) {
|
||||
intent.putExtra(EXTRA_FEED_ID, feedId);
|
||||
return this;
|
||||
}
|
||||
|
||||
public MainActivityStarter withAddToBackStack() {
|
||||
intent.putExtra(EXTRA_ADD_TO_BACK_STACK, true);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
@ -13,8 +13,9 @@ android {
|
||||
|
||||
dependencies {
|
||||
implementation project(":core")
|
||||
implementation project(':event')
|
||||
implementation project(":event")
|
||||
implementation project(":model")
|
||||
implementation project(":ui:app-start-intent")
|
||||
implementation project(":ui:common")
|
||||
|
||||
annotationProcessor "androidx.annotation:annotation:$annotationVersion"
|
||||
|
@ -2,10 +2,13 @@ package de.danoeh.antennapod.ui.statistics.feed;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import de.danoeh.antennapod.ui.appstartintent.MainActivityStarter;
|
||||
import de.danoeh.antennapod.ui.statistics.R;
|
||||
|
||||
public class FeedStatisticsDialogFragment extends DialogFragment {
|
||||
@ -26,6 +29,10 @@ public class FeedStatisticsDialogFragment extends DialogFragment {
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
|
||||
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();
|
||||
});
|
||||
dialog.setTitle(getArguments().getString(EXTRA_FEED_TITLE));
|
||||
dialog.setView(R.layout.feed_statistics_dialog);
|
||||
return dialog.create();
|
||||
|
Loading…
x
Reference in New Issue
Block a user