Restructure related UI classes together (#7044)

This commit is contained in:
ByteHamster 2024-03-31 18:40:15 +02:00 committed by GitHub
parent 4e47691e70
commit edb440a5a9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
195 changed files with 617 additions and 724 deletions

View File

@ -122,6 +122,10 @@ dependencies {
implementation 'com.github.skydoves:balloon:1.5.3'
implementation 'com.github.xabaras:RecyclerViewSwipeDecorator:1.3'
testImplementation "androidx.test:core:$testCoreVersion"
testImplementation "junit:junit:$junitVersion"
testImplementation "org.robolectric:robolectric:$robolectricVersion"
androidTestImplementation "org.awaitility:awaitility:$awaitilityVersion"
androidTestImplementation 'com.nanohttpd:nanohttpd:2.1.1'
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"

View File

@ -25,7 +25,7 @@ import junit.framework.AssertionFailedError;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.fragment.NavDrawerFragment;
import de.danoeh.antennapod.ui.screen.drawer.NavDrawerFragment;
import org.awaitility.Awaitility;
import org.awaitility.core.ConditionTimeoutException;
import org.hamcrest.Matcher;

View File

@ -8,7 +8,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.fragment.AllEpisodesFragment;
import de.danoeh.antennapod.ui.screen.AllEpisodesFragment;
import de.test.antennapod.EspressoTestUtils;
import de.test.antennapod.ui.UITestUtils;
import org.hamcrest.Matcher;

View File

@ -7,14 +7,14 @@ import androidx.test.espresso.intent.rule.IntentsTestRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.fragment.CompletedDownloadsFragment;
import de.danoeh.antennapod.ui.screen.preferences.PreferenceActivity;
import de.danoeh.antennapod.ui.screen.download.CompletedDownloadsFragment;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.fragment.AllEpisodesFragment;
import de.danoeh.antennapod.fragment.NavDrawerFragment;
import de.danoeh.antennapod.fragment.PlaybackHistoryFragment;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.danoeh.antennapod.ui.screen.AllEpisodesFragment;
import de.danoeh.antennapod.ui.screen.drawer.NavDrawerFragment;
import de.danoeh.antennapod.ui.screen.PlaybackHistoryFragment;
import de.danoeh.antennapod.ui.screen.queue.QueueFragment;
import de.test.antennapod.EspressoTestUtils;
import org.junit.After;
import org.junit.Before;

View File

@ -9,7 +9,7 @@ import androidx.preference.PreferenceManager;
import androidx.test.filters.LargeTest;
import androidx.test.rule.ActivityTestRule;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.ui.screen.preferences.PreferenceActivity;
import de.danoeh.antennapod.core.storage.APCleanupAlgorithm;
import de.danoeh.antennapod.core.storage.APNullCleanupAlgorithm;
import de.danoeh.antennapod.core.storage.APQueueCleanupAlgorithm;

View File

@ -5,7 +5,7 @@ import androidx.test.espresso.intent.rule.IntentsTestRule;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.danoeh.antennapod.ui.screen.queue.QueueFragment;
import de.test.antennapod.EspressoTestUtils;
import org.junit.Before;
import org.junit.Rule;

View File

@ -44,7 +44,7 @@
android:networkSecurityConfig="@xml/network_security_config">
<activity
android:name=".activity.PlaybackSpeedDialogActivity"
android:name=".ui.screen.playback.PlaybackSpeedDialogActivity"
android:noHistory="true"
android:exported="false"
android:excludeFromRecents="true"
@ -129,7 +129,7 @@
</activity>
<activity
android:name=".activity.PreferenceActivity"
android:name=".ui.screen.preferences.PreferenceActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="false"
android:label="@string/settings_label">
@ -167,15 +167,15 @@
</intent-filter>
</activity>
<activity
android:name=".activity.BugReportActivity"
android:name=".ui.screen.preferences.BugReportActivity"
android:label="@string/bug_report_title">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="de.danoeh.antennapod.activity.PreferenceActivity"/>
android:value="de.danoeh.antennapod.ui.screen.preferences.PreferenceActivity"/>
</activity>
<activity
android:name=".activity.VideoplayerActivity"
android:name=".ui.screen.playback.video.VideoplayerActivity"
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
android:supportsPictureInPicture="true"
android:screenOrientation="sensorLandscape"
@ -190,7 +190,7 @@
</activity>
<activity
android:name=".activity.OnlineFeedViewActivity"
android:name=".ui.screen.onlinefeedview.OnlineFeedViewActivity"
android:configChanges="orientation|screenSize"
android:theme="@style/Theme.AntennaPod.Dark.Translucent"
android:label="@string/add_feed_label"
@ -322,24 +322,7 @@
</activity>
<receiver
android:name=".receiver.ConnectivityActionReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
<receiver
android:name=".receiver.PowerConnectionReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
</intent-filter>
</receiver>
<receiver
android:name=".receiver.SPAReceiver"
android:name=".spa.SPAReceiver"
android:exported="true">
<intent-filter>
<action android:name="de.danoeh.antennapdsp.intent.SP_APPS_QUERY_FEEDS_RESPONSE"/>

View File

@ -20,7 +20,6 @@ import de.danoeh.antennapod.net.common.AntennapodHttpClient;
import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterface;
import de.danoeh.antennapod.net.download.service.feed.DownloadServiceInterfaceImpl;
import de.danoeh.antennapod.net.common.NetworkUtils;
import de.danoeh.antennapod.core.util.download.NetworkConnectionChangeHandler;
import de.danoeh.antennapod.net.ssl.SslProviderInstaller;
import de.danoeh.antennapod.storage.database.PodDBAdapter;
@ -48,7 +47,6 @@ public class ClientConfigurator {
PlaybackPreferences.init(context);
SslProviderInstaller.install(context);
NetworkUtils.init(context);
NetworkConnectionChangeHandler.init(context);
DownloadServiceInterface.setImpl(new DownloadServiceInterfaceImpl());
FeedUpdateManager.setInstance(new FeedUpdateManagerImpl());
AutoDownloadManager.setInstance(new AutoDownloadManagerImpl());

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.error;
package de.danoeh.antennapod;
import android.os.Build;
import android.util.Log;

View File

@ -5,11 +5,9 @@ import android.os.StrictMode;
import com.google.android.material.color.DynamicColors;
import de.danoeh.antennapod.error.CrashReportWriter;
import de.danoeh.antennapod.error.RxJavaErrorHandlerSetup;
import de.danoeh.antennapod.preferences.PreferenceUpgrader;
import de.danoeh.antennapod.spa.SPAUtil;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.EventBusException;
/** Main application class. */
public class PodcastApp extends Application {
@ -30,16 +28,20 @@ public class PodcastApp extends Application {
StrictMode.setVmPolicy(builder.build());
}
ClientConfigurator.initialize(this);
PreferenceUpgrader.checkUpgrades(this);
SPAUtil.sendSPAppsQueryFeedsIntent(this);
EventBus.builder()
.addIndex(new ApEventBusIndex())
.logNoSubscriberMessages(false)
.sendNoSubscriberEvent(false)
.installDefaultEventBus();
try {
// Robolectric calls onCreate for every test, which causes problems with static members
EventBus.builder()
.addIndex(new ApEventBusIndex())
.logNoSubscriberMessages(false)
.sendNoSubscriberEvent(false)
.installDefaultEventBus();
} catch (EventBusException e) {
e.printStackTrace();
}
DynamicColors.applyToActivitiesIfAvailable(this);
ClientConfigurator.initialize(this);
PreferenceUpgrader.checkUpgrades(this);
SPAUtil.sendSPAppsQueryFeedsIntent(this);
}
}

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.preferences;
package de.danoeh.antennapod;
import android.content.Context;
import android.content.SharedPreferences;
@ -13,13 +13,13 @@ import java.util.concurrent.TimeUnit;
import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.storage.preferences.SleepTimerPreferences;
import de.danoeh.antennapod.error.CrashReportWriter;
import de.danoeh.antennapod.fragment.AllEpisodesFragment;
import de.danoeh.antennapod.CrashReportWriter;
import de.danoeh.antennapod.ui.screen.AllEpisodesFragment;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.storage.preferences.UserPreferences.EnqueueLocation;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.danoeh.antennapod.fragment.swipeactions.SwipeAction;
import de.danoeh.antennapod.fragment.swipeactions.SwipeActions;
import de.danoeh.antennapod.ui.screen.queue.QueueFragment;
import de.danoeh.antennapod.ui.swipeactions.SwipeAction;
import de.danoeh.antennapod.ui.swipeactions.SwipeActions;
public class PreferenceUpgrader {
private static final String PREF_CONFIGURED_VERSION = "version_code";

View File

@ -1,7 +1,6 @@
package de.danoeh.antennapod.error;
package de.danoeh.antennapod;
import android.util.Log;
import de.danoeh.antennapod.BuildConfig;
import io.reactivex.exceptions.UndeliverableException;
import io.reactivex.plugins.RxJavaPlugins;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
import androidx.annotation.DrawableRes;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
import android.view.View;
@ -11,7 +11,7 @@ import de.danoeh.antennapod.R;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedMedia;
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.view.LocalDeleteModal;
import de.danoeh.antennapod.ui.view.LocalDeleteModal;
public class DeleteActionButton extends ItemActionButton {

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
import android.view.View;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
import android.widget.ImageView;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
import androidx.annotation.DrawableRes;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
import android.view.KeyEvent;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
import android.util.Log;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
import androidx.annotation.DrawableRes;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
@ -13,7 +13,7 @@ import de.danoeh.antennapod.playback.service.PlaybackService;
import de.danoeh.antennapod.playback.service.PlaybackServiceStarter;
import de.danoeh.antennapod.storage.preferences.UsageStatistics;
import de.danoeh.antennapod.net.common.NetworkUtils;
import de.danoeh.antennapod.dialog.StreamingConfirmationDialog;
import de.danoeh.antennapod.ui.StreamingConfirmationDialog;
public class StreamActionButton extends ItemActionButton {

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter.actionbutton;
package de.danoeh.antennapod.actionbutton;
import android.content.Context;
import android.view.View;

View File

@ -40,23 +40,23 @@ import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager;
import de.danoeh.antennapod.net.sync.serviceinterface.SynchronizationQueueSink;
import de.danoeh.antennapod.ui.appstartintent.MediaButtonStarter;
import de.danoeh.antennapod.ui.common.ThemeSwitcher;
import de.danoeh.antennapod.dialog.rating.RatingDialogManager;
import de.danoeh.antennapod.ui.screen.rating.RatingDialogManager;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
import de.danoeh.antennapod.event.FeedUpdateRunningEvent;
import de.danoeh.antennapod.event.MessageEvent;
import de.danoeh.antennapod.fragment.AddFeedFragment;
import de.danoeh.antennapod.fragment.AllEpisodesFragment;
import de.danoeh.antennapod.fragment.AudioPlayerFragment;
import de.danoeh.antennapod.fragment.CompletedDownloadsFragment;
import de.danoeh.antennapod.fragment.DownloadLogFragment;
import de.danoeh.antennapod.fragment.FeedItemlistFragment;
import de.danoeh.antennapod.fragment.InboxFragment;
import de.danoeh.antennapod.fragment.NavDrawerFragment;
import de.danoeh.antennapod.fragment.PlaybackHistoryFragment;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.danoeh.antennapod.fragment.SearchFragment;
import de.danoeh.antennapod.fragment.SubscriptionFragment;
import de.danoeh.antennapod.fragment.TransitionEffect;
import de.danoeh.antennapod.ui.screen.AddFeedFragment;
import de.danoeh.antennapod.ui.screen.AllEpisodesFragment;
import de.danoeh.antennapod.ui.screen.playback.audio.AudioPlayerFragment;
import de.danoeh.antennapod.ui.screen.download.CompletedDownloadsFragment;
import de.danoeh.antennapod.ui.screen.download.DownloadLogFragment;
import de.danoeh.antennapod.ui.screen.feed.FeedItemlistFragment;
import de.danoeh.antennapod.ui.screen.InboxFragment;
import de.danoeh.antennapod.ui.screen.drawer.NavDrawerFragment;
import de.danoeh.antennapod.ui.screen.PlaybackHistoryFragment;
import de.danoeh.antennapod.ui.screen.queue.QueueFragment;
import de.danoeh.antennapod.ui.screen.SearchFragment;
import de.danoeh.antennapod.ui.screen.subscriptions.SubscriptionFragment;
import de.danoeh.antennapod.ui.TransitionEffect;
import de.danoeh.antennapod.model.download.DownloadStatus;
import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterface;
import de.danoeh.antennapod.playback.cast.CastEnabledActivity;
@ -65,8 +65,8 @@ import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.appstartintent.MainActivityStarter;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import de.danoeh.antennapod.ui.discovery.DiscoveryFragment;
import de.danoeh.antennapod.ui.home.HomeFragment;
import de.danoeh.antennapod.view.LockableBottomSheetBehavior;
import de.danoeh.antennapod.ui.screen.home.HomeFragment;
import de.danoeh.antennapod.ui.view.LockableBottomSheetBehavior;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.Validate;
import org.greenrobot.eventbus.EventBus;

View File

@ -7,7 +7,7 @@ import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import androidx.annotation.Nullable;
import de.danoeh.antennapod.error.CrashReportWriter;
import de.danoeh.antennapod.CrashReportWriter;
import de.danoeh.antennapod.storage.database.PodDBAdapter;
import io.reactivex.Completable;
import io.reactivex.android.schedulers.AndroidSchedulers;

View File

@ -1,25 +0,0 @@
package de.danoeh.antennapod.receiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.text.TextUtils;
import android.util.Log;
import de.danoeh.antennapod.ClientConfigurator;
import de.danoeh.antennapod.core.util.download.NetworkConnectionChangeHandler;
public class ConnectivityActionReceiver extends BroadcastReceiver {
private static final String TAG = "ConnectivityActionRecvr";
@Override
public void onReceive(final Context context, Intent intent) {
if (TextUtils.equals(intent.getAction(), ConnectivityManager.CONNECTIVITY_ACTION)) {
Log.d(TAG, "Received intent");
ClientConfigurator.initialize(context);
NetworkConnectionChangeHandler.networkChangedDetected();
}
}
}

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.receiver;
package de.danoeh.antennapod.spa;
import android.content.BroadcastReceiver;
import android.content.Context;

View File

@ -7,7 +7,6 @@ import androidx.preference.PreferenceManager;
import android.util.Log;
import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.receiver.SPAReceiver;
/**
* Provides methods related to AntennaPodSP (https://github.com/danieloeh/AntennaPodSP)

View File

@ -1,7 +1,8 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui;
import android.os.Bundle;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.ui.screen.feed.ItemFilterDialog;
import org.greenrobot.eventbus.EventBus;
import java.util.Set;
@ -17,7 +18,7 @@ public class AllEpisodesFilterDialog extends ItemFilterDialog {
}
@Override
void onFilterChanged(Set<String> newFilterValues) {
public void onFilterChanged(Set<String> newFilterValues) {
EventBus.getDefault().post(new AllEpisodesFilterChangedEvent(newFilterValues));
}

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter;
package de.danoeh.antennapod.ui;
import android.graphics.drawable.Drawable;
import android.view.View;

View File

@ -1,8 +1,9 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui;
import android.os.Bundle;
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.ui.screen.feed.ItemFilterDialog;
import java.util.Set;
@ -19,7 +20,7 @@ public class FeedItemFilterDialog extends ItemFilterDialog {
}
@Override
void onFilterChanged(Set<String> newFilterValues) {
public void onFilterChanged(Set<String> newFilterValues) {
long feedId = getArguments().getLong(ARGUMENT_FEED_ID);
DBWriter.setFeedItemsFilter(feedId, newFilterValues);
}

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.menuhandler;
package de.danoeh.antennapod.ui;
import android.view.Menu;
import android.view.MenuItem;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter;
package de.danoeh.antennapod.ui;
import android.app.Activity;
import android.view.ActionMode;
@ -21,7 +21,7 @@ public abstract class SelectableAdapter<T extends RecyclerView.ViewHolder> exten
private final HashSet<Long> selectedIds = new HashSet<>();
private final Activity activity;
private OnSelectModeListener onSelectModeListener;
boolean shouldSelectLazyLoadedItems = false;
protected boolean shouldSelectLazyLoadedItems = false;
private int totalNumberOfItems = COUNT_AUTOMATICALLY;
public SelectableAdapter(Activity activity) {
@ -153,7 +153,7 @@ public abstract class SelectableAdapter<T extends RecyclerView.ViewHolder> exten
}
}
void updateTitle() {
protected void updateTitle() {
if (actionMode == null) {
return;
}

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter;
package de.danoeh.antennapod.ui;
import android.content.Context;
import android.view.ViewGroup;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui;
import android.content.Context;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui;
public enum TransitionEffect {
NONE, FADE, SLIDE

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.util.syndication;
package de.danoeh.antennapod.ui.cleaner;
import android.text.TextUtils;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.util.gui;
package de.danoeh.antennapod.ui.cleaner;
import android.content.Context;
import android.content.res.TypedArray;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter;
package de.danoeh.antennapod.ui.episodeslist;
import android.app.Activity;
import android.os.Build;
@ -14,6 +14,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.ui.SelectableAdapter;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import org.apache.commons.lang3.ArrayUtils;
@ -25,9 +26,7 @@ import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.fragment.ItemPagerFragment;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
import de.danoeh.antennapod.ui.screen.episode.ItemPagerFragment;
/**
* List adapter for the list of new episodes.

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.view;
package de.danoeh.antennapod.ui.episodeslist;
import android.content.Context;
import android.content.SharedPreferences;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.view.viewholder;
package de.danoeh.antennapod.ui.episodeslist;
import android.os.Build;
import android.text.Layout;
@ -18,10 +18,9 @@ import com.google.android.material.elevation.SurfaceColors;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.CoverLoader;
import de.danoeh.antennapod.adapter.actionbutton.ItemActionButton;
import de.danoeh.antennapod.ui.CoverLoader;
import de.danoeh.antennapod.actionbutton.ItemActionButton;
import de.danoeh.antennapod.playback.service.PlaybackStatus;
import de.danoeh.antennapod.core.util.download.MediaSizeLoader;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.ui.common.DateFormatter;
import de.danoeh.antennapod.model.feed.FeedItem;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment.actions;
package de.danoeh.antennapod.ui.episodeslist;
import android.util.Log;
@ -14,7 +14,7 @@ import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterfa
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.storage.database.LongList;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.view.LocalDeleteModal;
import de.danoeh.antennapod.ui.view.LocalDeleteModal;
public class EpisodeMultiSelectActionHandler {
private static final String TAG = "EpisodeSelectHandler";

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.episodeslist;
import android.content.DialogInterface;
import android.os.Bundle;
@ -24,6 +24,7 @@ import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.snackbar.Snackbar;
import com.leinardi.android.speeddial.SpeedDialView;
import de.danoeh.antennapod.ui.screen.SearchFragment;
import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@ -35,9 +36,8 @@ import java.util.List;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.core.util.ConfirmationDialog;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
import de.danoeh.antennapod.event.FeedItemEvent;
@ -46,15 +46,11 @@ import de.danoeh.antennapod.event.FeedUpdateRunningEvent;
import de.danoeh.antennapod.event.PlayerStatusEvent;
import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.fragment.actions.EpisodeMultiSelectActionHandler;
import de.danoeh.antennapod.fragment.swipeactions.SwipeActions;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
import de.danoeh.antennapod.ui.swipeactions.SwipeActions;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.view.EmptyViewHandler;
import de.danoeh.antennapod.view.EpisodeItemListRecyclerView;
import de.danoeh.antennapod.view.LiftOnScrollListener;
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
import de.danoeh.antennapod.ui.view.EmptyViewHandler;
import de.danoeh.antennapod.ui.view.LiftOnScrollListener;
import io.reactivex.Completable;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
@ -74,18 +70,16 @@ public abstract class EpisodesListFragment extends Fragment
protected boolean hasMoreItems = false;
private boolean displayUpArrow;
EpisodeItemListRecyclerView recyclerView;
EpisodeItemListAdapter listAdapter;
EmptyViewHandler emptyView;
SpeedDialView speedDialView;
MaterialToolbar toolbar;
SwipeRefreshLayout swipeRefreshLayout;
SwipeActions swipeActions;
protected EpisodeItemListRecyclerView recyclerView;
protected EpisodeItemListAdapter listAdapter;
protected EmptyViewHandler emptyView;
protected SpeedDialView speedDialView;
protected MaterialToolbar toolbar;
protected SwipeRefreshLayout swipeRefreshLayout;
protected SwipeActions swipeActions;
private ProgressBar progressBar;
@NonNull
List<FeedItem> episodes = new ArrayList<>();
protected List<FeedItem> episodes = new ArrayList<>();
protected Disposable disposable;
protected TextView txtvInformation;
@ -406,7 +400,7 @@ public abstract class EpisodesListFragment extends Fragment
loadItems();
}
void loadItems() {
protected void loadItems() {
if (disposable != null) {
disposable.dispose();
}

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.menuhandler;
package de.danoeh.antennapod.ui.episodeslist;
import android.content.Context;
import android.os.Handler;
@ -25,14 +25,14 @@ import de.danoeh.antennapod.storage.preferences.SynchronizationSettings;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.playback.service.PlaybackStatus;
import de.danoeh.antennapod.core.util.ShareUtils;
import de.danoeh.antennapod.dialog.ShareDialog;
import de.danoeh.antennapod.ui.share.ShareUtils;
import de.danoeh.antennapod.ui.share.ShareDialog;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedMedia;
import de.danoeh.antennapod.net.sync.model.EpisodeAction;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.appstartintent.MediaButtonStarter;
import de.danoeh.antennapod.view.LocalDeleteModal;
import de.danoeh.antennapod.ui.view.LocalDeleteModal;
/**
* Handles interactions with the FeedItemMenu.

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter;
package de.danoeh.antennapod.ui.episodeslist;
import android.view.ContextMenu;
import android.view.MenuInflater;
@ -10,10 +10,8 @@ import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.fragment.ItemPagerFragment;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
import de.danoeh.antennapod.ui.screen.episode.ItemPagerFragment;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.view.viewholder.HorizontalItemViewHolder;
import org.apache.commons.lang3.ArrayUtils;
import java.lang.ref.WeakReference;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.view.viewholder;
package de.danoeh.antennapod.ui.episodeslist;
import android.view.LayoutInflater;
import android.view.View;
@ -11,8 +11,8 @@ import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.elevation.SurfaceColors;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.CoverLoader;
import de.danoeh.antennapod.adapter.actionbutton.ItemActionButton;
import de.danoeh.antennapod.ui.CoverLoader;
import de.danoeh.antennapod.actionbutton.ItemActionButton;
import de.danoeh.antennapod.ui.common.DateFormatter;
import de.danoeh.antennapod.playback.service.PlaybackStatus;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.util.download;
package de.danoeh.antennapod.ui.episodeslist;
import android.text.TextUtils;
import de.danoeh.antennapod.net.common.AntennapodHttpClient;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.util.gui;
package de.danoeh.antennapod.ui.episodeslist;
import android.view.View;
import android.widget.ImageView;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen;
import android.content.ActivityNotFoundException;
import android.content.ClipData;
@ -38,6 +38,7 @@ import de.danoeh.antennapod.net.discovery.ItunesPodcastSearcher;
import de.danoeh.antennapod.net.discovery.PodcastIndexPodcastSearcher;
import de.danoeh.antennapod.ui.appstartintent.OnlineFeedviewActivityStarter;
import de.danoeh.antennapod.ui.discovery.OnlineSearchFragment;
import de.danoeh.antennapod.ui.screen.feed.FeedItemlistFragment;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen;
import android.os.Bundle;
import android.view.LayoutInflater;
@ -9,13 +9,14 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.dialog.AllEpisodesFilterDialog;
import de.danoeh.antennapod.dialog.ItemSortDialog;
import de.danoeh.antennapod.ui.AllEpisodesFilterDialog;
import de.danoeh.antennapod.ui.screen.feed.ItemSortDialog;
import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.model.feed.SortOrder;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.episodeslist.EpisodesListFragment;
import org.apache.commons.lang3.StringUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen;
import android.content.Context;
import android.content.SharedPreferences;
@ -16,12 +16,13 @@ import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.dialog.ItemSortDialog;
import de.danoeh.antennapod.ui.screen.feed.ItemSortDialog;
import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.model.feed.SortOrder;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.episodeslist.EpisodesListFragment;
import org.greenrobot.eventbus.EventBus;
import java.util.List;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen;
import android.content.DialogInterface;
import android.os.Bundle;
@ -8,13 +8,14 @@ import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
import de.danoeh.antennapod.core.util.ConfirmationDialog;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.event.playback.PlaybackHistoryEvent;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.model.feed.SortOrder;
import de.danoeh.antennapod.ui.episodeslist.EpisodesListFragment;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen;
import android.content.Context;
@ -28,28 +28,28 @@ import com.leinardi.android.speeddial.SpeedDialView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
import de.danoeh.antennapod.adapter.HorizontalFeedListAdapter;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemListAdapter;
import de.danoeh.antennapod.ui.screen.subscriptions.HorizontalFeedListAdapter;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.databinding.MultiSelectSpeedDialBinding;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
import de.danoeh.antennapod.event.FeedItemEvent;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.event.PlayerStatusEvent;
import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
import de.danoeh.antennapod.fragment.actions.EpisodeMultiSelectActionHandler;
import de.danoeh.antennapod.ui.episodeslist.EpisodeMultiSelectActionHandler;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
import de.danoeh.antennapod.ui.episodeslist.FeedItemMenuHandler;
import de.danoeh.antennapod.net.discovery.CombinedSearcher;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.ui.appstartintent.OnlineFeedviewActivityStarter;
import de.danoeh.antennapod.ui.discovery.OnlineSearchFragment;
import de.danoeh.antennapod.view.EmptyViewHandler;
import de.danoeh.antennapod.view.EpisodeItemListRecyclerView;
import de.danoeh.antennapod.view.LiftOnScrollListener;
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
import de.danoeh.antennapod.ui.view.EmptyViewHandler;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemListRecyclerView;
import de.danoeh.antennapod.ui.view.LiftOnScrollListener;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemViewHolder;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
@ -60,7 +60,7 @@ import org.greenrobot.eventbus.ThreadMode;
import java.util.Collections;
import java.util.List;
import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
import de.danoeh.antennapod.ui.screen.subscriptions.FeedMenuHandler;
import de.danoeh.antennapod.event.FeedListUpdateEvent;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen.chapter;
import android.app.Dialog;
import android.content.DialogInterface;
@ -19,7 +19,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.adapter.ChaptersListAdapter;
import de.danoeh.antennapod.core.util.ChapterUtils;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.model.feed.Chapter;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter;
package de.danoeh.antennapod.ui.screen.chapter;
import android.content.Context;
import android.text.TextUtils;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen.download;
import android.os.Bundle;
import android.util.Log;
@ -16,31 +16,32 @@ import com.google.android.material.snackbar.Snackbar;
import com.leinardi.android.speeddial.SpeedDialView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
import de.danoeh.antennapod.adapter.actionbutton.DeleteActionButton;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemListAdapter;
import de.danoeh.antennapod.actionbutton.DeleteActionButton;
import de.danoeh.antennapod.event.DownloadLogEvent;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.ui.screen.SearchFragment;
import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.dialog.ItemSortDialog;
import de.danoeh.antennapod.ui.screen.feed.ItemSortDialog;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
import de.danoeh.antennapod.event.FeedItemEvent;
import de.danoeh.antennapod.event.PlayerStatusEvent;
import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.fragment.actions.EpisodeMultiSelectActionHandler;
import de.danoeh.antennapod.fragment.swipeactions.SwipeActions;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
import de.danoeh.antennapod.ui.episodeslist.EpisodeMultiSelectActionHandler;
import de.danoeh.antennapod.ui.swipeactions.SwipeActions;
import de.danoeh.antennapod.ui.episodeslist.FeedItemMenuHandler;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.model.feed.SortOrder;
import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterface;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.view.EmptyViewHandler;
import de.danoeh.antennapod.view.EpisodeItemListRecyclerView;
import de.danoeh.antennapod.view.LiftOnScrollListener;
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
import de.danoeh.antennapod.ui.view.EmptyViewHandler;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemListRecyclerView;
import de.danoeh.antennapod.ui.view.LiftOnScrollListener;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemViewHolder;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.util;
package de.danoeh.antennapod.ui.screen.download;
import androidx.annotation.StringRes;
import de.danoeh.antennapod.core.BuildConfig;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter;
package de.danoeh.antennapod.ui.screen.download;
import android.app.Activity;
import android.text.format.DateUtils;
@ -9,15 +9,13 @@ import android.widget.BaseAdapter;
import android.widget.Toast;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.actionbutton.DownloadActionButton;
import de.danoeh.antennapod.actionbutton.DownloadActionButton;
import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.core.util.DownloadErrorLabel;
import de.danoeh.antennapod.model.download.DownloadError;
import de.danoeh.antennapod.model.download.DownloadResult;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedMedia;
import de.danoeh.antennapod.view.viewholder.DownloadLogItemViewHolder;
import java.util.ArrayList;
import java.util.List;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.download;
import android.content.ClipData;
import android.content.ClipboardManager;
@ -9,7 +9,6 @@ import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.util.DownloadErrorLabel;
import de.danoeh.antennapod.model.download.DownloadResult;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.event.MessageEvent;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen.download;
import android.os.Bundle;
import android.util.Log;
@ -12,14 +12,12 @@ import androidx.annotation.Nullable;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.adapter.DownloadLogAdapter;
import de.danoeh.antennapod.event.DownloadLogEvent;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.databinding.DownloadLogFragmentBinding;
import de.danoeh.antennapod.dialog.DownloadLogDetailsDialog;
import de.danoeh.antennapod.model.download.DownloadResult;
import de.danoeh.antennapod.view.EmptyViewHandler;
import de.danoeh.antennapod.ui.view.EmptyViewHandler;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.view.viewholder;
package de.danoeh.antennapod.ui.screen.download;
import android.content.Context;
import android.os.Build;

View File

@ -1,10 +1,10 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.drawer;
import android.content.Context;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.fragment.NavDrawerFragment;
import de.danoeh.antennapod.ui.screen.drawer.NavDrawerFragment;
import java.util.List;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen.drawer;
import android.app.Activity;
import android.content.Context;
@ -34,6 +34,13 @@ import com.google.android.material.shape.MaterialShapeDrawable;
import com.google.android.material.shape.ShapeAppearanceModel;
import de.danoeh.antennapod.core.storage.EpisodeCleanupAlgorithmFactory;
import de.danoeh.antennapod.ui.screen.AddFeedFragment;
import de.danoeh.antennapod.ui.screen.AllEpisodesFragment;
import de.danoeh.antennapod.ui.screen.InboxFragment;
import de.danoeh.antennapod.ui.screen.PlaybackHistoryFragment;
import de.danoeh.antennapod.ui.screen.queue.QueueFragment;
import de.danoeh.antennapod.ui.screen.download.CompletedDownloadsFragment;
import de.danoeh.antennapod.ui.screen.subscriptions.SubscriptionFragment;
import org.apache.commons.lang3.StringUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@ -47,18 +54,16 @@ import java.util.Set;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.adapter.NavListAdapter;
import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.ui.screen.preferences.PreferenceActivity;
import de.danoeh.antennapod.core.util.ConfirmationDialog;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.storage.database.NavDrawerData;
import de.danoeh.antennapod.dialog.DrawerPreferencesDialog;
import de.danoeh.antennapod.dialog.RemoveFeedDialog;
import de.danoeh.antennapod.dialog.RenameItemDialog;
import de.danoeh.antennapod.dialog.SubscriptionsFilterDialog;
import de.danoeh.antennapod.dialog.TagSettingsDialog;
import de.danoeh.antennapod.ui.screen.feed.RemoveFeedDialog;
import de.danoeh.antennapod.ui.screen.feed.RenameFeedDialog;
import de.danoeh.antennapod.ui.screen.subscriptions.SubscriptionsFilterDialog;
import de.danoeh.antennapod.ui.screen.feed.preferences.TagSettingsDialog;
import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.event.QueueEvent;
import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
@ -66,7 +71,7 @@ import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.appstartintent.MainActivityStarter;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import de.danoeh.antennapod.ui.home.HomeFragment;
import de.danoeh.antennapod.ui.screen.home.HomeFragment;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
@ -219,7 +224,7 @@ public class NavDrawerFragment extends Fragment implements SharedPreferences.OnS
.show(getChildFragmentManager(), TagSettingsDialog.TAG);
return true;
} else if (itemId == R.id.rename_item) {
new RenameItemDialog(getActivity(), feed).show();
new RenameFeedDialog(getActivity(), feed).show();
return true;
} else if (itemId == R.id.remove_feed) {
RemoveFeedDialog.show(getContext(), feed, () -> {
@ -237,7 +242,7 @@ public class NavDrawerFragment extends Fragment implements SharedPreferences.OnS
private boolean onTagContextMenuClicked(NavDrawerData.DrawerItem drawerItem, MenuItem item) {
final int itemId = item.getItemId();
if (itemId == R.id.rename_folder_item) {
new RenameItemDialog(getActivity(), drawerItem).show();
new RenameFeedDialog(getActivity(), drawerItem).show();
return true;
}
return super.onContextItemSelected(item);

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter;
package de.danoeh.antennapod.ui.screen.drawer;
import android.app.Activity;
import android.content.Intent;
@ -24,19 +24,18 @@ import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.PreferenceActivity;
import de.danoeh.antennapod.fragment.AllEpisodesFragment;
import de.danoeh.antennapod.fragment.CompletedDownloadsFragment;
import de.danoeh.antennapod.fragment.InboxFragment;
import de.danoeh.antennapod.ui.screen.preferences.PreferenceActivity;
import de.danoeh.antennapod.ui.screen.AllEpisodesFragment;
import de.danoeh.antennapod.ui.screen.download.CompletedDownloadsFragment;
import de.danoeh.antennapod.ui.screen.InboxFragment;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.storage.database.NavDrawerData;
import de.danoeh.antennapod.fragment.AddFeedFragment;
import de.danoeh.antennapod.fragment.NavDrawerFragment;
import de.danoeh.antennapod.fragment.PlaybackHistoryFragment;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.danoeh.antennapod.fragment.SubscriptionFragment;
import de.danoeh.antennapod.ui.home.HomeFragment;
import de.danoeh.antennapod.ui.screen.AddFeedFragment;
import de.danoeh.antennapod.ui.screen.PlaybackHistoryFragment;
import de.danoeh.antennapod.ui.screen.queue.QueueFragment;
import de.danoeh.antennapod.ui.screen.subscriptions.SubscriptionFragment;
import de.danoeh.antennapod.ui.screen.home.HomeFragment;
import org.apache.commons.lang3.ArrayUtils;
import java.lang.ref.WeakReference;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen.episode;
import android.content.Context;
import android.os.Build;
@ -27,16 +27,16 @@ import com.skydoves.balloon.Balloon;
import com.skydoves.balloon.BalloonAnimation;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.actionbutton.CancelDownloadActionButton;
import de.danoeh.antennapod.adapter.actionbutton.DeleteActionButton;
import de.danoeh.antennapod.adapter.actionbutton.DownloadActionButton;
import de.danoeh.antennapod.adapter.actionbutton.ItemActionButton;
import de.danoeh.antennapod.adapter.actionbutton.MarkAsPlayedActionButton;
import de.danoeh.antennapod.adapter.actionbutton.PauseActionButton;
import de.danoeh.antennapod.adapter.actionbutton.PlayActionButton;
import de.danoeh.antennapod.adapter.actionbutton.PlayLocalActionButton;
import de.danoeh.antennapod.adapter.actionbutton.StreamActionButton;
import de.danoeh.antennapod.adapter.actionbutton.VisitWebsiteActionButton;
import de.danoeh.antennapod.actionbutton.CancelDownloadActionButton;
import de.danoeh.antennapod.actionbutton.DeleteActionButton;
import de.danoeh.antennapod.actionbutton.DownloadActionButton;
import de.danoeh.antennapod.actionbutton.ItemActionButton;
import de.danoeh.antennapod.actionbutton.MarkAsPlayedActionButton;
import de.danoeh.antennapod.actionbutton.PauseActionButton;
import de.danoeh.antennapod.actionbutton.PlayActionButton;
import de.danoeh.antennapod.actionbutton.PlayLocalActionButton;
import de.danoeh.antennapod.actionbutton.StreamActionButton;
import de.danoeh.antennapod.actionbutton.VisitWebsiteActionButton;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
import de.danoeh.antennapod.playback.service.PlaybackStatus;
import de.danoeh.antennapod.event.FeedItemEvent;
@ -53,9 +53,10 @@ import de.danoeh.antennapod.ui.common.Converter;
import de.danoeh.antennapod.ui.common.DateFormatter;
import de.danoeh.antennapod.ui.common.CircularProgressBar;
import de.danoeh.antennapod.ui.common.ThemeUtils;
import de.danoeh.antennapod.core.util.gui.ShownotesCleaner;
import de.danoeh.antennapod.ui.cleaner.ShownotesCleaner;
import de.danoeh.antennapod.ui.episodes.ImageResourceUtils;
import de.danoeh.antennapod.view.ShownotesWebView;
import de.danoeh.antennapod.ui.screen.feed.FeedItemlistFragment;
import de.danoeh.antennapod.ui.view.ShownotesWebView;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen.episode;
import android.os.Bundle;
import android.view.LayoutInflater;
@ -13,6 +13,7 @@ import androidx.fragment.app.Fragment;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import androidx.viewpager2.widget.ViewPager2;
import de.danoeh.antennapod.ui.screen.feed.FeedItemlistFragment;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@ -22,7 +23,7 @@ import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.event.FeedItemEvent;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
import de.danoeh.antennapod.ui.episodeslist.FeedItemMenuHandler;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen.feed;
import android.content.ActivityNotFoundException;
import android.content.ClipData;
@ -34,18 +34,18 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.snackbar.Snackbar;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.ui.TransitionEffect;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.storage.database.FeedDatabaseWriter;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.ShareUtils;
import de.danoeh.antennapod.core.util.syndication.HtmlToPlainText;
import de.danoeh.antennapod.dialog.EditUrlSettingsDialog;
import de.danoeh.antennapod.ui.share.ShareUtils;
import de.danoeh.antennapod.ui.cleaner.HtmlToPlainText;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedFunding;
import de.danoeh.antennapod.ui.glide.FastBlurTransformation;
import de.danoeh.antennapod.ui.screen.feed.preferences.EditUrlSettingsDialog;
import de.danoeh.antennapod.ui.statistics.StatisticsFragment;
import de.danoeh.antennapod.ui.statistics.feed.FeedStatisticsFragment;
import de.danoeh.antennapod.view.ToolbarIconTintManager;
import io.reactivex.Completable;
import io.reactivex.Maybe;
import io.reactivex.MaybeOnSubscribe;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.feed;
package de.danoeh.antennapod.ui.screen.feed;
import de.danoeh.antennapod.core.R;
import de.danoeh.antennapod.model.feed.FeedItemFilter;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen.feed;
import android.content.Context;
import android.content.res.Configuration;
@ -26,7 +26,12 @@ import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.snackbar.Snackbar;
import com.leinardi.android.speeddial.SpeedDialView;
import de.danoeh.antennapod.ui.screen.episode.ItemPagerFragment;
import de.danoeh.antennapod.ui.screen.SearchFragment;
import de.danoeh.antennapod.ui.TransitionEffect;
import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager;
import de.danoeh.antennapod.ui.screen.download.DownloadLogFragment;
import de.danoeh.antennapod.ui.screen.feed.preferences.FeedSettingsFragment;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.greenrobot.eventbus.EventBus;
@ -39,23 +44,20 @@ import java.util.concurrent.ExecutionException;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemListAdapter;
import de.danoeh.antennapod.event.FeedEvent;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.storage.database.FeedItemPermutors;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.ShareUtils;
import de.danoeh.antennapod.core.util.gui.MoreContentListFooterUtil;
import de.danoeh.antennapod.ui.share.ShareUtils;
import de.danoeh.antennapod.ui.episodeslist.MoreContentListFooterUtil;
import de.danoeh.antennapod.databinding.FeedItemListFragmentBinding;
import de.danoeh.antennapod.databinding.MultiSelectSpeedDialBinding;
import de.danoeh.antennapod.dialog.DownloadLogDetailsDialog;
import de.danoeh.antennapod.dialog.FeedItemFilterDialog;
import de.danoeh.antennapod.dialog.ItemSortDialog;
import de.danoeh.antennapod.dialog.RemoveFeedDialog;
import de.danoeh.antennapod.dialog.RenameItemDialog;
import de.danoeh.antennapod.ui.screen.download.DownloadLogDetailsDialog;
import de.danoeh.antennapod.ui.FeedItemFilterDialog;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
import de.danoeh.antennapod.event.FavoritesEvent;
import de.danoeh.antennapod.event.FeedItemEvent;
@ -65,9 +67,9 @@ import de.danoeh.antennapod.event.PlayerStatusEvent;
import de.danoeh.antennapod.event.QueueEvent;
import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.fragment.actions.EpisodeMultiSelectActionHandler;
import de.danoeh.antennapod.fragment.swipeactions.SwipeActions;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
import de.danoeh.antennapod.ui.episodeslist.EpisodeMultiSelectActionHandler;
import de.danoeh.antennapod.ui.swipeactions.SwipeActions;
import de.danoeh.antennapod.ui.episodeslist.FeedItemMenuHandler;
import de.danoeh.antennapod.model.download.DownloadResult;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedItem;
@ -75,8 +77,7 @@ import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.model.feed.SortOrder;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.glide.FastBlurTransformation;
import de.danoeh.antennapod.view.ToolbarIconTintManager;
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemViewHolder;
import io.reactivex.Maybe;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
@ -289,7 +290,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
} else if (item.getItemId() == R.id.sort_items) {
SingleFeedSortDialog.newInstance(feed).show(getChildFragmentManager(), "SortDialog");
} else if (item.getItemId() == R.id.rename_item) {
new RenameItemDialog(getActivity(), feed).show();
new RenameFeedDialog(getActivity(), feed).show();
} else if (item.getItemId() == R.id.remove_feed) {
RemoveFeedDialog.show(getContext(), feed, () -> {
((MainActivity) getActivity()).loadFragment(UserPreferences.getDefaultPage(), null);

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.feed;
import android.app.Dialog;
import android.os.Bundle;
@ -23,7 +23,6 @@ import java.util.HashSet;
import java.util.Set;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.feed.FeedItemFilterGroup;
import de.danoeh.antennapod.databinding.FilterDialogBinding;
import de.danoeh.antennapod.databinding.FilterDialogRowBinding;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
@ -119,5 +118,5 @@ public abstract class ItemFilterDialog extends BottomSheetDialogFragment {
return newFilterValues;
}
abstract void onFilterChanged(Set<String> newFilterValues);
public abstract void onFilterChanged(Set<String> newFilterValues);
}

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.feed;
import android.app.Dialog;
import android.os.Bundle;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.feed;
import android.app.ProgressDialog;
import android.content.Context;
@ -11,7 +11,7 @@ import java.util.Collections;
import java.util.List;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
import de.danoeh.antennapod.core.util.ConfirmationDialog;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.storage.database.DBWriter;
import io.reactivex.Completable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.feed;
import android.app.Activity;
@ -16,18 +16,18 @@ import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.databinding.EditTextDialogBinding;
import de.danoeh.antennapod.model.feed.FeedPreferences;
public class RenameItemDialog {
public class RenameFeedDialog {
private final WeakReference<Activity> activityRef;
private Feed feed = null;
private NavDrawerData.DrawerItem drawerItem = null;
public RenameItemDialog(Activity activity, Feed feed) {
public RenameFeedDialog(Activity activity, Feed feed) {
this.activityRef = new WeakReference<>(activity);
this.feed = feed;
}
public RenameItemDialog(Activity activity, NavDrawerData.DrawerItem drawerItem) {
public RenameFeedDialog(Activity activity, NavDrawerData.DrawerItem drawerItem) {
this.activityRef = new WeakReference<>(activity);
this.drawerItem = drawerItem;
}

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.view;
package de.danoeh.antennapod.ui.screen.feed;
import android.content.Context;
import android.graphics.PorterDuff.Mode;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.feed.preferences;
import android.app.Activity;
import android.os.CountDownTimer;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.feed.preferences;
import android.content.Context;
import android.content.DialogInterface;
@ -7,10 +7,10 @@ import android.view.LayoutInflater;
import androidx.recyclerview.widget.GridLayoutManager;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.adapter.SimpleChipAdapter;
import de.danoeh.antennapod.ui.SimpleChipAdapter;
import de.danoeh.antennapod.databinding.EpisodeFilterDialogBinding;
import de.danoeh.antennapod.model.feed.FeedFilter;
import de.danoeh.antennapod.view.ItemOffsetDecoration;
import de.danoeh.antennapod.ui.view.ItemOffsetDecoration;
import java.util.List;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.feed.preferences;
import android.content.Context;
import android.view.View;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.fragment;
package de.danoeh.antennapod.ui.screen.feed.preferences;
import android.Manifest;
import android.content.Intent;
@ -38,9 +38,6 @@ import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.dialog.EpisodeFilterDialog;
import de.danoeh.antennapod.dialog.FeedPreferenceSkipDialog;
import de.danoeh.antennapod.dialog.TagSettingsDialog;
import de.danoeh.antennapod.ui.preferences.screen.synchronization.AuthenticationDialog;
import io.reactivex.Maybe;
import io.reactivex.MaybeOnSubscribe;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.feed.preferences;
import android.content.Context;
import android.widget.TextView;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.feed.preferences;
import android.app.Dialog;
import android.os.Bundle;
@ -21,7 +21,7 @@ import java.util.List;
import java.util.Set;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.adapter.SimpleChipAdapter;
import de.danoeh.antennapod.ui.SimpleChipAdapter;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.storage.database.DBWriter;
import de.danoeh.antennapod.storage.database.NavDrawerData;
@ -29,7 +29,7 @@ import de.danoeh.antennapod.databinding.EditTagsDialogBinding;
import de.danoeh.antennapod.model.feed.FeedCounter;
import de.danoeh.antennapod.model.feed.FeedOrder;
import de.danoeh.antennapod.model.feed.FeedPreferences;
import de.danoeh.antennapod.view.ItemOffsetDecoration;
import de.danoeh.antennapod.ui.view.ItemOffsetDecoration;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.preferences;
package de.danoeh.antennapod.ui.screen.feed.preferences;
import android.content.Context;
import android.util.AttributeSet;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home;
package de.danoeh.antennapod.ui.screen.home;
import android.Manifest;
import android.content.Context;
@ -21,6 +21,13 @@ import androidx.fragment.app.FragmentContainerView;
import de.danoeh.antennapod.net.download.serviceinterface.FeedUpdateManager;
import de.danoeh.antennapod.ui.echo.EchoConfig;
import de.danoeh.antennapod.ui.screen.home.sections.AllowNotificationsSection;
import de.danoeh.antennapod.ui.screen.home.sections.DownloadsSection;
import de.danoeh.antennapod.ui.screen.home.sections.EchoSection;
import de.danoeh.antennapod.ui.screen.home.sections.EpisodesSurpriseSection;
import de.danoeh.antennapod.ui.screen.home.sections.InboxSection;
import de.danoeh.antennapod.ui.screen.home.sections.QueueSection;
import de.danoeh.antennapod.ui.screen.home.sections.SubscriptionsSection;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@ -36,16 +43,9 @@ import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.databinding.HomeFragmentBinding;
import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.event.FeedUpdateRunningEvent;
import de.danoeh.antennapod.fragment.SearchFragment;
import de.danoeh.antennapod.ui.screen.SearchFragment;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.home.sections.AllowNotificationsSection;
import de.danoeh.antennapod.ui.home.sections.DownloadsSection;
import de.danoeh.antennapod.ui.home.sections.EchoSection;
import de.danoeh.antennapod.ui.home.sections.EpisodesSurpriseSection;
import de.danoeh.antennapod.ui.home.sections.InboxSection;
import de.danoeh.antennapod.ui.home.sections.QueueSection;
import de.danoeh.antennapod.ui.home.sections.SubscriptionsSection;
import de.danoeh.antennapod.view.LiftOnScrollListener;
import de.danoeh.antennapod.ui.view.LiftOnScrollListener;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home;
package de.danoeh.antennapod.ui.screen.home;
import android.os.Bundle;
import android.text.TextUtils;
@ -11,12 +11,12 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.DefaultItemAnimator;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
import de.danoeh.antennapod.adapter.HorizontalFeedListAdapter;
import de.danoeh.antennapod.adapter.HorizontalItemListAdapter;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemListAdapter;
import de.danoeh.antennapod.ui.screen.subscriptions.HorizontalFeedListAdapter;
import de.danoeh.antennapod.ui.episodeslist.HorizontalItemListAdapter;
import de.danoeh.antennapod.databinding.HomeSectionBinding;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
import de.danoeh.antennapod.ui.episodeslist.FeedItemMenuHandler;
import de.danoeh.antennapod.ui.screen.subscriptions.FeedMenuHandler;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedItem;
import org.greenrobot.eventbus.EventBus;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home;
package de.danoeh.antennapod.ui.screen.home;
import android.content.Context;
import android.content.DialogInterface;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home.sections;
package de.danoeh.antennapod.ui.screen.home.sections;
import android.Manifest;
import android.content.Context;
@ -20,7 +20,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.databinding.HomeSectionNotificationBinding;
import de.danoeh.antennapod.ui.home.HomeFragment;
import de.danoeh.antennapod.ui.screen.home.HomeFragment;
public class AllowNotificationsSection extends Fragment {
HomeSectionNotificationBinding viewBinding;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home.sections;
package de.danoeh.antennapod.ui.screen.home.sections;
import android.os.Bundle;
import android.util.Log;
@ -12,21 +12,21 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemListAdapter;
import de.danoeh.antennapod.event.DownloadLogEvent;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.event.FeedItemEvent;
import de.danoeh.antennapod.event.PlayerStatusEvent;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.fragment.CompletedDownloadsFragment;
import de.danoeh.antennapod.fragment.swipeactions.SwipeActions;
import de.danoeh.antennapod.ui.screen.download.CompletedDownloadsFragment;
import de.danoeh.antennapod.ui.swipeactions.SwipeActions;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.model.feed.SortOrder;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.home.HomeSection;
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
import de.danoeh.antennapod.ui.screen.home.HomeSection;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemViewHolder;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home.sections;
package de.danoeh.antennapod.ui.screen.home.sections;
import android.content.Context;
import android.content.Intent;
@ -16,7 +16,7 @@ import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.storage.database.StatisticsItem;
import de.danoeh.antennapod.ui.echo.EchoActivity;
import de.danoeh.antennapod.ui.echo.EchoConfig;
import de.danoeh.antennapod.ui.home.HomeFragment;
import de.danoeh.antennapod.ui.screen.home.HomeFragment;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home.sections;
package de.danoeh.antennapod.ui.screen.home.sections;
import android.os.Bundle;
import android.util.Log;
@ -12,18 +12,18 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.HorizontalItemListAdapter;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.ui.episodeslist.HorizontalItemListAdapter;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
import de.danoeh.antennapod.event.FeedItemEvent;
import de.danoeh.antennapod.event.PlayerStatusEvent;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.fragment.AllEpisodesFragment;
import de.danoeh.antennapod.ui.screen.AllEpisodesFragment;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.ui.home.HomeSection;
import de.danoeh.antennapod.view.viewholder.HorizontalItemViewHolder;
import de.danoeh.antennapod.ui.screen.home.HomeSection;
import de.danoeh.antennapod.ui.episodeslist.HorizontalItemViewHolder;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home.sections;
package de.danoeh.antennapod.ui.screen.home.sections;
import android.os.Bundle;
import android.util.Log;
@ -13,20 +13,20 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.ui.episodeslist.EpisodeItemListAdapter;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
import de.danoeh.antennapod.event.FeedItemEvent;
import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
import de.danoeh.antennapod.fragment.InboxFragment;
import de.danoeh.antennapod.fragment.swipeactions.SwipeActions;
import de.danoeh.antennapod.ui.screen.InboxFragment;
import de.danoeh.antennapod.ui.swipeactions.SwipeActions;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.storage.preferences.UserPreferences;
import de.danoeh.antennapod.ui.home.HomeSection;
import de.danoeh.antennapod.ui.screen.home.HomeSection;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home.sections;
package de.danoeh.antennapod.ui.screen.home.sections;
import android.os.Bundle;
import android.util.Log;
@ -12,8 +12,8 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.HorizontalItemListAdapter;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.ui.episodeslist.HorizontalItemListAdapter;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
@ -21,10 +21,10 @@ import de.danoeh.antennapod.event.FeedItemEvent;
import de.danoeh.antennapod.event.PlayerStatusEvent;
import de.danoeh.antennapod.event.QueueEvent;
import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.fragment.QueueFragment;
import de.danoeh.antennapod.ui.screen.queue.QueueFragment;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.ui.home.HomeSection;
import de.danoeh.antennapod.view.viewholder.HorizontalItemViewHolder;
import de.danoeh.antennapod.ui.screen.home.HomeSection;
import de.danoeh.antennapod.ui.episodeslist.HorizontalItemViewHolder;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.ui.home.sections;
package de.danoeh.antennapod.ui.screen.home.sections;
import android.content.Context;
import android.content.SharedPreferences;
@ -14,13 +14,13 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.adapter.HorizontalFeedListAdapter;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.ui.screen.subscriptions.HorizontalFeedListAdapter;
import de.danoeh.antennapod.ui.MenuItemUtils;
import de.danoeh.antennapod.storage.database.DBReader;
import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.fragment.SubscriptionFragment;
import de.danoeh.antennapod.ui.screen.subscriptions.SubscriptionFragment;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.ui.home.HomeSection;
import de.danoeh.antennapod.ui.screen.home.HomeSection;
import de.danoeh.antennapod.ui.statistics.StatisticsFragment;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.core.util.syndication;
package de.danoeh.antennapod.ui.screen.onlinefeedview;
import android.net.Uri;
import androidx.collection.ArrayMap;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.adapter;
package de.danoeh.antennapod.ui.screen.onlinefeedview;
import android.content.Context;
import android.view.LayoutInflater;
@ -20,8 +20,8 @@ import de.danoeh.antennapod.playback.service.PlaybackService;
import de.danoeh.antennapod.playback.service.PlaybackServiceStarter;
import de.danoeh.antennapod.ui.common.DateFormatter;
import de.danoeh.antennapod.model.playback.Playable;
import de.danoeh.antennapod.core.util.syndication.HtmlToPlainText;
import de.danoeh.antennapod.dialog.StreamingConfirmationDialog;
import de.danoeh.antennapod.ui.cleaner.HtmlToPlainText;
import de.danoeh.antennapod.ui.StreamingConfirmationDialog;
import java.util.List;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.activity;
package de.danoeh.antennapod.ui.screen.onlinefeedview;
import android.app.Dialog;
import android.content.Context;
@ -27,7 +27,6 @@ import com.bumptech.glide.request.RequestOptions;
import com.google.android.material.snackbar.Snackbar;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.adapter.FeedItemlistDescriptionAdapter;
import de.danoeh.antennapod.net.download.service.feed.remote.Downloader;
import de.danoeh.antennapod.net.download.service.feed.remote.HttpDownloader;
import de.danoeh.antennapod.ui.appstartintent.MainActivityStarter;
@ -36,7 +35,7 @@ import de.danoeh.antennapod.net.download.serviceinterface.DownloadRequestCreator
import de.danoeh.antennapod.net.discovery.FeedUrlNotFoundException;
import de.danoeh.antennapod.storage.database.FeedDatabaseWriter;
import de.danoeh.antennapod.playback.service.PlaybackServiceInterface;
import de.danoeh.antennapod.core.util.DownloadErrorLabel;
import de.danoeh.antennapod.ui.screen.download.DownloadErrorLabel;
import de.danoeh.antennapod.databinding.EditTextDialogBinding;
import de.danoeh.antennapod.databinding.OnlinefeedviewHeaderBinding;
import de.danoeh.antennapod.event.EpisodeDownloadEvent;
@ -57,8 +56,7 @@ import de.danoeh.antennapod.parser.feed.FeedHandlerResult;
import de.danoeh.antennapod.model.download.DownloadError;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.net.common.UrlChecker;
import de.danoeh.antennapod.core.util.syndication.FeedDiscoverer;
import de.danoeh.antennapod.core.util.syndication.HtmlToPlainText;
import de.danoeh.antennapod.ui.cleaner.HtmlToPlainText;
import de.danoeh.antennapod.databinding.OnlinefeedviewActivityBinding;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedPreferences;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.playback;
import android.app.Activity;
import android.text.Spannable;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.view;
package de.danoeh.antennapod.ui.screen.playback;
import android.content.Context;
import android.util.AttributeSet;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.playback;
import android.app.Dialog;
import android.os.Bundle;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.activity;
package de.danoeh.antennapod.ui.screen.playback;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
@ -7,7 +7,7 @@ import android.content.DialogInterface;
import android.os.Bundle;
import de.danoeh.antennapod.ui.common.ThemeSwitcher;
import de.danoeh.antennapod.dialog.VariableSpeedDialog;
import de.danoeh.antennapod.ui.screen.playback.VariableSpeedDialog;
public class PlaybackSpeedDialogActivity extends AppCompatActivity {

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.view;
package de.danoeh.antennapod.ui.screen.playback;
import android.content.Context;
import android.util.AttributeSet;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.playback;
import android.app.Activity;
import android.app.Dialog;

View File

@ -1,4 +1,4 @@
package de.danoeh.antennapod.dialog;
package de.danoeh.antennapod.ui.screen.playback;
import android.content.Context;
import android.graphics.Canvas;

Some files were not shown because too many files have changed in this diff Show More