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_FEED_ID = "fragment_feed_id";
|
||||||
public static final String EXTRA_REFRESH_ON_START = "refresh_on_start";
|
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_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";
|
public static final String KEY_GENERATED_VIEW_ID = "generated_view_id";
|
||||||
|
|
||||||
private @Nullable DrawerLayout drawerLayout;
|
private @Nullable DrawerLayout drawerLayout;
|
||||||
@ -524,7 +525,9 @@ public class MainActivity extends CastEnabledActivity {
|
|||||||
if (tag != null) {
|
if (tag != null) {
|
||||||
loadFragment(tag, args);
|
loadFragment(tag, args);
|
||||||
} else if (feedId > 0) {
|
} 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));
|
loadChildFragment(FeedItemlistFragment.newInstance(feedId));
|
||||||
} else {
|
} else {
|
||||||
loadFeedFragmentById(feedId, args);
|
loadFeedFragmentById(feedId, args);
|
||||||
|
@ -12,6 +12,8 @@ import android.os.Build;
|
|||||||
public class MainActivityStarter {
|
public class MainActivityStarter {
|
||||||
public static final String INTENT = "de.danoeh.antennapod.intents.MAIN_ACTIVITY";
|
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_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 Intent intent;
|
||||||
private final Context context;
|
private final Context context;
|
||||||
@ -39,4 +41,14 @@ public class MainActivityStarter {
|
|||||||
intent.putExtra(EXTRA_OPEN_PLAYER, true);
|
intent.putExtra(EXTRA_OPEN_PLAYER, true);
|
||||||
return this;
|
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 {
|
dependencies {
|
||||||
implementation project(":core")
|
implementation project(":core")
|
||||||
implementation project(':event')
|
implementation project(":event")
|
||||||
implementation project(":model")
|
implementation project(":model")
|
||||||
|
implementation project(":ui:app-start-intent")
|
||||||
implementation project(":ui:common")
|
implementation project(":ui:common")
|
||||||
|
|
||||||
annotationProcessor "androidx.annotation:annotation:$annotationVersion"
|
annotationProcessor "androidx.annotation:annotation:$annotationVersion"
|
||||||
|
@ -2,10 +2,13 @@ package de.danoeh.antennapod.ui.statistics.feed;
|
|||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
|
import de.danoeh.antennapod.ui.appstartintent.MainActivityStarter;
|
||||||
import de.danoeh.antennapod.ui.statistics.R;
|
import de.danoeh.antennapod.ui.statistics.R;
|
||||||
|
|
||||||
public class FeedStatisticsDialogFragment extends DialogFragment {
|
public class FeedStatisticsDialogFragment extends DialogFragment {
|
||||||
@ -26,6 +29,10 @@ public class FeedStatisticsDialogFragment extends DialogFragment {
|
|||||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||||
AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
|
AlertDialog.Builder dialog = new AlertDialog.Builder(getContext());
|
||||||
dialog.setPositiveButton(android.R.string.ok, null);
|
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.setTitle(getArguments().getString(EXTRA_FEED_TITLE));
|
||||||
dialog.setView(R.layout.feed_statistics_dialog);
|
dialog.setView(R.layout.feed_statistics_dialog);
|
||||||
return dialog.create();
|
return dialog.create();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user